/* Reveal motion is applied by JavaScript; content is always readable without it. */
/* A slow camera drift and soft light give the existing still portrait a cinematic feel. */
.hero-light{position:absolute;inset:-12%;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 77% 25%,#efd49729,transparent 33%),linear-gradient(115deg,transparent 53%,#d6e7ff12 63%,transparent 73%)}
.hero-motion-ready .hero-image{transform-origin:74% 32%;animation:hero-portrait-drift 10s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.hero-motion-ready .hero-light{animation:hero-light-drift 12s ease-in-out infinite alternate;animation-play-state:paused}
.hero-motion-playing .hero-image,.hero-motion-playing .hero-light{animation-play-state:running}
@keyframes hero-portrait-drift{from{transform:scale(1.012) translate3d(0,0,0)}to{transform:scale(1.075) translate3d(-.6%,.5%,0)}}
@keyframes hero-light-drift{from{opacity:.35;transform:translate3d(-4%,1%,0)}to{opacity:1;transform:translate3d(4%,-2%,0)}}
.hero-motion-toggle{position:absolute;top:22px;right:30px;z-index:3;display:inline-flex;align-items:center;gap:7px;border:1px solid #e2d2a466;border-radius:30px;padding:8px 12px;min-height:34px;background:#08162cbf;color:#eee7d4;font:16px/1.4 var(--sans);cursor:pointer}
.hero-motion-toggle[hidden]{display:none}
.hero-motion-toggle:hover{background:#102447}
.hero-motion-symbol{height:10px;width:8px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.hero-motion-toggle[aria-pressed=true] .hero-motion-symbol{height:0;width:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor;border-right:0}
@media(max-width:767px){.hero-light{height:570px;bottom:auto}.hero-motion-toggle{top:105px;right:20px;padding:7px 10px;font-size:16px}.hero-motion-ready .hero-image{transform-origin:72% 28%}}
@media(prefers-reduced-motion:reduce){.hero-motion-toggle,.hero-light{display:none}.hero-motion-ready .hero-image{transform:none;will-change:auto}}
@media print{.hero-motion-toggle,.hero-light{display:none}.hero-motion-ready .hero-image{animation:none;transform:none}}
.hero-offer{overflow:hidden}
.hero-offer.offer-shine:after{content:'';position:absolute;inset:-30% -60%;pointer-events:none;background:linear-gradient(105deg,transparent 44%,#fff8 50%,transparent 56%);transform:translateX(100%);animation:offer-shine 1.5s .5s both}
@keyframes offer-shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.button{transition:background .2s,box-shadow .25s,transform .25s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.button:hover{transform:translateY(-3px)}.plan{transition:box-shadow .3s,border-color .3s}.plan:hover{border-color:#f0d992;box-shadow:0 18px 40px #0004}.text-link{transition:color .2s,padding .25s}.text-link:hover{padding-left:17px;padding-right:17px}}

/* Phrase-aware wrapping keeps names, units and headings together. */
.phrase{display:inline-block;white-space:nowrap}
h1,h2,h3,.heading-lead,.heading-main,.hero-note,.section-head>p{text-wrap:balance;line-break:strict;word-break:normal}
p{line-break:strict;text-wrap:pretty}
.trust-strip>div{display:flex;align-items:center;gap:14px;letter-spacing:0}
.trust-strip>div>span{margin:0;flex-shrink:0}
.trust-strip .trust-copy{font:inherit;color:inherit}
.machine-copy h3{font-size:max(16px, clamp(20px,1.7vw,24px))}
.beard-detail h3{overflow-wrap:normal}
.beard-detail h3 .phrase{white-space:normal;word-break:keep-all;overflow-wrap:normal}
.plan-price,.offer-number,.beard-detail dd{white-space:nowrap}
.plan-area{min-height:2.7em;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;column-gap:.25em}
.plan-price{margin-top:auto;padding-top:14px}
.feature h3 br{display:block}
.clinic-info h3,.footer p{font-size:max(16px, clamp(18px,2vw,23px))}
.mobile-nav[hidden]{display:none!important}
.mobile-nav{display:none}
@media(min-width:768px) and (max-width:1150px){.machine-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.machine-copy h2{font-size:max(16px, clamp(26px,3.3vw,34px))}.feature h3{font-size:max(16px, clamp(19px,2.1vw,24px))}.mechanism-grid h3{font-size:max(16px, clamp(20px,2.5vw,27px))}.welcome h2{font-size:max(16px, clamp(26px,3.25vw,34px))}.plan-price{white-space:normal}.plan-price strong{white-space:nowrap}.trust-strip>div{padding:0 20px;gap:10px}.trust-strip .trust-copy .phrase{display:block}.heading-lead{font-size:20px}}
@media(max-width:767px){
 .header{padding:0 18px;gap:15px}.brand{min-width:0;flex:1}.official-brand{display:block;width:min(248px,100%)}.official-brand img{width:100%}
 .menu-button{width:54px;height:53px;flex:0 0 54px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 0 7px;background:#102447;border:1px solid #b89b56;box-shadow:inset 0 0 0 3px #102447,inset 0 0 0 4px #b89b563d;position:relative;z-index:72}
 .menu-button .menu-icon{display:block;position:relative;width:24px;height:13px;background:none}
 .menu-icon i{position:absolute;left:0;width:24px;height:1px;background:#ead59a;transition:transform .25s,top .25s}
 .menu-icon i:first-child{top:2px}.menu-icon i:last-child{top:10px}
 .menu-button .menu-label{background:none;width:auto;height:auto;color:#f4e7c4;font:16px/1 Arial,sans-serif;letter-spacing:.11em}
 .menu-button[aria-expanded=true] .menu-icon{transform:none}
 .menu-button[aria-expanded=true] .menu-label{transform:none}
 .menu-button[aria-expanded=true] .menu-icon i:first-child{top:6px;transform:rotate(45deg)}
 .menu-button[aria-expanded=true] .menu-icon i:last-child{top:6px;transform:rotate(-45deg)}
 body.menu-open{overflow:hidden;padding-top:73px}.menu-open .header{position:fixed;inset:0 0 auto;z-index:71}
 .mobile-nav{position:fixed;inset:73px 0 0;z-index:70;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:28px 27px max(26px,env(safe-area-inset-bottom));background:linear-gradient(135deg,#091830,#18335b);color:#fff;box-shadow:none;gap:0}
 .menu-intro{font:16px/1.6 Arial,sans-serif;letter-spacing:.18em;color:#cbb67c;margin:0 0 18px}
 .menu-links{display:grid;border-top:1px solid #d1bb8045}
 .mobile-nav .menu-links a{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #d1bb8045;font:500 19px/1.5 var(--serif)}
 .menu-links a>span{font:italic 17px Georgia,serif;color:#d7be79}
 .mobile-nav .menu-booking{margin-top:26px;min-height:58px;width:100%;font-size:16px;padding:16px 10px;border:1px solid #d7bc75;color:#0b1c39}
 .mobile-nav .menu-phone{text-align:center;font:27px/1.5 Georgia,serif;margin-top:24px;padding:0;border:0;color:#fff;letter-spacing:.03em}
 .menu-phone small{display:block;font:16px/1.7 var(--sans);color:#d3dbea;margin-bottom:3px}
 .mobile-nav a:focus-visible{outline-offset:3px}
 .hero .hero-service{font-size:max(16px, clamp(17px,5vw,20px))}
 .trust-strip>div{display:flex;flex-direction:column;gap:7px;padding:0 5px;font-size:16px;line-height:1.65}
 .trust-strip .trust-copy .phrase{display:block}
 .heading-lead{font-size:16px}.heading-main{font-size:max(16px, clamp(29px,8.4vw,34px))}
 .intro-plans .heading-lead{font-size:16px}.intro-plans .heading-main{font-size:max(16px, clamp(32px,9.6vw,38px))}
 .welcome h2{font-size:max(16px, clamp(28px,8vw,32px))}
 .machine-copy h2{font-size:max(16px, clamp(28px,8.4vw,34px))}
 .machine-copy h3{font-size:22px;line-height:1.6}
 .feature h3{font-size:max(16px, clamp(22px,6.5vw,25px))}
 .beard-detail h3{font-size:max(16px, clamp(23px,6.7vw,28px));line-height:1.6}
 .beard-detail h3 .phrase{white-space:nowrap}
 .beard-detail dl>div{gap:8px}.beard-detail dt{white-space:nowrap}
 .mechanism-grid h3{font-size:max(16px, clamp(21px,6vw,25px))}
 .reasons-grid h3{font-size:max(16px, clamp(20px,5.65vw,24px))}
 .flow-list h3{font-size:20px;line-height:1.7}
 .cta-band h2>strong{white-space:normal;font-size:max(16px, clamp(24px,7.4vw,29px))}
 .cta-band p:not(.eyebrow){font-size:16px}
 .zero-grid h3{font-size:max(16px, clamp(10px,2.85vw,12px));white-space:nowrap}
 .contact h2 strong{font-size:max(16px, clamp(27px,8.1vw,32px))}
 .clinic-info h3,.footer p{font-size:max(16px, clamp(17px,4.9vw,19px))}
}
@media(max-width:360px){.mobile-nav{padding:22px}.mobile-nav .menu-links a{font-size:18px;padding:15px 0}.mobile-nav .menu-booking{font-size:16px}.offer-name{flex-wrap:wrap;gap:2px 8px}.offer-label{white-space:nowrap}.hero-note{font-size:16px}.plan h3{font-size:26px}.plan-area{font-size:16px}.beard-detail dl>div{gap:5px}.beard-detail dd strong{font-size:26px}.beard-detail dl>div:nth-child(2) dd strong{font-size:33px}.beard-detail dd span{display:block;text-align:right}.beard-detail dt{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.hero-offer.offer-shine:after{display:none}}
@media print{.mobile-nav,.menu-button,.mobile-sticky{display:none!important}}
.trust-strip .trust-copy .phrase{font:inherit;color:inherit;margin:0}
@media(max-width:767px){.menu-button[aria-expanded=true] span.menu-icon,.menu-button[aria-expanded=true] span.menu-label{transform:none}.trust-strip .trust-copy{width:100%}}

.machine-copy h2 br:last-child{display:block}
@media(max-width:767px){.machine-copy h2{font-size:max(16px, clamp(26px,7.6vw,32px))}.flow-list h3{font-size:max(16px, clamp(19px,5.1vw,20px))}}

/* Main-visual video: layered over the still portrait and shown only once it is actually playing. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-3;opacity:0;transition:opacity .8s ease;pointer-events:none}
.hero-video-on .hero-video{opacity:1}
.hero-video-on .hero-image{animation:none;transform:none;will-change:auto}
.hero-video-on .hero-light{display:none}
.hero-video-note{position:absolute;right:6.5%;bottom:12px;z-index:2;margin:0;font-size:16px;line-height:1.4;letter-spacing:.04em;color:#ffffffa8;text-shadow:0 1px 6px #000}
.hero-video-note[hidden]{display:none}
@media(min-width:1600px){.hero-video{object-position:center 35%}}
@media(max-width:767px){.hero-video{height:540px;width:150%;left:-43%;max-width:none;object-position:62% top}.hero-video-note{right:20px;bottom:auto;top:146px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-video,.hero-video-note{display:none}}
@media print{.hero-video,.hero-video-note{display:none}}
