/* Progressive motion: no library, no layout changes during page entry or scrolling. */
@keyframes heroCopyIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes heroPictureIn{from{opacity:.25;transform:translateX(26px) scale(.98)}to{opacity:1;transform:none}}
@keyframes stormDrift{from{transform:translate3d(var(--hero-x,0px),calc(var(--hero-y,0px) + var(--image-shift,0px)),0) scale(1.045)}to{transform:translate3d(var(--hero-x,0px),calc(var(--hero-y,0px) + var(--image-shift,0px)),0) scale(1.095)}}
@keyframes sceneAccent{from{transform:scaleX(.25)}to{transform:scaleX(1)}}
@keyframes menuItemIn{from{opacity:.3;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes dialogIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes contactBarIn{from{transform:translateY(100%)}to{transform:translateY(0)}}

@media(prefers-reduced-motion:no-preference){
 .motion-ready .hero-copy>.eyebrow,.motion-ready .hero-copy>h1,.motion-ready .hero-copy>p,.motion-ready .hero-actions,.motion-ready .hero-micro{animation:heroCopyIn .8s cubic-bezier(.16,1,.3,1) both}
 .motion-ready .hero-copy>h1{animation-delay:.08s}.motion-ready .hero-copy>p{animation-delay:.16s}.motion-ready .hero-actions{animation-delay:.24s}.motion-ready .hero-micro{animation-delay:.31s}
 .motion-ready .hero-visual{animation:heroPictureIn 1.1s cubic-bezier(.16,1,.3,1) both}
 .motion-ready .hero-photo{animation:stormDrift 16s ease-in-out infinite alternate;animation-play-state:paused}
 .motion-ready .hero-picture.is-motion-in-view .hero-photo{animation-play-state:running}
 .motion-ready .scroll-reveal{transition-duration:.85s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
 .motion-ready .scroll-reveal:not(.is-visible){transform:translate3d(var(--entry-x,0px),var(--entry-y,30px),0) scale(var(--entry-scale,1))}
 .motion-ready .photo-claim,.motion-ready .journey-gallery,.motion-ready .about-photo{--entry-x:-22px;--entry-y:18px;--entry-scale:.985}
 .motion-ready .photo-claim:nth-child(2),.motion-ready .about-content,.motion-ready .process-intro{--entry-x:22px;--entry-y:18px}
 .motion-ready .journey-step{--entry-x:22px;--entry-y:12px}
 .motion-ready .eyebrow.is-visible:before,.motion-ready .is-visible .eyebrow:before{transform-origin:left;animation:sceneAccent .85s cubic-bezier(.16,1,.3,1) both}
 .motion-ready .scroll-image{transform:translate3d(0,var(--image-shift,0px),0) scale(1.065);transition:transform .5s cubic-bezier(.2,.7,.3,1)}
 .motion-ready .photo-claim:hover .scroll-image,.motion-ready .inspection-visual:hover .scroll-image{transform:translate3d(0,var(--image-shift,0px),0) scale(1.09)}
 .journey-steps{position:relative;isolation:isolate}
 .journey-steps:before,.journey-steps:after{content:"";position:absolute;left:-17px;top:23px;bottom:23px;width:2px;border-radius:2px;background:#44443c;pointer-events:none;z-index:-1}
 .journey-steps:after{background:linear-gradient(#ed9a70,var(--orange));transform:scaleY(var(--journey-progress,.25));transform-origin:top;transition:transform .65s cubic-bezier(.16,1,.3,1)}
 .journey-step{position:relative}
 .journey-step:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.16,1,.3,1);pointer-events:none}
 .journey-step[open]:after{transform:scaleX(1)}
 .journey-step summary{transition:padding .35s,background .25s}
 .journey-number{transition:background .3s,color .3s,border-color .3s,transform .4s cubic-bezier(.16,1,.3,1)}
 .journey-step[open] .journey-number{transform:scale(1.04)}
 .small-claim,.small-claim>svg,.review-nav-buttons button{transition:transform .3s,background .25s,border-color .25s,color .25s}
 .small-claim:hover>svg:first-child{transform:translateY(-3px) rotate(-5deg)}
 .review-nav-buttons button:not(:disabled):hover{background:#fff2e9;border-color:var(--orange)}
 .review-nav-buttons button:not(:disabled):active,.btn:active{transform:scale(.97)}
 .text-link{position:relative;overflow:hidden}
 .text-link:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
 .text-link:hover:after,.text-link:focus-visible:after{transform:scaleX(1)}
 .detail-dialog[open]{animation:dialogIn .35s cubic-bezier(.16,1,.3,1)}
 .detail-dialog[open]::backdrop{animation:heroCopyIn .25s ease both}
 .navlinks.open{animation:panelIn .25s ease both}
 .navlinks.open a{animation:menuItemIn .4s cubic-bezier(.16,1,.3,1) both}
 .navlinks.open a:nth-child(2){animation-delay:.035s}.navlinks.open a:nth-child(3){animation-delay:.07s}.navlinks.open a:nth-child(4){animation-delay:.105s}
 .motion-ready .mobile-contact{animation:contactBarIn .5s cubic-bezier(.16,1,.3,1) .4s both}
 @supports(interpolate-size:allow-keywords){
  .journey-step{interpolate-size:allow-keywords}
  .journey-step::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .42s cubic-bezier(.16,1,.3,1),opacity .3s,content-visibility .42s allow-discrete}
  .journey-step[open]::details-content{block-size:auto;opacity:1}
 }
}
@media(hover:hover) and (pointer:fine) and (min-width:951px) and (prefers-reduced-motion:no-preference){
 .motion-ready .tilt-card{transition:opacity .85s,transform .45s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .25s}
 .motion-ready .tilt-card:hover{transform:perspective(1100px) translateY(-6px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 18px 38px #20202013}
 .motion-ready .tilt-card:focus-visible{transform:translateY(-4px)}
}
@media(max-width:850px){.journey-steps:before,.journey-steps:after{left:-11px}}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .motion-ready .scroll-reveal:not(.is-visible){transform:translateY(18px)}
 .motion-ready .scroll-reveal{transition-duration:.65s;transition-delay:0ms}
 .motion-ready .hero-visual{animation-duration:.8s}
 .motion-ready .hero-copy>.eyebrow,.motion-ready .hero-copy>h1,.motion-ready .hero-copy>p,.motion-ready .hero-actions,.motion-ready .hero-micro{animation-duration:.65s}
 .motion-ready .hero-photo{animation-duration:20s}
 .motion-ready .scroll-image{transition-duration:.3s}
 .journey-steps:before,.journey-steps:after{left:-9px}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready .hero-visual,.motion-ready .tilt-card,.motion-ready .scroll-image{transform:none!important}
 .journey-step::details-content{block-size:auto;opacity:1}
 .journey-steps:before,.journey-steps:after,.journey-step:after{display:none}
}

/* Second motion pass: text choreography, image reveals and explicit interaction feedback. */
.heading-line{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}.heading-line>span{display:block}
.motion-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.trust-item .motion-number,.experience-stamp .motion-number{display:inline;font:inherit!important;color:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;max-width:none}
.trust-item:first-child strong,.experience-stamp b{font-variant-numeric:tabular-nums}
.trust-item:first-child strong{min-width:2ch}
.navlinks a.is-current:after{width:100%}
.press-ripple{position:absolute;border-radius:50%;background:currentColor;pointer-events:none;z-index:2;opacity:0}
@keyframes headingLineIn{from{transform:translateY(115%)}to{transform:translateY(0)}}
@keyframes mediaUnveil{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes mediaUnveilReverse{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes mediaUnveilPhone{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes checkInk{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes starIn{from{opacity:.25;transform:translateY(6px) scale(.75) rotate(-10deg)}to{opacity:1;transform:none}}
@keyframes availabilityHalo{0%,100%{box-shadow:0 0 0 0 #f18a5500}25%{box-shadow:0 0 0 5px #f18a5520}60%{box-shadow:0 0 0 9px #f18a5500}}
@keyframes stampHalo{0%{opacity:0;transform:scale(.95)}25%{opacity:.55}100%{opacity:0;transform:scale(1.12)}}
@keyframes pressRipple{from{opacity:.22;transform:scale(0)}to{opacity:0;transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .is-visible .heading-line>span{animation:headingLineIn .9s cubic-bezier(.16,1,.3,1) calc(var(--line-index,0)*100ms) backwards}
 .motion-ready .photo-claim.is-visible .img-wrap,.motion-ready .journey-gallery.is-visible .inspection-visual picture,.motion-ready .about-photo.is-visible picture{animation:mediaUnveil 1.1s cubic-bezier(.16,1,.3,1) .08s backwards}
 .motion-ready .photo-claim:nth-child(2).is-visible .img-wrap{animation-name:mediaUnveilReverse}
 .motion-ready .journey-gallery.is-visible .inspection-visual figcaption{animation:heroCopyIn .75s cubic-bezier(.16,1,.3,1) .3s backwards}
 .motion-ready .journey-proof.is-detail-visible figure{animation:heroCopyIn .7s cubic-bezier(.16,1,.3,1) calc(var(--detail-index,0)*100ms) backwards}
 .motion-ready .is-detail-visible.audience-list svg path,.motion-ready .is-detail-visible.about-values svg path,.motion-ready .is-detail-visible .form-trust svg path{stroke-dasharray:1;animation:checkInk .6s ease calc(var(--detail-index,0)*65ms + 120ms) backwards}
 .motion-ready .review-card.is-detail-visible .review-stars svg{animation:starIn .55s cubic-bezier(.16,1,.3,1) backwards}
 .motion-ready .review-card.is-detail-visible .review-stars svg:nth-child(2){animation-delay:.06s}.motion-ready .review-card.is-detail-visible .review-stars svg:nth-child(3){animation-delay:.12s}.motion-ready .review-card.is-detail-visible .review-stars svg:nth-child(4){animation-delay:.18s}.motion-ready .review-card.is-detail-visible .review-stars svg:nth-child(5){animation-delay:.24s}
 .motion-ready .availability:before{animation:availabilityHalo 2.8s ease .6s 3}
 .motion-ready .about-photo.is-visible .experience-stamp:after{content:"";position:absolute;inset:-7px;border:1px solid var(--orange);border-radius:50%;pointer-events:none;opacity:0;animation:stampHalo 1.2s ease .4s 2}
 .small-claim{position:relative;isolation:isolate;overflow:hidden}
 .press-ripple{animation:pressRipple .6s cubic-bezier(.2,.7,.3,1)}
 .field label{transition:color .25s,transform .25s}
 .field:focus-within label{color:#a94114;transform:translateX(3px)}
 .faq-list summary span{transition:transform .35s cubic-bezier(.16,1,.3,1),color .25s}
 .faq-list details[open] summary span{transform:rotate(45deg)}
 @supports(interpolate-size:allow-keywords){
  .faq-list details,.form-extra{interpolate-size:allow-keywords}
  .faq-list details::details-content,.form-extra::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size .4s cubic-bezier(.16,1,.3,1),opacity .25s,content-visibility .4s allow-discrete}
  .faq-list details[open]::details-content,.form-extra[open]::details-content{block-size:auto;opacity:1}
 }
}
@media(hover:hover) and (pointer:fine) and (min-width:951px) and (prefers-reduced-motion:no-preference){
 .motion-ready .tilt-card{position:relative;isolation:isolate}
 .motion-ready .tilt-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--spot-x,50%) var(--spot-y,50%),#ffffff2b,transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:1}
 .motion-ready .tilt-card:hover:after{opacity:1}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .motion-ready .is-visible .heading-line>span{animation-duration:.65s;animation-delay:calc(var(--line-index,0)*65ms)}
 .motion-ready .photo-claim.is-visible .img-wrap,.motion-ready .photo-claim:nth-child(2).is-visible .img-wrap,.motion-ready .journey-gallery.is-visible .inspection-visual picture,.motion-ready .about-photo.is-visible picture{animation-name:mediaUnveilPhone;animation-duration:.75s;animation-delay:0s}
 .motion-ready .about-photo.is-visible .experience-stamp:after{animation-iteration-count:1}
}
@media(prefers-reduced-motion:reduce){.press-ripple{display:none}.heading-line{overflow:visible}}

/* Count up and quiet ambient feedback, independent of pointer movement. */
.review-score .motion-number,.trust-item .motion-word,.trust-item .word-letter{font:inherit!important;line-height:inherit!important;color:inherit!important;letter-spacing:inherit!important;max-width:none}
.review-score>strong,.trust-item:nth-child(2) strong{font-variant-numeric:tabular-nums}
.trust-item .motion-word{display:inline-flex;overflow:clip;white-space:nowrap;vertical-align:bottom}
.trust-item .word-letter{display:inline-block}
@keyframes statLetterIn{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@keyframes idleShine{0%,70%{transform:translateX(-160%)}92%,100%{transform:translateX(160%)}}
@keyframes idleArrow{0%,72%,100%{transform:translate(0,0)}80%{transform:translate(4px,-4px)}89%{transform:translate(0,0)}}
@keyframes idleBeacon{0%,62%,100%{opacity:0;transform:scale(.9)}70%{opacity:.4}91%{opacity:0;transform:scale(1.45)}}
@keyframes idleAvailability{0%,55%,100%{box-shadow:0 0 0 0 #f18a5500}65%{box-shadow:0 0 0 5px #f18a5526}85%{box-shadow:0 0 0 9px #f18a5500}}
@media(prefers-reduced-motion:no-preference){
 .motion-ready .is-word-visible .word-letter{animation:statLetterIn .75s cubic-bezier(.16,1,.3,1) calc(var(--letter-index,0)*65ms) backwards}
 .motion-ready .availability:before{animation:idleAvailability 5.5s ease infinite;animation-play-state:paused}
 .motion-ready .availability.is-idle-visible:before{animation-play-state:running}
 .motion-ready .hero-note .icon-ring{position:relative}
 .motion-ready .hero-note .icon-ring:after{content:"";position:absolute;inset:-1px;border:1px solid var(--orange);border-radius:50%;opacity:0;pointer-events:none;animation:idleBeacon 6.5s ease infinite;animation-play-state:paused}
 .motion-ready .hero-note.is-idle-visible .icon-ring:after{animation-play-state:running}
 .motion-ready .hero-actions .btn-orange>svg:last-child{animation:idleArrow 7s ease-in-out infinite;animation-play-state:paused}
 .motion-ready .hero-actions .btn-orange.is-idle-visible>svg:last-child{animation-play-state:running}
 .motion-ready .hero-actions .btn-orange:hover>svg:last-child,.motion-ready .hero-actions .btn-orange:focus-visible>svg:last-child{animation:none}
 .motion-ready .review-score{position:relative;isolation:isolate;overflow:hidden}
 .motion-ready .review-score:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff80 50%,transparent 75%);pointer-events:none;animation:idleShine 8s cubic-bezier(.2,.7,.3,1) infinite;animation-play-state:paused}
 .motion-ready .review-score.is-idle-visible:after{animation-play-state:running}
 .page-hidden .availability:before,.page-hidden .hero-note .icon-ring:after,.page-hidden .hero-actions .btn-orange>svg:last-child,.page-hidden .review-score:after{animation-play-state:paused!important}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .motion-ready .is-word-visible .word-letter{animation-duration:.6s;animation-delay:calc(var(--letter-index,0)*45ms)}
 .motion-ready .hero-note .icon-ring:after{animation-duration:8s}
 .motion-ready .review-score:after{animation-duration:10s}
}
