
body{margin:0;background:var(--paper)}
a{color:var(--ink)}a:hover{color:var(--text-bronze)}
@keyframes wordUp{from{opacity:0;transform:translateY(0.45em);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes kenburns{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes pulseRing{0%{box-shadow:var(--shadow-4)}100%{box-shadow:var(--shadow-5)}}
.w{display:inline-block;animation:wordUp 0.9s cubic-bezier(0.2,0.7,0.2,1) both}
.fade{animation:fadeUp 0.9s cubic-bezier(0.2,0.7,0.2,1) both}
.float{animation:floatY 5s ease-in-out infinite}
.kenburns{animation:kenburns 2.4s cubic-bezier(0.2,0.7,0.2,1) both}
.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.pulse{animation:pulseRing 2s ease-out infinite}
.bar{transform-origin:bottom;animation:growY 1.2s cubic-bezier(0.2,0.7,0.2,1) both}
.lift{transition:transform 0.45s cubic-bezier(0.2,0.7,0.2,1),box-shadow 0.45s}
.lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-6)}
.zoom{transition:transform 0.8s cubic-bezier(0.2,0.7,0.2,1)}
.lift:hover .zoom{transform:scale(1.05)}
.cta .cta-arrow{transition:transform 0.35s cubic-bezier(0.2,0.7,0.2,1)}
.cta:hover .cta-arrow{transform:translateX(4px) rotate(-45deg)}
.navlink{transition:background 0.25s}.navlink:hover{background:var(--paper)}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(-260px,-300px)}}
@keyframes docIn{0%{opacity:0;transform:translateY(60px) rotate(2deg)}100%{opacity:1;transform:translateY(0) rotate(-4deg)}}
@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes signDraw{0%,20%{stroke-dashoffset:260}70%,100%{stroke-dashoffset:0}}
@keyframes stampIn{0%,55%{opacity:0;transform:scale(1.8) rotate(-20deg)}70%{opacity:1;transform:scale(0.9) rotate(0)}80%,100%{opacity:1;transform:scale(1)}}
.drift{animation:drift 16s ease-in-out infinite}
@keyframes chatIn{from{opacity:0;transform:translateY(16px) scale(0.96)}to{opacity:1;transform:none}}
@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:0.5}30%{transform:translateY(-5px);opacity:1}}
@keyframes cTyp{0%{opacity:0;transform:translateY(8px)}4%,14%{opacity:1;transform:none}17%,100%{opacity:0;transform:none}}
@keyframes cMsg{0%,15%{opacity:0;transform:translateY(12px) scale(0.96)}20%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:none}}
@keyframes mTyp{0%,28%{opacity:0;transform:translateY(8px)}32%,46%{opacity:1;transform:none}49%,100%{opacity:0;transform:none}}
@keyframes mMsg{0%,47%{opacity:0;transform:translateY(12px) scale(0.96)}52%,86%{opacity:1;transform:none}93%,100%{opacity:0;transform:none}}
.c-typ{animation:cTyp 10s ease-out infinite}
.c-msg{transform-origin:bottom left;animation:cMsg 10s cubic-bezier(0.2,0.7,0.2,1) infinite}
.m-typ{animation:mTyp 10s ease-out infinite}
.m-msg{transform-origin:bottom right;animation:mMsg 10s cubic-bezier(0.2,0.7,0.2,1) infinite}
.typing{animation:typingDot 1.2s ease-in-out infinite}
.qopt{transition:border-color 0.25s,transform 0.25s,box-shadow 0.25s}
.qopt:hover{border-color:var(--bronze);transform:translateY(-2px);box-shadow:var(--shadow-7)}
.qopt .qopt-go{transition:transform 0.3s}.qopt:hover .qopt-go{transform:translateX(3px)}
.doc-in{transform:rotate(-4deg);animation:docIn 1.1s cubic-bezier(0.2,0.7,0.2,1) both}
.doc-in .line{transform-origin:left;animation:lineGrow 0.7s cubic-bezier(0.2,0.7,0.2,1) both}
.sign{stroke-dasharray:260;animation:signDraw 3.2s ease-in-out both}
.stamp{animation:stampIn 3.2s cubic-bezier(0.2,0.7,0.2,1) both}
@supports (animation-timeline: view()){
.reveal{animation:fadeUp linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
.bar{animation:growY linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
.doc-in{animation:docIn linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
.doc-in .line{animation:lineGrow linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
.sign{animation:signDraw linear both;animation-timeline:view();animation-range:entry 20% cover 55%}
.stamp{animation:stampIn linear both;animation-timeline:view();animation-range:entry 20% cover 55%}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}



*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body,input,textarea,button{font-family:var(--font-family)}body{color:var(--ink);line-height:1.55}button,input,textarea{font-size:var(--text-16)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,a,input,textarea,summary{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}a{ text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--palette-13);outline-offset:4px}[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);padding:var(--space-12)}.skip-link:focus{top:10px}.site-header>button[data-open-request]{white-space:nowrap}.menu-toggle{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-16);min-height:56px;padding:var(--space-16) var(--space-24);border:0;border-radius:var(--radius-999);font-weight:700;text-decoration:none;text-align:center;line-height:1.4;transition:transform 180ms ease,background 180ms ease}.primary{background:var(--accent);color:var(--button-ink)}.primary:hover{background:var(--palette-14);color:var(--button-ink)}.secondary{background:var(--ink);color:var(--paper)}.secondary:hover{background:var(--palette-15);color:var(--paper)}.button:active{transform:scale(.98)}.text-button{min-height:44px;border:0;background:transparent;color:var(--muted);font-weight:600;padding:var(--space-8) 0;text-align:left}.case-details{margin:0 var(--space-16) var(--space-12);padding:var(--space-12) 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;font-weight:600;display:flex;justify-content:space-between;color:var(--ink)}
.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;min-height:76px;padding:var(--space-20) 0;font-weight:600;font-size:var(--text-18);line-height:1.35;display:flex;gap:var(--space-20);align-items:center;justify-content:space-between}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--soft);font-size:var(--text-24);flex-shrink:0}.faq-item[open] summary span{background:var(--accent);transform:rotate(45deg)}.faq-item p{margin:0;padding:0 var(--space-48) var(--space-24) 0;color:var(--muted);font-size:var(--text-16)}.reviews-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-24);border-radius:var(--radius-32);background:var(--soft);padding:var(--space-40)}.reviews-panel iframe{border:0;max-width:100%;flex-shrink:0}.reviews-panel p{flex:1 1 240px;max-width:380px;margin:0}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-32);padding:var(--space-32);width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--palette-16) var(--paper);box-shadow:var(--shadow-8)}dialog::backdrop{background:var(--palette-17);backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:14px;top:14px;width:44px;height:44px;background:var(--soft);border:0;border-radius:50%;font-size:var(--text-30);line-height:1;color:var(--ink)}dialog h2{font-size:var(--text-30);line-height:1.12;letter-spacing:-.035em;margin:var(--space-16) var(--space-32) var(--space-12) 0}dialog .eyebrow{font-size:var(--text-14);font-weight:700;text-transform:uppercase;margin:0 var(--space-40) 0 0;color:var(--palette-18)}.dialog-intro{color:var(--muted);margin-bottom:var(--space-24);font-size:var(--text-16)}.lead-form{display:grid;gap:var(--space-20)}.lead-form fieldset{padding:0;border:0;margin:0;min-width:0}.lead-form legend{font-size:var(--text-14);font-weight:600;margin-bottom:var(--space-8)}.method-options{display:flex;gap:var(--space-8);flex-wrap:wrap}.method-options label{display:flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:44px;padding:var(--space-8) var(--space-12);border:1px solid var(--line);border-radius:var(--radius-999);font-size:var(--text-14);cursor:pointer;flex:1 1 auto}.method-options label:has(:checked){border-color:var(--palette-19);background:var(--palette-20)}.lead-form input[type=radio],.lead-form input[type=checkbox]{accent-color:var(--palette-21);width:18px;height:18px;flex:0 0 18px;margin:0}.field{display:grid;gap:var(--space-8)}.field label{font-size:var(--text-14);font-weight:600}.field label span{font-weight:400;color:var(--muted)}.field input,.field textarea{width:100%;border:1px solid var(--palette-22);border-radius:var(--radius-12);background:var(--palette-3);color:var(--ink);padding:var(--space-12) var(--space-16);min-height:52px;line-height:1.5}.field textarea{resize:vertical;min-height:100px}.field input::placeholder,.field textarea::placeholder{color:var(--palette-23);opacity:1}.check{display:flex;gap:var(--space-12);align-items:flex-start;font-size:var(--text-14);cursor:pointer;padding:var(--space-8) 0}.check input{margin-top:var(--space-4)!important}.check.consent{font-size:var(--text-14)}.error{color:var(--palette-24);font-size:var(--text-14);display:block;line-height:1.5}.error:empty{display:none}[aria-invalid=true]{border-color:var(--palette-24)!important}.form-result{background:var(--soft);border-radius:var(--radius-18);padding:var(--space-16);font-size:var(--text-14)}.form-result p{margin:0}.form-result a{display:inline-block;margin-top:var(--space-8)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.quiz-main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:var(--space-20)}#quiz-step-label{font-size:var(--text-14);font-weight:600;color:var(--muted)}.quiz-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4)}.quiz-progress span{height:4px;border-radius:var(--radius-4);background:var(--line)}.quiz-progress .done{background:var(--accent)}.quiz-main h3{font-size:var(--text-xl);line-height:1.2;letter-spacing:-.03em;margin:0 0 var(--space-16)}.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--space-8)}.quiz-option{display:flex;align-items:center;gap:var(--space-12);text-align:left;min-height:86px;border:1.5px solid var(--line);border-radius:var(--radius-18);background:var(--palette-3);color:var(--ink);padding:var(--space-12);transition:border-color 180ms,transform 180ms}.quiz-option:hover{border-color:var(--bronze);transform:translateY(-2px)}.quiz-option[aria-pressed=true]{background:var(--palette-25);border-color:var(--palette-26)}.quiz-option>svg{width:46px;height:46px;background:var(--soft);border-radius:var(--radius-12);padding:var(--space-12);flex-shrink:0}.quiz-option b{display:block;font-size:var(--text-16)}.quiz-option small{display:block;font-size:var(--text-14);color:var(--muted)}.quiz-option>span:last-child{margin-left:auto}.quiz-main .lead-form{max-width:620px}#case-dialog{width:min(850px,calc(100% - 32px))}#case-dialog img{width:100%;max-height:420px;object-fit:cover;object-position:top;border-radius:var(--radius-18);margin:var(--space-12) 0}#case-dialog h3{font-size:var(--text-18);margin:var(--space-20) 0 var(--space-8)}#case-dialog p{margin:var(--space-8) 0;color:var(--muted)}#case-dialog a{display:inline-block;margin:var(--space-12) var(--space-20) 0 0}#case-dialog .case-credit{font-size:var(--text-14);border-top:1px solid var(--line);padding-top:var(--space-16);margin-top:var(--space-20)}
#privacy-banner{position:fixed;bottom:16px;left:16px;z-index:20;width:min(470px,calc(100% - 32px));background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-18);padding:var(--space-20);box-shadow:var(--shadow-9);font-size:var(--text-14)}#privacy-banner p{margin:0 0 var(--space-12)}#privacy-banner div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}#privacy-banner button,#privacy-save{background:var(--ink);color:var(--paper);border:0;border-radius:var(--radius-999);padding:var(--space-8) var(--space-12);font-size:var(--text-14);min-height:44px}#privacy-banner button[data-privacy=no]{background:var(--palette-5);color:var(--ink)}#privacy-close{float:right;border:0;background:transparent;font-size:var(--text-30)}#privacy-save{display:block;margin-top:var(--space-20)}
/* Keep the reference's restrained motion, with readable static fallbacks. */
.w,.fade{animation-duration:650ms}.lift{transition-duration:220ms}.zoom{transition-duration:400ms}.drift{animation:none}.pulse{animation-iteration-count:3}.float{animation-iteration-count:2}.c-typ,.m-typ{display:none}.c-msg,.m-msg{animation:none!important;opacity:1;transform:none}.doc-in{transform:rotate(-4deg)}
@media(max-width:760px){.site-header{padding:var(--space-16) var(--space-20)!important;gap:var(--space-12)!important}.site-header>a{font-size:var(--text-14)!important}.site-header>button[data-open-request]{display:none}.menu-toggle{display:flex;align-items:center;gap:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-999);background:var(--soft);padding:var(--space-8) var(--space-12);font-size:var(--text-14);min-height:44px}.site-header nav{display:none!important;width:100%;border-radius:var(--radius-18)!important;flex-direction:column;padding:var(--space-8)!important}.site-header nav.is-open{display:flex!important}.site-header nav a{padding:var(--space-12)!important}main>section{padding:0 var(--space-20) var(--space-80)!important}#top{padding-top:var(--space-20)!important;gap:var(--space-40)!important}#top>div:first-child{gap:var(--space-24)!important}#top>div:last-child{padding:0 0 var(--space-24) var(--space-20)!important;max-width:520px;width:100%;margin:auto}#top>div:last-child>div:nth-child(2){height:470px!important;border-radius:var(--radius-24)!important}#top>div:last-child>div:first-child{border-radius:var(--radius-32)!important;right:20px!important}#top .float{width:auto!important;max-width:245px}#top .float[style*="bottom"]{padding:var(--space-16)!important;bottom:38px!important}#top h1{font-size:var(--text-h1) !important}#top .fade[style*="flex-wrap"]{gap:var(--space-20)!important}#top .fade[style*="flex-wrap"]>div>div:first-child{font-size:var(--text-24)!important}#how,#quiz{padding-left:var(--space-12)!important;padding-right:var(--space-12)!important}#how>div,#quiz>div{border-radius:var(--radius-24)!important;padding:var(--space-24) var(--space-20)!important}#how .lift{padding:var(--space-24) var(--space-16)!important;border-radius:var(--radius-24)!important}#price>div>div{padding:var(--space-24) var(--space-24)!important;border-radius:var(--radius-24)!important}#price>div>div:first-child{min-height:490px!important}#price>div>div:last-child>div{padding:var(--space-20) var(--space-16)!important}#faq>div:last-child{gap:var(--space-24)!important}#faq .c-msg,#faq .m-msg{font-size:var(--text-14)!important}#faq .reveal{padding:var(--space-20)!important}.reviews-panel{padding:var(--space-24) var(--space-24);gap:var(--space-20)}.reviews-panel .button{font-size:var(--text-14);padding:var(--space-12) var(--space-20)}.faq-item summary{font-size:var(--text-16);gap:var(--space-12)}.faq-item p{padding-right:0;font-size:var(--text-14)}#quiz>div>div:nth-child(3){padding:var(--space-24) var(--space-16)!important;gap:var(--space-24)!important;border-radius:var(--radius-24)!important}#quiz aside{gap:var(--space-16)!important}footer{padding:var(--space-24) var(--space-20) var(--space-40)!important}dialog{padding:var(--space-24) var(--space-20);border-radius:var(--radius-24)}dialog h2{font-size:var(--text-30)}dialog .eyebrow{max-width:240px;font-size:var(--text-14)}#privacy-banner{font-size:var(--text-14);padding:var(--space-16)}.method-options label{padding:var(--space-8) var(--space-8)}.button{font-size:var(--text-14)}.quiz-main{gap:var(--space-16)}}
@media(max-width:380px){.site-header>a{font-size:var(--text-14)!important}.site-header{padding-inline:var(--space-16)!important}.site-header>a>span{width:30px!important;height:30px!important}.menu-toggle{padding-inline:var(--space-8)}main>section{padding-inline:var(--space-16)!important}#top>div:last-child>div:nth-child(2){height:420px!important}#top .float[style*="bottom"]{max-width:215px}.method-options{gap:var(--space-4)}.method-options label{font-size:var(--text-14)}dialog{padding:var(--space-24) var(--space-16)}#quiz>div{padding-inline:var(--space-16)!important}#how>div{padding-inline:var(--space-16)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.w,.fade,.bar,.doc-in,.stamp{opacity:1!important;transform:none!important;filter:none!important}.sign{stroke-dashoffset:0!important}}
@media(hover:none){.lift:hover,.quiz-option:hover{transform:none;box-shadow:none}.lift:hover .zoom{transform:none}}

@media(max-width:760px){#top .float[style*="top"]{display:none!important}}

/* One desktop container: identical outer edges for every section and panel. */
@media(min-width:761px){
 .site-header,main>section,body>div>footer{width:100%;max-width:1240px!important;margin-inline:auto!important;padding-inline:var(--space-32)!important}
}

/* A floating, opaque navigation bar, following the studio reference. */
html{scroll-padding-top:112px}
body>div:has(>.site-header){overflow-x:clip!important;overflow-y:visible!important}
.site-header{position:sticky;top:16px;z-index:30;isolation:isolate;min-height:76px;margin-top:var(--space-16)!important;margin-bottom:var(--space-24)!important;padding-block:var(--space-12)!important;flex-wrap:nowrap!important}
.site-header::before{content:"";position:absolute;inset:0 12px;z-index:-1;background:var(--palette-3);border:1px solid var(--palette-5);border-radius:var(--radius-24);box-shadow:var(--shadow-10)}
.site-header nav{border:0!important;background:transparent!important;padding:0!important;gap:var(--space-0)!important}
.site-header nav a{font-size:var(--text-14)!important;padding:var(--space-8) var(--space-12)!important;border-radius:var(--radius-12);text-decoration:none}
.site-header nav a:hover{background:var(--soft)}
.site-header>button[data-open-request]{min-height:44px;padding:var(--space-12) var(--space-16)!important;font-size:var(--text-14)!important}
/* The outer dialog clips to its rounded corners; only the inner content scrolls. */
#request-dialog,#case-dialog{padding:0;overflow:hidden;max-height:calc(100dvh - 32px)}
.dialog-scroll{overflow:auto;max-height:calc(100dvh - 58px);margin:var(--space-12) var(--space-8) var(--space-12) 0;padding:var(--space-24) var(--space-24) var(--space-24) var(--space-32);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--palette-27) transparent}
.dialog-close{z-index:2}
@supports selector(::-webkit-scrollbar){
 .dialog-scroll{scrollbar-width:auto;scrollbar-color:auto}
 .dialog-scroll::-webkit-scrollbar{width:5px;height:5px;background:transparent}
 .dialog-scroll::-webkit-scrollbar-track,.dialog-scroll::-webkit-scrollbar-corner{background:transparent}
 .dialog-scroll::-webkit-scrollbar-thumb{background:var(--palette-27);border-radius:var(--radius-999)}
 .dialog-scroll::-webkit-scrollbar-thumb:hover{background:var(--palette-28)}
 .dialog-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}
}
.case-preview{display:block;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
[data-case=rm] .case-preview img{object-fit:contain!important;object-position:center!important;transform:none!important}
[data-case=rm] .case-preview{background:var(--palette-29);padding:var(--space-40) var(--space-8) var(--space-8)}
.case-image-button{border:0;padding:0;background:transparent;display:block;width:100%;text-align:left;cursor:zoom-in;color:var(--muted);margin:var(--space-20) 0 var(--space-24)}
#case-dialog .case-image-button img{display:block;object-fit:contain;height:auto;max-height:none;margin:0}
.case-image-button span{display:block;margin-top:var(--space-8);font-size:var(--text-14);text-align:right}
#case-dialog .case-section{margin:var(--space-24) 0}
#case-dialog .case-section h3{margin:0 0 var(--space-12);line-height:1.35}
#case-dialog .case-section p{margin:0 0 var(--space-12);line-height:1.65}
.case-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-12);margin:var(--space-16) 0 var(--space-20)}
.case-metrics>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--space-8);background:var(--soft);border-radius:var(--radius-18);padding:var(--space-16)}
.case-metrics dt{font-size:var(--text-14);color:var(--muted);line-height:1.4}.case-metrics dd{margin:0;font-weight:700;font-size:var(--text-24);letter-spacing:-.04em;line-height:1.2}
.case-actions{display:flex;align-items:center;gap:var(--space-12);flex-wrap:wrap}#case-dialog .case-actions a{margin:0}#case-dialog .case-actions .button{color:var(--paper)}
#image-dialog{width:min(1440px,calc(100% - 24px));max-width:none;height:calc(100dvh - 24px);max-height:none;padding:var(--space-64) var(--space-20) var(--space-16);overflow:hidden;background:var(--paper)}
#image-dialog figure{margin:0;height:100%;display:flex;flex-direction:column;gap:var(--space-12);align-items:center}
#full-case-image{display:block;min-height:0;width:100%;flex:1;object-fit:contain}
#full-case-caption{flex:0 0 auto;font-size:var(--text-14);line-height:1.35;text-align:center;color:var(--muted);max-width:960px}
.reviews-panel{display:block;background:var(--soft);padding:var(--space-24);border-radius:var(--radius-24)}
.reviews-panel iframe{display:block;width:100%;max-width:760px;height:660px;margin:auto;border:0;border-radius:var(--radius-18);background:var(--palette-30)}
.reviews-panel .reviews-source{display:block;text-align:center;font-size:var(--text-14);margin-top:var(--space-12);color:var(--muted)}
.channel-invite{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-8) var(--space-12);margin-top:var(--space-24);font-size:var(--text-14);color:var(--muted)}
.channel-invite p{margin:0}.channel-invite a{font-weight:600}.offer-accent{color:var(--palette-31)}
.legal-links{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-20);width:100%;font-size:var(--text-14);color:var(--muted);line-height:1.5}
#faq .reveal{filter:none!important;animation:none!important}
#faq .c-msg,#faq .m-msg{opacity:1!important;filter:none!important;animation:none!important}
#faq .m-msg{background:var(--ink)!important;color:var(--paper)!important}
#faq .c-msg{background:var(--palette-3)!important;color:var(--ink)!important}
#faq .c-typ,#faq .m-typ{display:none!important}
@media(min-width:761px) and (max-width:1050px){.site-header{flex-wrap:wrap!important}.site-header>button[data-open-request]{display:none}.menu-toggle{display:flex;align-items:center;gap:var(--space-8);border:1px solid var(--line);border-radius:var(--radius-999);background:var(--soft);padding:var(--space-8) var(--space-12);font-size:var(--text-14);min-height:44px}.site-header nav{display:none!important;width:100%}.site-header nav.is-open{display:flex!important;flex-direction:column}.site-header nav a{width:100%;padding:var(--space-12)!important}}
@media(max-width:1050px) and (min-width:761px){.site-header{gap:var(--space-12)!important}.site-header nav a{padding-inline:var(--space-8)!important}.site-header>a{font-size:var(--text-14)!important}.site-header>button[data-open-request]{padding-inline:var(--space-12)!important}}
@media(max-width:760px){
 html{scroll-padding-top:100px}.site-header{top:8px;flex-wrap:wrap!important;min-height:68px;margin-top:var(--space-8)!important;padding-block:var(--space-12)!important}.site-header::before{inset-inline:8px;border-radius:var(--radius-18)}.site-header nav.is-open{background:var(--palette-3)!important}.site-header nav a{display:block;width:100%}
 #request-dialog,#case-dialog{padding:0}.dialog-scroll{padding:var(--space-24) var(--space-16) var(--space-20) var(--space-20);margin-right:var(--space-4)}.case-metrics{gap:var(--space-8)}.case-metrics>div{padding:var(--space-12)}.case-metrics dd{font-size:var(--text-24)}
 #image-dialog{padding:var(--space-64) var(--space-8) var(--space-16);border-radius:var(--radius-24)}.reviews-panel{padding:var(--space-8)}.reviews-panel iframe{height:620px;border-radius:var(--radius-18)}.channel-invite p{flex-basis:100%;text-align:center}
}

/* Align the visible navigation panel with the content edges of each section. */
.site-header::before{inset-inline:32px}
.site-header{padding-inline:var(--space-48)!important}
.site-header nav a.is-active{background:var(--palette-32)!important;color:var(--palette-33);box-shadow:var(--shadow-11)}
.reviews-carousel{position:relative;width:100%;padding:0 var(--space-24);background:transparent}
.reviews-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/3);gap:var(--space-32);align-items:start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:var(--space-8) var(--space-4) var(--space-16);overscroll-behavior-x:contain;overflow-anchor:none}
.reviews-track::-webkit-scrollbar{display:none}
.review-card{display:flex;flex-direction:column;min-width:0;min-height:268px;padding:var(--space-16);background:var(--palette-30);border-radius:var(--radius-12);box-shadow:var(--shadow-12);scroll-snap-align:start;scroll-margin-inline:6px;color:var(--palette-34)}
.review-author{display:flex;align-items:center;gap:var(--space-8);margin-bottom:var(--space-16);min-height:50px}.review-author>div{min-width:0}.review-author h3{margin:0;font-size:var(--text-14);font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.review-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:var(--palette-35);font-weight:700;overflow:hidden}.review-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.review-stars{font-size:var(--text-24);letter-spacing:-1px;line-height:1.2;color:var(--palette-36);margin-top:var(--space-4)}
.review-text{font-size:var(--text-16);line-height:1.3;white-space:pre-line;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.review-card.is-expanded .review-text{display:block;-webkit-line-clamp:unset;overflow:visible}
.review-expand{align-self:flex-start;background:transparent;border:0;color:var(--palette-34);font-size:var(--text-14);padding:var(--space-8) 0;min-height:40px;text-align:left;margin-top:var(--space-0)}
.review-expand:hover{text-decoration:underline}.review-source{display:block;margin-top:auto;padding-top:var(--space-12);font-size:var(--text-14);color:var(--palette-37);text-underline-offset:2px}
.review-arrow{position:absolute;top:122px;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--palette-38);color:var(--ink);font-size:var(--text-30);line-height:1;padding:0}.review-prev{left:0}.review-next{right:0}.review-arrow:disabled{opacity:.3;cursor:default}.review-arrow:active{transform:scale(.96)}
.review-position{margin:var(--space-12) 0 0;text-align:center;font-size:var(--text-14);color:var(--palette-39);font-variant-numeric:tabular-nums}
@media(min-width:761px) and (max-width:1050px){.reviews-track{grid-auto-columns:calc((100% - 24px)/2);gap:var(--space-24)}}
@media(max-width:760px){.reviews-carousel{padding-inline:var(--space-8)}.reviews-track{grid-auto-columns:100%;gap:var(--space-20)}.review-prev{left:-6px}.review-next{right:-6px}.review-arrow{width:32px;height:32px}.review-card{min-height:280px}.review-position{margin-top:var(--space-4)}}
@media(max-width:760px){.site-header::before{inset-inline:20px}.site-header{padding-inline:var(--space-32)!important}}
@media(max-width:380px){.site-header::before{inset-inline:16px}.site-header{padding-inline:var(--space-24)!important}}

/* Keep carousel controls outside cards and include the project CTA in collapsed navigation. */
.mobile-menu-cta{display:none}
.reviews-carousel{padding-inline:var(--space-48)}
.review-arrow{width:40px;height:40px}
.comparison-break{display:none}
.comparison-preview>div>span:not(:first-child){justify-self:center;text-align:center}
@media(max-width:1050px){
 .site-header nav .mobile-menu-cta{display:flex;width:100%;margin-top:var(--space-8);min-height:48px}
 .site-header nav.is-open{max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:760px){
 .reviews-carousel{padding-inline:0;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:var(--space-12)}
 .reviews-track{grid-column:1/-1;grid-row:1;min-width:0;width:100%}
 .review-arrow{position:static;width:44px;height:44px;grid-row:2}
 .review-prev{grid-column:1}.review-next{grid-column:3}
 .review-position{grid-column:2;grid-row:2;margin:0}
 .comparison-preview{padding:var(--space-12) var(--space-12)!important;font-size:var(--text-xl) !important}
 .comparison-preview>div{grid-template-columns:1.15fr .55fr 1.35fr 1.35fr!important;gap:var(--space-4)!important}
 .comparison-break{display:block}
}

/* User preference: mobile primary action buttons fill their content container. */
@media(max-width:760px){
 main .cta,main .button,main [data-open-request],dialog .button,.mobile-menu-cta{width:100%!important;max-width:100%;align-self:stretch;justify-content:center!important;text-align:center}
 #top .fade:has(>.cta){width:100%;align-self:stretch}
 .case-actions{width:100%}
}

@media(max-width:1050px){.site-header nav.is-open{border-radius:var(--radius-18)!important}}
