:root{--paper:#eeeae2;--ink:#292c27;--cut:100%;--progress:0}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;color:white;font-family:Heebo,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid white;outline-offset:8px}.header{position:absolute;inset:0 0 auto;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:30px 4%;color:#fff}.brand{display:flex;align-items:baseline;gap:16px}.brand b{font-size:30px;letter-spacing:1px}.brand span,.header-note{font-size:14px;font-weight:300}.stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}.scene{position:absolute;inset:0;overflow:hidden}.scene-one{z-index:1}.photo{position:absolute;inset:0;background:#4a473d}.photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#111a 0%,#15181230 28%,#10161045 55%,#15181275 100%)}.scene-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:105px 4% 95px}.eyebrow{font-size:14px;font-weight:400;letter-spacing:.6px;margin:0 0 22px}h1,h2{font-weight:400;font-size:clamp(52px,7.2vw,142px);line-height:1.18;letter-spacing:-.055em;margin:0;text-shadow:0 2px 25px #0001}h1>span,h2>span{display:block}.subtitle{font-size:clamp(16px,1.4vw,22px);font-weight:300;line-height:1.8;margin:26px 0 0;max-width:640px}.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:300;opacity:calc(1 - var(--p)*5);pointer-events:none;white-space:nowrap}.mouse{height:22px;width:13px;border:1px solid #fff9;border-radius:12px;position:relative}.mouse:after{content:'';position:absolute;top:4px;left:5px;width:1px;height:5px;background:white;animation:scroll 1.4s infinite}.word{display:inline-block;white-space:nowrap}.letter{display:inline-block}.js .scene-one .letter{opacity:0;transform:translateY(22px);filter:blur(3px)}.ready .scene-one .letter{animation:letter .45s ease forwards;animation-delay:var(--delay)}.js .scene-one .photo img{opacity:0;transform:scale(1.045)}.ready .scene-one .photo img{animation:image-in .95s cubic-bezier(.22,1,.36,1) both}.js .scene-one .eyebrow{opacity:0}.ready .scene-one .eyebrow{animation:letter .45s .4s forwards}@keyframes image-in{to{opacity:1;transform:scale(1)}}@keyframes letter{to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes scroll{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}@media(max-width:800px){.header{padding:23px 6%}.brand{gap:10px}.brand b{font-size:25px}.brand span{font-size:11px}.header-note{display:none}.scene-copy{padding:90px 5% 100px}h1,h2{font-size:clamp(35px,8.7vw,68px);letter-spacing:-.055em}.eyebrow{font-size:12px;margin-bottom:20px}.subtitle{font-size:16px;margin-top:24px;line-height:1.85}.scroll-cue{bottom:75px;font-size:11px}.scene-one .photo img{object-position:40% center}}@media(prefers-reduced-motion:reduce){*,*:after{animation:none!important;transition:none!important}.js .scene-one .letter,.js .scene-one .photo img,.js .scene-one .eyebrow{opacity:1;transform:none;filter:none}.scroll-story{height:auto}.stage{position:relative;height:auto;overflow:visible}.scene{position:relative;height:100svh}.scroll-cue{display:none}}
/* Editorial continuation */
html{scroll-behavior:smooth;scroll-padding-top:90px}main{overflow:clip}section[id]{scroll-margin-top:90px}.header{position:fixed;transition:background .3s,color .3s,padding .3s}.header.on-paper{background:#eeece6ed;color:#292c27;backdrop-filter:blur(16px);padding-top:18px;padding-bottom:18px;border-bottom:1px solid #292c2715}.menu-toggle{display:flex;align-items:center;gap:17px;color:inherit;font:inherit;background:none;border:0;cursor:pointer;padding:12px 0 12px 12px}.menu-toggle>span{font-size:13px}.menu-toggle i{width:32px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:width .25s}.menu-toggle:hover i{width:42px}.section-pad{padding:95px 6% 105px;background:#eeece6;color:#292c27}.section-label{display:flex;justify-content:space-between;border-top:1px solid #292c2740;padding-top:17px;margin-bottom:74px;font-size:12px;color:#72766b}.section-label>span[dir]{letter-spacing:1.5px;font-size:10px}.editorial-title{font-size:clamp(38px,4.6vw,78px);font-weight:300;line-height:1.15;letter-spacing:-.045em;margin:0;text-shadow:none}.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:start}.intro-copy p{font-size:17px;line-height:1.9;font-weight:300;margin:0 0 20px;color:#60665b}.intro-copy .lead{color:#292c27;font-size:25px;line-height:1.6;margin-bottom:28px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:85px}.principles>div{border-top:1px solid #292c2735;padding-top:22px}.principles>div>span{color:#858b7c;font-size:12px}.principles h3{font-size:22px;font-weight:400;margin:23px 0 13px}.principles p{font-size:15px;color:#696e63;font-weight:300;line-height:1.8;margin:0}.projects{background:#e1dfd7}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:60px}.section-heading>p{font-size:16px;line-height:1.9;font-weight:300;margin:0;color:#60665b}.process{background:#282d27;color:#f1efe8}.process .section-label{color:#b5b9ac;border-color:#eef0e335}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.process-intro{font-size:16px;line-height:1.9;color:#b5b9ac;font-weight:300;margin-top:30px}.process-list article{display:flex;gap:30px;padding:28px 0;border-top:1px solid #eef0e330}.process-list article:first-child{padding-top:0;border-top:0}.process-list article>span{font-size:12px;color:#9da78e;padding-top:7px}.process-list h3{font-size:23px;font-weight:400;margin:0 0 12px}.process-list p{font-size:16px;line-height:1.85;font-weight:300;color:#b5b9ac;margin:0}.contact{background:#e9e5dc;padding-bottom:115px}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:8%}.contact-title{font-size:clamp(52px,6.7vw,115px);line-height:1.06;font-weight:300;letter-spacing:-.05em;text-shadow:none;margin:0}.contact-title em{font-style:normal;color:#777f68}.footer{background:#1c211c;color:#eaece3;padding:60px 6% 25px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5%;align-items:start;padding-bottom:65px}.footer-brand{font-size:clamp(48px,6vw,95px);font-weight:500;line-height:1;letter-spacing:-.045em}.footer-top>p{font-size:17px;line-height:1.9;font-weight:300;color:#aeb5a5;margin:0}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:14px}.footer a:hover{color:#c9d7b5}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:25px;border-top:1px solid #fff2;color:#a3aa9c;font-size:11px}.footer-bottom>span[dir]{letter-spacing:1px;font-size:10px}.site-menu{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;border:0;margin:0;background:#252b24;color:#f1f0e9;padding:30px 4%;overflow:auto}.site-menu::backdrop{background:#252b24}.menu-head{display:flex;justify-content:space-between;align-items:center}.menu-brand{font-size:30px;font-weight:500}.menu-close{display:flex;align-items:center;gap:20px;border:0;background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer;padding:10px}.menu-close>span{font-size:32px;font-weight:300}.menu-body{display:grid;grid-template-columns:1.3fr 1fr;gap:12%;padding:7vh 5% 4vh;align-items:center}.menu-body nav{display:flex;flex-direction:column}.menu-body nav a{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #fff2;padding:17px 0;gap:25px}.menu-body nav a>span{font-size:clamp(26px,3.5vw,60px);font-weight:300;letter-spacing:-.04em;transition:transform .25s,color .25s}.menu-body nav a:hover>span{transform:translateX(-10px);color:#c9d7b5}.menu-body nav small{font-size:12px;color:#9fa994}.menu-aside img{width:100%;height:30vh;object-fit:cover;opacity:.75}.menu-aside p{font-size:32px;font-weight:300;line-height:1.3;margin:22px 0}.menu-aside>span{font-size:10px;letter-spacing:1.5px;color:#aab29f}.menu-bottom{display:flex;justify-content:space-between;border-top:1px solid #fff2;padding-top:20px;font-size:12px;color:#aab29f}.site-menu[open]{animation:menu-in .4s cubic-bezier(.22,1,.36,1)}@keyframes menu-in{from{opacity:0;transform:translateY(-22px)}to{opacity:1;transform:translateY(0)}}button:focus-visible,a:focus-visible{outline:2px solid #8b9d76;outline-offset:6px}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .75s,transform .75s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:800px){html{scroll-padding-top:76px}.section-pad{padding:65px 6% 70px}.section-label{margin-bottom:45px;font-size:11px}.section-label>span[dir]{font-size:8px;letter-spacing:.7px}.intro-grid,.process-grid,.contact-layout{grid-template-columns:1fr;gap:35px}.intro-copy .lead{font-size:22px}.intro-copy p{font-size:16px}.principles{grid-template-columns:1fr;gap:28px;margin-top:38px}.principles h3{margin:12px 0;font-size:21px}.principles p br{display:none}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:24px;font-size:15px}.process-list article{gap:20px;padding:24px 0}.process-list h3{font-size:21px}.contact-title{font-size:61px}.contact-button{width:100%;font-size:16px;padding:18px 22px}.footer{padding:45px 6% 22px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:36px}.footer-brand{font-size:63px;justify-self:start}.footer-top>p{font-size:16px}.footer nav{max-width:320px;font-size:13px}.footer-bottom{flex-wrap:wrap;font-size:10px;gap:18px}.footer-bottom>span[dir]{display:none}.menu-toggle{gap:12px}.menu-toggle>span{font-size:11px}.menu-toggle i{width:28px}.site-menu{padding:23px 6%}.menu-brand{font-size:25px}.menu-body{grid-template-columns:1fr;padding:5vh 0;gap:30px}.menu-body nav a>span{font-size:34px}.menu-body nav a{padding:15px 0}.menu-aside img{display:none}.menu-aside p{font-size:23px;margin:10px 0}.menu-bottom{font-size:10px;gap:25px}.header.on-paper{padding-top:14px;padding-bottom:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none}}
/* Four scenes, centered menu and scroll typography. */
.site-menu{height:100dvh;overflow:hidden;padding:0;display:none}.site-menu[open]{display:grid;place-items:center;animation:none}.site-menu .menu-close{position:absolute;top:29px;left:4%;padding:0;width:46px;height:46px;display:grid;place-items:center;z-index:2}.site-menu .menu-close span{font-size:43px;font-weight:300;line-height:1}.centered-nav{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,3vh,32px);padding:70px 20px;width:100%;height:100%;overflow:hidden}.centered-nav a{font-size:clamp(25px,4.4vw,70px);font-weight:300;line-height:1.2;letter-spacing:-.045em;transition:color .25s,transform .25s;text-align:center}.centered-nav a:hover{color:#cfdbbd;transform:translateY(-2px)}.fill-word{display:inline-block;white-space:nowrap}.fill-letter{display:inline-block;--fill:0%;color:transparent;background:linear-gradient(to top,var(--fill-color) 0%,var(--fill-color) var(--fill),color-mix(in srgb,var(--fill-color) 20%,transparent) var(--fill),color-mix(in srgb,var(--fill-color) 20%,transparent) 100%);background-clip:text;-webkit-background-clip:text}@media(max-width:800px){.site-menu .menu-close{top:22px;left:6%;width:40px;height:40px}.centered-nav{gap:27px}.centered-nav a{font-size:36px}}@media(max-height:480px){.centered-nav{gap:12px;padding:45px 15px}.centered-nav a{font-size:clamp(20px,5vh,30px)}}@media(prefers-reduced-motion:reduce){.scroll-story{height:auto}.fill-letter{background:none;color:var(--fill-color)}}
/* Keep the same letter sequence with a cheaper paint on phones. */
.compact-motion .fill-letter{background:none;color:var(--fill-color);opacity:.2}.compact-motion .scene-one .letter{filter:none}.compact-motion .header.on-paper{backdrop-filter:none;background:#eeece6}.compact-motion .scene-copy h1,.compact-motion .scene-copy h2{text-shadow:none}@media(prefers-reduced-motion:reduce){.compact-motion .fill-letter{opacity:1}}
/* Hero sequence: hero, three project wipes, then the frame settles onto paper. */
.scroll-story{height:400svh}.stage{--p:0;--s:0;--seq:0;background:#eeece6}
.frame{position:absolute;inset:0;overflow:hidden;scale:calc(1 - var(--s)*.2);border-radius:calc(var(--s)*20px)}
.scene-one .photo:after{background:radial-gradient(ellipse 50% 42% at 50% 52%,#0e120ea8 0%,#0e120e70 55%,#0e120e00 100%),linear-gradient(180deg,#0e120e8c 0%,#0e120e2e 26%,#0e120e38 62%,#0e120e99 100%)}
.scene-copy .subtitle{font-weight:400}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 34px;margin-top:38px}
.hero-cta{display:inline-flex;align-items:center;min-height:52px;padding:0 32px;background:#eeece6;color:#292c27;font-size:16px;font-weight:500;transition:background .25s,transform .45s cubic-bezier(.22,1,.36,1)}
.hero-cta:hover{background:#d5dfc4}.hero-cta:active{transform:scale(.97)}
.hero-link,.case-foot a{display:inline-flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid #fff8}.hero-link{font-size:16px}
.hero-link span,.case-foot a span{transition:transform .35s cubic-bezier(.22,1,.36,1)}.hero-link:hover span,.case-foot a:hover span{transform:translateX(-5px)}
.js .scene-one .subtitle,.js .hero-actions{opacity:0;transform:translateY(14px)}
.ready .scene-one .subtitle{animation:rise .7s .95s cubic-bezier(.22,1,.36,1) forwards}.ready .hero-actions{animation:rise .7s 1.1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.case-scene{--r:0;clip-path:inset(calc((1 - var(--r))*100%) 0 0 0)}.scene-one{z-index:1}.case-scene:nth-child(2){z-index:2}.case-scene:nth-child(3){z-index:3}.case-scene:nth-child(4){z-index:4}
.case-scene .photo img{scale:calc(1.08 - var(--r)*.08)}
.case-scene .photo:after{background:linear-gradient(0deg,#0e120ee6 0%,#0e120eb3 40%,#0e120e26 70%,#0e120e00 100%),linear-gradient(180deg,#0e120e73 0%,#0e120e00 22%)}
.case-scene:last-child .photo:after{opacity:calc(1 - var(--s)*.8)}
.case{position:absolute;inset:auto 4% 9% auto;max-width:640px;opacity:clamp(0,calc((var(--r) - .45)*2.2),1);translate:0 calc((1 - var(--r))*40px)}
.case-scene:last-child .case{opacity:calc(clamp(0,calc((var(--r) - .45)*2.2),1) * (1 - var(--s)*3))}
.case-meta{margin:0 0 16px;font-size:14px;letter-spacing:.3px}.case-meta b{font-weight:500}
.case-line{margin:0;font-size:clamp(30px,3.3vw,54px);font-weight:300;line-height:1.22;letter-spacing:-.035em}
.case-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 30px;margin:22px 0 0;font-size:14px}.case-foot>span{color:#ffffffd9}
.seq-progress{position:absolute;z-index:5;left:4%;bottom:9%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:12px;letter-spacing:1.5px;opacity:calc(clamp(0,calc((var(--p) - .03)*15),1) * (1 - var(--s)*4));pointer-events:none}
.seq-progress i{display:block;width:120px;height:1px;background:#ffffff4d}.seq-progress b{display:block;height:100%;background:#fff;transform-origin:left;transform:scaleX(var(--seq))}
.scroll-cue{opacity:calc(1 - var(--p)*12)}
/* Header: links and CTA on wide screens. */
.skip-link{position:fixed;top:10px;right:10px;z-index:30;background:#292c27;color:#fff;padding:12px 18px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.header-nav,.header-cta{display:none}.header-actions{display:flex;align-items:center;gap:28px}
@media(min-width:1180px){.header-nav{display:flex;gap:34px;position:absolute;left:50%;transform:translateX(-50%);font-size:14px}.header-nav a{position:relative;padding:12px 0}.header-nav a:after{content:'';position:absolute;inset:auto 0 6px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .35s cubic-bezier(.22,1,.36,1)}.header-nav a:hover:after{transform:scaleX(1)}.header-cta{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;font-size:14px;border:1px solid currentColor;transition:background .25s,color .25s,border-color .25s}.header-cta:hover{background:#eeece6;color:#292c27;border-color:#eeece6}.header.on-paper .header-cta{background:#292e26;color:#fff;border-color:#292e26}.header.on-paper .header-cta:hover{background:#d5dfc4;color:#292e26}.menu-toggle{display:none}}
/* Projects: stacked case cards. */
.case-stack{display:grid;gap:28px}
.case-card{--dim:0;position:sticky;top:calc(96px + var(--i)*16px);display:grid;grid-template-columns:1.2fr 1fr;min-height:min(72vh,640px);background:#f4f2ec;border:1px solid #292c2714;box-shadow:0 -14px 40px #292c270f;transform-origin:50% 0}
.case-card:after{content:'';position:absolute;inset:0;background:#292c27;opacity:calc(var(--dim)*.18);pointer-events:none}
.case-card-image{position:relative;overflow:hidden}.case-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-card-body{display:flex;flex-direction:column;padding:clamp(28px,4vw,58px)}
.case-card-index{font-size:12px;color:#7a7f72}
.case-card h3{margin:16px 0 8px;font-size:clamp(32px,3.4vw,54px);font-weight:300;line-height:1.1;letter-spacing:-.04em;text-align:right}
.case-card-meta{margin:0 0 auto;padding-bottom:30px;font-size:14px;color:#62675c}
.case-card dl{display:grid;gap:16px;margin:0}.case-card dl div{display:grid;grid-template-columns:92px 1fr;gap:16px;padding-top:14px;border-top:1px solid #292c2722}
.case-card dt{padding-top:3px;font-size:12px;color:#62675c}.case-card dd{margin:0;font-size:16px;line-height:1.7;font-weight:300;color:#3a3e36}
/* Clients: numbers and quotes. */
.clients{background:#eeece6}.clients .editorial-title{margin-bottom:64px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4%;margin:0 0 90px}
.stats>div{display:flex;flex-direction:column-reverse;padding-top:22px;border-top:1px solid #292c2735}
.stats dd{margin:0;font-size:clamp(48px,5.4vw,92px);font-weight:300;line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.stats dt{margin-top:14px;font-size:14px;color:#62675c}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.quotes figure{margin:0}
.quotes blockquote{margin:0;font-size:clamp(19px,1.6vw,24px);font-weight:300;line-height:1.6}
.quotes figcaption{margin-top:22px;font-size:13px;color:#62675c}.quotes figcaption b{font-weight:500;color:#292c27}
/* Process: paper morphs into the dark band; a line fills along the steps. */
.process{--dark:1;--line:1;background:color-mix(in srgb,#282d27 calc(var(--dark)*100%),#eeece6);color:color-mix(in srgb,#f1efe8 calc(var(--dark)*100%),#292c27)}
.process .section-label{color:color-mix(in srgb,#b5b9ac calc(var(--dark)*100%),#62675c);border-color:color-mix(in srgb,#eef0e335 calc(var(--dark)*100%),#292c2740)}
.process-intro,.process-list p{color:color-mix(in srgb,#b5b9ac calc(var(--dark)*100%),#5a5f55)}
@media(min-width:801px){.process-grid{align-items:start}.process-grid>div:first-child{position:sticky;top:130px}}.process-list{position:relative;padding-right:34px}.process-list article:first-of-type{padding-top:0;border-top:0}
.process-list article{border-color:color-mix(in srgb,#eef0e330 calc(var(--dark)*100%),#292c2726)}
.process-line{position:absolute;top:6px;bottom:0;right:0;width:1px;background:color-mix(in srgb,#eef0e330 calc(var(--dark)*100%),#292c2726)}
.process-line b{display:block;height:100%;background:#c9d7b5;transform-origin:top;transform:scaleY(var(--line))}
.process-list article>span{transition:color .4s}.process-list article.active>span{color:#c9d7b5}
.process-list .step-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:14px;font-size:13px;color:color-mix(in srgb,#c9d7b5 calc(var(--dark)*100%),#4f6b3a)}
/* Contact: inline form. */
.contact-layout{grid-template-columns:1fr 1fr;align-items:start}
.contact-lead{max-width:470px;margin:34px 0 18px;font-size:18px;font-weight:300;line-height:1.8}
.contact-wa{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;border-bottom:1px solid #292c2755}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;align-content:start}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:#4f544a}
.field input,.field select{min-height:48px;padding:10px 0;font:inherit;font-size:17px;color:#292c27;background:transparent;border:0;border-bottom:1px solid #292c2780;border-radius:0;transition:border-color .25s,box-shadow .25s}
.field select{appearance:none;padding-left:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23292c27' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat left 2px center}
.field input:focus-visible,.field select:focus-visible{outline:none;border-bottom-color:#292c27;box-shadow:0 1px 0 #292c27}
.field [aria-invalid=true],.form-check [aria-invalid=true]{border-bottom-color:#9a3b2e;outline-color:#9a3b2e}
.field-error{margin:0;font-size:13px;color:#9a3b2e}.field-error:empty{display:none}
.form-notice,.form-check,#e-consent,.contact-form .contact-button,.form-success{grid-column:1/-1}
.form-notice{margin:6px 0 0;font-size:12px;line-height:1.75;color:#565b51}.form-notice a{text-decoration:underline}
.form-check{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.6;cursor:pointer}
.form-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#292e26}
.contact-form .contact-button{justify-self:start;margin-top:6px}
.contact-button{transition:background .25s,color .25s,transform .45s cubic-bezier(.22,1,.36,1)}.contact-button:active{transform:scale(.98)}
.contact-button>span{transition:transform .35s cubic-bezier(.22,1,.36,1)}.contact-button:hover>span{transform:translate(-4px,-4px)}
.form-success{padding:34px 0;border-top:1px solid #292c2740;outline:none}.form-success h3{margin:0 0 10px;font-size:clamp(30px,3vw,44px);font-weight:300;letter-spacing:-.03em}.form-success p{margin:0;font-size:18px;font-weight:300;line-height:1.8}.form-success .form-demo{margin-top:16px;font-size:13px;color:#565b51}
/* Footer additions. */
.footer-legal{display:flex;gap:22px}.footer nav{gap:0 20px}.footer nav a{display:flex;align-items:center;min-height:44px}.footer-legal a,.footer-bottom>a{display:inline-flex;align-items:center;min-height:44px}
.footer-demo{margin:18px 0 0;font-size:11px;line-height:1.7;color:#8f9688}
.mobile-cta{display:none}
@media(max-width:800px){
.scroll-story{height:380svh}.frame{scale:calc(1 - var(--s)*.14)}
.scene-one .photo:after{background:radial-gradient(ellipse 85% 34% at 50% 50%,#0e120eb0 0%,#0e120e75 55%,#0e120e00 100%),linear-gradient(180deg,#0e120e8c 0%,#0e120e2e 26%,#0e120e38 62%,#0e120e99 100%)}
.hero-actions{flex-direction:column;gap:10px;margin-top:30px}.hero-cta{min-height:50px}
.case{inset:auto 6% 92px 6%}.case-meta{font-size:12px;margin-bottom:12px}.case-line{font-size:clamp(26px,7.4vw,40px)}.case-foot{margin-top:16px;font-size:13px}
.seq-progress{left:6%;bottom:auto;top:96px}.seq-progress i{width:80px}
.case-card{position:relative;top:auto;grid-template-columns:1fr;min-height:0}.case-card-image{aspect-ratio:4/3}.case-card dl div{grid-template-columns:78px 1fr;gap:12px}.case-card dd{font-size:15px}
.clients .editorial-title{margin-bottom:40px}.stats{grid-template-columns:1fr 1fr;gap:30px 8%;margin-bottom:56px}.quotes{grid-template-columns:1fr;gap:36px}
.process-list{padding-right:24px}
.contact-layout{grid-template-columns:1fr;gap:44px}.contact-title{font-size:clamp(44px,13vw,61px)}.contact-form{grid-template-columns:1fr;gap:18px}.contact-form .contact-button{justify-self:stretch}
.footer-bottom{gap:6px 18px}.footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
.mobile-cta{position:fixed;inset:auto 0 0;z-index:6;display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px 6% calc(10px + env(safe-area-inset-bottom));background:#eeece6f2;border-top:1px solid #292c271a;transform:translateY(110%);visibility:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility .45s}
.mobile-cta.show{transform:none;visibility:visible}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:15px}.mobile-cta a:first-child{background:#292e26;color:#fff}.mobile-cta a:last-child{padding:0 20px;border:1px solid #292c2740;color:#292c27}
}
@media(prefers-reduced-motion:reduce){.scroll-story{height:auto}.frame{position:relative;scale:none;border-radius:0}.case-scene{clip-path:none}.case-scene .photo img{scale:none}.case,.case-scene:last-child .case{opacity:1;translate:none}.seq-progress{display:none}.js .scene-one .subtitle,.js .hero-actions{opacity:1;transform:none}.case-card{position:relative;top:auto}.mobile-cta{transition:none}}
