:root{--bg: #f3f1ec;--bg-2: #ebe8e1;--ink: #0b0b0b;--ink-2: #1a1a1a;--muted: #6b6862;--line: #d9d5cc;--accent: #2e5bff;--accent-ink: #ffffff;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-hero: clamp(2.4rem, 7vw, 7.75rem);--fs-h1: clamp(2.25rem, 6vw, 6rem);--fs-h2: clamp(1.75rem, 4vw, 3.5rem);--fs-h3: clamp(1.25rem, 2vw, 1.75rem);--fs-lead: clamp(1.25rem, 2.2vw, 2.25rem);--fs-body: clamp(1rem, 1.05vw, 1.125rem);--fs-small: .8125rem;--maxw: 1600px;--gutter: clamp(1.25rem, 4vw, 4.5rem);--section-y: clamp(5rem, 12vw, 12rem);--radius: 14px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur: .8s;--z-canvas: 1;--z-content: 2;--z-nav: 50;--z-cursor: 9998;--z-preloader: 9999}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:.98;letter-spacing:-.02em;margin:0;text-wrap:balance}p{margin:0}a{color:inherit;text-decoration:none}img,canvas{display:block;max-width:100%}ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;border:none;background:none;cursor:pointer}::selection{background:var(--accent);color:var(--accent-ink)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-family:var(--font-display);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:500}.section{position:relative;padding-block:var(--section-y);z-index:var(--z-content)}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:9994;pointer-events:none}.grain{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9990;opacity:.035;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.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.grain{display:none}}.cursor{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent);border:1px solid transparent;pointer-events:none;z-index:var(--z-cursor);transform:translate(-50%,-50%);display:grid;place-items:center;transition:background .3s var(--ease),border-color .3s var(--ease)}.cursor--hover,.cursor--stick{background:#2e5bff1a;border-color:var(--accent)}.cursor__label{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);opacity:0;transition:opacity .2s var(--ease);white-space:nowrap}.cursor--hover .cursor__label,.cursor--stick .cursor__label{opacity:1}@media (hover: none),(pointer: coarse){.cursor{display:none}}.nav{position:fixed;top:0;left:0;width:100%;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(.85rem,1.7vw,1.4rem) var(--gutter);color:var(--ink);border-bottom:1px solid transparent;transition:background .4s var(--ease),backdrop-filter .4s var(--ease),border-color .4s var(--ease),padding .4s var(--ease)}.nav.is-scrolled{background:#f3f1ecd1;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:var(--line)}.nav__right{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2.25rem)}.nav__cta{font-family:var(--font-display);font-size:.82rem;font-weight:500;letter-spacing:.03em;padding:.55rem 1.1rem;border-radius:999px;background:var(--ink);color:var(--bg);white-space:nowrap;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}.nav__cta:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.nav__brand{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.55rem}.nav__brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}.nav__mark{width:22px;height:22px;display:inline-flex}.nav__mark svg{width:100%;height:100%}.nav__links{display:flex;gap:clamp(1.25rem,2.5vw,2.5rem);align-items:center}.nav__links a{font-family:var(--font-display);font-size:.9rem;letter-spacing:.01em;position:relative;padding-block:2px}.nav__links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.nav__links a:hover:after{transform:scaleX(1);transform-origin:left}.nav__toggle{display:none}@media (max-width: 820px){.nav__links{display:none}.nav__toggle{display:block;font-family:var(--font-display);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--ink);color:var(--bg);padding:clamp(1.5rem,5vw,3rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;clip-path:inset(0 0 100% 0);pointer-events:none;transition:clip-path .7s var(--ease)}.menu-overlay.is-open{clip-path:inset(0 0 0 0);pointer-events:auto}.menu-overlay__close{position:absolute;top:clamp(1rem,2vw,1.75rem);right:var(--gutter);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--bg)}.menu-overlay__links{display:grid;gap:.4rem}.menu-overlay__links a{font-family:var(--font-display);font-size:clamp(2.5rem,12vw,4.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.05;display:inline-block}.menu-overlay__links a:hover{color:var(--accent)}.menu-overlay__foot{position:absolute;bottom:clamp(1.5rem,4vw,3rem);left:var(--gutter);display:flex;flex-direction:column;gap:.4rem;color:#fff9;font-size:var(--fs-small)}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(2.5rem,6vw,6rem);overflow:hidden}.hero__canvas{position:absolute;width:min(64vh,50vw);height:min(64vh,50vw);opacity:0}@media (max-width: 820px){.hero__canvas{width:min(70vw,70vw);height:min(70vw,70vw)}}.hero__inner{position:relative;z-index:var(--z-content);width:100%}.hero__title{font-size:var(--fs-hero);max-width:20ch}.hero__title .line{display:block;overflow:hidden}.hero__title .line>span{display:block}.hero__meta{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;justify-content:space-between;align-items:flex-end;margin-top:clamp(2rem,5vw,4rem);border-top:1px solid var(--line);padding-top:1.5rem}.hero__lead{max-width:44ch;font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em}.hero__scroll{font-family:var(--font-display);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);display:flex;align-items:center;gap:.6rem}.hero__scroll .arrow{display:inline-block;animation:bob 1.8s var(--ease-inout) infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.statement{font-family:var(--font-display);font-weight:500;font-size:var(--fs-h2);line-height:1.12;letter-spacing:-.02em;max-width:24ch}.statement .word{display:inline-block}.statement .accent{color:var(--accent)}.statement em{font-style:normal}[data-fill] em{font-style:normal;color:var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,6vw,5rem)}.section-head h2{font-size:var(--fs-h2)}.services__list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:4rem 1fr auto;gap:1.5rem;align-items:center;padding:clamp(1.5rem,3vw,2.5rem) 0;border-bottom:1px solid var(--line);position:relative}.service__num{font-family:var(--font-display);color:var(--muted);font-size:var(--fs-small)}.service__name{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-.01em;transition:transform .5s var(--ease)}.service__desc{color:var(--muted);max-width:40ch;font-size:var(--fs-body)}.service:hover .service__name{transform:translate(1.25rem);color:var(--accent)}@media (max-width: 720px){.service{grid-template-columns:2.5rem 1fr}.service__desc{grid-column:2}}.work__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.5rem,4vw,4rem) clamp(1.5rem,3vw,3rem)}.work-card{position:relative}.work-card:nth-child(2n){margin-top:clamp(0rem,8vw,7rem)}.work-card__media{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--radius);background:var(--bg-2)}.work-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease),filter .9s var(--ease);filter:saturate(.9)}.work-card:hover .work-card__media img{transform:scale(1.06);filter:saturate(1.05)}.work-card__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;gap:1rem}.work-card__title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-.01em}.work-card__tag{font-size:var(--fs-small);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}@media (max-width: 720px){.work__grid{grid-template-columns:1fr}.work-card:nth-child(2n){margin-top:0}}.caps{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}.caps__stage{position:sticky;top:14vh;aspect-ratio:4 / 3;border-radius:var(--radius);background:radial-gradient(120% 120% at 30% 20%,#faf8f3,#ece9e2 85%);overflow:hidden;box-shadow:0 30px 70px -45px #0b0b0b59}.caps__stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(11,11,11,.08);border-radius:var(--radius);pointer-events:none}.caps__stage canvas{width:100%;height:100%;display:block}.caps__panel{display:flex;flex-direction:column}.caps__list{display:grid}.caps__readout{margin-top:clamp(1.25rem,3vw,2rem);min-height:4.75rem;max-width:48ch;color:var(--muted);font-size:var(--fs-body);transition:opacity .25s var(--ease)}.cap{border-top:1px solid var(--line);padding:clamp(.9rem,2vw,1.4rem) 0}.cap:last-child{border-bottom:1px solid var(--line)}.cap__btn{display:flex;align-items:baseline;gap:1.2rem;width:100%;text-align:left}.cap__num{font-family:var(--font-display);font-size:var(--fs-small);color:var(--muted)}.cap__name{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.4rem);font-weight:500;letter-spacing:-.01em;line-height:1.05;color:var(--muted);transition:color .4s var(--ease),transform .5s var(--ease)}.cap.is-active .cap__name{color:var(--ink);transform:translate(.5rem)}.cap.is-active .cap__num{color:var(--accent)}.caps__also{margin-top:clamp(2rem,4vw,3rem);color:var(--muted);font-size:var(--fs-small);letter-spacing:.02em}@media (max-width: 900px){.caps{grid-template-columns:1fr}.caps__stage{position:relative;top:0;order:-1}}.work-h{position:relative;padding-block:var(--section-y);overflow:hidden}.work-h__head{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,5vw,4rem)}.work-h__head h2{font-size:var(--fs-h2)}.work-h__viewport{width:100%;overflow:hidden}.work-h__viewport.is-swipe{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.work-h__track{display:flex;gap:clamp(1.5rem,3vw,3rem);padding-inline:var(--gutter);width:max-content;will-change:transform}.work-panel{flex:0 0 auto;width:min(68vw,640px);position:relative;scroll-snap-align:center}.work-panel__index{font-family:var(--font-display);font-size:var(--fs-small);color:var(--muted);letter-spacing:.1em}.work-panel__media{position:relative;aspect-ratio:5 / 4;overflow:hidden;border-radius:var(--radius);background:var(--bg-2);margin-top:.8rem}.work-panel__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter 1s var(--ease);filter:saturate(.92)}.work-panel:hover .work-panel__media img{transform:scale(1.05);filter:saturate(1.08)}.work-panel__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;gap:1rem}.work-panel__title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-.01em}.work-panel__tag{font-size:var(--fs-small);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}@media (max-width: 720px){.work-panel{width:82vw}}.cta{text-align:center;display:grid;place-items:center;gap:2rem}.cta__title{font-size:var(--fs-h1)}.cta__title em{font-style:italic;color:var(--accent)}.btn{--pad: 1.1rem 2.4rem;display:inline-flex;align-items:center;gap:.7rem;padding:var(--pad);border-radius:999px;background:var(--ink);color:var(--bg);font-family:var(--font-display);font-size:1rem;letter-spacing:.01em;position:relative;overflow:hidden;isolation:isolate;will-change:transform}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}.btn:hover:before{transform:translateY(0)}.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn--ghost:hover{color:var(--bg)}.footer{background:var(--ink);color:var(--bg);padding-block:clamp(4rem,9vw,8rem) 2.5rem;position:relative;z-index:var(--z-content)}.footer a{color:var(--bg)}.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;padding-bottom:clamp(3rem,7vw,6rem);border-bottom:1px solid rgba(255,255,255,.14)}.footer__big{font-family:var(--font-display);font-size:var(--fs-h2);letter-spacing:-.02em;max-width:14ch}.footer__col h4{font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.14em;color:#ffffff80;margin-bottom:1.25rem;font-weight:500}.footer__col ul{display:grid;gap:.7rem}.footer__col a:hover{color:var(--accent)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:2rem;font-size:var(--fs-small);color:#ffffff80}@media (max-width: 720px){.footer__top{grid-template-columns:1fr;gap:2.5rem}}.footer__mega{display:flex;align-items:center;gap:clamp(.75rem,2vw,2rem);padding:clamp(2rem,5vw,4rem) var(--gutter) clamp(1.5rem,3vw,2.5rem);overflow:hidden}.footer__mark{width:clamp(40px,7vw,96px);height:clamp(40px,7vw,96px);flex:0 0 auto;display:inline-flex;color:var(--bg)}.footer__mark svg{width:100%;height:100%}.footer__mega-text{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;font-size:clamp(2.25rem,11.5vw,11.5rem);line-height:1.05;white-space:nowrap;color:var(--bg)}.footer__mega-text .line{overflow:hidden;display:block;padding:.12em 0}.footer__mega-text .line>span{display:block}.hero__lead{margin-top:clamp(1.5rem,3vw,2.25rem)}.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:clamp(1.75rem,3.5vw,2.5rem)}.hero__trust{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:clamp(1.5rem,3vw,2rem);font-family:var(--font-display);font-size:var(--fs-small);letter-spacing:.02em;color:var(--muted)}.hero__trust li,.cta__trust li{display:flex;align-items:center;gap:.5rem}.hero__trust li:before,.cta__trust li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}.trusted{padding-block:clamp(2.5rem,5vw,4rem)}.trusted__label{text-align:center;display:block;margin-bottom:1.75rem}.clients{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(2rem,5vw,4.5rem)}.client__name{font-family:var(--font-display);font-weight:600;font-size:clamp(1.1rem,2vw,1.6rem);color:var(--muted);letter-spacing:-.01em}.client__logo{height:clamp(26px,4vw,42px);width:auto;opacity:.65;filter:grayscale(1)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem);border-top:1px solid var(--line);padding-top:clamp(2rem,4vw,3rem);list-style:none}.step__num{font-family:var(--font-display);font-size:var(--fs-small);color:var(--accent);letter-spacing:.1em}.step__name{font-size:var(--fs-h3);font-weight:500;margin:.75rem 0 .6rem}.step__desc{color:var(--muted)}@media (max-width: 900px){.steps{grid-template-columns:1fr 1fr}}@media (max-width: 540px){.steps{grid-template-columns:1fr}}.results{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(1.5rem,4vw,3rem);border-top:1px solid var(--line);padding-top:clamp(2rem,4vw,3rem);margin-top:1.5rem}.result{display:grid;gap:.5rem}.result__value{font-family:var(--font-display);font-weight:600;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1;letter-spacing:-.02em}.result__label{color:var(--muted);max-width:22ch}.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(1.5rem,3vw,2.5rem)}.quote{margin:0;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem);background:var(--bg-2);display:grid;gap:1.5rem}.quote__text{margin:0;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;line-height:1.3;letter-spacing:-.01em}.quote__by{display:grid;gap:.2rem}.quote__name{font-weight:500}.quote__role{color:var(--muted);font-size:var(--fs-small)}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,2.5vw,2rem)}.pkg{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.25rem);display:flex;flex-direction:column;gap:1rem;background:var(--bg)}.pkg--featured{border-color:var(--ink);background:var(--bg-2)}.pkg__badge{position:absolute;top:-.7rem;left:clamp(1.5rem,3vw,2.25rem);background:var(--accent);color:#fff;font-family:var(--font-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .7rem;border-radius:999px}.pkg__name{font-size:var(--fs-h3);font-weight:500}.pkg__price{font-family:var(--font-display);font-weight:600;font-size:clamp(1.75rem,3.5vw,2.5rem);letter-spacing:-.02em;line-height:1}.pkg__from{font-size:var(--fs-small);color:var(--muted);font-weight:500;letter-spacing:.04em}.pkg__cadence{font-size:1rem;color:var(--muted);font-weight:500}.pkg__onrequest{font-size:var(--fs-h3);color:var(--muted);font-weight:500}.pkg__summary{color:var(--muted)}.pkg__list{display:grid;gap:.6rem;margin-top:.25rem}.pkg__list li{position:relative;padding-left:1.5rem;color:var(--ink-2)}.pkg__list li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--accent)}.pkg__cta{margin-top:auto;width:100%;justify-content:center}.packages__note{margin-top:2rem;color:var(--muted);font-size:var(--fs-small);max-width:52ch}@media (max-width: 900px){.packages{grid-template-columns:1fr}}.faqs{border-top:1px solid var(--line);max-width:82ch}.faq{border-bottom:1px solid var(--line);padding:clamp(1.1rem,2.5vw,1.6rem) 0}.faq__q{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;cursor:pointer;list-style:none;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-.01em}.faq__q::-webkit-details-marker{display:none}.faq__icon{position:relative;flex:0 0 auto;width:18px;height:18px}.faq__icon:before,.faq__icon:after{content:"";position:absolute;background:var(--accent);transition:transform .3s var(--ease)}.faq__icon:before{left:0;top:8px;width:18px;height:2px}.faq__icon:after{left:8px;top:0;width:2px;height:18px}.faq[open] .faq__icon:after{transform:scaleY(0)}.faq__a{color:var(--muted);margin-top:1rem;max-width:72ch}.cta__trust{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin-top:.25rem;font-family:var(--font-display);font-size:var(--fs-small);color:var(--muted)}.cta-bar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:40;display:none;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.3rem;background:var(--ink);color:var(--bg);border-radius:999px;font-family:var(--font-display);font-weight:500;box-shadow:0 14px 40px -16px #0b0b0b8c;transform:translateY(160%);transition:transform .5s var(--ease)}.cta-bar__go{color:#fff;opacity:.85}.cta-bar.is-visible{transform:translateY(0)}@media (max-width: 720px){.cta-bar{display:flex}}.js [data-reveal]{opacity:0;transform:translateY(24px)}.js [data-reveal].is-revealed{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}.js [data-reveal]:not(.is-revealed){animation:ph-reveal-in .7s ease 2.4s forwards}@keyframes ph-reveal-in{to{opacity:1;transform:none}}.line-mask{overflow:hidden;display:block}@media (prefers-reduced-motion: reduce){.js [data-reveal]{transform:none}}
