@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-SemiBold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-ExtraBold.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-Italic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-MediumItalic.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Baflion Sans;src:url(/fonts/BaflionSans-SemiBoldItalic.otf) format("opentype");font-weight:600;font-style:italic;font-display:swap}:root{--paper:#ECEDE8;--ink:#1E4250;--pine:#2E5E6D;--teal:#35758A;--steel:#5BA3AD;--amber:#F89B3C;--leaf:#A4C57F;--sage:#6B7E7A;--hair:#C9CDC5;--display:"Baflion Sans",sans-serif;--body:"Baflion Sans",sans-serif;--mono:"Baflion Sans",sans-serif;--wrap:1080px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--body);overflow-x:clip;font-size:18px;font-weight:500;line-height:1.6;-webkit-font-smoothing:antialiased;position:relative}img{max-width:100%;display:block}a{color:inherit}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:8px;height:8px;background:var(--amber);display:inline-block}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:96px}.logo-link{display:flex;align-items:center}.logo-img{height:80px;width:auto}.nav{display:flex;gap:28px;align-items:center}.nav a{font-family:var(--mono);font-size:13px;text-decoration:none;color:var(--sage);transition:color .2s ease}.nav a:hover{color:var(--ink)}.nav .nav-cta{color:var(--ink);border:1px solid var(--ink);padding:10px 18px;display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;border-radius:999px;transition:background .2s ease,color .2s ease}.nav .nav-cta:hover{background:var(--ink);color:var(--paper)}.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;box-sizing:border-box;padding:10px 7px;flex-direction:column;justify-content:space-between}.nav-toggle span{display:block;height:2.5px;background:var(--ink);border-radius:2px}.site-footer{border-top:1px solid var(--hair);padding:40px 0;margin-top:0}.footer-areas{max-width:640px;margin-top:20px;font-size:14px;line-height:1.55;color:var(--sage)}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-logo{height:56px}.footer-meta{font-family:var(--mono);font-size:13px;color:var(--sage);display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.footer-meta a{color:var(--teal);text-decoration:none}.btn{font-family:var(--mono);font-size:14px;text-decoration:none;padding:14px 24px;border-radius:999px;display:inline-block;transition:transform .15s ease,background .2s ease,color .2s ease}.btn-primary{background:var(--teal);color:var(--paper)}.btn-primary:hover{background:var(--ink);transform:translateY(-2px)}.btn-ghost{border:1px solid var(--hair);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.section{padding:80px 0;border-top:1px solid var(--hair)}.section-head{max-width:60ch;margin-bottom:48px}.section-head h2{font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,40px);letter-spacing:-.015em;line-height:1.1;margin-top:16px}.section-head p{margin-top:14px;color:var(--sage)}.hero{padding:96px 0 64px;position:relative;overflow:hidden}.hero .wrap{position:relative;z-index:1}.hero-deco{position:absolute;top:56px;right:-30px;width:340px;max-width:42vw;opacity:.55;z-index:0;pointer-events:none}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,7vw,76px);line-height:1.02;letter-spacing:-.02em;margin:20px 0 0;max-width:14ch}.hero h1 .tune{color:var(--teal);font-style:italic;font-family:var(--body);font-weight:500}.hero p.lede{max-width:52ch;margin-top:26px;font-size:clamp(18px,2.2vw,22px);color:color-mix(in srgb,var(--ink) 85%,transparent)}.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}.pulse{width:100%;margin-top:56px;display:block}.pulse path{fill:none;stroke:var(--steel);stroke-width:2;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 2.4s ease}.pulse.drawn path{stroke-dashoffset:0}.beat{fill:var(--amber)}.proc{text-align:center}.proc .section-head{margin-left:auto;margin-right:auto}.proc .eyebrow{justify-content:center}.proc-graphic{width:100%;max-width:940px;margin:4px auto 0;display:block}.proc-line{fill:none;stroke:var(--steel);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:5 11;animation:flow 2.6s linear infinite}@keyframes flow{to{stroke-dashoffset:-160}}.proc-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:940px;margin:20px auto 0}.pl-tag{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}.pl-tag b{color:var(--amber)}.proc-labels p{font-size:15px;color:var(--sage);margin-top:5px}.proc-stage{position:relative;width:100%;max-width:940px;height:200px;margin:6px auto 0}.proc-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.proc-labels.synced>div{opacity:.38;transition:opacity .45s ease,transform .45s ease}.proc-labels.synced>div.is-on{opacity:1;transform:translateY(-3px)}.proc-labels.synced>div.is-on .pl-tag{color:var(--amber)}@media(max-width:760px){.proc-stage{height:170px}}.proc-graphic .p-idea circle,.proc-graphic .p-build circle,.proc-graphic .p-work rect,.proc-graphic .p-result{transform-box:fill-box;transform-origin:center}.proc-graphic .p-work rect{transform-origin:bottom}.p-beat{fill:var(--amber);filter:drop-shadow(0 0 5px rgba(248,155,60,.7))}.p-result{filter:drop-shadow(0 0 6px rgba(248,155,60,.55))}.proc-graphic.in .p-idea circle{animation:p-pop .55s cubic-bezier(.2,.8,.2,1) both}.proc-graphic.in .p-build circle{animation:p-grid .5s cubic-bezier(.2,.8,.2,1) both}.proc-graphic.in .p-work rect{animation:p-grow .6s cubic-bezier(.2,.8,.2,1) both,bar-eq 2.6s ease-in-out infinite}.proc-graphic.in .p-result{animation:p-pop .5s 1.35s both,p-pulse 2.6s 2s ease-in-out infinite}.proc-graphic.in .p-idea{animation:cl-drift 7s ease-in-out 1.1s infinite}.proc-graphic.in .p-build{animation:cl-bob 5.5s ease-in-out 1.4s infinite}.proc-graphic.in .p-idea circle:nth-child(1){animation-delay:.05s}.proc-graphic.in .p-idea circle:nth-child(2){animation-delay:.12s}.proc-graphic.in .p-idea circle:nth-child(3){animation-delay:.19s}.proc-graphic.in .p-idea circle:nth-child(4){animation-delay:.26s}.proc-graphic.in .p-idea circle:nth-child(5){animation-delay:.33s}.proc-graphic.in .p-idea circle:nth-child(6){animation-delay:.4s}.proc-graphic.in .p-build circle:nth-child(1){animation-delay:.55s}.proc-graphic.in .p-build circle:nth-child(2){animation-delay:.6s}.proc-graphic.in .p-build circle:nth-child(3){animation-delay:.65s}.proc-graphic.in .p-build circle:nth-child(4){animation-delay:.7s}.proc-graphic.in .p-build circle:nth-child(5){animation-delay:.75s}.proc-graphic.in .p-build circle:nth-child(6){animation-delay:.8s}.proc-graphic.in .p-build circle:nth-child(7){animation-delay:.85s}.proc-graphic.in .p-build circle:nth-child(8){animation-delay:.9s}.proc-graphic.in .p-build circle:nth-child(9){animation-delay:.95s}.proc-graphic.in .p-work rect:nth-child(1){animation-delay:1.05s,1.9s}.proc-graphic.in .p-work rect:nth-child(2){animation-delay:1.17s,2.15s}.proc-graphic.in .p-work rect:nth-child(3){animation-delay:1.29s,2.4s}@keyframes p-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes p-grid{0%{opacity:0;transform:scale(.2) translateY(7px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes p-grow{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes p-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes cl-drift{0%,to{transform:translate(0)}50%{transform:translate(6px,-6px)}}@keyframes cl-bob{0%,to{transform:translate(0)}50%{transform:translateY(-5px)}}@keyframes bar-eq{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.13)}}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);counter-reset:svc}.service{position:relative;background-color:var(--paper);padding:40px 32px 36px;counter-increment:svc;background-image:radial-gradient(85% 70% at 112% 112%,color-mix(in srgb,var(--accent,var(--amber)) 14%,transparent),transparent 58%);transition:transform .25s ease,box-shadow .25s ease,background-color .2s ease}.service:nth-child(1){--accent:var(--amber)}.service:nth-child(2){--accent:var(--teal)}.service:nth-child(3){--accent:var(--leaf)}.service:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent,var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.service:after{content:"0" counter(svc);position:absolute;top:24px;right:26px;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--hair);transition:color .25s ease}.service:hover{transform:translateY(-5px);z-index:1;background-color:#fff;box-shadow:0 18px 40px -18px #1e425066}.service:hover:before{transform:scaleX(1)}.service:hover:after{color:var(--accent)}.service h3{font-family:var(--display);font-weight:700;font-size:23px;margin-bottom:12px;letter-spacing:-.01em}.service .tick{font-family:var(--mono);font-size:12px;color:var(--amber);display:block;margin-bottom:18px}.service p{font-size:16px;color:color-mix(in srgb,var(--ink) 80%,transparent)}.service-art{height:74px;margin-bottom:24px}.service-art svg{height:100%;width:auto;display:block;overflow:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}.service:hover .service-art svg{transform:translateY(-2px) scale(1.03)}.why{background:var(--pine);color:var(--paper);border-top:none;position:relative;overflow:hidden}.why .wrap{position:relative;z-index:1}.why-deco{position:absolute;right:-20px;bottom:-20px;width:240px;opacity:.1;z-index:0;pointer-events:none}.why .eyebrow{color:var(--amber)}.why .eyebrow:before{background:var(--leaf)}.why h2{color:var(--paper)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px}.why-grid h3{font-family:var(--display);font-weight:700;font-size:19px;margin-bottom:10px}.why-grid p{font-size:16px;color:color-mix(in srgb,var(--paper) 80%,transparent)}.cta{text-align:center}.cta h2{font-family:var(--display);font-weight:800;font-size:clamp(34px,6vw,60px);letter-spacing:-.02em;line-height:1.05;margin-bottom:28px}.cta .btn-primary{font-size:16px;padding:16px 30px}.dotsig{padding:26px 0 4px}.dotsig-stage{position:relative;width:100%;height:250px;border-radius:18px;background:color-mix(in srgb,var(--paper) 45%,transparent)}.dotsig-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}@media(max-width:760px){.dotsig-stage{height:190px}}.page-head{padding:72px 0 8px}.page-head h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,6vw,56px);letter-spacing:-.02em;line-height:1.05;margin-top:16px}.page-head p{max-width:56ch;margin-top:18px;font-size:clamp(17px,2vw,20px);color:var(--sage)}.about-hero{padding-bottom:28px}.about-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.about-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,6.4vw,68px);line-height:1;letter-spacing:-.02em;margin:16px 0 0}.ah-lede{max-width:44ch;margin-top:22px;font-size:clamp(17px,2vw,21px);line-height:1.5;color:color-mix(in srgb,var(--ink) 85%,transparent)}.ah-facts{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.ah-facts span{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--sage);border:1px solid var(--hair);padding:7px 13px;border-radius:999px}.headshot{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(150deg,var(--steel),var(--pine));display:flex;align-items:center;justify-content:center}.headshot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hs-initials{font-family:var(--display);font-weight:800;font-size:clamp(40px,8vw,64px);color:var(--paper);opacity:.92}.ah-portrait{position:relative;min-height:clamp(360px,44vw,480px)}.ah-portrait .headshot{position:absolute;width:58%;border-radius:20px;border:5px solid var(--paper);box-shadow:0 26px 54px -22px #1e425080}.ah-portrait .hp1{left:2%;top:0;rotate:-3deg;z-index:2}.ah-portrait .hp2{right:2%;bottom:0;rotate:3deg;z-index:1;background:linear-gradient(150deg,var(--pink),#c23e76)}.founders{display:grid;grid-template-columns:1fr 1fr;gap:26px}.founder{background:var(--paper);border:1px solid var(--hair);border-radius:22px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.founder:hover{transform:translateY(-6px);box-shadow:0 24px 50px -22px #1e42506b}.founder .headshot{aspect-ratio:5/4}.founder:nth-child(2) .headshot{background:linear-gradient(150deg,var(--pink),#c23e76)}.f-body{padding:24px 26px 28px}.f-role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.f-name{font-family:var(--display);font-weight:800;font-size:27px;letter-spacing:-.01em;margin:8px 0 12px}.f-bio{font-size:16px;line-height:1.55;color:color-mix(in srgb,var(--ink) 82%,transparent)}.f-tools{margin-top:20px}.f-tools-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}.f-tools .f-focus{margin-top:10px}.f-focus{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.f-focus li{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--sage);border:1px solid var(--hair);border-radius:999px;padding:6px 11px}.f-stats{display:flex;gap:12px;margin-top:18px}.f-stat{flex:1;background:#fff;border:1px solid var(--hair);border-radius:12px;padding:13px 14px}.f-stat b{display:block;font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.01em;color:var(--teal);line-height:1}.f-stat span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--sage);margin-top:7px;line-height:1.35}.story-head{max-width:60ch;margin-bottom:30px}.story-title{font-family:var(--display);font-weight:800;font-size:clamp(28px,4.4vw,44px);letter-spacing:-.02em;line-height:1.08;margin-top:14px}.story-col{max-width:66ch}.story-lead{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.6vw,26px);line-height:1.34;color:var(--ink);margin-bottom:22px}.story-p{font-size:18px;line-height:1.65;margin-bottom:16px;color:color-mix(in srgb,var(--ink) 86%,transparent)}.pullquote{font-family:var(--display);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.25;color:var(--teal);border-left:3px solid var(--amber);padding:4px 0 4px 24px;margin:30px 0}.values{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.value{padding:26px;border:1px solid var(--hair);border-radius:18px;background:var(--paper);transition:transform .2s ease,border-color .2s ease}.value:hover{transform:translateY(-3px);border-color:var(--steel)}.v-num{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--amber)}.value h3{font-family:var(--display);font-weight:700;font-size:20px;margin:10px 0 8px;letter-spacing:-.01em}.value p{font-size:15.5px;line-height:1.5;color:var(--sage)}@media(max-width:820px){.about-hero .wrap{grid-template-columns:1fr;gap:38px}.ah-portrait{min-height:380px;max-width:420px}.founders,.values{grid-template-columns:1fr}}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:48px 0 80px}.work-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--hair);border-radius:14px;padding:30px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.work-card:hover{transform:translateY(-4px);border-color:var(--steel);box-shadow:0 14px 30px #1e42501a}.work-card .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}.work-card h3{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.01em;margin:10px 0 12px}.work-card p{font-size:15px;color:color-mix(in srgb,var(--ink) 80%,transparent)}.work-card .result{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--teal);border:1px solid var(--teal);padding:5px 11px;border-radius:999px}.work-card .more{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:13px;color:var(--amber)}.work-filter{display:inline-flex;gap:6px;margin-top:26px;background:var(--paper);border:1px solid var(--hair);border-radius:999px;padding:5px}.wf{font-family:var(--mono);font-size:13px;border:0;background:none;color:var(--sage);padding:9px 18px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}.wf:hover{color:var(--ink)}.wf.on{background:var(--ink);color:var(--paper)}.work-track .work-grid{padding:0}.cap-tag{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--teal)}.design-cat{margin-top:52px}.dc-head{max-width:60ch;margin-bottom:18px}.dc-head h3{font-family:var(--display);font-weight:700;font-size:22px;margin:8px 0 6px;letter-spacing:-.01em}.dc-head p{font-size:15px;color:var(--sage)}.gallery{display:grid;gap:14px}.gallery.g-3{grid-template-columns:repeat(3,1fr)}.gallery.g-4{grid-template-columns:repeat(4,1fr)}.ph-tile,.g-item{border-radius:14px}.ph-tile{border:1.5px dashed var(--hair);background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--hair);transition:border-color .2s ease,color .2s ease}.ph-tile:hover{border-color:var(--steel);color:var(--steel)}.ph-tile svg{width:30px;height:30px}.g-item{overflow:hidden;border:1px solid var(--hair);background:#fff;transition:transform .2s ease,box-shadow .2s ease}.g-item:hover{transform:translateY(-4px);box-shadow:0 16px 34px -16px #1e425052}.g-item picture{display:block;width:100%;height:100%}.g-item img{width:100%;height:100%;object-fit:cover;display:block}.ar-11{aspect-ratio:1/1}.ar-34{aspect-ratio:3/4}.ar-43{aspect-ratio:4/3}@media(max-width:680px){.gallery.g-3,.gallery.g-4{grid-template-columns:repeat(2,1fr)}}.gallery-natural{display:block;column-gap:14px}.gallery-natural.g-4{column-count:4}.gallery-natural.g-3{column-count:3}.gallery-natural .g-item{break-inside:avoid;margin:0 0 14px}.gallery-natural .g-item.fit{aspect-ratio:auto}.gallery-natural .g-item picture{height:auto}.gallery-natural .g-item img{height:auto;object-fit:contain}@media(max-width:680px){.gallery-natural.g-3,.gallery-natural.g-4{column-count:2}}.case-head{padding:64px 0 0}.case-head .result{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--teal);border:1px solid var(--teal);padding:6px 12px;border-radius:999px}.case-body{max-width:680px;padding:32px 0 72px}.case-body h2{font-family:var(--display);font-weight:700;font-size:21px;margin:16px 0 6px;letter-spacing:-.01em}.case-body p{margin:0 0 10px}.case-body>:first-child{margin-top:0}.case-body p:last-of-type{margin-bottom:0}.case-stack{font-family:var(--mono);font-size:13px;color:var(--sage);border-top:1px solid var(--hair);padding-top:16px;margin-top:30px}.back-link{font-family:var(--mono);font-size:13px;color:var(--teal);text-decoration:none;display:inline-block;margin-top:8px}.shots{margin:34px 0 6px}@media(min-width:1140px){.shots{width:1024px}}.shots-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:22px;scrollbar-width:none;-ms-overflow-style:none}.shots-stage::-webkit-scrollbar{display:none}.shot{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;margin:0}.shot-frame{aspect-ratio:16/9;width:100%;overflow:hidden;background:#fff;border:1px solid var(--hair);border-radius:14px;box-shadow:0 18px 44px -28px #1e425080}.shot-frame picture{display:block;width:100%;height:100%}.shot-frame img{width:100%;height:100%;object-fit:cover;object-position:top center}.shot figcaption{font-family:var(--mono);font-size:13px;line-height:1.5;color:var(--sage);margin:16px 0 0}.shots-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}.shots-btn{width:40px;height:40px;flex:none;border-radius:999px;border:1px solid var(--hair);background:#fff;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,border-color .2s ease}.shots-btn:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.shots-btn:disabled{opacity:.32;cursor:default}.shots-dots{display:flex;gap:9px;align-items:center}.shots-dot{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--hair);cursor:pointer;transition:background .2s ease,transform .2s ease}.shots-dot.on{background:var(--amber);transform:scale(1.3)}.shots-counter{font-family:var(--mono);font-size:12px;color:var(--sage);letter-spacing:.08em;min-width:56px;text-align:center}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;padding:40px 0 80px;align-items:start}.field{margin-bottom:18px}.field label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);margin-bottom:7px}.field input,.field textarea{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--hair);border-radius:10px;padding:12px 14px}.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 22%,transparent)}.field textarea{min-height:140px;resize:vertical}.contact-info .info-block{margin-bottom:26px}.contact-info .label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}.contact-info a{color:var(--ink);text-decoration:none}.contact-info a:hover{color:var(--teal)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:3px}@media(max-width:760px){.nav-toggle{display:flex}.nav{position:absolute;top:76px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--hair);flex-direction:column;gap:0;padding:8px 0;display:none}.nav.open{display:flex}.nav a{padding:14px 28px;width:100%}.nav .nav-cta{border:0;border-radius:0;color:var(--teal)}.hero-deco{display:none}.services,.why-grid,.work-grid,.proc-labels,.contact-grid{grid-template-columns:1fr}.footer-meta{text-align:left;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.pulse path{stroke-dashoffset:0}.grain{display:none}.proc-graphic .p-idea circle,.proc-graphic .p-build circle,.proc-graphic .p-work rect,.proc-graphic .p-result{opacity:1!important;transform:none!important}.p-beat{display:none}}.bg-art{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity 1.1s ease}.bg-art.on{opacity:.9}.bg-art canvas{position:absolute;inset:0;width:100%;height:100%;display:block}@media(prefers-reduced-motion:reduce){.bg-art{transition:none}}.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);will-change:transform}.cursor-dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}.cursor-ring{width:30px;height:30px;box-sizing:border-box;transition:width .2s ease,height .2s ease}.cursor-ring i{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;line-height:1;font-family:var(--mono);font-weight:400;font-style:normal;color:var(--teal);font-size:calc(var(--cr-h,30) * .62px)}.cursor-ring .cr-lb{left:0;transform:translate(-100%,-50%)}.cursor-ring .cr-rb{right:0;transform:translate(100%,-50%)}.spine{position:fixed;top:50%;transform:translateY(-50%);left:22px;height:56vh;z-index:5;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.spine:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--hair);border-radius:2px}.spine-fill{position:absolute;left:5px;top:6px;width:2px;height:calc(100% - 12px);background:var(--amber);transform-origin:top;transform:scaleY(0);border-radius:2px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.spine-node{display:flex;align-items:center;gap:10px;position:relative;z-index:1;background:none;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:11px;color:var(--sage);text-transform:uppercase;letter-spacing:.08em}.spine-node .sn-dot{width:12px;height:12px;flex:none;border-radius:50%;box-sizing:border-box;background:var(--paper);border:2px solid var(--hair);transition:background .3s,border-color .3s,transform .3s}.spine-node .sn-label{opacity:0;transform:translate(-4px);white-space:nowrap;transition:opacity .25s,transform .25s,color .25s}.spine:hover .sn-label{opacity:1;transform:none}.spine.spine-bare .sn-label{display:none}.spine-node:hover .sn-dot{border-color:var(--teal)}.spine-node.is-on .sn-dot{background:var(--amber);border-color:var(--amber)}.spine-node.is-active .sn-dot{transform:scale(1.3);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 22%,transparent)}.spine:hover .spine-node.is-active .sn-label{color:var(--ink)}.spine.spine-dark .spine-node,.spine.spine-dark:hover .spine-node.is-active .sn-label{color:var(--leaf)}@media(max-width:1180px){.spine{display:none}}.anim-ready [data-anim]{opacity:0}[data-anim].in{opacity:1}.anim-ready [data-anim=up]{transform:translateY(28px)}[data-anim=up].in,[data-anim=fade]{transform:none}.anim-ready [data-anim]{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:reduce){[data-anim]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}}.kw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.kw-in{display:inline-block;will-change:transform}.anim-ready [data-anim=wipe]{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.2,.7,.2,1),opacity .9s ease}[data-anim=wipe].in{clip-path:inset(0 0 0 0)}.anim-ready [data-anim=blur]{filter:blur(10px);transform:translateY(8px);transition:opacity .8s ease,filter .8s ease,transform .8s ease}[data-anim=blur].in{filter:blur(0);transform:none}.anim-ready [data-anim=slide]{transform:translate(-26px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}[data-anim=slide].in{transform:none}.case-body h2.reveal{opacity:1;clip-path:none}
