/* The LH clay family: one live scene, matching local stills throughout the page. */
.hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:30px;align-items:center;min-height:680px;padding-top:36px;padding-bottom:43px}
.hero-copy{text-align:left;max-width:none;margin:0;z-index:2}.hero-copy>.eyebrow{margin:0;font-size:9px;padding:8px 13px}.hero-copy h1{font-size:clamp(48px,5.35vw,78px);line-height:1.02;margin-top:29px;letter-spacing:-.06em}.hero-copy h1>span:nth-child(3){margin:12px 0 0;line-height:1.05;width:max-content;max-width:100%}.hero-copy .ink-line:after{height:12px;bottom:3px}.hero-description{margin:23px 0 0;font-size:17px;max-width:475px}.hero-ctas{justify-content:flex-start;margin-top:25px;gap:12px}.hero-ctas>.button{font-size:14px;padding:14px 22px;gap:17px}.hero-price{justify-content:flex-start;font-size:11px;margin-top:21px;flex-wrap:wrap;row-gap:4px}.hero-3d-wrap{position:relative;min-width:0;align-self:center;isolation:isolate}.hero-scene{position:relative;width:100%;height:480px;isolation:isolate;touch-action:pan-y;contain:layout style}.scene-halo{position:absolute;inset:9% 2% 3%;border-radius:48% 45% 41% 53%;background:#e9e2f1;transform:rotate(-9deg);z-index:-2}.scene-halo:after{content:'';position:absolute;inset:-9px 12px 7px -10px;border:1px dashed #63748b77;border-radius:inherit;transform:rotate(15deg)}.scene-fallback,.depth-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}.depth-canvas{opacity:0;transition:opacity .35s}.scene-fallback{transition:opacity .35s;filter:drop-shadow(0 18px 14px #26364b12)}[data-scene-state=ready] .depth-canvas{opacity:1}[data-scene-state=ready] .scene-fallback{opacity:0}.scene-caption{font-family:Caveat,cursive;font-size:27px;line-height:1;color:var(--blue);display:block;margin:-9px 0 0 14px;transform:rotate(-4deg)}.scene-turn{position:absolute;bottom:7px;right:0;display:flex;align-items:center;gap:7px;border:1px solid var(--navy);border-radius:999px;background:#fffdf8;padding:8px 12px;font-size:10px;box-shadow:2px 2px 0 var(--navy);cursor:pointer;color:var(--navy);z-index:3}.scene-turn>span:first-child{font-size:17px;line-height:1}.scene-turn:hover{background:var(--amber)}.scene-turn[hidden]{display:none}
.hero-client-proof{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:23px 6px 0 auto;padding:8px 13px 8px 8px;background:#fffdf8;border:1.5px solid var(--navy);border-radius:17px;box-shadow:3px 4px 0 var(--navy);transform:rotate(2deg);color:var(--navy);text-decoration:none;transition:transform .25s}.hero-client-proof:hover{transform:rotate(0) translateY(-3px)}.hero-client-proof>img{width:100px;height:65px;object-fit:cover;object-position:top;border-radius:9px;border:1px solid #26364b44}.hero-client-proof>span{display:grid;gap:4px}.hero-client-proof small{font-size:7px;letter-spacing:.12em}.hero-client-proof strong{font-family:var(--head);font-weight:800;font-size:19px;letter-spacing:-.04em}.hero-client-proof .icon{width:17px;margin-left:8px}.proof-live{display:inline-block;width:5px;height:5px;background:#5e865f;border-radius:50%;margin-right:5px}
.depth-image{display:block;object-fit:contain;width:100%;height:100%;pointer-events:none}.service-visual{height:153px;overflow:visible}.service-visual>.depth-image{width:230px;max-width:125%;height:205px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 5px #26364b0d);transition:transform .35s}.service-tile{animation:none;transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s,box-shadow .2s}.service-tile:hover{transform:perspective(800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}.service-tile:hover .depth-image{transform:translate(-50%,-53%) rotate(-3deg)}.service-dock{gap:21px;padding-top:18px}.service-tile-copy>strong{font-size:22px}.service-tile-copy>span{min-height:36px}
.project-art[data-depth-tilt]{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s,box-shadow .25s}.project-art[data-depth-tilt]:hover{translate:none}.project-art[data-depth-tilt]:hover .client-browser{transform:rotate(0) translateY(-3px)}
.workflow-copy{position:relative}.workflow-clay{display:flex;align-items:center;gap:18px;margin-top:22px;max-width:420px}.workflow-clay img{width:180px;height:144px;object-fit:contain;filter:drop-shadow(0 8px 8px #11192330)}.workflow-clay span{font-family:Caveat,cursive;font-size:28px;line-height:1.1;color:var(--amber);max-width:140px;transform:rotate(-5deg)}.workflow-copy>.button{margin-top:12px}.flow-node-icon{width:47px;height:47px;min-width:47px;background:transparent!important;border:0!important;border-radius:0!important}.flow-node-icon img{display:block;width:71px;height:71px;max-width:none;object-fit:contain;transform:translate(-12px,-12px);transition:transform .35s}.flow-nodes li.is-active .flow-node-icon img{transform:translate(-12px,-16px) rotate(-7deg)}.flow-nodes li.is-complete .flow-node-icon img{transform:translate(-12px,-12px) rotate(3deg)}
.discovery-object{position:absolute;width:183px;height:183px;object-fit:contain;right:-23px;bottom:-22px;z-index:2;filter:drop-shadow(0 7px 8px #26364b17);transform:rotate(-6deg);pointer-events:none}.answer-art .discovery-object{right:-20px;bottom:-16px;width:165px;height:165px;transform:rotate(5deg)}.search-result-art .result-paper{padding-bottom:52px}.launch-art .discovery-object{width:150px;height:150px;right:-3px;bottom:-22px}.launch-seal{right:18px;top:20px;bottom:auto}.question-bubble{max-width:80%}
.price-card .kit-cover{height:200px}.kit-cover .kit-art{display:none}.kit-depth-image{position:absolute;right:-9px;top:2px;width:205px;height:205px;object-fit:contain;transform:rotate(-7deg);transition:transform .4s;filter:drop-shadow(0 12px 8px #26364b12)}.kit-caption{font-size:37px;max-width:140px;bottom:23px;left:23px;z-index:2}.price-card:hover .kit-depth-image{transform:translateY(-6px) rotate(0)}.kit-label{z-index:3}.process-art .process-depth-image{position:absolute;width:100%;height:100%;object-fit:contain;inset:0;transform:rotate(-4deg)}.process-art.depth-process{overflow:visible}.process-art.depth-process:after{display:none}.process-art.depth-process>span{z-index:2}.depth-process .build-sticker{right:10px;bottom:7px;top:auto;font-size:24px}.faq-chat-art>.faq-depth-image{position:absolute;width:200px;height:200px;object-fit:contain;right:0;top:-10px;transform:rotate(7deg)}.faq-chat-art .faq-bubble{z-index:2;font-size:24px;padding:7px 20px;right:17px;bottom:-14px}.faq-chat-art .faq-question,.faq-chat-art .faq-spark{display:none}.postcard-buddy{height:230px}.postcard-buddy>img{width:100%;height:265px;object-fit:contain;position:relative;top:-17px}.postcard-buddy>span{position:absolute;bottom:3px;right:-5px;font-size:28px}.postcard-buddy:before{background:#dcd0f2aa;width:168px;height:168px}.is-in-view .workflow-clay img{animation:clay-drift 6s ease-in-out infinite}.is-in-view .discovery-object{animation:clay-drift 7s ease-in-out infinite}.motion-paused .workflow-clay img,.motion-paused .discovery-object{animation-play-state:paused}.motion-paused [data-depth-tilt]{transform:none}.motion-paused .service-tile:hover .depth-image{transform:translate(-50%,-50%)}.motion-paused .price-card:hover .kit-depth-image{transform:rotate(-7deg)}
@keyframes clay-drift{0%,100%{translate:0 0}50%{translate:0 -7px}}
@media(min-width:1500px){.hero{gap:55px}.hero-scene{height:510px}.hero-copy h1{font-size:81px}}
@media(max-width:1080px){.hero{gap:18px;min-height:610px}.hero-copy h1{font-size:clamp(43px,5.3vw,58px)}.hero-scene{height:390px}.hero-description{font-size:16px;max-width:395px}.hero-copy>.eyebrow{font-size:7px;padding:7px 10px}.hero-ctas>.button{font-size:12px;padding:13px 17px;gap:12px}.hero-price{font-size:10px;gap:5px}.hero-client-proof>img{width:77px;height:52px}.hero-client-proof strong{font-size:17px}.hero-client-proof{gap:10px;padding-right:10px}.scene-caption{font-size:24px;margin-left:5px}.service-visual{height:129px}.service-visual>.depth-image{height:180px;width:200px}.service-tile-copy>strong{font-size:20px}.kit-depth-image{width:170px;height:190px;right:-10px;top:12px}.kit-caption{font-size:30px;max-width:100px}.workflow-clay img{width:145px;height:122px}.workflow-clay span{font-size:24px}.discovery-object{width:156px;height:156px;right:-15px}.workflow-grid{gap:44px}}
@media(max-width:900px){.hero{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:580px;padding-top:38px;padding-bottom:33px}.hero-copy h1{font-size:clamp(37px,5.2vw,47px);letter-spacing:-.065em}.hero-copy>.eyebrow{font-size:6px;letter-spacing:.08em;box-shadow:2px 2px 0 var(--navy)}.hero-description{font-size:14px;line-height:1.65}.hero-ctas{gap:8px;flex-wrap:wrap}.hero-ctas>.button{min-height:45px;padding:11px 15px;font-size:11px;gap:10px}.hero-price{font-size:9px}.hero-scene{height:330px}.scene-caption{font-size:20px;max-width:190px;margin-top:-2px}.scene-turn{font-size:8px;right:0;bottom:9px;padding:6px 9px;gap:4px}.scene-turn>span:first-child{font-size:14px}.hero-client-proof{margin-top:22px;border-radius:13px;gap:8px}.hero-client-proof>img{width:66px;height:45px;border-radius:6px}.hero-client-proof strong{font-size:15px}.hero-client-proof small{font-size:6px;letter-spacing:.05em}.hero-client-proof .icon{width:13px;margin-left:1px}.service-visual{height:136px}.service-visual>.depth-image{height:186px;width:220px}.service-tile-copy>strong{font-size:23px}.workflow-clay{margin-top:15px;gap:10px}.workflow-clay img{width:130px;height:105px}.workflow-clay span{font-size:23px}.workflow-copy>.button{margin-top:5px}.flow-node-icon{width:37px;height:37px;min-width:37px}.flow-node-icon img{width:59px;height:59px;transform:translate(-11px,-11px)}.flow-nodes li.is-active .flow-node-icon img{transform:translate(-11px,-15px) rotate(-7deg)}.flow-nodes li.is-complete .flow-node-icon img{transform:translate(-11px,-11px) rotate(3deg)}.kit-depth-image{width:200px;height:205px;right:-2px;top:0}.kit-caption{font-size:35px;max-width:135px}.discovery-object{width:136px;height:136px}.postcard-buddy{height:185px}.postcard-buddy>img{height:225px;top:-18px}.postcard-buddy>span{font-size:23px;bottom:0}}
@media(max-width:680px){.hero{display:flex;flex-direction:column;gap:0;align-items:stretch;padding-top:29px;padding-bottom:31px;min-height:0}.hero-copy{text-align:center;width:100%;max-width:520px;margin:0 auto}.hero-copy>.eyebrow{margin:0 auto;font-size:8px;padding:8px 12px;letter-spacing:.075em}.hero-copy h1{font-size:clamp(40px,8.9vw,58px);line-height:1.02;margin-top:27px;letter-spacing:-.06em}.hero-copy h1>span:nth-child(3){margin:11px auto 0}.hero-description{font-size:16px;max-width:390px;margin:22px auto 0;line-height:1.65}.hero-ctas{justify-content:center;gap:10px;margin-top:23px}.hero-ctas>.button{font-size:13px;min-height:48px;padding:13px 19px;gap:13px}.hero-price{justify-content:center;font-size:10px;margin-top:17px;gap:5px}.hero-3d-wrap{width:100%;max-width:440px;margin:19px auto 0}.hero-scene{height:350px;width:100%}.scene-halo{inset:10% 5% 1%}.scene-caption{font-size:23px;max-width:none;margin:0 0 0 14px}.scene-turn{font-size:9px;padding:7px 10px;bottom:1px;right:3px}.hero-client-proof{margin:20px auto 0;padding:7px 12px 7px 7px;gap:12px;max-width:94%;border-radius:14px}.hero-client-proof>img{width:82px;height:51px}.hero-client-proof strong{font-size:18px}.hero-client-proof small{font-size:6px;letter-spacing:.1em}.hero-client-proof .icon{width:15px;margin-left:8px}.service-dock{padding-top:10px;gap:16px}.service-visual{height:113px}.service-visual>.depth-image{height:155px;width:178px;max-width:140%}.service-tile-copy>strong{font-size:21px}.service-tile-copy>span{min-height:44px}.workflow-clay{max-width:350px;margin-top:12px;margin-bottom:5px}.workflow-clay img{width:145px;height:110px}.workflow-clay span{font-size:25px;max-width:155px}.workflow-copy>.button{margin-top:4px}.flow-node-icon{width:39px;height:39px;min-width:39px}.flow-node-icon img{width:63px;height:63px;transform:translate(-12px,-12px)}.flow-nodes li.is-active .flow-node-icon img{transform:translate(-12px,-16px) rotate(-7deg)}.flow-nodes li.is-complete .flow-node-icon img{transform:translate(-12px,-12px) rotate(3deg)}.discovery-object{width:142px;height:142px;bottom:-19px;right:-10px}.answer-art .discovery-object{width:145px;height:145px;right:-10px;bottom:-12px}.search-result-art .result-paper{padding-bottom:53px}.launch-art .discovery-object{width:126px;height:126px;right:-1px;bottom:-18px}.launch-seal{right:8px;top:10px}.price-card .kit-cover{height:190px}.kit-depth-image{width:209px;height:209px;right:0;top:0}.kit-caption{font-size:36px;max-width:145px;bottom:20px;left:22px}.faq-chat-art>.faq-depth-image{height:176px;width:176px;right:0;top:-15px}.faq-chat-art .faq-bubble{font-size:23px;right:0;bottom:-5px}.postcard-buddy{height:205px}.postcard-buddy>img{width:100%;height:249px;top:-21px}.postcard-buddy>span{font-size:26px;bottom:-1px;right:0}}
@media(max-width:359px){.hero-copy>.eyebrow{font-size:6.5px}.hero-copy h1{font-size:37px}.hero-description{font-size:14px}.hero-ctas{gap:8px}.hero-ctas>.button{font-size:11px;padding:12px 16px;gap:9px;min-height:43px}.hero-price{font-size:9px}.hero-scene{height:302px}.scene-caption{font-size:20px;margin-left:5px}.scene-turn{font-size:8px;padding:6px 9px;right:0}.hero-client-proof{gap:9px}.hero-client-proof strong{font-size:16px}.hero-client-proof>img{width:70px;height:46px}.service-visual{height:91px}.service-visual>.depth-image{height:130px;width:148px}.service-tile-copy>strong{font-size:18px}.service-tile-copy>span{font-size:12px}.kit-depth-image{right:-13px;width:183px;height:193px}.kit-caption{font-size:30px;max-width:116px}.workflow-clay img{width:127px}.workflow-clay span{font-size:23px}}
@media(prefers-reduced-motion:reduce){.depth-canvas{display:none}.scene-fallback{opacity:1!important}.hero-client-proof,.service-tile,.project-art[data-depth-tilt]{transform:none;transition:none}.workflow-clay img,.discovery-object{animation:none!important}.service-tile:hover .depth-image{transform:translate(-50%,-50%)}.scene-turn{display:none}.price-card:hover .kit-depth-image{transform:rotate(-7deg)}}

.search-sticker{right:auto;left:13px;font-size:22px;max-width:calc(100% - 130px)}
@media(max-width:680px){.search-sticker{font-size:19px;left:8px;bottom:5px}}

/* Full-page finish: calmer motion, sculpted objects, and touch-first composition. */
.hero { min-height:660px; padding-top:28px; padding-bottom:35px; }
.hero-scene { height:462px; cursor:grab; }
.hero-scene[data-scene-state="static"], .hero-scene[data-scene-state="fallback"] { cursor:default; }
.hero-scene[data-scene-interaction="dragging"] { cursor:grabbing; }
.scene-halo { inset:8% 3% 7%; border:1px solid #ffffffb3; box-shadow:inset 0 2px 0 #fff9,0 18px 40px -28px #405b7f40; }
.hero-scene .scene-caption { position:absolute; left:12px; bottom:8px; margin:0; font-size:24px; z-index:2; pointer-events:none; }
.scene-turn { right:3px; bottom:0; min-height:44px; padding:9px 14px; font-size:11px; transition:background .2s,box-shadow .2s,transform .2s; }
.scene-turn:active { transform:translate(2px,2px); box-shadow:none; }
.scene-turn:disabled { opacity:.75; cursor:default; }
[data-scene-turning="true"] .scene-turn>span:first-child { animation:turn-mark 1.8s ease-in-out; }
.hero-client-proof { margin-top:16px; box-shadow:3px 4px 0 var(--navy),0 12px 24px -16px #26364b66; }
.service-tile { box-shadow:4px 5px 0 var(--navy),0 17px 25px -22px #26364b88; }
.service-tile:before { content:""; position:absolute; inset:3px; border:1px solid #ffffff66; border-radius:21px; pointer-events:none; }
.service-dock.is-in-view .depth-image { animation:prop-lift 6.5s ease-in-out infinite; }
.service-tile:nth-child(2) .depth-image { animation-delay:-1.7s; }
.service-tile:nth-child(3) .depth-image { animation-delay:-3.4s; }
.service-tile:nth-child(4) .depth-image { animation-delay:-5s; }
.client-art { box-shadow:4px 5px 0 var(--navy),0 18px 30px -25px #26364b88; }
.client-browser-bar { box-shadow:inset 0 1px 0 #fff; }
.client-browser { box-shadow:4px 5px 0 #26364b,0 12px 19px -13px #26364b80; }
.portfolio-note>span:first-child { background:#e8eecf; padding:3px 16px 7px; border-radius:42% 48% 38% 40%; transform:rotate(-3deg); }
.project-card:nth-child(2) { --reveal-delay:90ms; }
.project-card:nth-child(3) { --reveal-delay:170ms; }
.motion-ready [data-reveal] { transition-timing-function:cubic-bezier(.2,.7,.25,1); transition-delay:var(--reveal-delay,0ms); }
.flow-demo { box-shadow:7px 8px 0 var(--lilac),0 22px 36px -24px #050c16; }
.flow-progress { display:flex; gap:5px; margin-top:19px; }
.flow-progress i { width:32px; height:4px; border-radius:999px; background:#dce0e3; transition:background .3s,box-shadow .3s; }
.flow-demo[data-flow-stage="1"] .flow-progress i:first-child,
.flow-demo[data-flow-stage="2"] .flow-progress i:nth-child(-n+2),
.flow-demo[data-flow-stage="3"] .flow-progress i { background:#71946d; box-shadow:0 0 0 2px #d8e6c844; }
.flow-demo h3 { margin-top:18px; }
.flow-nodes li { box-shadow:0 2px 0 #26364b08; }
.flow-nodes li.is-active { border-color:#c5a746; box-shadow:0 0 0 3px #f2d16526; }
.flow-nodes li.is-complete+li:before { background:#8aa584; }
.flow-nodes li.is-active .flow-node-icon img { animation:node-arrive .45s cubic-bezier(.2,.8,.3,1); }
.flow-demo[data-flow-state="done"] .flow-progress { animation:complete-settle .5s ease-out; }
.workflow-clay { gap:12px; }
.workflow-clay img { width:190px; height:150px; }

.search-illustration.discovery-stage { min-height:373px; padding:0; overflow:hidden; border:1px solid #26364b14; box-shadow:inset 0 2px 0 #ffffff80; }
.discovery-stage .discovery-kicker { position:absolute; top:20px; left:22px; z-index:3; border:1px solid var(--navy); border-radius:999px; background:#fffdf8d9; padding:5px 10px; font-size:9px; letter-spacing:.12em; transform:rotate(-5deg); }
.discovery-stage .discovery-orbit { position:absolute; width:230px; height:155px; left:50%; top:38px; transform:translateX(-50%) rotate(-14deg); border:1px dashed #405b7f55; border-radius:50%; background:#fff5; }
.discovery-stage .discovery-object { width:250px; height:250px; right:auto; left:50%; top:0; bottom:auto; transform:translateX(-50%) rotate(-4deg); filter:drop-shadow(0 12px 7px #26364b13); }
.discovery-stage .discovery-caption { position:absolute; inset:auto 25px 24px; z-index:3; }
.discovery-caption>strong { display:block; font-family:var(--head); font-size:32px; line-height:1.03; font-weight:800; letter-spacing:-.04em; max-width:340px; }
.discovery-caption>strong em { font-family:Caveat,cursive; font-size:1.2em; }
.discovery-caption>p { font-size:12px; line-height:1.45; margin-top:10px; max-width:290px; }
.discovery-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.discovery-chips>span { font-size:9px; padding:4px 8px; border:1px solid #26364b33; background:#fffdf8c9; border-radius:999px; }
.discovery-panel { box-shadow:5px 6px 0 var(--navy),0 18px 30px -27px #26364baa; }
.discovery-tabs button { min-height:44px; }
.discovery-panel.panel-enter { animation:panel-settle .42s cubic-bezier(.2,.75,.3,1) both; }
.price-card .kit-cover { height:166px; }
.kit-depth-image { height:185px; width:210px; top:-9px; right:0; transform:rotate(-4deg); }
.kit-caption { bottom:20px; font-size:34px; }
.price-card .package-top { margin-top:22px; }
.price-card .package-description { min-height:51px; margin-top:11px; }
.price-card .starting-label { margin-top:17px; min-height:17px; }
.price-card .starting-label:empty { display:none; }
.price-card .starting-label:empty+.price { margin-top:22px; }
.price-card .package-features { margin-top:23px; padding-top:21px; gap:11px; }
.price-card .price-note { margin-top:5px; }
.price-card .package-cta { min-height:49px; }
.pricing-section.is-in-view .kit-depth-image { animation:prop-lift 8s ease-in-out infinite; }
.price-card:nth-child(2) .kit-depth-image { animation-delay:-2s; }
.price-card:nth-child(3) .kit-depth-image { animation-delay:-4s; }
.price-card:nth-child(4) .kit-depth-image { animation-delay:-6s; }
.custom-scope .custom-symbol { border:0; padding:0; box-shadow:none; background:none; width:82px; height:82px; flex-shrink:0; transform:rotate(-5deg); }
.custom-symbol img { display:block; width:100%; height:100%; object-fit:contain; }
.custom-scope>.plain-link { min-height:44px; padding:10px 18px; border:1.5px solid var(--navy); border-radius:999px; background:#fffdf8b3; text-decoration:none; }

.process-art.depth-process { min-height:190px; height:190px; width:100%; margin:0 auto 6px; background:none; }
.process-art.depth-process:before,.process-art.depth-process:after { display:none; }
.process-art .process-depth-image { width:100%; height:193px; object-fit:contain; top:-11px; transform:rotate(-4deg); }
.process-art-label { position:absolute; bottom:0; left:50%; transform:translateX(-50%) rotate(-5deg); padding:3px 13px 7px; border:1px solid var(--navy); border-radius:999px; background:#fffdf8; box-shadow:2px 2px 0 var(--navy); white-space:nowrap; font:600 23px/1 Caveat,cursive; }
.process-list>li { box-shadow:4px 5px 0 var(--navy),0 15px 25px -22px #26364b88; }
.process-section.is-in-view .process-depth-image { animation:process-prop 7s ease-in-out infinite; }
.process-list>li:nth-child(2) .process-depth-image { animation-delay:-2.3s; }
.process-list>li:nth-child(3) .process-depth-image { animation-delay:-4.6s; }
.faq-list details { transition:border-color .2s,background .2s,box-shadow .2s; }
.faq-list details[open] { background:#fff8e7; border-color:#73839a; box-shadow:3px 3px 0 #405b7f; }
.faq-list summary { min-height:58px; }
.faq-list summary>.icon { transition:transform .25s; }
.faq-list details[open] summary { color:#405b7f; }
.contact-postcard { box-shadow:6px 6px 0 #fffdf8,0 23px 27px -24px #26364b99; }
.contact-postcard:after { content:""; position:absolute; inset:6px; border:1px solid #fff2; border-radius:inherit; pointer-events:none; }
.footer-signoff>.footer-spark { width:105px; height:105px; object-fit:contain; }
.site-footer.is-in-view .footer-spark { animation:gear-nod 10s ease-in-out infinite; }
.language-switch button { min-height:44px; min-width:32px; border-radius:999px; transition:background .2s; }
.language-switch button[aria-pressed=true] { background:#d8e6c866; }
.motion-toggle { min-height:44px; padding:9px 12px; font-size:11px; left:max(14px,env(safe-area-inset-left)); bottom:calc(14px + env(safe-area-inset-bottom)); }
.floating-whatsapp { bottom:calc(14px + env(safe-area-inset-bottom)); right:max(18px,env(safe-area-inset-right)); }
.footer-bottom>a { width:44px; height:44px; }
.motion-paused { scroll-behavior:auto!important; }
.motion-paused .depth-image,.motion-paused .kit-depth-image,.motion-paused .process-depth-image,.motion-paused .footer-spark { animation-play-state:paused!important; }
.motion-paused .panel-enter { animation:none!important; }
@keyframes prop-lift { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@keyframes process-prop { 0%,100% { translate:0 0; rotate:-1deg; } 50% { translate:0 -5px; rotate:1deg; } }
@keyframes node-arrive { 0% { scale:.9; } 65% { scale:1.06; } 100% { scale:1; } }
@keyframes complete-settle { 0% { transform:scaleX(.95); } 70% { transform:scaleX(1.02); } 100% { transform:scaleX(1); } }
@keyframes panel-settle { from { opacity:0; translate:0 8px; } to { opacity:1; translate:0 0; } }
@keyframes turn-mark { to { rotate:360deg; } }
@keyframes gear-nod { 0%,100% { rotate:-8deg; } 50% { rotate:14deg; } }
@media(max-width:1080px) {
  .hero { min-height:610px; }
  .hero-scene { height:392px; }
  .hero-scene .scene-caption { font-size:21px; left:3px; }
  .scene-turn { padding-inline:11px; font-size:10px; }
  .discovery-caption>strong { font-size:29px; }
  .discovery-stage .discovery-caption { inset:auto 20px 22px; }
  .discovery-stage .discovery-object { width:235px; height:235px; }
  .workflow-clay img { width:160px; height:130px; }
  .kit-depth-image { width:182px; height:180px; top:-6px; }
  .kit-caption { font-size:30px; }
}
@media(max-width:900px) and (min-width:681px) {
  .hero-scene { height:345px; }
  .hero-scene .scene-caption { font-size:18px; left:0; bottom:10px; }
  .scene-turn { min-height:40px; font-size:9px; right:0; padding:8px 10px; }
  .discovery-stage .discovery-caption { inset:auto 24px 22px; }
  .process-art.depth-process { height:170px; min-height:170px; }
  .process-art .process-depth-image { height:170px; }
}
@media(max-width:680px) {
  .header-inner { height:72px; }
  .header-actions { gap:7px; }
  .language-switch { gap:2px; font-size:10px; }
  .language-switch button { min-width:44px; min-height:44px; }
  .menu-toggle { width:44px; height:44px; padding:10px 8px; }
  .menu-toggle span { max-width:27px; }
  .hero { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"eyebrow" "title" "scene" "description" "actions" "price" "proof"; gap:0; min-height:0; padding-top:22px; padding-bottom:31px; }
  .hero-copy,.hero-3d-wrap { display:contents; }
  .hero-copy>.eyebrow { grid-area:eyebrow; margin:0 auto; font-size:7.5px; padding:7px 11px; }
  .hero-copy h1 { grid-area:title; margin:20px 0 0; font-size:clamp(35px,10.5vw,50px); line-height:1.01; text-align:center; }
  .hero-copy h1>span:nth-child(3) { margin:9px auto 0; line-height:1.03; }
  .hero-scene { grid-area:scene; height:290px; max-width:420px; width:100%; margin:7px auto 0; }
  .scene-halo { inset:8% 7% 12%; }
  .hero-scene .scene-caption { font-size:20px; bottom:6px; left:3px; max-width:none; }
  .scene-turn { min-height:44px; min-width:109px; padding:9px 11px; font-size:10px; right:0; bottom:0; }
  .hero-copy .hero-description { grid-area:description; max-width:350px; font-size:15px; line-height:1.6; margin:15px auto 0; text-align:center; }
  .hero-ctas { grid-area:actions; justify-content:center; margin:19px 0 0; gap:10px; }
  .hero-ctas>.button { min-height:47px; padding:12px 18px; font-size:13px; gap:13px; }
  .hero-price { grid-area:price; justify-content:center; margin:13px 0 0; font-size:10px; }
  .hero-client-proof { grid-area:proof; justify-self:center; margin:18px auto 0; max-width:94%; padding:7px 12px 7px 7px; gap:11px; }
  .hero-client-proof>img { width:75px; height:47px; }
  .hero-client-proof strong { font-size:17px; }
  .service-dock { gap:15px; padding-top:6px; padding-bottom:43px; }
  .service-tile { padding:13px 14px 17px; border-radius:23px; box-shadow:3px 4px 0 var(--navy); }
  .service-visual { height:103px; }
  .service-visual>.depth-image { width:175px; height:155px; }
  .service-tile-copy { padding-top:12px; }
  .service-tile-copy>strong { font-size:20px; line-height:1.08; min-height:44px; }
  .service-tile-copy>span { font-size:12px; line-height:1.5; min-height:36px; }
  .service-tile .tile-price { margin-top:14px; font-size:12px; }
  .work-section { padding-top:62px; padding-bottom:64px; }
  .client-grid { gap:34px; }
  .client-card .project-description,.client-card:first-child .project-description { line-height:1.65; }
  .portfolio-note { margin-bottom:24px; }
  .portfolio-note>span:first-child { padding-inline:12px; }
  .workflow-section { padding-block:43px; }
  .workflow-section .wrap { padding-block:0; }
  .workflow-copy h2 { font-size:43px; }
  .workflow-copy>p:not(.eyebrow) { font-size:15px; line-height:1.7; }
  .workflow-clay { margin:7px 0 5px; gap:14px; }
  .workflow-clay img { width:134px; height:107px; }
  .workflow-clay span { font-size:24px; }
  .flow-demo { padding:22px 19px; transform:rotate(.5deg); box-shadow:5px 6px 0 var(--lilac); }
  .flow-progress { margin-top:17px; }
  .flow-demo h3 { font-size:29px; margin-top:17px; }
  .flow-nodes { margin-block:21px; gap:12px; }
  .flow-nodes li { padding:11px 10px; gap:9px; }
  .discovery-section { margin-top:23px; }
  .discovery-section { padding-block:47px; }
  .discovery-section .wrap { padding-block:0; }
  .discovery-intro { font-size:15px; line-height:1.7; }
  .discovery-tabs { display:flex; flex-wrap:nowrap; gap:6px; margin-top:23px; }
  .discovery-tabs button,.discovery-tabs button:last-child { flex:1; min-width:0; min-height:46px; padding:10px 7px; font-size:10px; line-height:1.3; }
  .discovery-panel { margin-top:21px; padding:18px; gap:25px; }
  .search-illustration.discovery-stage { min-height:334px; border-radius:17px; }
  .discovery-stage .discovery-object { width:228px; height:228px; top:-1px; }
  .discovery-stage .discovery-kicker { top:17px; left:17px; font-size:8px; }
  .discovery-stage .discovery-orbit { width:205px; height:140px; top:37px; }
  .discovery-stage .discovery-caption { inset:auto 18px 21px; }
  .discovery-caption>strong { font-size:29px; }
  .discovery-caption>p { font-size:11px; line-height:1.45; margin-top:8px; }
  .discovery-chips { gap:5px; margin-top:11px; }
  .discovery-chips>span { font-size:8px; padding:4px 7px; }
  .discovery-panel-copy h3 { font-size:29px; }
  .discovery-panel-copy>p { font-size:14px; line-height:1.65; }
  .discovery-panel-copy li { font-size:13px; line-height:1.6; }
  .pricing-section { padding-top:58px; padding-bottom:56px; }
  .price-grid { gap:25px; }
  .price-card { padding:24px 21px; }
  .price-card .kit-cover { height:155px; margin:-25px -22px 0; }
  .kit-depth-image { width:181px; height:181px; top:-13px; right:-1px; }
  .kit-caption { font-size:31px; max-width:125px; left:20px; bottom:17px; }
  .price-card .package-top { margin-top:20px; }
  .price-card h3 { margin-top:14px; font-size:30px; }
  .price-card .package-description { min-height:0; font-size:15px; line-height:1.6; }
  .price-card .starting-label { margin-top:16px; font-size:11px; }
  .price-card .starting-label:empty+.price { margin-top:19px; }
  .price-card .price { font-size:58px; line-height:1.05; }
  .price-card .price-note { font-size:11px; margin-top:8px; }
  .price-card .package-features { margin-top:21px; padding-top:18px; gap:9px; }
  .price-card .package-features li { font-size:14px; line-height:1.55; }
  .price-card .package-cta { min-height:48px; margin-top:23px; font-size:13px; }
  .package-scope-link { font-size:11px; margin-top:15px; min-height:30px; }
  .custom-scope { padding:21px 19px; gap:17px; }
  .custom-scope>div { gap:11px; }
  .custom-scope .custom-symbol { width:58px; height:65px; }
  .custom-scope h3 { font-size:23px; }
  .custom-scope p { font-size:13px; line-height:1.6; }
  .custom-scope>.plain-link { padding:10px 16px; font-size:12px; }
  .process-section { padding-top:5px; padding-bottom:55px; }
  .process-path { font-size:19px; gap:9px; margin-bottom:23px; }
  .process-list { gap:18px; }
  .process-list>li { display:grid; grid-template-columns:93px minmax(0,1fr); grid-template-rows:auto auto; gap:0 16px; padding:24px 20px; align-items:start; }
  .process-art.depth-process { grid-column:1; grid-row:1/3; width:93px; height:151px; min-height:0; align-self:center; margin:0; }
  .process-art .process-depth-image { width:124px; max-width:none; height:124px; left:-16px; top:3px; }
  .process-art-label { font-size:18px; bottom:7px; padding:3px 9px 5px; box-shadow:1px 2px 0 var(--navy); }
  .process-list .step-number { width:27px; height:27px; top:13px; left:13px; font-size:10px; }
  .process-list h3 { grid-column:2; font-size:25px; line-height:1.08; margin:3px 0 0; }
  .process-list p { grid-column:2; font-size:13px; line-height:1.65; margin:11px 0 0; }
  .faq-section { padding-block:44px; }
  .faq-section .wrap { padding-block:0; }
  .faq-grid h2 { font-size:40px; }
  .faq-grid>div:first-child>p:not(.eyebrow) { font-size:15px; line-height:1.65; }
  .faq-chat-art { margin-top:13px; margin-bottom:-13px; }
  .faq-list details { border-radius:15px; }
  .faq-list summary { font-size:15px; padding-block:16px; min-height:57px; }
  .faq-list details>p { font-size:14px; line-height:1.7; }
  .contact-section { margin-top:45px; margin-bottom:57px; padding:29px 22px; gap:27px; }
  .contact-main>p:not(.eyebrow) { font-size:15px; line-height:1.7; }
  .contact-postcard { padding:20px 18px 23px; }
  .postcard-buddy { height:195px; }
  .postcard-buddy>img { height:234px; top:-16px; }
  .postcard-buddy>span { font-size:24px; }
  .site-footer { padding-top:37px; padding-bottom:104px; }
  .footer-signoff>.footer-spark { width:75px; height:75px; margin-left:auto; }
  .motion-toggle { font-size:10px; min-height:44px; padding:9px 11px; left:12px; }
  .floating-whatsapp { width:54px; height:54px; right:16px; }
}
@media(max-width:359px) {
  .brand-word { font-size:14px; }
  .hero-copy>.eyebrow { font-size:7px; }
  .hero-copy h1 { font-size:35px; }
  .hero-scene { height:268px; }
  .hero-scene .scene-caption { font-size:18px; left:0; }
  .scene-turn { min-width:102px; font-size:9px; padding-inline:9px; }
  .hero-copy .hero-description { font-size:14px; margin-top:13px; }
  .hero-ctas>.button { font-size:11px; padding-inline:15px; gap:10px; }
  .hero-price { font-size:9px; }
  .service-tile { padding-inline:12px; }
  .service-visual { height:88px; }
  .service-visual>.depth-image { width:149px; height:135px; }
  .service-tile-copy>strong { font-size:18px; min-height:41px; }
  .service-tile-copy>span { font-size:11px; }
  .service-tile .tile-price { font-size:10px; gap:3px; }
  .service-tile .tile-price small { font-size:8px; }
  .workflow-copy h2 { font-size:39px; }
  .workflow-clay img { width:119px; }
  .workflow-clay span { font-size:22px; }
  .flow-demo { padding-inline:16px; }
  .flow-demo h3 { font-size:27px; }
  .discovery-tabs button,.discovery-tabs button:last-child { font-size:9px; padding-inline:4px; }
  .discovery-panel { padding:14px; }
  .discovery-caption>strong { font-size:27px; }
  .discovery-stage .discovery-caption { inset-inline:16px; }
  .discovery-stage .discovery-object { width:213px; height:213px; }
  .kit-depth-image { width:164px; height:169px; right:-7px; top:-4px; }
  .kit-caption { font-size:28px; max-width:109px; }
  .price-card h3 { font-size:27px; }
  .price-card .price { font-size:54px; }
  .process-list>li { grid-template-columns:75px minmax(0,1fr); gap:0 13px; padding:24px 16px; }
  .process-art.depth-process { width:75px; }
  .process-art .process-depth-image { width:109px; height:119px; left:-17px; }
  .process-art-label { font-size:16px; padding-inline:6px; }
  .process-list h3 { font-size:23px; }
  .process-list p { font-size:12px; }
  .faq-grid h2 { font-size:37px; }
}
@media(hover:none) {
  .service-tile:hover { transform:none; }
  .service-tile:active { transform:translateY(2px); box-shadow:1px 2px 0 var(--navy); }
  .service-tile:hover .depth-image { transform:translate(-50%,-50%); }
  .price-card:hover .kit-depth-image { transform:rotate(-4deg); }
}
@media(prefers-reduced-motion:reduce) {
  .service-dock .depth-image,.pricing-section .kit-depth-image,.process-section .process-depth-image,.site-footer .footer-spark { animation:none!important; translate:none!important; rotate:none!important; }
  .discovery-panel.panel-enter { animation:none!important; }
}

.service-tile:nth-child(2) .service-visual{--reveal-delay:70ms}.service-tile:nth-child(3) .service-visual{--reveal-delay:140ms}.service-tile:nth-child(4) .service-visual{--reveal-delay:210ms}

/* Caption flow stays below the artwork, including longer translated text. */
.search-illustration.discovery-stage { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:240px auto; justify-content:normal; }
.discovery-stage .discovery-object { position:relative; grid-area:1/1; justify-self:center; align-self:start; inset:auto; margin-top:-9px; transform:rotate(-4deg); }
.discovery-stage .discovery-caption { position:relative; inset:auto; grid-area:2/1; margin:0 25px 24px; padding-top:7px; }
.package-scope { margin-top:0; }
.package-scope>summary { display:none; list-style:none; }
.package-scope>summary::-webkit-details-marker { display:none; }
@media(max-width:680px) {
  .search-illustration.discovery-stage { grid-template-rows:220px auto; min-height:350px; }
  .discovery-stage .discovery-object { width:232px; height:232px; margin-top:-10px; }
  .discovery-stage .discovery-caption { margin:0 18px 21px; padding-top:8px; }
  .package-scope { margin-top:20px; border-top:1px solid #26364b33; border-bottom:1px solid #26364b33; }
  .package-scope>summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; min-height:48px; padding:10px 0; font-size:13px; font-weight:600; }
  .package-scope>summary .icon { height:17px; width:17px; transition:transform .2s; }
  .package-scope[open]>summary .icon { transform:rotate(45deg); }
  .price-card .package-scope .package-features { border:0; margin-top:0; padding:4px 0 17px; }
  .package-scope[open] { background:#ffffff15; }
  .price-card .package-cta { margin-top:20px; }
}
@media(max-width:359px) { .discovery-stage .discovery-object { width:220px; height:220px; margin-top:-5px; } }

/* Stability: readable content never becomes an invisible animation layer. */
.motion-ready [data-reveal], .motion-ready [data-reveal].is-revealed {
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.hero-copy h1>span { animation:none; opacity:1; transform:none; }
.site-header { background:#fffdf8; backdrop-filter:none; -webkit-backdrop-filter:none; }
.motion-toggle { background:#fffdf8; backdrop-filter:none; -webkit-backdrop-filter:none; }
dialog::backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
.scene-fallback, .service-visual>.depth-image, .kit-depth-image,
.workflow-clay img, .discovery-stage .discovery-object { filter:none; }
.discovery-panel.panel-enter { animation:panel-stable .32s ease-out both; }
@keyframes panel-stable { from { translate:0 4px; } to { translate:0 0; } }
@keyframes answer-arrive { from { opacity:1; translate:0 3px; } to { opacity:1; translate:0 0; } }

/* Keep the same animation instance and pause it offscreen, rather than
   removing and restarting it each time an intersection boundary is crossed. */
.service-dock .depth-image { animation:prop-lift 6.5s ease-in-out infinite; animation-play-state:paused; }
.service-dock.is-in-view .depth-image { animation-play-state:running; }
.workflow-section .workflow-clay img { animation:clay-drift 6s ease-in-out infinite; animation-play-state:paused; }
.workflow-section.is-in-view .workflow-clay img { animation-play-state:running; }
.workflow-section .flow-demo-dot { animation:signal-glow 3s ease-in-out infinite; animation-play-state:paused; }
.workflow-section.is-in-view .flow-demo-dot { animation-play-state:running; }
.discovery-section .discovery-object { animation:clay-drift 7s ease-in-out infinite; animation-play-state:paused; }
.discovery-section.is-in-view .discovery-object { animation-play-state:running; }
.pricing-section .kit-depth-image { animation:prop-lift 8s ease-in-out infinite; animation-play-state:paused; }
.pricing-section.is-in-view .kit-depth-image { animation-play-state:running; }
.process-section .process-depth-image { animation:process-prop 7s ease-in-out infinite; animation-play-state:paused; }
.process-section.is-in-view .process-depth-image { animation-play-state:running; }
.faq-section .faq-bubble { animation:message-bob 5s ease-in-out infinite; animation-play-state:paused; }
.faq-section.is-in-view .faq-bubble { animation-play-state:running; }
.contact-section .postcard-buddy img { animation:postcard-bob 6s ease-in-out infinite; animation-play-state:paused; }
.contact-section.is-in-view .postcard-buddy img { animation-play-state:running; }
.site-footer .footer-spark { animation:gear-nod 10s ease-in-out infinite; animation-play-state:paused; }
.site-footer.is-in-view .footer-spark { animation-play-state:running; }
.work-section .portfolio-note>span:last-child { animation:message-bob 3.5s ease-in-out infinite; animation-play-state:paused; }
.work-section.is-in-view .portfolio-note>span:last-child { animation-play-state:running; }
.moving-band .band-track { animation-play-state:paused; }
.moving-band.is-in-view .band-track { animation-play-state:running; }
.moving-band:hover .band-track { animation-play-state:paused; }
.motion-paused .band-track,.motion-paused .flow-demo-dot,.motion-paused .faq-bubble,
.motion-paused .postcard-buddy img,.motion-paused .portfolio-note>span:last-child { animation-play-state:paused!important; }
@media(prefers-reduced-motion:reduce) {
  .service-dock .depth-image,.workflow-section .workflow-clay img,
  .workflow-section .flow-demo-dot,.discovery-section .discovery-object,
  .pricing-section .kit-depth-image,.process-section .process-depth-image,
  .faq-section .faq-bubble,.contact-section .postcard-buddy img,
  .site-footer .footer-spark,.work-section .portfolio-note>span:last-child { animation:none!important; }
  .discovery-panel.panel-enter { animation:none!important; }
}
