:root{--brand-700: #3D5288;--brand-600: #2C3C66;--brand-on-dark: #7C93C4;--accent-warm: #C9895A;--surface-light: #EEF1F5;--surface-white: #F7F8FA;--surface-dark: #13161B;--surface-dark-2: #1C212A;--surface-darker: #0E1014;--text-primary: #0F1624;--text-inverse: #EEF1F5;--text-muted: #4A5670;--text-muted-inverse: #A9B3C9;--success: #2F6B4F;--success-bg: #E8F2EC;--warning: #8A641B;--warning-bg: #F7F0DF;--error: #9A3F45;--error-bg: #F7E9EA;--info: #2C3C66;--info-bg: #E4E9F2;--font-sans: "Satoshi", Arial, sans-serif;--fs-hero: clamp(44px, 6.4vw, 104px);--fs-statement: clamp(34px, 5.2vw, 84px);--fs-h2: clamp(32px, 3.8vw, 60px);--fs-h2-compact: clamp(28px, 2.8vw, 40px);--fs-numeral: clamp(72px, 9vw, 136px);--fs-row: clamp(28px, 3vw, 48px);--fs-lead: clamp(19px, .4vw + 17px, 22px);--fs-body-lg: clamp(17px, .2vw + 16px, 18px);--fs-body: 16px;--fs-sm: 14px;--fs-label: 12px;--space-0-5: 4px;--space-1: 8px;--space-1-5: 12px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-8: 64px;--space-10: 80px;--space-12: 96px;--space-16: 128px;--space-20: 160px;--section-y: clamp(88px, 11vw, 176px);--section-y-compact: clamp(72px, 8vw, 120px);--gutter: 20px;--col-gap: 16px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--radius-photo: 4px;--border-light: rgba(15, 22, 36, .12);--border-dark: rgba(124, 147, 196, .18);--shadow-sm: 0 6px 18px rgba(15, 22, 36, .06);--shadow-md: 0 12px 32px rgba(15, 22, 36, .16);--shadow-device: 0 30px 60px rgba(0, 0, 0, .35), 0 8px 18px rgba(0, 0, 0, .2);--container-max: 1280px;--measure-body: 62ch;--measure-lead: 52ch;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .36s;--duration-reveal: .5s;--duration-line: 1s;--duration-image: 1.3s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--ease-expo: cubic-bezier(.16, 1, .3, 1);--stagger-line: 80ms;--header-h: 72px}@media (min-width: 768px){:root{--gutter: 32px;--col-gap: 24px}}@media (min-width: 1024px){:root{--gutter: 48px;--col-gap: 32px;--header-h: 80px}}@font-face{font-family:Satoshi;src:url(../fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text-primary);background-color:var(--surface-dark);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overflow-x:clip}body{min-height:100vh;background-color:var(--surface-light);overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}img,picture,svg{display:block;max-width:100%}img{height:auto}ul,ol{list-style:none}a{color:inherit}button{font:inherit;color:inherit}::selection{background-color:var(--brand-700);color:var(--surface-white)}:focus-visible{outline:2px solid var(--brand-700);outline-offset:3px;border-radius:2px}[data-tone=dark] :focus-visible,.menu :focus-visible{outline-color:var(--surface-light)}.skip-link{position:absolute;top:-100px;left:24px;z-index:9999;background:var(--surface-dark);color:var(--text-inverse);padding:12px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;text-decoration:none;transition:top var(--duration-fast) var(--ease-standard)}.skip-link:focus{top:16px;outline:2px solid var(--surface-light);outline-offset:3px}.h2{font-size:var(--fs-h2);line-height:1.04;letter-spacing:-.03em;font-weight:500;text-wrap:balance}.lead{font-size:var(--fs-lead);line-height:1.5;letter-spacing:-.005em;text-wrap:pretty}.body-lg{font-size:var(--fs-body-lg);line-height:1.65;text-wrap:pretty}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-label);line-height:1.2;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background-color:var(--brand-700);flex:none}[data-tone=dark] .eyebrow:before{background-color:var(--brand-on-dark)}.container{width:100%;max-width:calc(var(--container-max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.grid{display:grid;grid-template-columns:minmax(0,1fr);column-gap:var(--col-gap)}@media (min-width: 1024px){.grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.btn{--btn-bg: var(--brand-700);--btn-fg: var(--surface-white);--btn-border: var(--btn-bg);--btn-hover-bg: var(--surface-dark);--btn-hover-fg: var(--surface-white);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border:1px solid var(--btn-border);border-radius:10px;background-color:var(--btn-bg);color:var(--btn-fg);font-size:15px;font-weight:500;line-height:1;letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;user-select:none;transition:color var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard)}.btn:before{content:"";position:absolute;inset:-1px;z-index:-1;background-color:var(--btn-hover-bg);transform:translateY(102%);transition:transform .52s var(--ease-expo)}.btn:hover,.btn:focus-visible{color:var(--btn-hover-fg);border-color:var(--btn-hover-bg)}.btn:hover:before,.btn:focus-visible:before{transform:translateY(0)}.btn:active{transform:scale(.985)}.btn-icon{flex:none;transition:transform .42s var(--ease-expo)}.btn:hover .btn-icon{transform:translate(4px)}.btn--brand{--btn-bg: var(--brand-700);--btn-fg: var(--surface-white);--btn-hover-bg: var(--surface-dark)}.btn--light{--btn-bg: var(--brand-700);--btn-fg: var(--surface-white);--btn-border: rgba(124, 147, 196, .55);--btn-hover-bg: var(--surface-light);--btn-hover-fg: var(--surface-dark)}.btn--ghost-dark{--btn-bg: transparent;--btn-fg: var(--text-inverse);--btn-border: rgba(238, 241, 245, .38);--btn-hover-bg: var(--surface-light);--btn-hover-fg: var(--surface-dark)}.btn--compact{min-height:42px;padding:0 18px;font-size:14px}.btn--lg{min-height:60px;padding:0 32px;font-size:16px}.btn--block{width:100%}.link{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;color:var(--brand-700);text-decoration:none;font-weight:500;background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .32s var(--ease-expo),color var(--duration-base) var(--ease-standard)}.link:hover,.link:focus-visible{background-size:100% 1px}.link svg{transition:transform .32s var(--ease-expo)}.link:hover svg{transform:translate(2px,-2px)}.link--inverse{color:#eef1f5d1;font-weight:400}.link--inverse:hover{color:var(--surface-light)}.ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}.ln-i{display:block}html.anim [data-lines]:not(.is-split){visibility:hidden}html.anim [data-lines] .ln-i{transform:translateY(112%);transition:transform var(--duration-line) var(--ease-expo);transition-delay:calc(var(--li, 0) * var(--stagger-line) + var(--delay, 0ms))}html.anim [data-lines].in .ln-i{transform:translateY(0)}html.anim [data-fade]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease-standard),transform .9s var(--ease-expo);transition-delay:var(--delay, 0ms)}html.anim [data-fade].in{opacity:1;transform:none}html.anim [data-img] picture{display:block;clip-path:inset(100% 0 0 0);transition:clip-path var(--duration-image) var(--ease-expo);transition-delay:var(--delay, 0ms)}html.anim [data-img] img{transform:scale(1.14);transition:transform 1.7s var(--ease-expo);transition-delay:var(--delay, 0ms)}html.anim [data-img].in picture{clip-path:inset(0 0 0 0)}html.anim [data-img].in img{transform:scale(1)}[data-draw] path,[data-draw] circle{stroke-dasharray:1;stroke-dashoffset:0}html.anim [data-draw] path,html.anim [data-draw] circle{transition:stroke-dashoffset .8s var(--ease-expo)}html.anim [data-draw]:not(.in) path,html.anim [data-draw]:not(.in) circle{stroke-dashoffset:1}html.anim [data-parallax]{scale:1.12;will-change:transform}.w{transition:opacity .2s linear}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header-h);color:var(--text-inverse);border-bottom:1px solid transparent;transition:transform .6s var(--ease-expo),background-color var(--duration-slow) var(--ease-standard),color var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard)}.site-header[data-tone=light]{color:var(--text-primary)}.site-header.is-scrolled{background-color:#13161bcc;border-bottom-color:var(--border-dark);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.site-header.is-scrolled[data-tone=light]{background-color:#eef1f5db;border-bottom-color:var(--border-light)}.site-header.is-hidden{transform:translateY(-101%)}.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;justify-self:start}.brand-mark{font-size:24px;font-weight:700;letter-spacing:-.045em;line-height:1}.brand-name{display:none;padding-left:14px;border-left:1px solid currentColor;font-size:11px;line-height:1.25;font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.72}@media (min-width: 640px){.brand-name{display:block}}.nav{display:none}@media (min-width: 1024px){.nav{display:flex;align-items:center;gap:36px}}.nav-link{position:relative;padding:8px 0;font-size:15px;font-weight:500;text-decoration:none;opacity:.82;transition:opacity var(--duration-base) var(--ease-standard)}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .42s var(--ease-expo)}.nav-link:hover,.nav-link.is-active{opacity:1}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;align-items:center;gap:12px;justify-self:end}.btn--header{--btn-bg: transparent;--btn-fg: var(--text-inverse);--btn-border: rgba(238, 241, 245, .4);--btn-hover-bg: var(--surface-light);--btn-hover-fg: var(--surface-dark)}.site-header[data-tone=light] .btn--header{--btn-bg: var(--brand-700);--btn-fg: var(--surface-white);--btn-border: var(--brand-700);--btn-hover-bg: var(--surface-dark);--btn-hover-fg: var(--surface-white)}@media (max-width: 399px){.btn--header{padding:0 12px;font-size:13px}}.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:1px solid currentColor;border-radius:10px;cursor:pointer}@media (min-width: 1024px){.menu-btn:not(.menu-close){display:none}}.menu-btn-lines{position:relative;width:18px;height:8px}.menu-btn-lines i{position:absolute;left:0;right:0;height:1.5px;background-color:currentColor}.menu-btn-lines i:first-child{top:0}.menu-btn-lines i:last-child{bottom:0}.menu-btn-lines.is-x i{top:50%;bottom:auto}.menu-btn-lines.is-x i:first-child{transform:rotate(45deg)}.menu-btn-lines.is-x i:last-child{transform:rotate(-45deg)}.menu{position:fixed;inset:0;z-index:200;background-color:var(--surface-dark);color:var(--text-inverse);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease-expo),visibility 0s linear .7s}.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition-delay:0s}.menu-inner{height:100%;display:flex;flex-direction:column;padding-bottom:28px}.menu-top{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;flex:none}.menu-list{margin-block:auto;display:flex;flex-direction:column;gap:6px}.menu-list li{overflow:hidden}.menu-link{display:block;padding:6px 0;font-size:clamp(36px,10vw,56px);line-height:1.05;font-weight:500;letter-spacing:-.035em;text-decoration:none;transform:translateY(110%);transition:transform .8s var(--ease-expo)}.menu.is-open .menu-link{transform:none}.menu.is-open li:nth-child(1) .menu-link{transition-delay:.12s}.menu.is-open li:nth-child(2) .menu-link{transition-delay:.18s}.menu.is-open li:nth-child(3) .menu-link{transition-delay:.24s}.menu.is-open li:nth-child(4) .menu-link{transition-delay:.3s}.hero{position:relative;overflow:hidden;background-color:var(--surface-dark);color:var(--text-inverse)}.hero-media{position:absolute;inset:0 0 auto;height:64svh;overflow:hidden}.hero-media picture,.hero-img{width:100%;height:100%}.hero-img{object-fit:cover;object-position:50% 20%}.hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(19,22,27,.35) 0%,rgba(19,22,27,0) 16%,rgba(19,22,27,0) 34%,rgba(19,22,27,.86) 52%,var(--surface-dark) 62%)}.hero-inner{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-top:44svh;padding-bottom:36px}.hero-eyebrow{color:var(--brand-on-dark);margin-bottom:18px}.hero-title{font-size:var(--fs-hero);line-height:.96;letter-spacing:-.04em;font-weight:500;text-wrap:balance;color:var(--surface-light);max-width:9.8em}.hero-lead{margin-top:24px;color:#eef1f5e6;max-width:48ch}.hero-ctas{display:flex;flex-direction:column;align-self:stretch;gap:12px;margin-top:28px}.hero-micro{margin-top:20px;font-size:var(--fs-sm);line-height:1.5;color:var(--text-muted-inverse);max-width:80ch}@media (min-width: 480px){.hero-ctas{flex-direction:row;flex-wrap:wrap;align-self:auto}}@media (min-width: 768px){.hero-media{height:100%}.hero-img{object-position:70% 10%}.hero-scrim{background:linear-gradient(90deg,#13161be6,#13161bb8 30%,#13161b3d 54%,#13161b00 72%),linear-gradient(180deg,#13161b73,#13161b00 22% 60%,#13161b80)}.hero-inner{min-height:max(100svh,620px);justify-content:flex-end;padding-top:calc(var(--header-h) + 40px);padding-bottom:clamp(40px,7vh,72px)}.hero-eyebrow{margin-bottom:24px}.hero-lead{margin-top:clamp(20px,3.2vh,32px)}.hero-ctas{margin-top:clamp(24px,3.6vh,36px)}}@media (min-width: 1024px){.hero-title{font-size:min(var(--fs-hero),11.5vh)}.hero-lead{font-size:clamp(17px,1.3vw,20px);line-height:1.55}}html.anim .hero:not(.is-loaded) .hero-img{transform:scale(1.1)}html.anim .hero .hero-img{transition:transform 2.2s var(--ease-expo)}html.anim .hero [data-hero]:not([data-lines]){transition:opacity .6s var(--ease-standard),transform .8s var(--ease-expo)}html.anim .hero:not(.is-loaded) [data-hero]:not([data-lines]){opacity:0;transform:translateY(16px)}html.anim .hero .hero-eyebrow{transition-delay:0ms}html.anim .hero .hero-title{--delay: 60ms}html.anim .hero .hero-lead{transition-delay:.26s}html.anim .hero .hero-ctas{transition-delay:.34s}html.anim .hero .hero-micro{transition-delay:.42s}.hero-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none}.fx-light{position:absolute;inset:-35%;background:radial-gradient(ellipse 38% 8% at 58% 22%,rgba(255,214,150,.36),transparent 70%),radial-gradient(ellipse 46% 10% at 66% 38%,rgba(255,226,178,.3),transparent 70%),radial-gradient(ellipse 34% 7% at 52% 50%,rgba(255,205,135,.3),transparent 70%),radial-gradient(ellipse 50% 11% at 70% 62%,rgba(255,222,170,.26),transparent 70%),radial-gradient(ellipse 36% 8% at 60% 76%,rgba(255,210,145,.28),transparent 70%);mix-blend-mode:screen;rotate:-32deg;animation:fx-light 22s ease-in-out infinite alternate}@keyframes fx-light{0%{transform:translate3d(-5%,-7%,0)}to{transform:translate3d(5%,7%,0)}}.hero.is-offscreen .fx-light{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.fx-light{animation:none}}.problem{background-color:var(--surface-light);padding-block:var(--section-y)}.problem-p{margin-top:32px;color:#0f1624e6;max-width:var(--measure-body)}.statement{margin-block:clamp(88px,13vw,208px);font-size:var(--fs-statement);line-height:1.02;letter-spacing:-.035em;font-weight:500;text-wrap:balance}.statement strong{font-weight:inherit}.statement em{font-style:normal;color:var(--brand-700)}@media (min-width: 1024px){.problem-title{grid-column:1 / 11}.problem-p{grid-column:8 / 13;margin-top:64px}.statement+.grid .problem-p{margin-top:0}}.solution{background-color:var(--surface-white);padding-block:var(--section-y);border-top:1px solid var(--border-light)}.solution-lead{margin-top:28px;color:#0f1624db;max-width:var(--measure-lead)}.rows{margin-top:clamp(56px,7vw,112px);border-bottom:1px solid var(--border-light)}.row{position:relative;display:grid;grid-template-columns:minmax(0,1fr);row-gap:12px;padding-block:28px}.row:before,.faq-item:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background-color:var(--border-light);transform-origin:left}html.anim [data-row]:before{transform:scaleX(0);transition:transform 1.2s var(--ease-expo)}html.anim [data-row].in:before{transform:scaleX(1)}html.anim [data-row]>*{opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease-standard) .12s,transform .9s var(--ease-expo) .12s}html.anim [data-row].in>*{opacity:1;transform:none}.row-icon{width:36px;height:36px;fill:none;stroke:var(--brand-700);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.row-icon path,.row-icon circle,.row-icon rect{stroke-dasharray:1;stroke-dashoffset:0}html.anim .row-icon path,html.anim .row-icon circle,html.anim .row-icon rect{transition:stroke-dashoffset 1.1s var(--ease-expo) .35s}html.anim [data-row]:not(.in) .row-icon path,html.anim [data-row]:not(.in) .row-icon circle,html.anim [data-row]:not(.in) .row-icon rect{stroke-dashoffset:1}.row-title{font-size:clamp(24px,2.5vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:500;text-wrap:balance}.row-desc{font-size:var(--fs-body-lg);line-height:1.6;color:var(--text-muted);max-width:48ch}@media (min-width: 1024px){.solution-title{grid-column:1 / 9}.solution-lead{grid-column:9 / 13;align-self:end;margin-top:0}.row{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:center;padding-block:clamp(30px,3.2vw,48px);margin-inline:-24px;padding-inline:24px;transition:background-color var(--duration-slow) var(--ease-standard)}.row:before{left:24px;right:24px}.row-icon{grid-column:1 / 2;width:44px;height:44px}.row-title{grid-column:2 / 8;transition:transform .6s var(--ease-expo)}.row-desc{grid-column:8 / 13}.row:hover{background-color:var(--surface-light)}.row:hover .row-title{transform:translate(12px)}}.project{background-color:var(--surface-dark);color:var(--text-inverse);padding-top:var(--section-y);overflow:clip}.project-head{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.project-title{max-width:17em}.project-stage{padding-top:clamp(48px,6vw,80px)}.showcase{position:relative}.browser{display:flex;flex-direction:column;overflow:hidden;aspect-ratio:16 / 12;border-radius:var(--radius-md);border:1px solid var(--border-dark);background-color:#eff9f0;box-shadow:var(--shadow-device)}.browser-bar{flex:none;height:34px;padding:0 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background-color:var(--surface-darker)}.browser-dots{display:flex;gap:6px}.browser-dots i{width:7px;height:7px;border-radius:50%;background-color:#eef1f566}.browser-url{padding:4px 14px;border-radius:6px;background-color:#eef1f512;font-size:11px;line-height:1.3;letter-spacing:.01em;color:#eef1f5b8}.browser-progress{justify-self:end;width:56px;height:2px;background-color:#eef1f529;overflow:hidden}.browser-progress i{display:block;height:100%;background-color:var(--surface-light);transform:scaleX(0);transform-origin:left}.browser-view,.phone-view{position:relative;flex:1;min-height:0;overflow:hidden}.scroll-shot{width:100%;height:auto;will-change:transform}.phone{position:absolute;right:12px;bottom:-20px;width:clamp(96px,28%,130px);aspect-ratio:9 / 18.5;display:flex;padding:4px;border-radius:20px;background-color:#0b0d10;box-shadow:var(--shadow-device)}.phone-view{border-radius:16px;background-color:#eff9f0}.project-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:52px;padding-top:24px;border-top:1px solid var(--border-dark)}.project-name{font-size:24px;line-height:1.2;letter-spacing:-.015em;font-weight:500}.project-role{margin-top:4px;font-size:var(--fs-sm);color:var(--text-muted-inverse)}.project-desc{font-size:var(--fs-body-lg);line-height:1.6;color:#eef1f5e0;max-width:52ch}.project-link{justify-self:start;color:var(--surface-light);font-weight:500}.project-details{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--col-gap);padding-top:clamp(56px,7vw,96px);padding-bottom:var(--section-y)}.detail{overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border-dark);background-color:#eff9f0}.detail img{width:100%}@media (min-width: 768px){.browser{aspect-ratio:16 / 10}.browser-bar{height:40px;padding:0 16px}.browser-url{font-size:12px}.phone{right:clamp(20px,4vw,56px);bottom:-32px;width:clamp(130px,17vw,220px);padding:6px;border-radius:30px}.phone-view{border-radius:24px}.project-meta{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:start;margin-top:60px}.project-client{grid-column:1 / 4}.project-desc{grid-column:4 / 10}.project-link{grid-column:10 / 13;justify-self:end}.project-details{grid-template-columns:repeat(2,minmax(0,1fr))}.project-details .detail:last-child{margin-top:clamp(40px,6vw,96px)}}@media (min-width: 1024px) and (min-height: 680px){.project-track{height:330vh}.project-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;padding-top:0}.project-stage>.container{padding-top:12px}.browser{aspect-ratio:auto;height:clamp(340px,calc(100vh - 250px),720px)}}.guide{display:grid;grid-template-columns:minmax(0,1fr);background-color:var(--brand-600);color:var(--text-inverse)}.guide-photo{order:-1;aspect-ratio:4 / 5;overflow:hidden;background-color:var(--surface-dark)}.guide-photo picture,.guide-photo img{width:100%;height:100%}.guide-photo img{object-fit:cover;object-position:50% 22%}.guide-panel{padding:clamp(64px,10vw,112px) var(--gutter)}.guide-inner{max-width:600px}.guide-title{color:var(--surface-light)}.guide-text{margin-top:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;gap:22px}.guide-text p{font-size:clamp(18px,1.4vw,20px);line-height:1.6;color:#eef1f5eb;max-width:50ch;text-wrap:pretty}.guide-text .guide-strong{font-size:clamp(21px,1.8vw,26px);line-height:1.35;letter-spacing:-.015em;color:var(--surface-light);max-width:34ch;margin-block:6px;text-wrap:balance}.guide-strong strong{font-weight:500}.signature{width:190px;height:auto;margin-top:clamp(32px,4vw,52px);fill:none;stroke:var(--surface-light);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}html.anim .signature path{transition-duration:.62s}html.anim .signature path:nth-child(1){transition-delay:.3s}html.anim .signature path:nth-child(2){transition-delay:.52s}html.anim .signature path:nth-child(3){transition-delay:.7s;transition-duration:1.1s}html.anim .signature path:nth-child(4){transition-delay:1.35s}html.anim .signature path:nth-child(5){transition-delay:1.75s;transition-duration:.9s}html.anim .signature path:nth-child(6){transition-delay:2.3s;transition-duration:.3s}html.anim .signature path:nth-child(7){transition-delay:2.45s;transition-duration:.3s}html.anim .signature path:nth-child(8){transition-delay:2.6s}html.anim .signature path:nth-child(9){transition-delay:3.05s;transition-duration:.9s}@media (min-width: 1024px){.guide{grid-template-columns:58fr 42fr}.guide-photo{order:0;aspect-ratio:auto;min-height:min(100vh,900px)}.guide-panel{display:flex;align-items:center;padding-block:var(--section-y);padding-left:max(var(--gutter),calc((100vw - var(--container-max) - 2 * var(--gutter)) / 2 + var(--gutter)));padding-right:clamp(48px,7vw,112px)}}.process{background-color:var(--surface-light)}.process-stage{padding-block:var(--section-y)}.process-title{margin-top:24px}.steps{margin-top:clamp(40px,6vw,64px);display:flex;flex-direction:column;gap:56px}.step-scene{aspect-ratio:480 / 440;padding:16px;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--surface-white)}.step{display:flex;flex-direction:column}.step-heading{order:-1;margin-bottom:20px}.step-head{width:100%;display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:none;border:0;padding:0;text-align:left;cursor:default}.step-n{font-size:56px;line-height:1;font-weight:400;letter-spacing:-.05em;color:var(--brand-600);font-variant-numeric:tabular-nums}.step-t{font-size:28px;line-height:1.15;font-weight:500;letter-spacing:-.02em}.step-body p{margin-top:20px;font-size:var(--fs-body-lg);line-height:1.6;color:var(--text-muted);max-width:48ch}.process-cta{margin-top:48px}.process-panel{display:none}.scene{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--text-primary);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;font-family:var(--font-sans)}.scene text{font-size:15px;font-weight:500;fill:var(--text-primary);stroke:none;text-anchor:middle}.scene [style*=--d]{transition:opacity .5s var(--ease-standard),transform .8s var(--ease-expo),stroke-dashoffset 1s var(--ease-expo),fill-opacity .6s var(--ease-standard);transition-delay:calc(var(--d, 0) * 1ms + .2s)}.wave rect{stroke:none;fill:var(--brand-700);transform-box:fill-box;transform-origin:center}.s-line,.s-frame{stroke-dasharray:1;stroke-dashoffset:0}.s-line{stroke:#0f162480}.s-line--photo{stroke:var(--brand-700)}.s-frame,.s-frame--phone{fill:var(--surface-light)}.s-pop rect{fill:var(--surface-light);stroke:#0f16244d}.s-pop--solid rect{fill:var(--brand-600);stroke:var(--brand-600)}.s-pop--solid text{fill:var(--surface-light)}.s-dot{stroke:none;fill:#0f162459}.s-bar,.s-fill{stroke:none;transform-box:fill-box;transform-origin:left center}.s-bar{fill:var(--text-primary)}.s-bar--soft{fill:#0f162438}.s-fill{fill:var(--brand-700)}.s-photo{stroke:none;fill:#3d52882e;transform-box:fill-box;transform-origin:center}.s-tick circle{stroke:none;fill:var(--brand-700)}.s-tick text,.s-check text{text-anchor:start}.s-tick text{font-size:14px}.s-check circle{stroke:#0f162466}.s-check path{stroke:var(--brand-700);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset .5s var(--ease-expo);transition-delay:calc(var(--d, 0) * 1ms + .5s)}.s-check--live circle{fill:var(--brand-700);stroke:var(--brand-700)}.s-check--live path{stroke:var(--surface-light)}html.anim .step:not(.is-active) .scene [style*=--d]{transition-duration:.2s;transition-delay:0ms}html.anim .step:not(.is-active) .wave rect{transform:scaleY(.1)}html.anim .step:not(.is-active) .s-line,html.anim .step:not(.is-active) .s-frame{stroke-dashoffset:1}html.anim .step:not(.is-active) .s-frame{fill-opacity:0}html.anim .step:not(.is-active) .s-pop{opacity:0;transform:translateY(10px)}html.anim .step:not(.is-active) .s-dot{opacity:0}html.anim .step:not(.is-active) .s-bar,html.anim .step:not(.is-active) .s-fill{transform:scaleX(0)}html.anim .step:not(.is-active) .s-photo{opacity:0;transform:scale(.94)}html.anim .step:not(.is-active) .s-tick{opacity:.22}html.anim .step:not(.is-active) .s-check{opacity:0}html.anim .step:not(.is-active) .s-check path{stroke-dashoffset:1;transition-delay:0ms;transition-duration:.2s}@media (min-width: 1024px) and (min-height: 680px){.process-track{height:290vh}.process-stage{position:sticky;top:0;height:100vh;display:flex;align-items:center;padding-block:0}.process-grid{--panel-w: calc((100% - 2 * var(--gutter) - 11 * var(--col-gap)) / 12 * 6 + 5 * var(--col-gap));--panel-h: clamp(420px, calc(100vh - 150px) , 660px);position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--col-gap);align-items:center;min-height:var(--panel-h)}.process-copy{grid-column:1 / 6}.process-title{font-size:var(--fs-h2-compact);line-height:1.08;letter-spacing:-.025em;margin-top:20px}.steps{margin-top:32px;gap:0;border-top:1px solid var(--border-light)}.step{border-bottom:1px solid var(--border-light)}.step-heading{margin-bottom:0}.step-head{flex-direction:row;align-items:baseline;gap:18px;padding:16px 0;cursor:pointer}.step-n{width:34px;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--brand-700)}.step-t{font-size:clamp(22px,1.9vw,28px);color:#0f162480;transition:color var(--duration-slow) var(--ease-standard),transform .6s var(--ease-expo)}.step-head:hover .step-t,.step.is-active .step-t{color:var(--text-primary)}.step-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease-expo)}.step.is-active .step-body{grid-template-rows:1fr}.step-body p{margin-top:0;padding-left:52px;overflow:hidden;min-height:0;font-size:16px;opacity:0;transition:opacity .4s var(--ease-standard)}.step-body p:after{content:"";display:block;height:18px}.step.is-active .step-body p{opacity:1;transition-delay:.15s}.process-cta{margin-top:26px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .4s var(--ease-standard),transform .6s var(--ease-expo),visibility 0s linear .4s}.process-cta.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s}.process-panel,.step-scene{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);width:var(--panel-w);height:var(--panel-h)}.process-panel{display:block;border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--surface-white);overflow:hidden}.step-scene{aspect-ratio:auto;z-index:1;border:0;background:none;border-radius:0;padding:clamp(104px,15vh,136px) 36px 52px;opacity:0;visibility:hidden;transition:opacity .35s var(--ease-standard),visibility 0s linear .35s}.step.is-active .step-scene{opacity:1;visibility:visible;transition-delay:.12s,0s}.numeral{position:absolute;top:26px;left:34px;height:1em;overflow:hidden;font-size:clamp(72px,10vh,104px);line-height:1;font-weight:400;letter-spacing:-.05em;color:var(--brand-600);font-variant-numeric:tabular-nums}.numeral-roll{display:flex;flex-direction:column;transition:transform .9s var(--ease-expo)}.numeral-roll span{display:block;height:1em}.process-bar{position:absolute;left:36px;right:36px;bottom:28px;height:2px;background-color:var(--border-light)}.process-bar i{display:block;height:100%;background-color:var(--brand-700);transform:scaleX(0);transform-origin:left}}.faq{background-color:var(--surface-white);padding-block:var(--section-y-compact);border-top:1px solid var(--border-light)}.faq-title{font-size:var(--fs-h2-compact);line-height:1.1;letter-spacing:-.025em;font-weight:500;text-wrap:balance}.faq-list{margin-top:40px;border-bottom:1px solid var(--border-light)}.faq-item{position:relative}.faq-trigger{width:100%;min-height:72px;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;background:none;border:0;cursor:pointer;text-align:left;font-size:clamp(19px,1.6vw,24px);line-height:1.3;font-weight:500;letter-spacing:-.015em}.faq-trigger>span:first-child{transition:transform .6s var(--ease-expo)}.faq-trigger:hover>span:first-child{transform:translate(8px)}.faq-icon{position:relative;flex:none;width:36px;height:36px;border-radius:50%;border:1px solid rgba(15,22,36,.28);transition:transform .6s var(--ease-expo),background-color var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),color var(--duration-slow) var(--ease-standard)}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background-color:currentColor}.faq-icon:after{transform:rotate(90deg)}.faq-trigger:hover .faq-icon{border-color:var(--brand-700)}.faq-trigger[aria-expanded=true] .faq-icon{transform:rotate(45deg);background-color:var(--brand-700);border-color:var(--brand-700);color:var(--surface-white)}.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease-expo)}.faq-item.is-open .faq-panel,html.no-js .faq-panel{grid-template-rows:1fr}.faq-inner{overflow:hidden;min-height:0}.faq-a{padding:0 60px 30px 0;font-size:17px;line-height:1.65;color:var(--text-muted);max-width:62ch}.faq-more{margin-top:32px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:var(--fs-body-lg);color:var(--text-muted)}.faq-more .link{font-size:inherit}html.anim .faq-item[data-row]>*{transition-delay:0ms}@media (min-width: 1024px){.faq-head{grid-column:1 / 5;position:sticky;top:calc(var(--header-h) + 40px);align-self:start}.faq-col{grid-column:6 / 13}.faq-list{margin-top:0}}.cta{position:relative;overflow:clip;background-color:var(--surface-dark);color:var(--text-inverse);padding-block:var(--section-y)}.cta-title{font-size:var(--fs-hero);line-height:.96;letter-spacing:-.04em;font-weight:500;text-wrap:balance;max-width:12.5em;color:var(--surface-light)}.cta-grid{margin-top:clamp(48px,7vw,112px);row-gap:40px;align-items:end}.cta-photo-wrap{position:relative;max-width:420px}.cta-photo{position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-photo);background-color:var(--surface-darker)}.cta-photo picture,.cta-photo img{width:100%;height:100%}.cta-photo img{object-fit:cover;object-position:50% 30%}.cta-ring circle{fill:none;stroke:#7c93c45c;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0}.cta-ring{position:absolute;left:50%;top:50%;width:168%;max-width:none;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-90deg);overflow:visible;pointer-events:none}html.anim .cta-ring circle{transition-duration:2.4s}.cta-p{color:#eef1f5e6;max-width:46ch;margin-bottom:36px}@media (min-width: 1024px){.cta-photo-wrap{grid-column:1 / 5;max-width:none}.cta-copy{grid-column:7 / 13;padding-bottom:8px}}.footer{background-color:var(--surface-dark);color:var(--text-inverse);border-top:1px solid var(--border-dark);padding-top:clamp(56px,6vw,88px);padding-bottom:28px;overflow:clip}.footer-top{display:grid;grid-template-columns:minmax(0,1fr);gap:40px var(--col-gap)}.footer-summary{font-size:var(--fs-body-lg);line-height:1.55;color:#eef1f5d1;max-width:30ch}.footer-label{margin-bottom:16px;font-size:var(--fs-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted-inverse)}.footer-col ul{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.footer-col .link{font-size:15px}.footer-wordmark{margin-top:clamp(56px,8vw,120px);padding-top:clamp(24px,3vw,44px);border-top:1px solid var(--border-dark);font-size:var(--fit, 13.6vw);line-height:.86;font-weight:500;letter-spacing:-.045em;white-space:nowrap;color:var(--surface-light);user-select:none;padding-bottom:.06em}.footer-wordmark span{display:inline-block}html.anim .footer-wordmark span{transform:translateY(40%);opacity:0;transition:transform 1.4s var(--ease-expo),opacity .9s var(--ease-standard)}html.anim .footer-wordmark.in span{transform:none;opacity:1}.footer-bottom{margin-top:clamp(28px,4vw,48px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:var(--fs-sm);color:var(--text-muted-inverse)}.footer-top-link svg{transition:transform .32s var(--ease-expo)}.footer-top-link:hover svg{transform:translateY(-3px)}@media (min-width: 768px){.footer-top{grid-template-columns:repeat(12,minmax(0,1fr))}.footer-summary{grid-column:1 / 6}.footer-top>:nth-child(2){grid-column:7 / 10}.footer-top>:nth-child(3){grid-column:10 / 13}}.wa-float{position:fixed;z-index:90;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#25d366;color:#fff;box-shadow:0 10px 24px #00000038,0 2px 6px #00000024;transition:opacity .5s var(--ease-standard),transform .6s var(--ease-expo),visibility 0s linear 0s}.wa-float:hover{transform:scale(1.07)}.wa-float:focus-visible{outline:2px solid var(--surface-light);outline-offset:3px;box-shadow:0 0 0 5px var(--surface-dark)}.wa-float svg{position:relative}.wa-float:before{content:"";position:absolute;inset:0;border-radius:50%;background-color:#25d366;opacity:0;animation:wa-pulse 4s ease-out 2.5s infinite}@keyframes wa-pulse{0%{transform:scale(1);opacity:.45}45%{transform:scale(1.75);opacity:0}to{transform:scale(1.75);opacity:0}}html.anim .wa-float:not(.is-ready),.wa-float.is-away{opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);transition:opacity .4s var(--ease-standard),transform .5s var(--ease-expo),visibility 0s linear .4s}@media (min-width: 768px){.wa-float{right:24px;bottom:24px;width:60px;height:60px}}@media print{.wa-float{display:none}}@media (prefers-reduced-motion: reduce){.wa-float:before{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.site-header,.menu{display:none}}
