/* Reference Elevate opening, scoped to Hair Restoration. */
.restoration-intro{position:fixed;inset:0;z-index:9999;overflow:hidden;background:transparent}
.restoration-intro.done{display:none}
.restoration-intro .curtain{position:absolute;left:0;right:0;height:50.2%;background:#0e0f11}
.restoration-intro .curtain--top{top:0;animation:el-up 0.3125s cubic-bezier(.76,0,.24,1) 2.475s both}
.restoration-intro .curtain--bot{bottom:0;animation:el-down 0.3125s cubic-bezier(.76,0,.24,1) 2.475s both}
.restoration-intro .intro-glow{position:absolute;inset:0;animation:el-glow 2.475s ease 0.05s both;
  background:radial-gradient(120% 80% at 50% 45%,rgba(201,181,138,.10),transparent 62%)}
.restoration-intro .intro-body{position:absolute;inset:0;animation:el-out 0.2s ease 2.325s both}
.restoration-intro .rule-v{position:absolute;top:0;bottom:0;width:1px;background:rgba(247,245,241,.10)}
.restoration-intro .rule-v.l{left:clamp(24px,7vw,120px);transform-origin:top;animation:el-scany 0.4s cubic-bezier(.22,1,.36,1) 0.0875s both}
.restoration-intro .rule-v.r{right:clamp(24px,7vw,120px);transform-origin:bottom;animation:el-scany 0.4s cubic-bezier(.22,1,.36,1) 0.0875s both}
.restoration-intro .rule-h{position:absolute;left:0;right:0;height:1px;background:rgba(247,245,241,.10)}
.restoration-intro .rule-h.t{top:clamp(24px,9vh,90px);transform-origin:left;animation:el-scanx 0.45s cubic-bezier(.22,1,.36,1) 0.125s both}
.restoration-intro .rule-h.b{bottom:clamp(24px,9vh,90px);transform-origin:right;animation:el-scanx 0.45s cubic-bezier(.22,1,.36,1) 0.125s both}
.restoration-intro .corner{position:absolute;top:clamp(38px,11vh,112px);font-size:10px;letter-spacing:.26em;
  color:#b5aea0;font-weight:600}
.restoration-intro .corner.l{left:clamp(38px,8.5vw,142px);animation:el-fadein 0.275s ease 0.325s both}
.restoration-intro .corner.r{right:clamp(38px,8.5vw,142px);animation:el-fadein 0.275s ease 0.3875s both}
.restoration-intro .intro-centre{position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:clamp(18px,3vh,30px)}
.restoration-intro .wordmark{display:flex;font-family:Modern,Arial,sans-serif;font-weight:700;
  font-size:clamp(32px,7.4vw,74px);line-height:1;color:#f7f5f1;
  animation:el-tighten 0.5s cubic-bezier(.22,1,.36,1) 1.825s both}
.restoration-intro .wordmark span{display:inline-block;overflow:hidden;padding-bottom:.06em}
.restoration-intro .wordmark span i{display:block;font-style:normal;animation:el-mask 0.2875s cubic-bezier(.16,1,.3,1) both}
.restoration-intro .intro-rule{width:min(420px,62vw);height:1px;transform-origin:center;
  background:linear-gradient(90deg,transparent,#c9b58a 18%,#c9b58a 82%,transparent);
  animation:el-scanx 0.425s cubic-bezier(.22,1,.36,1) 0.525s both}
.restoration-intro .intro-sub{font-size:clamp(9px,1.7vw,11px);letter-spacing:.34em;color:#bdab87;
  font-weight:600;text-align:center;animation:el-fadeup 0.325s cubic-bezier(.22,1,.36,1) 0.65s both}
.restoration-intro .counter{position:absolute;bottom:clamp(38px,11vh,112px);left:clamp(38px,8.5vw,142px);
  display:flex;align-items:baseline;gap:10px;animation:el-fadein 0.25s ease 0.55s both}
.restoration-intro .counter b{font-family:ui-monospace,Menlo,monospace;font-size:clamp(20px,3vw,30px);
  color:#f7f5f1;font-weight:400;font-variant-numeric:tabular-nums}
.restoration-intro .counter span{font-size:9px;letter-spacing:.24em;color:#b5aea0;font-weight:600}
.restoration-intro .needle{position:absolute;bottom:clamp(58px,13vh,120px);left:0;right:0;height:12vw;pointer-events:none}
.restoration-intro .needle svg{width:100%;height:100%;overflow:visible}

.restoration-intro-skip{position:absolute;right:clamp(20px,7vw,120px);bottom:clamp(16px,4vh,34px);
  background:none;border:0;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:#b5aea0;cursor:pointer;padding:10px;animation:el-fadein 0.2s ease 0.65s both}
.restoration-intro-skip:hover{color:#c9b58a}
.restoration-intro .reveal{animation:el-settle 0.2s cubic-bezier(.22,1,.36,1) 2.6s both}

@keyframes el-mask{0%{transform:translateY(112%)}100%{transform:translateY(0)}}
@keyframes el-tighten{0%{letter-spacing:.48em}100%{letter-spacing:.30em}}
@keyframes el-scanx{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@keyframes el-scany{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}
@keyframes el-fadein{0%{opacity:0}100%{opacity:1}}
@keyframes el-fadeup{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:translateY(0)}}
@keyframes el-draw{0%{stroke-dashoffset:1000}100%{stroke-dashoffset:0}}
@keyframes el-wipe{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}
@keyframes el-out{0%{opacity:1}100%{opacity:0}}
@keyframes el-glow{0%{opacity:0}55%{opacity:.55}100%{opacity:0}}
@keyframes el-up{0%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@keyframes el-down{0%{transform:translateY(0)}100%{transform:translateY(100%)}}
@keyframes el-settle{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}

/* Ivory and champagne variation for Health and Wellness. */
.restoration-intro[hidden]{display:none!important}
.wellness-intro-reveal .curtain{background:#f8f3e9}
.wellness-intro-reveal .intro-glow{background:radial-gradient(ellipse at 50% 45%,rgba(201,181,138,.3),transparent 65%)}
.wellness-intro-reveal .wordmark{color:#453b30}
.wellness-intro-reveal .rule-v,.wellness-intro-reveal .rule-h{background:rgba(121,103,79,.16)}
.wellness-intro-reveal .corner,.wellness-intro-reveal .counter span{color:#8a785b}
.wellness-intro-reveal .counter b{color:#796344}
.wellness-intro-reveal .intro-sub{color:#8d744d}
.wellness-intro-reveal .intro-rule{background:linear-gradient(90deg,transparent,#b79d6b 18%,#b79d6b 82%,transparent)}
.wellness-intro-reveal .needle image{filter:brightness(.76) saturate(.85)}
.wellness-intro-reveal .restoration-intro-skip{min-height:44px;animation:none;opacity:1;color:#796344;font:500 10px Modern,Arial,sans-serif;letter-spacing:.2em}
.wellness-intro-reveal .restoration-intro-skip:hover{color:#453b30}
.wellness-intro-reveal .restoration-intro-skip:focus-visible{outline:2px solid #9d8050;outline-offset:4px}
.wellness-intro-replay{position:absolute;left:7%;bottom:20px;min-height:44px;padding:10px 14px;background:#faf7efed;border:1px solid #b7aa95;border-radius:2px;color:#453b30;font:500 11px Modern,Arial,sans-serif;cursor:pointer}
.wellness-intro-replay:focus-visible{outline:2px solid #796344;outline-offset:4px}
@media(max-width:800px){.wellness-intro-reveal .corner{display:none}.wellness-intro-reveal .intro-centre{transform:translateY(-8vh)}.wellness-intro-reveal .intro-rule{width:min(300px,72vw)}.wellness-intro-reveal .needle{left:-50%;right:-50%;width:200%;height:auto;bottom:15vh}.wellness-intro-reveal .needle svg{height:auto}.wellness-intro-reveal .counter{bottom:7vh;left:24px}.wellness-intro-reveal .counter b{font-size:22px}.wellness-intro-reveal .counter span{font-size:8px}.wellness-intro-replay{left:6%;font-size:10px;padding:10px}}
@media(max-width:420px){.wellness-intro-replay{max-width:calc(100% - 170px);text-align:left;line-height:1.5}.wellness-intro-reveal .wordmark{font-size:32px}.wellness-intro-reveal .intro-sub{letter-spacing:.24em}}
@media(prefers-reduced-motion:reduce){.wellness-intro-reveal *{animation:none!important;transition:none!important}.wellness-intro-reveal [stroke-dasharray]{stroke-dashoffset:0!important}.wellness-intro-reveal circle{display:none}.wellness-intro-reveal .intro-body,.wellness-intro-reveal .intro-sub{opacity:1}.wellness-intro-reveal .wordmark{letter-spacing:.3em}.wellness-intro-reveal .intro-glow{opacity:0}}
