*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--dark-bg:#0a0d14;--dark-ink:#f4f3ee;--dark-mid:#7880a0;--dark-soft:#3a3f52;--light-bg:#f4f3ee;--light-ink:#0a0d14;--light-mid:#5a5f6e;--light-soft:#9ea0a8;--accent:#1a2a4a;--accent-2:#c8bfa8;--theme-progress:0;--bg:var(--dark-bg);--ink:var(--dark-ink);--mid:var(--dark-mid);--soft:var(--dark-soft);--font-display:"Inter Tight","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;--font-body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--fx-density:1;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1)}body,html{width:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:clip}body{cursor:none;transition:background-color .6s var(--ease-out),color .6s var(--ease-out)}*{cursor:none!important}#cursor-canvas,#grid-canvas,#plexus-canvas{position:fixed;inset:0;pointer-events:none;will-change:transform}#grid-canvas{z-index:0}#plexus-canvas{z-index:1}#cursor-canvas{z-index:9999}main{position:relative;z-index:2}.topbar{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;mix-blend-mode:difference;color:#fff;pointer-events:none}.topbar>*{pointer-events:auto}.topbar .brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.02em;text-transform:uppercase}.topbar .brand-mark-img{width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1)}.topbar .brand small{font-weight:300;font-size:10px;letter-spacing:.4em;opacity:.7;margin-left:2px}.topbar nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:28px;font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:1;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.topbar.nav-hidden nav{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-6px)}.topbar nav a{color:inherit;text-decoration:none;opacity:.85;transition:opacity .3s}.topbar nav a:hover{opacity:1}.topbar .right{display:flex;align-items:center;gap:24px;font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase}.lang-switch{display:flex;gap:2px;padding:5px 10px;border:1px solid rgba(255,255,255,.4);border-radius:100px}.lang-switch button{background:0 0;border:0;color:inherit;font:inherit;padding:2px 8px;opacity:.5;cursor:none;transition:opacity .3s}.lang-switch button.active{opacity:1}.cta-top{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid currentColor;border-radius:100px;text-decoration:none;color:inherit;transition:background .3s,color .3s;position:relative}.cta-top::after{content:"";position:absolute;inset:-4px -6px}@keyframes ctaScaleIn{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes ctaShimmer{0%,15%{background-position:-200% 0}65%,100%{background-position:300% 0}}.cta-top--pricing-enter{animation:ctaScaleIn .9s var(--ease-out) forwards}.cta-top--pricing::before{content:"";position:absolute;inset:0;border-radius:100px;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.28) 50%,transparent 80%) no-repeat;background-size:300% 100%;background-position:-200% 0;animation:ctaShimmer 2.6s ease-in-out infinite;pointer-events:none}.cta-top:hover{background:#fff;color:#000}.cta-top .dot{width:6px;height:6px;border-radius:50%;background:#a8ff78;box-shadow:0 0 8px #a8ff78}.dock{position:fixed;right:32px;top:50%;transform:translateY(-50%) translateX(0);z-index:400;display:flex;flex-direction:column;gap:16px;font-family:var(--font-mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;mix-blend-mode:difference;color:#fff;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.dock a{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;opacity:.24;font-size:0.9em;transition:opacity .4s,font-size .4s;justify-content:flex-end;position:relative}.dock a::after{content:"";position:absolute;inset:-4px -8px}.dock a.active{opacity:1;font-size:1.1em}.dock a:hover{opacity:.9}.dock .label{opacity:1;transform:translateX(0);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.dock a.active .label,.dock a:hover .label{opacity:1;transform:translateX(0)}.dock .tick{width:22px;height:1px;background:currentColor;transition:width .4s var(--ease-out)}.dock a.active .tick{width:40px}@keyframes dockSpotlight{0%{opacity:1}20%{opacity:1;transform:translateY(-50%) translateX(6px)}45%{opacity:1;transform:translateY(-50%) translateX(0)}65%{opacity:1;transform:translateY(-50%) translateX(3px)}100%{opacity:1;transform:translateY(-50%) translateX(0)}}.dock.dock-spotlight{animation:dockSpotlight .7s var(--ease-out) forwards}.dock.dock--hidden{opacity:0;transform:translateY(-50%) translateX(22px);pointer-events:none}@keyframes dockLinkIn{from{opacity:0;transform:translateX(14px)}to{opacity:.24;transform:translateX(0)}}.dock--entering a:first-child{animation:dockLinkIn .45s 0ms var(--ease-out)}.dock--entering a:nth-child(2){animation:dockLinkIn .45s 70ms var(--ease-out)}.dock--entering a:nth-child(3){animation:dockLinkIn .45s .14s var(--ease-out)}.dock--entering a:nth-child(4){animation:dockLinkIn .45s .21s var(--ease-out)}.dock--entering a:nth-child(5){animation:dockLinkIn .45s .28s var(--ease-out)}.dock--entering a:nth-child(6){animation:dockLinkIn .45s .35s var(--ease-out)}.dock--entering a:nth-child(7){animation:dockLinkIn .45s .42s var(--ease-out)}.section{position:relative;min-height:100vh;width:100%;padding:140px 8vw 120px;display:flex;flex-direction:column;justify-content:center}.section[data-theme=dark]{--local-bg:var(--dark-bg);--local-ink:var(--dark-ink);--local-mid:var(--dark-mid);--local-soft:var(--dark-soft);color:var(--dark-ink)}.section[data-theme=light]{--local-bg:var(--light-bg);--local-ink:var(--light-ink);--local-mid:var(--light-mid);--local-soft:var(--light-soft);color:var(--light-ink)}.section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.5;display:flex;align-items:center;gap:14px;margin-bottom:40px}.section-label::before{content:"";width:30px;height:1px;background:currentColor}#hero{min-height:100vh;padding:0 6vw;display:flex;align-items:center;justify-content:center;position:relative;text-align:center}.hero-inner{position:relative;z-index:2;max-width:1400px;width:100%;user-select:none}.hero-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.4em;text-transform:uppercase;opacity:0;color:var(--dark-mid);margin-bottom:32px;animation:fadeUp 1s .2s var(--ease-out) forwards}.hero-title{font-family:var(--font-display);font-weight:600;font-size:clamp(56px, 14vw, 240px);line-height:.85;letter-spacing:-.045em;text-transform:uppercase;color:var(--dark-ink);white-space:nowrap;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.05em}.hero-title .kern-my{display:inline-block;margin-left:.025em}.hero-title .word-ogmyos{display:block;line-height:.85;opacity:0;animation:heroWordIn 1.2s .3s var(--ease-out) forwards}.hero-title .word-creative{display:block;font-weight:300;letter-spacing:clamp(8px, 1.2vw, 28px);font-size:.32em;color:color-mix(in oklab,currentColor 60%,transparent);margin-top:.1em;padding-left:clamp(8px,1.2vw,28px);opacity:0;animation:heroWordIn 1s .72s var(--ease-out) forwards}@keyframes heroWordIn{from{opacity:0;transform:translateY(28px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-title .accent{font-weight:300;font-style:italic;font-family:"Instrument Serif","Cormorant Garamond",serif;color:var(--accent-2);letter-spacing:-.02em;text-transform:none}.hero-baseline{font-family:var(--font-display);font-weight:300;font-size:clamp(18px, 2vw, 26px);line-height:1.35;color:var(--dark-mid);margin-top:40px;max-width:640px;margin-left:auto;margin-right:auto;opacity:0;min-height:2.8em}.hero-baseline .fc{display:inline}.hero-scroll{position:absolute;bottom:44px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--dark-mid);display:flex;flex-direction:column;align-items:center;gap:18px;opacity:0;animation:fadeIn 3.5s .2s linear forwards,scrollBob 2.6s 3.7s var(--ease-in-out) infinite;text-align:center;width:max-content}.hero-scroll .label{display:inline-block;position:relative;padding-bottom:2px}.hero-scroll .label::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to right,transparent,currentColor 50%,transparent);opacity:.6;animation:underSweep 2s var(--ease-in-out) infinite}.scroll-dots{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:4px}.scroll-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.15;animation:dotTravel 2s var(--ease-in-out) infinite}.scroll-dot:first-child{animation-delay:0s}.scroll-dot:nth-child(2){animation-delay:.38s}.scroll-dot:nth-child(3){animation-delay:.76s}@keyframes charGlowIn{0%{opacity:0;text-shadow:none}38%{opacity:1;text-shadow:0 0 8px currentColor,0 0 18px rgba(255,255,255,.35)}100%{opacity:1;text-shadow:none}}@keyframes dotTravel{0%,100%{opacity:.15;transform:scale(1)}30%{opacity:1;transform:scale(1.6);box-shadow:0 0 8px 2px currentColor}65%{opacity:.15;transform:scale(1)}}@keyframes scrollBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}}@keyframes underSweep{0%{transform:translateX(-100%);opacity:0}40%{opacity:.8}100%{transform:translateX(100%);opacity:0}}.hero-mark{position:absolute;right:6vw;bottom:30vh;width:90px;height:90px;background:url("assets/mark-outline.png") no-repeat center/contain;opacity:.15;pointer-events:none;animation:floatMark 8s ease-in-out infinite}@keyframes floatMark{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(2deg)}}#about{background:0 0}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;align-items:start;max-width:1400px;margin:0 auto}.about-lead{font-family:var(--font-display);font-weight:600;font-size:clamp(34px, 4.5vw, 72px);line-height:1.04;letter-spacing:-.025em}.about-lead em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic}.about-body{font-size:17px;line-height:1.65;max-width:520px;opacity:.82}.about-body p+p{margin-top:20px}.about-pillars{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid color-mix(in oklab,currentColor 20%,transparent);padding-top:40px}.pillar{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.pillar-icon{width:48px;height:48px}.pillar-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8;transition:transform .5s var(--ease-out)}.pillar:hover .pillar-icon svg{transform:scale(1.08)}.pillar-title{font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:-.01em}.pillar-desc{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;line-height:1.9;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);pointer-events:none}.pillar:hover .pillar-desc{opacity:.55;transform:translateY(0)}
/* ── Pillar animated icons ─────────────────────────────────── */
.pillar-icon .iv-dot,.pillar-icon .dw-tl-r,.pillar-icon .dw-tl-y,.pillar-icon .dw-tl-g,.pillar-icon .dw-kw,.pillar-icon .dw-bar,.pillar-icon .dw-cursor,.pillar-icon .ed-dot{stroke:none}
.pillar-icon .iv-dot{fill:rgba(210,168,88,.85);animation:iv-pulse 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pillar-icon .iv-arc{fill:none;stroke:rgba(210,168,88,.65);stroke-width:2.5;stroke-dasharray:70;stroke-dashoffset:70}
.pillar:hover .pillar-icon .iv-arc{animation:iv-draw .65s cubic-bezier(.22,1,.36,1) forwards}
@keyframes iv-pulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:.25;transform:scale(1.8)}}
@keyframes iv-draw{to{stroke-dashoffset:0}}
.pillar-icon .dw-tl-r{fill:rgba(255,90,90,.6)}
.pillar-icon .dw-tl-y{fill:rgba(255,185,0,.55)}
.pillar-icon .dw-tl-g{fill:rgba(70,195,80,.55)}
.pillar-icon .dw-kw{fill:rgba(210,168,88,.75)}
.pillar-icon .dw-bar{fill:currentColor;opacity:.22;transform-box:fill-box;transform-origin:left center;transform:scaleX(.3);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}
.pillar:hover .pillar-icon .dw-bar{transform:scaleX(1);opacity:.32}
.pillar-icon .dw-cursor{fill:rgba(210,168,88,.9);animation:dw-blink 1.1s step-end infinite}
@keyframes dw-blink{0%,100%{opacity:1}50%{opacity:0}}
.pillar-icon .ed-dot{fill:rgba(210,168,88,.85)}
.about-bio-trigger{max-width:1400px;margin:56px auto 0}.about-bio-btn{display:inline-flex;align-items:center;gap:12px;background:0 0;border:none;padding:0;color:currentColor;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.42;clip-path:inset(0 100% 0 0);transition:opacity .35s var(--ease-out),clip-path 1.4s var(--ease-out);position:relative}#about-wave-overlay{position:fixed;inset:0;pointer-events:none;z-index:200;opacity:0;transition:opacity .7s ease}#about-wave-overlay.aw--visible{opacity:1}#about-wave-overlay.aw--fade{opacity:0;transition:opacity 1.3s ease}#about-wave-overlay canvas{position:absolute;top:0;left:0}.about-bio-btn::after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:rgba(210,168,88,.65);transition:width .45s var(--ease-out)}.about-bio-btn:hover{opacity:.9}.about-bio-btn:hover::after{width:100%}@keyframes arrow-breathe{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(4px);opacity:.45}}.about-bio-btn-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:rgba(10,13,20,.85);animation:arrow-breathe 2s ease-in-out infinite;transition:transform .45s var(--ease-out),animation 0s}.about-bio-btn[aria-expanded=true] .about-bio-btn-icon{animation:none;transform:rotate(180deg)}.about-bio-btn-sep{opacity:.3}.about-bio-btn-num{opacity:.35}.about-bio-panel{max-height:0;overflow:hidden;opacity:0;transition:max-height .9s var(--ease-out),opacity .4s ease}.about-bio-panel.open{max-height:1100px;opacity:1}.about-bio-inner{display:grid;grid-template-columns:210px 1fr;gap:clamp(48px,7vw,112px);max-width:1400px;margin:52px auto 0;padding-top:48px;border-top:1px solid color-mix(in oklab,currentColor 13%,transparent)}.about-bio-timeline{position:relative;padding-top:2px}.about-bio-timeline::before{content:'';position:absolute;left:5px;top:16px;bottom:16px;width:1px;background:linear-gradient(to bottom,rgba(210,168,88,.35) 0,rgba(210,168,88,.08) 100%)}.abt-step{position:relative;display:flex;align-items:flex-start;gap:16px;padding-bottom:34px;opacity:0;transform:translateX(-12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.abt-step:last-child{padding-bottom:0}.about-bio-panel.open .abt-step{opacity:1;transform:translateX(0)}.about-bio-panel.open .abt-step:first-child{transition-delay:.28s}.about-bio-panel.open .abt-step:nth-child(2){transition-delay:.38s}.about-bio-panel.open .abt-step:nth-child(3){transition-delay:.48s}.about-bio-panel.open .abt-step:nth-child(4){transition-delay:.58s}.about-bio-panel.open .abt-step:nth-child(5){transition-delay:.68s}.abt-dot{flex-shrink:0;width:11px;height:11px;margin-top:3px;border-radius:50%;border:1px solid rgba(210,168,88,.45);background:0 0;transition:background .4s ease,box-shadow .4s ease}.abt-step--current .abt-dot{background:rgba(210,168,88,.88);border-color:rgba(210,168,88,.88);box-shadow:0 0 10px rgba(210,168,88,.35)}.abt-step-label{font-family:var(--font-display);font-weight:500;font-size:13px;letter-spacing:-.01em;margin-bottom:5px}.abt-step-sub{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.4;line-height:1.65}.abt-step-badge{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:100px;border:1px solid rgba(210,168,88,.38);color:rgba(210,168,88,.75);font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;vertical-align:middle;position:relative;top:-1px}.about-bio-text{display:flex;flex-direction:column;gap:20px;padding-top:2px}.about-bio-p{margin:0;font-size:clamp(14px, 1.05vw, 16px);line-height:1.8;opacity:0;transform:translateY(16px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}.about-bio-panel.open .about-bio-p{opacity:.72;transform:translateY(0)}.about-bio-panel.open .about-bio-p:first-child{transition-delay:.32s}.about-bio-panel.open .about-bio-p:nth-child(2){transition-delay:.46s}.about-bio-quote{margin:4px 0 0;padding:20px 22px;border-left:2px solid rgba(210,168,88,.52);background:color-mix(in oklab,rgba(210,168,88,.07) 100%,transparent);border-radius:0 4px 4px 0;font-family:"Instrument Serif",serif;font-style:italic;font-size:clamp(15px, 1.15vw, 18px);line-height:1.72;opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.about-bio-panel.open .about-bio-quote{opacity:.88;transform:translateY(0);transition-delay:.60s}@media (max-width:860px){.about-bio-inner{grid-template-columns:1fr;gap:36px}.about-bio-timeline{display:none}.proj-scroll-hint{display:none}}#services{padding-bottom:160px}.services-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1400px;margin:0 auto 80px}.services-title{font-family:var(--font-display);font-weight:600;font-size:clamp(44px, 6vw, 96px);line-height:.95;letter-spacing:-.035em}.services-title em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:.92em}.services-intro{font-size:16px;line-height:1.6;max-width:420px;opacity:.72}.services-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;width:100%;max-width:1400px;margin:0 auto;background:color-mix(in oklab,currentColor 14%,transparent);border:1px solid color-mix(in oklab,currentColor 14%,transparent);perspective:1400px}.services-grid.has-active .service-card:not(.active){opacity:.45}@media (max-width:860px){.services-grid{grid-template-columns:1fr}}.service-card[data-i="0"]{--card-tint:rgba(210, 168,  89, 0.035);--card-tint-hover:rgba(210, 168,  89, 0.07);--card-tint-back:rgba(210, 168,  89, 0.08);--card-border:rgba(210, 168,  89, 0.55)}.service-card[data-i="1"]{--card-tint:rgba(200, 140, 110, 0.035);--card-tint-hover:rgba(200, 140, 110, 0.07);--card-tint-back:rgba(200, 140, 110, 0.08);--card-border:rgba(200, 140, 110, 0.55)}.service-card[data-i="2"]{--card-tint:rgba(108, 168, 202, 0.035);--card-tint-hover:rgba(108, 168, 202, 0.07);--card-tint-back:rgba(108, 168, 202, 0.08);--card-border:rgba(108, 168, 202, 0.55)}.service-card{position:relative;z-index:1;background:0 0;transition:opacity .5s var(--ease-out),box-shadow .26s ease;min-height:390px;height:390px;position:relative;perspective:1400px;cursor:none;box-shadow:inset 2px 0 0 transparent}.service-card.active,.service-card:hover{box-shadow:inset 2px 0 0 var(--card-border,rgba(244,243,238,.3))}.service-card-inner{position:relative;width:100%;height:100%;transition:transform .9s cubic-bezier(.65,0,.35,1);transform-style:preserve-3d}.service-card.flipped .service-card-inner{transform:rotateY(180deg)}.service-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:44px 36px 36px;background-color:var(--local-bg,var(--bg));background-image:linear-gradient(var(--card-tint,transparent),var(--card-tint,transparent));transition:background-image .35s;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.service-card:hover .service-face.front{background-image:linear-gradient(var(--card-tint-hover,transparent),var(--card-tint-hover,transparent))}.service-face.back{transform:rotateY(180deg) translateZ(1px);background-image:linear-gradient(var(--card-tint-back,transparent),var(--card-tint-back,transparent))}.svc-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.svc-bg canvas{display:block;width:100%;height:100%}.service-face>:not(.svc-bg){position:relative;z-index:1}.service-details-list{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;gap:14px}.service-details-list li{position:relative;padding-left:22px;font-size:14px;line-height:1.5;opacity:.82}.service-details-list li::before{content:"";position:absolute;left:0;top:10px;width:10px;height:1px;background:currentColor}.service-back-foot{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;opacity:.6;border-top:1px solid color-mix(in oklab,currentColor 20%,transparent);padding-top:18px}.service-back-foot .close-x{font-family:var(--font-display);font-size:20px;letter-spacing:0;opacity:.8}.service-num{font-family:var(--font-mono);font-size:10px;letter-spacing:.3em;opacity:.45}.service-icon{width:52px;height:52px;margin-top:22px;display:flex;align-items:center;justify-content:center}.service-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1;fill:none;transition:transform .6s var(--ease-out)}.service-card:hover .service-icon svg{transform:rotate(8deg) scale(1.1)}.service-name{font-family:var(--font-display);font-weight:500;font-size:28px;line-height:1.1;letter-spacing:-.02em;margin-top:32px}.service-desc{font-size:14px;line-height:1.55;opacity:.7;margin-top:14px;max-width:30ch}.service-arrow{position:absolute;top:36px;right:32px;font-size:18px;opacity:.25;transition:opacity .3s,transform .4s var(--ease-out)}.service-card:hover .service-arrow{opacity:1;transform:translate(4px,-4px)}#process{padding-bottom:160px}.process-inner{max-width:1400px;margin:0 auto}.process-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:80px}.process-head-left .section-label{margin-bottom:20px}.process-title{font-family:var(--font-display);font-weight:600;font-size:clamp(44px, 6vw, 96px);line-height:.95;letter-spacing:-.035em}.process-title em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:.92em}.process-intro{font-size:17px;line-height:1.65;opacity:.68;max-width:480px;align-self:end;padding-bottom:6px}.process-timeline{position:relative}.process-timeline::before{content:'';position:absolute;left:18px;top:12px;bottom:12px;width:1px;background:linear-gradient(to bottom,transparent 0,rgba(210,168,88,.22) 6%,rgba(210,168,88,.22) 94%,transparent 100%);pointer-events:none}.process-step--active .process-step-title{animation:stepGlow 1.1s var(--ease-out) forwards}@keyframes stepGlow{0%{text-shadow:none}35%{text-shadow:0 0 22px rgba(244,243,238,.32),0 0 48px rgba(244,243,238,.12)}100%{text-shadow:0 0 8px rgba(244,243,238,.08)}}.process-step:hover .process-step-title{text-shadow:0 0 22px rgba(244,243,238,.28),0 0 48px rgba(244,243,238,.1);transition:text-shadow .35s var(--ease-out)}.process-step{display:grid;grid-template-columns:64px 1fr;gap:0 40px;padding:44px 0;border-bottom:1px solid color-mix(in oklab,currentColor 9%,transparent);position:relative;transition:background .3s}.process-step:first-child{padding-top:0}.process-step:last-child{border-bottom:none;padding-bottom:0}.process-step-aside{display:flex;flex-direction:column;align-items:center;padding-top:8px;gap:8px}.process-step-dot{width:11px;height:11px;border-radius:50%;border:1px solid rgba(210,168,88,.5);background:var(--dark-bg);flex-shrink:0;position:relative;z-index:1;transition:background .35s var(--ease-out),border-color .35s,box-shadow .35s}.process-step:hover .process-step-dot{background:rgba(210,168,88,.75);border-color:rgba(210,168,88,.9);box-shadow:0 0 12px 3px rgba(210,168,88,.25)}.process-step-dot--opt{border-color:rgba(210,168,88,.28);border-style:dashed}.process-step-num{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;opacity:.3;writing-mode:vertical-lr;text-orientation:mixed;margin-top:4px}.process-step-tagline{position:absolute;left:3px;top:50%;transform:translateY(-50%);writing-mode:vertical-lr;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);white-space:nowrap;user-select:none;pointer-events:none;opacity:0;transition:opacity .45s var(--ease-out)}.process-step:hover .process-step-tagline{opacity:.62}.process-step-content{display:grid;grid-template-columns:minmax(0,560px) 300px;gap:48px;justify-content:space-between;align-items:start}.process-step-text{display:flex;flex-direction:column;gap:0}.process-step-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-bottom:16px}.process-step-title{font-family:var(--font-display);font-weight:600;font-size:clamp(30px, 3.2vw, 48px);letter-spacing:-.03em;line-height:1}.process-step-tags{display:flex;gap:7px;flex-wrap:wrap}.process-step-tags a{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:3px 10px;border:1px solid color-mix(in oklab,currentColor 16%,transparent);border-radius:100px;opacity:.45;color:inherit;text-decoration:none;transition:opacity .2s ease,border-color .2s ease;position:relative}.process-step-tags a::after{content:"";position:absolute;inset:-4px -6px}.process-step-tags a:hover{opacity:.85;border-color:color-mix(in oklab,currentColor 38%,transparent)}.process-step-duration{display:inline-block;margin-top:20px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.25em;text-transform:uppercase;color:rgba(210,168,88,.72)}.process-badge{font-family:var(--font-mono);font-size:8px;letter-spacing:.25em;text-transform:uppercase;padding:3px 10px;border:1px solid rgba(210,168,88,.32);border-radius:100px;color:rgba(210,168,88,.65);align-self:center}.process-visual{width:300px;height:175px;border-radius:6px;border:1px solid color-mix(in oklab,currentColor 9%,transparent);overflow:hidden;flex-shrink:0;transition:border-color .4s var(--ease-out),transform .4s var(--ease-out)}.process-step:hover .process-visual{border-color:rgba(210,168,88,.22);transform:translateY(-3px)}.process-visual svg{display:block;width:100%;height:100%}.conc-card,.conc-hero,.deliv-rocket,.deliv-spark,.disc-cd,.disc-cg,.disc-mag,.disc-n,.maint-arrows,.maint-rdot{transform-box:fill-box;transform-origin:center}.maint-arrows{transform-box:view-box;transform-origin:150px 88px}.process-step:hover .disc-n{animation:discNodePulse 1.8s ease-in-out infinite;animation-delay:var(--di, 0s)}@keyframes discNodePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(2);opacity:.5}}.process-step:hover .disc-cg{animation:discGlowPulse 1.8s ease-in-out infinite}@keyframes discGlowPulse{0%,100%{opacity:1}50%{opacity:3;transform:scale(1.25)}}.process-step:hover .disc-cd{animation:discCenterPulse 1.4s ease-in-out infinite}@keyframes discCenterPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}.process-step:hover .disc-mag{animation:discMagBreathe 2.2s ease-in-out infinite}@keyframes discMagBreathe{0%,100%{transform:scale(1) translate(0,0)}50%{transform:scale(1.1) translate(-2px,-2px)}}.process-step:hover .conc-card{animation:concCardFloat 2s ease-in-out infinite;animation-delay:var(--ci, 0s)}@keyframes concCardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.process-step:hover .conc-hero{animation:concHeroShimmer 3s ease-in-out infinite}@keyframes concHeroShimmer{0%,100%{opacity:1}50%{opacity:.55}}.dev-bar{transform-origin:left center}.process-step:hover .dev-bar{animation:devBarFill 2.2s var(--ease-out) infinite}@keyframes devBarFill{0%{transform:scaleX(1)}55%{transform:scaleX(1.4)}80%{transform:scaleX(1.4)}100%{transform:scaleX(1)}}.process-step:hover .deliv-rocket{animation:delivFloat 2s ease-in-out infinite}@keyframes delivFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.process-step:hover .deliv-spark{animation:delivSparkle 1.4s ease-in-out infinite;animation-delay:var(--si, 0s)}@keyframes delivSparkle{0%,100%{opacity:var(--so, .4);transform:scale(1)}50%{opacity:1;transform:scale(2)}}.process-step:hover .maint-arrows{animation:maintRotate 5s linear infinite}@keyframes maintRotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.process-step:hover .maint-rdot{animation:maintDotPulse 2s ease-in-out infinite;animation-delay:var(--mi, 0s)}@keyframes maintDotPulse{0%,100%{transform:scale(1);opacity:var(--mo, .3)}50%{transform:scale(2.2);opacity:.9}}@media (max-width:1100px){.process-step-content{grid-template-columns:1fr;gap:28px}.process-visual{width:100%;height:auto;aspect-ratio:300/175}}@media (max-width:860px){.process-head{grid-template-columns:1fr;gap:24px}.process-step{grid-template-columns:48px 1fr;gap:0 24px}.process-timeline::before{left:13px}}#projects.section--projects{padding:0;height:400vh;min-height:unset;display:block}.proj-stage{position:sticky;top:0;height:100vh;width:100%;overflow:hidden}.proj-scroll-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:10;animation:projScrollBob 2.8s var(--ease-in-out) infinite;opacity:1;transition:opacity .6s var(--ease-out)}.proj-scroll-hint--hidden{opacity:0}@keyframes projScrollBob{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8.8px)}}.proj-scroll-mouse{width:26px;height:42px;border:1.5px solid rgba(255,255,255,.55);border-radius:13px;display:flex;justify-content:center;padding-top:7px}.proj-scroll-wheel{width:3px;height:7px;background:#fff;border-radius:2px;animation:projScrollWheel 1.6s var(--ease-in-out) infinite}@keyframes projScrollWheel{0%{transform:translateY(0);opacity:1}60%{transform:translateY(14px);opacity:0}61%{transform:translateY(0);opacity:0}100%{transform:translateY(0);opacity:1}}.proj-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.proj-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:contrast(1.08) saturate(1.06);opacity:0;transform:scale(1.08);will-change:opacity;transition:none;-webkit-mask-image:radial-gradient(ellipse 74% 70% at 52% 46%,black 22%,rgba(0,0,0,.88) 42%,rgba(0,0,0,.50) 60%,rgba(0,0,0,.15) 74%,transparent 88%);mask-image:radial-gradient(ellipse 74% 70% at 52% 46%,black 22%,rgba(0,0,0,.88) 42%,rgba(0,0,0,.50) 60%,rgba(0,0,0,.15) 74%,transparent 88%)}#proj-bg-img-1{filter:blur(4px) brightness(.22) saturate(.4) contrast(1.1)}#proj-bg-img-2{filter:blur(4px) brightness(.42) saturate(.58) contrast(1.05);object-position:center 25%;-webkit-mask-image:radial-gradient(ellipse 78% 72% at 52% 42%,black 25%,rgba(0,0,0,.85) 44%,rgba(0,0,0,.45) 62%,rgba(0,0,0,.12) 76%,transparent 90%);mask-image:radial-gradient(ellipse 78% 72% at 52% 42%,black 25%,rgba(0,0,0,.85) 44%,rgba(0,0,0,.45) 62%,rgba(0,0,0,.12) 76%,transparent 90%)}#proj-bg-img-3{filter:blur(4px) brightness(.24) saturate(.45) contrast(1.08);object-position:center 35%;-webkit-mask-image:radial-gradient(ellipse 76% 70% at 50% 50%,black 22%,rgba(0,0,0,.85) 42%,rgba(0,0,0,.48) 60%,rgba(0,0,0,.13) 75%,transparent 88%);mask-image:radial-gradient(ellipse 76% 70% at 50% 50%,black 22%,rgba(0,0,0,.85) 42%,rgba(0,0,0,.48) 60%,rgba(0,0,0,.13) 75%,transparent 88%)}.proj-blob{position:absolute;border-radius:50%;filter:blur(90px)}.proj-blob--a{width:60vw;height:55vw;left:-18vw;top:5%;background:radial-gradient(circle,rgba(170,105,32,.38) 0,transparent 68%)}.proj-blob--b{width:50vw;height:48vw;right:-12vw;bottom:-8%;background:radial-gradient(circle,rgba(110,38,38,.35) 0,transparent 68%)}.proj-blob--c{width:35vw;height:30vw;right:15vw;top:-8%;background:radial-gradient(circle,rgba(100,80,30,.22) 0,transparent 65%)}.proj-header{position:absolute;top:clamp(72px,11vh,128px);left:8vw;z-index:3;will-change:opacity,transform}.proj-header .section-label{margin-bottom:10px}.proj-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(26px, 3vw, 48px);line-height:1;letter-spacing:-.03em}.proj-headline em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:.95em}.proj-arc-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;color:rgba(210,168,88,.95)}.pd-ring{r:6px;fill:none;stroke:currentColor;stroke-width:1;stroke-opacity:0;transform-box:fill-box;transform-origin:center;pointer-events:none}.proj-arc-svg.dot-resting .pd-ring{animation:pd-ripple 2.8s ease-out infinite}.proj-arc-svg.dot-resting #pd-ring-2{animation-delay:1.4s}@keyframes pd-ripple{0%{transform:scale(1);stroke-opacity:0.28}100%{transform:scale(7);stroke-opacity:0}}#pd-glow{transform-box:fill-box;transform-origin:center}.proj-arc-svg.dot-resting #pd-glow{animation:pd-glow-pulse 2.8s ease-in-out infinite}@keyframes pd-glow-pulse{0%,100%{opacity:.06;transform:scale(1)}50%{opacity:.18;transform:scale(1.45)}}.proj-node-label{position:absolute;z-index:4;width:220px;opacity:0;pointer-events:none;transform:translateY(-50%) translateX(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out);color:var(--dark-ink)}.proj-node-label[data-side=left]{text-align:right;transform:translateY(-50%) translateX(-14px)}.proj-node-label[data-side=right]{text-align:left;transform:translateY(-50%) translateX(14px)}.proj-node-label.pnl--visible{opacity:1;pointer-events:auto}.proj-node-label.pnl--visible[data-side=left]{transform:translateY(-50%) translateX(0)}.proj-node-label.pnl--visible[data-side=right]{transform:translateY(-50%) translateX(0)}.proj-node-label.pnl--dim{opacity:.28!important}.pnl-num{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.38em;text-transform:uppercase;opacity:.42;margin-bottom:7px}.pnl-cat{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;opacity:.32;margin-bottom:13px}.pnl-name{font-family:var(--font-display);font-weight:600;font-size:clamp(26px, 3.2vw, 52px);line-height:.88;letter-spacing:-.04em;margin-bottom:18px}.pnl-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:inherit;text-decoration:none;opacity:.38;border-bottom:1px solid currentColor;padding-bottom:3px;transition:opacity .3s}.pnl-cta:hover{opacity:1}.pnl-arrow{transition:transform .35s var(--ease-out)}.pnl-cta:hover .pnl-arrow{transform:translate(3px,-3px)}.proj-counter{position:absolute;bottom:clamp(28px,4.5vh,44px);left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;display:flex;align-items:center;gap:10px;opacity:.28;z-index:3;color:var(--dark-ink)}.proj-sep{opacity:.45}.proj-viewer{position:fixed;z-index:650;pointer-events:none;opacity:0;transform:translateY(-50%) scale(.9);transition:opacity .3s var(--ease-out),transform .4s var(--ease-out);width:320px;height:240px;border-radius:3px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.06)}.proj-viewer.visible{opacity:1;transform:translateY(-50%) scale(1)}.proj-viewer-bg{position:absolute;inset:0;transition:background .45s var(--ease-out)}.proj-viewer-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0,transparent 55%)}.proj-viewer-info{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;color:#fff}.proj-viewer-cat{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;opacity:.62;margin-bottom:4px}.proj-viewer-name{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.02em}.proj-viewer-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.52)}@media (max-width:860px){#projects.section--projects{height:auto;min-height:100vh}.proj-stage{position:relative;height:auto;padding:100px 6vw 80px}#projects .proj-header,#projects .proj-node-label,#projects .proj-stage{color:var(--light-ink)!important}.proj-header{position:relative;top:auto;left:auto;margin-bottom:40px;opacity:1!important;transform:none!important}.proj-arc-svg{display:none}.proj-counter{display:none}.proj-viewer{display:none}.proj-node-label{position:relative;width:100%;opacity:1!important;transform:none!important;text-align:left!important;margin-bottom:48px;pointer-events:auto}.proj-node-label.pnl--dim{opacity:1!important}.proj-node-label+.proj-node-label{border-top:1px solid color-mix(in oklab,currentColor 15%,transparent);padding-top:32px}}a{color:inherit;text-decoration:none}#pricing{padding-bottom:160px}.pricing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1400px;margin:0 auto 80px}.pricing-title{font-family:var(--font-display);font-weight:600;font-size:clamp(44px, 6vw, 96px);line-height:.95;letter-spacing:-.035em}.pricing-title em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:.92em}.pricing-intro{font-size:16px;line-height:1.6;max-width:400px;opacity:.65}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1400px;margin:0 auto;background:0 0;border:none}@media (max-width:860px){.pricing-grid{grid-template-columns:1fr}.pricing-head{flex-direction:column;align-items:flex-start}}.pricing-card{background:color-mix(in oklab,currentColor 4%,var(--local-bg,var(--bg)));border:1px solid color-mix(in oklab,currentColor 12%,transparent);border-radius:16px;padding:44px 40px 40px;display:flex;flex-direction:column;gap:0;transition:background .3s;position:relative}.pricing-card--featured{background:color-mix(in oklab,#7b61ff 10%,var(--local-bg,var(--bg)));border-color:color-mix(in oklab,#7b61ff 35%,transparent)}.pricing-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.pricing-plan{font-family:var(--font-mono);font-size:10px;letter-spacing:.35em;text-transform:uppercase;opacity:.55}.pricing-dot{width:7px;height:7px;border-radius:50%;display:block;box-shadow:0 0 8px currentColor}.pricing-card--featured .pricing-dot{animation:dotPulse 2.2s ease-in-out infinite}@keyframes dotPulse{0%,100%{transform:scale(1);box-shadow:0 0 6px 1px rgba(123,97,255,.6)}50%{transform:scale(1.45);box-shadow:0 0 14px 4px rgba(123,97,255,.35)}}.pricing-price{font-family:var(--font-display);font-weight:600;font-size:clamp(48px, 5vw, 72px);letter-spacing:-.04em;line-height:1}.pricing-currency{font-size:.5em;font-weight:300;opacity:.7;vertical-align:super}.pricing-note{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.4;margin-top:10px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid color-mix(in oklab,currentColor 15%,transparent)}.pricing-features{list-style:none;display:flex;flex-direction:column;gap:20px;flex:1;margin-bottom:40px}.pricing-features li{display:flex;align-items:flex-start;gap:14px;font-size:14px;line-height:1.5}.pricing-features li svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;stroke:none;fill:#4ade80;opacity:.9}.pricing-features .li--option svg{fill:#d4a24c;opacity:.75}.pricing-features .li--option>span{opacity:.5}.pricing-features .li--option>span strong::after{content:' â€”';font-weight:300;opacity:.5}.pricing-features li strong{font-weight:500;display:block;font-family:var(--font-display);font-size:14px;letter-spacing:-.01em}.pricing-features li span{opacity:.75}.pricing-features li span small{display:block;font-size:11.5px;opacity:.45;margin-top:2px;padding-left:1px;font-weight:400;letter-spacing:.01em}.pricing-cta{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid color-mix(in oklab,currentColor 18%,transparent);font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:.01em;color:inherit;text-decoration:none;opacity:.7;transition:opacity .3s,padding .4s var(--ease-out)}.pricing-cta:hover{opacity:1;padding-left:8px}.pricing-cta span{transition:transform .4s var(--ease-out)}.pricing-cta:hover span{transform:translateX(6px)}.pricing-tagline{font-family:var(--font-display);font-size:13px;font-weight:500;letter-spacing:.01em;color:currentColor;opacity:.72;margin-bottom:6px}.pricing-card-mention{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.38;margin-top:20px;margin-bottom:32px;padding:8px 12px;border:1px solid color-mix(in oklab,currentColor 15%,transparent);display:block;text-align:center}.pricing-maintenance{margin-top:auto;padding-top:24px;border-top:1px solid color-mix(in oklab,currentColor 15%,transparent)}.pricing-maintenance-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;opacity:.45;margin-bottom:12px}.pricing-maintenance-body{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;font-size:14px}.pricing-maintenance-details{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12.5px;line-height:1.45;opacity:.6}.pricing-maintenance-price{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.02em;opacity:1;line-height:1}.pricing-maintenance-price em{font-style:normal;font-size:.55em;font-weight:300;vertical-align:super}.pricing-maintenance-price small{font-size:.45em;font-weight:300;opacity:.6;letter-spacing:.05em}.pricing-maintenance-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.pricing-maintenance-not-included{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;opacity:.35}.pricing-maintenance-included{font-family:var(--font-mono);font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:#d4a24c;text-shadow:0 0 8px rgba(212,162,76,.8),0 0 20px rgba(212,162,76,.4);animation:includedPulse 3s ease-in-out infinite}@keyframes includedPulse{0%,100%{text-shadow:0 0 8px rgba(212,162,76,.8),0 0 20px rgba(212,162,76,.4);opacity:1}50%{text-shadow:0 0 14px #d4a24c,0 0 32px rgba(212,162,76,.6);opacity:.85}}.pricing-disclaimer{max-width:680px;margin:56px auto 0;font-family:var(--font-body);font-size:13px;font-weight:400;line-height:1.9;letter-spacing:.01em;opacity:.62;text-align:center;padding-top:32px;border-top:1px solid color-mix(in oklab,currentColor 14%,transparent)}#faq{padding-bottom:160px}.faq-head{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;max-width:1400px;margin:0 auto 60px;align-items:end}.faq-title{font-family:var(--font-display);font-weight:600;font-size:clamp(44px, 6vw, 96px);line-height:.95;letter-spacing:-.035em}.faq-title em{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400}.faq-intro{font-size:16px;opacity:.7;line-height:1.55}.faq-personas{max-width:1400px;margin:0 auto 44px;display:flex;flex-wrap:wrap;gap:10px;opacity:0;transform:translateY(-12px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.faq-personas.faq-personas--in{opacity:1;transform:translateY(0)}.faq-persona-btn{padding:8px 20px;border-radius:100px;border:1px solid color-mix(in oklab,currentColor 22%,transparent);background:0 0;color:inherit;font-family:var(--font-body);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:none;opacity:.55;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),color .25s var(--ease-out),opacity .25s var(--ease-out);position:relative}.faq-persona-btn::after{content:"";position:absolute;inset:-4px -6px}.faq-persona-btn:hover{opacity:.9;border-color:color-mix(in oklab,currentColor 45%,transparent)}.faq-persona-btn.active{background:#d4a24c;border-color:#d4a24c;color:#0a0d14;opacity:1}.faq-list{max-width:1400px;margin:0 auto;border-top:1px solid color-mix(in oklab,currentColor 18%,transparent);transition:opacity .18s ease,transform .18s ease}.faq-list.faq-switching{opacity:0;transform:translateY(8px);pointer-events:none}.faq-item{border-bottom:1px solid color-mix(in oklab,currentColor 18%,transparent);overflow:hidden}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:32px 8px;background:0 0;border:0;color:inherit;font-family:var(--font-display);font-weight:400;font-size:clamp(22px, 2.4vw, 34px);letter-spacing:-.02em;text-align:left;cursor:none;transition:padding .4s var(--ease-out)}.faq-item.open .faq-q{padding-bottom:18px}.faq-item:hover .faq-q{padding-left:24px}.faq-q .plus{flex-shrink:0;width:24px;height:24px;position:relative;transition:transform .5s var(--ease-out)}.faq-q .plus::after,.faq-q .plus::before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:currentColor;transform:translateY(-50%);transition:transform .5s var(--ease-out)}.faq-q .plus::after{transform:translateY(-50%) rotate(90deg)}.faq-item.open .faq-q .plus::after{transform:translateY(-50%) rotate(0)}.faq-item.open .faq-q .plus{transform:rotate(180deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .6s var(--ease-out)}.faq-a-inner{padding:0 8px 32px;font-size:16px;line-height:1.7;max-width:100%;opacity:.8}#contact{padding-bottom:80px;padding-top:160px}.contact-inner{max-width:1400px;margin:0 auto}.contact-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.55;margin-bottom:40px;display:flex;align-items:center;gap:14px}.contact-eyebrow::before{content:"";width:30px;height:1px;background:currentColor}.contact-title{font-family:var(--font-display);font-weight:700;font-size:clamp(64px, 11vw, 180px);line-height:.9;letter-spacing:-.045em}.contact-title em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:.9em}.contact-split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(48px,7vw,112px);margin-top:56px;padding-top:52px;border-top:1px solid color-mix(in oklab,currentColor 14%,transparent);align-items:start}.contact-left{display:flex;flex-direction:column;gap:28px;padding-left:22px;border-left:1px solid color-mix(in oklab,currentColor 18%,transparent);position:sticky;top:100px}.contact-left-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;opacity:.38;display:block}.contact-reassurance-text{font-family:var(--font-display);font-weight:300;font-size:clamp(15px, 1.4vw, 19px);line-height:1.6;letter-spacing:-.01em;opacity:.72}.contact-reassurance-text em{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;opacity:1}.contact-reassurance-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.contact-reassurance-tags li{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;padding:5px 13px;border-radius:100px;border:1px solid color-mix(in oklab,currentColor 20%,transparent);opacity:.48;transition:opacity .3s,border-color .3s}.contact-reassurance-tags li:hover{opacity:.82}.contact-social-strip{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:48px;margin-top:64px;padding-top:32px;border-top:1px solid color-mix(in oklab,currentColor 12%,transparent)}.contact-meta{display:flex;flex-direction:column;gap:28px}.contact-meta-label{font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.38;white-space:nowrap;display:block}.contact-social-icons{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:0}.contact-social-link{display:inline-flex;align-items:center;gap:10px;padding:10px 28px;color:inherit;text-decoration:none;border-right:1px solid color-mix(in oklab,currentColor 12%,transparent);opacity:.38;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.contact-social-link:first-child{padding-left:0}.contact-social-link:last-child{border-right:none}.contact-social-link:hover{opacity:1;transform:translateY(-2px)}.contact-social-link svg{width:16px;height:16px;flex-shrink:0;transition:transform .35s var(--ease-out)}.contact-social-link span{font-family:var(--font-display);font-weight:400;font-size:clamp(13px, 1.1vw, 15px);letter-spacing:-.01em}.contact-body{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;margin-top:80px;align-items:end}.contact-cta-row{display:flex;flex-direction:column;gap:32px}.contact-email{font-family:var(--font-display);font-weight:400;font-size:clamp(22px, 2.2vw, 30px);text-decoration:none;color:inherit;border-bottom:1px solid currentColor;padding-bottom:8px;display:inline-block;width:fit-content;transition:opacity .3s}.contact-email:hover{opacity:.6}.contact-form{position:relative;display:flex;flex-direction:column}.cf-fields{display:flex;flex-direction:column;gap:38px;transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.cf-field{position:relative;display:flex;flex-direction:column;gap:10px}.cf-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);opacity:.55;transition:opacity .3s,color .3s}.cf-field:focus-within .cf-label{opacity:1;color:rgba(210,168,88,.7)}.cf-editable{-webkit-appearance:none;appearance:none;background:0 0;border:none;border-radius:0;display:block;width:100%;resize:none;min-height:1.6em;padding:2px 0 12px;color:rgba(244,243,238,.85);font-family:var(--font-display);font-weight:400;font-size:clamp(15px, 1.4vw, 18px);line-height:1.6;outline:0;caret-color:rgba(244,243,238,0.6);word-break:break-word}.cf-editable--multi{min-height:5.5em}.cf-editable::placeholder{color:var(--mid);opacity:.35}.cf-editable::selection{background:rgba(255,255,255,.1)}select.cf-editable{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23f4f3ee' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 0 center;background-size:16px 16px;padding-right:20px;cursor:pointer;position:relative}select.cf-editable:hover{color:#f4f3ee}select.cf-editable:focus{outline:0}select.cf-editable option{color:#0a0d14;background:#f4f3ee;padding:8px 12px;border:none;font-family:var(--font-display);font-size:clamp(15px, 1.4vw, 18px)}select.cf-editable option:checked{background:linear-gradient(rgba(210,168,88,.6),rgba(210,168,88,.6));color:#0a0d14}select.cf-editable option:hover{background:rgba(210,168,88,.8);color:#0a0d14}.cf-line{display:block;height:1px;background:var(--soft);position:relative;pointer-events:none}.cf-line::after{content:'';position:absolute;inset:0;background:rgba(210,168,88,.75);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}.cf-field:focus-within .cf-line::after{transform:scaleX(1)}.cf-field--error .cf-editable{color:rgba(244,243,238,.85)}.cf-field--error .cf-label{color:rgba(220,60,60,.85)!important;opacity:1!important}.cf-field--error .cf-line{background:rgba(220,60,60,.45)}.cf-field--error .cf-line::after{background:rgba(220,60,60,.7)}.cf-honeypot{position:absolute;opacity:0;pointer-events:none;height:0;width:0}.cf-actions{display:flex;flex-direction:column;gap:20px;padding-top:8px}.cf-submit-btn{display:inline-flex;align-items:center;gap:18px;background:0 0;border:none;padding:0 0 16px 0;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:clamp(20px, 2vw, 28px);letter-spacing:-.02em;cursor:none;position:relative;width:fit-content}.cf-submit-btn::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:rgba(210,168,88,.35);transform-origin:left;transition:background .4s var(--ease-out),transform .4s var(--ease-out)}.cf-submit-btn:hover::after{background:rgba(210,168,88,.9)}.cf-submit-circle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(210,168,88,.3);transition:transform .4s var(--ease-out),border-color .4s,background .4s}.cf-submit-btn:hover .cf-submit-circle{transform:translateX(5px);border-color:rgba(210,168,88,.75);background:rgba(210,168,88,.07)}.cf-envelope{width:18px;height:15px;display:block;overflow:visible}.env-letter{opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s var(--ease-out)}.env-flap{transform-box:fill-box;transform-origin:50% 0%;transition:transform .42s var(--ease-out)}.cf-submit-btn:hover .env-flap{transform:scaleY(-1)}.cf-submit-btn:hover .env-letter{opacity:.6;transform:translateY(-1px)}.contact-form.cf--sending .cf-envelope{animation:env-fly .55s var(--ease-out) forwards}@keyframes env-fly{0%{transform:translate(0,0) rotate(0);opacity:1}60%{transform:translate(6px,-14px) rotate(8deg);opacity:1}100%{transform:translate(14px,-28px) rotate(14deg);opacity:0}}.cf-estimate-link{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;border-radius:100px;border:1px solid rgba(210,168,88,.5);background:rgba(210,168,88,.05);font-family:var(--font-display);font-weight:500;font-size:clamp(13px, 1.15vw, 15px);letter-spacing:.01em;color:rgba(210,168,88,.92);text-decoration:none;width:fit-content;position:relative;transition:color .4s var(--ease-out),border-color .4s,background .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .4s;animation:estimateGlow 3.2s ease-in-out infinite}.cf-estimate-link::after{content:"";position:absolute;inset:-4px -6px}@keyframes estimateGlow{0%,100%{box-shadow:0 0 0 0 rgba(210,168,88,0)}50%{box-shadow:0 0 18px 4px rgba(210,168,88,.18)}}.cf-estimate-link:hover{color:#0a0d14;border-color:rgba(210,168,88,.95);background:rgba(210,168,88,.9);box-shadow:0 0 28px 6px rgba(210,168,88,.22);transform:translateY(-2px);animation:none}.cf-estimate-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:rgba(210,168,88,.85);box-shadow:0 0 7px 2px rgba(210,168,88,.55);flex-shrink:0;animation:dotBlink 2.4s ease-in-out infinite}@keyframes dotBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}.cf-estimate-link:hover .cf-estimate-dot{background:#0a0d14;box-shadow:none;animation:none}.cf-estimate-badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.6;padding:2px 7px;border:1px solid currentColor;border-radius:100px;transition:opacity .3s}.cf-estimate-link:hover .cf-estimate-badge{opacity:.75}.cf-estimate-arrow{display:inline-block;font-size:1.05em;transition:transform .4s var(--ease-out)}.cf-estimate-link:hover .cf-estimate-arrow{transform:translate(4px,-4px)}.cf-confirmation{position:absolute;inset:0;display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(210,168,88,.85);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}.cf-confirmation svg{width:22px;height:22px;flex-shrink:0;stroke:rgba(210,168,88,0.85)}.contact-form.cf--sent .cf-fields{opacity:0;transform:translateY(-10px);pointer-events:none}.contact-form.cf--sent .cf-confirmation{opacity:1;transform:translateY(0);pointer-events:auto}.btn-primary{display:inline-flex;align-items:center;gap:14px;padding:20px 32px;background:var(--accent);color:#fff;border:0;border-radius:100px;font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.02em;text-decoration:none;cursor:none;width:fit-content;position:relative;overflow:hidden;transition:transform .4s var(--ease-out)}.btn-primary:hover{transform:translateY(-2px)}.btn-primary .arrow{transition:transform .4s var(--ease-out)}.btn-primary:hover .arrow{transform:translateX(4px)}.contact-meta{display:flex;flex-direction:column;gap:28px}.contact-meta-label{font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.45;display:block}.contact-social-icons{display:flex;flex-direction:column;gap:4px}.contact-social-link{display:inline-flex;align-items:center;gap:16px;padding:12px 0;color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in oklab,currentColor 10%,transparent);opacity:.45;transition:opacity .35s var(--ease-out),padding-left .35s var(--ease-out)}.contact-social-link:last-child{border-bottom:none}.contact-social-link:hover{opacity:1;padding-left:8px}.contact-social-link svg{width:18px;height:18px;flex-shrink:0;transition:transform .35s var(--ease-out)}.contact-social-link:hover svg{transform:scale(1.12)}.contact-social-link span{font-family:var(--font-display);font-weight:400;font-size:clamp(14px, 1.3vw, 17px);letter-spacing:-.01em}.footer{margin-top:120px;padding-top:40px;border-top:1px solid color-mix(in oklab,currentColor 18%,transparent);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;text-transform:uppercase;opacity:.55}.footer>div:first-child{font-weight:600;opacity:1}.footer-marks{display:flex;gap:28px;align-items:center}.footer-marks a{color:inherit;text-decoration:none;opacity:.8}.footer-marks a:hover{opacity:1}.footer-social{display:inline-flex;align-items:center;gap:14px}.footer-social a{display:inline-flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease,transform .2s ease}.footer-social a:hover{opacity:1;transform:translateY(-2px)}.footer-social svg{width:17px;height:17px;display:block}.footer-blog-link{font-family:"Instrument Serif",serif;font-style:italic;text-transform:none;letter-spacing:.01em;font-size:15px;opacity:.92!important;display:inline-flex;align-items:center;gap:8px;line-height:1}.footer-blog-link::before{content:"";width:6px;height:6px;border-radius:50%;background:#a8ff78;box-shadow:0 0 8px #a8ff78;flex-shrink:0;animation:eveilPulse 2.6s ease-in-out infinite}.footer-blog-link:hover{opacity:1!important}@keyframes eveilPulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.footer-blog-link::before{animation:none}}#tweaks-panel{position:fixed;bottom:20px;right:20px;z-index:1000;background:rgba(10,13,20,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px 22px;width:280px;color:#fff;font-family:var(--font-mono);font-size:11px;display:none;box-shadow:0 20px 60px rgba(0,0,0,.4)}#tweaks-panel.visible{display:block}#tweaks-panel h4{font-size:10px;letter-spacing:.3em;text-transform:uppercase;opacity:.6;margin-bottom:14px;font-weight:500}#tweaks-panel .field{margin-bottom:16px}#tweaks-panel .field label{display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;opacity:.55;margin-bottom:8px}#tweaks-panel .row{display:flex;gap:6px;flex-wrap:wrap}#tweaks-panel .row button{flex:1;min-width:0;padding:8px 10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:8px;font:inherit;font-size:10px;cursor:none;transition:background .25s,border-color .25s}#tweaks-panel .row button:hover{background:rgba(255,255,255,.14)}#tweaks-panel .row button.active{background:rgba(255,255,255,.95);color:#000;border-color:rgba(255,255,255,.95)}#tweaks-panel input[type=range]{width:100%;-webkit-appearance:none;background:0 0;cursor:none}#tweaks-panel input[type=range]::-webkit-slider-runnable-track{height:2px;background:rgba(255,255,255,.2)}#tweaks-panel input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;margin-top:-6px;border:0}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.reveal{--rx:0px;--ry:72px;opacity:0;transform:translate(var(--rx),var(--ry)) scale(.95);filter:blur(5px);transition:opacity .95s var(--ease-out),transform .95s var(--ease-out),filter .75s ease;will-change:opacity,transform}.reveal.in{opacity:1;transform:translate(0,0) scale(1);filter:blur(0px)}.about-grid>.reveal:first-child{--rx:-60px;--ry:24px}.about-grid>.reveal:last-child{--rx:60px;--ry:24px}.contact-body>.reveal:first-child{--rx:-50px;--ry:16px}.contact-body>.reveal:last-child{--rx:50px;--ry:16px}.faq-list.reveal,.pricing-grid.reveal,.projects-list.reveal,.services-grid.reveal{--ry:0px;filter:none;transition-duration:.25s}.faq-item,.pricing-card,.service-card{opacity:0;transform:translateY(44px) scale(.96);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out);transition-delay:calc(var(--ci, 0) * 85ms)}.project-row{opacity:0;transform:translateY(36px) scale(.97);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out);transition-delay:calc(var(--ci, 0) * 60ms)}.faq-list.in .faq-item,.pricing-grid.in .pricing-card,.projects-list.in .project-row,.services-grid.in .service-card{opacity:1;transform:translateY(0) scale(1)}.faq-item:hover,.pricing-card:hover,.project-row:hover,.service-card:hover{transition-delay:0s!important}@keyframes revealCard{from{opacity:0;transform:translateY(44px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}body.ogl-loading .hero-eyebrow,body.ogl-loading .hero-scroll,body.ogl-loading .word-creative,body.ogl-loading .word-ogmyos{animation:none!important}body.ogl-loading .topbar{opacity:0}body.ogl-loading .dock{opacity:0;pointer-events:none}body.hero-ready .word-ogmyos{animation:hEnterTitle 1.05s 80ms cubic-bezier(.22,1,.36,1) both!important}body.hero-ready .word-creative{animation:hEnterTitle .95s .26s cubic-bezier(.22,1,.36,1) both!important}body.hero-ready .hero-eyebrow{animation:hEnterUp .8s .16s cubic-bezier(.22,1,.36,1) both!important}body.hero-ready .hero-scroll{animation:hEnterFade .65s .9s ease both,scrollBob 2.6s 4.4s cubic-bezier(.65,0,.35,1) infinite!important}body.hero-ready .topbar{animation:hEnterFade .7s .32s ease both}@keyframes hEnterTitle{from{opacity:0;transform:translateY(40px) scale(.93)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hEnterUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hEnterFade{from{opacity:0}to{opacity:1}}@media (max-width:860px){.topbar{padding:16px 20px}.topbar nav{display:none}.dock{display:none}.section{padding:100px 6vw 80px}.about-grid,.contact-body,.faq-head{grid-template-columns:1fr;gap:40px}.contact-split{grid-template-columns:1fr;gap:48px;padding-top:36px}.contact-left{position:static;padding-left:16px}.contact-social-strip{grid-template-columns:1fr;gap:20px}.contact-social-link{padding:10px 20px}.contact-social-link:first-child{padding-left:0}.cf-row{grid-template-columns:1fr;gap:24px}.services-grid{grid-template-columns:1fr}.services-head{flex-direction:column;align-items:flex-start}.project-row{grid-template-columns:40px 1fr 40px;gap:12px}.project-row .role,.project-row .tag,.project-row .year{display:none}.hero-title{white-space:normal;font-size:clamp(48px, 16vw, 120px)}body,html{cursor:auto}*{cursor:auto!important}#cursor-canvas{display:none}}.skip-to-content{position:fixed;top:-100px;left:50%;transform:translateX(-50%);z-index:100000;background:#d4a24c;color:#0a0d14;padding:12px 24px;font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-radius:0 0 6px 6px;transition:top .2s ease;font-weight:600}.skip-to-content:focus{top:0;outline:2px solid #d4a24c;outline-offset:2px}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:0 0;border:1px solid rgba(255,255,255,.3);border-radius:6px;width:40px;height:40px;padding:0;color:inherit;flex-shrink:0;transition:border-color .3s}.hamburger:hover{border-color:rgba(255,255,255,.7)}.ham-bar{display:block;width:18px;height:1.5px;background:currentColor;border-radius:2px;transform-origin:center;transition:transform .35s var(--ease-out),opacity .25s,width .3s}.hamburger.open .ham-bar:first-child{transform:translateY(6.5px) rotate(45deg)}.hamburger.open .ham-bar:nth-child(2){opacity:0;width:0}.hamburger.open .ham-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.mobile-nav{display:none;position:fixed;inset:0;z-index:490;background:rgba(10,13,20,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:80px 40px 40px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-link{font-family:var(--font-display);font-weight:600;font-size:clamp(28px, 7vw, 48px);letter-spacing:-.03em;color:rgba(244,243,238,.85);text-decoration:none;text-transform:uppercase;line-height:1.1;transition:color .25s,transform .25s;text-align:center}.mobile-nav-link:hover{color:#d4a24c;transform:translateX(4px)}.mobile-nav-cta{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:14px 28px;border:1px solid rgba(244,243,238,.4);border-radius:100px;font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(244,243,238,.85);text-decoration:none;transition:background .3s,color .3s;position:relative}.mobile-nav-cta::after{content:"";position:absolute;inset:-4px -6px}.mobile-nav-cta:hover{background:#fff;color:#000}.mobile-nav-cta .dot{width:6px;height:6px;border-radius:50%;background:#a8ff78;box-shadow:0 0 8px #a8ff78}:focus-visible{outline:2px solid #d4a24c;outline-offset:3px;border-radius:3px}a:focus-visible,button:focus-visible{outline:2px solid #d4a24c;outline-offset:3px}@media (max-width:768px){.hamburger{display:flex}.topbar nav{display:none}.section{padding:100px 5vw 80px}.about-grid{grid-template-columns:1fr;gap:40px}.about-pillars{grid-template-columns:repeat(3,1fr);gap:20px}.services-head{flex-direction:column;align-items:flex-start;gap:24px}.services-grid{grid-template-columns:1fr}.service-card{height:auto;min-height:320px}.service-arrow{display:none}.pricing-grid{grid-template-columns:1fr}.pricing-head{flex-direction:column;align-items:flex-start}.pricing-card{padding:32px 28px}.process-head{grid-template-columns:1fr;gap:20px}.contact-split{grid-template-columns:1fr;gap:40px}.cf-row{grid-template-columns:1fr}}@media (max-width:600px){.section{padding:90px 20px 64px}.hero-title{font-size:clamp(42px, 18vw, 96px);white-space:normal}.hero-baseline{font-size:clamp(15px, 3.5vw, 20px);margin-top:24px}.hero-eyebrow{margin-bottom:20px}.about-lead{font-size:clamp(28px, 7vw, 48px)}.about-pillars{grid-template-columns:1fr;gap:24px}.pillar{flex-direction:row;text-align:left;gap:16px}.pillar-icon{flex-shrink:0}.services-title{font-size:clamp(34px, 9vw, 60px)}.services-intro{font-size:15px}.pricing-title{font-size:clamp(34px, 9vw, 60px)}.pricing-card{padding:28px 20px}.pricing-price{font-size:clamp(40px, 10vw, 64px)}.process-step{grid-template-columns:40px 1fr;gap:0 16px}.process-step-title{font-size:20px}.proj-header{padding:0}.pnl-name{font-size:clamp(22px, 7vw, 40px)}.faq-title{font-size:clamp(28px, 7vw, 48px)}.contact-title{font-size:clamp(36px, 10vw, 64px)}}@media (max-width:1280px){.footer{flex-direction:column-reverse;align-items:center;gap:20px;font-size:11px}.footer-marks{flex-wrap:wrap;justify-content:center;gap:12px 24px}.footer>div:first-child{width:100%;padding-top:18px;border-top:1px solid color-mix(in oklab,currentColor 12%,transparent);text-align:center}}@media (max-width:480px){.section{padding:80px 16px 56px}.topbar{padding:14px 16px}.hero-title{font-size:clamp(38px, 18vw, 80px);letter-spacing:-.04em}.about-lead{font-size:clamp(24px, 8vw, 40px)}.about-body{font-size:15px}.section-label{font-size:10px;letter-spacing:.2em}.services-title{font-size:clamp(28px, 10vw, 52px)}.pricing-title{font-size:clamp(28px, 10vw, 52px)}.pricing-card{padding:24px 16px}.pricing-price{font-size:clamp(36px, 11vw, 56px)}.pricing-features{gap:16px}.pricing-features li{font-size:13px}.contact-title{font-size:clamp(30px, 11vw, 56px)}.cf-submit-btn{width:100%;justify-content:center}.about-bio-btn-text{font-size:13px}.process-step-desc{font-size:14px}.process-visual{display:none}.ogl-session,.ogl-sysinfo{display:none}}@media (max-width:320px){.section{padding:72px 12px 48px}.topbar{padding:12px 12px}.topbar .brand span{display:none}.hero-title{font-size:clamp(32px, 18vw, 64px)}.hero-baseline{font-size:14px}.pricing-card{padding:20px 12px}.pricing-features li{font-size:12px;gap:10px}.contact-title{font-size:clamp(26px, 12vw, 48px)}}@media (max-width:860px){.hamburger{display:flex}.mobile-nav{display:flex}.topbar .right{gap:12px}.topbar .cta-top{display:none}}@media (min-width:861px){.hamburger{display:none}.mobile-nav{display:none!important}}#proj-modal{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s cubic-bezier(.22,1,.36,1)}#proj-modal.open{opacity:1;pointer-events:all}.proj-modal-bg{position:absolute;inset:0;transition:background .4s ease}.proj-modal-overlay{position:absolute;inset:0;background:rgba(4,6,14,.72);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}.proj-modal-close{position:absolute;top:28px;right:28px;width:38px;height:38px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:rgba(244,243,238,.55);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .2s,color .2s,border-color .2s}.proj-modal-close svg{width:14px;height:14px}.proj-modal-close:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28);color:#f4f3ee}.proj-modal-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px}.proj-modal-eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(210,168,89,.82)}.proj-modal-title{font-family:var(--font-display);font-size:clamp(36px, 7vw, 76px);font-weight:700;letter-spacing:-.03em;color:#f4f3ee;line-height:1.05;margin:0}.proj-modal-soon{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,243,238,.35);margin:6px 0 0;padding:9px 18px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:rgba(255,255,255,.03)}.proj-modal-hint{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,243,238,.2);margin-top:4px}@media (max-width:480px){.proj-modal-close{top:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.hero-baseline,.hero-eyebrow,.hero-scroll,.hero-title .word-creative,.hero-title .word-ogmyos{opacity:1!important;transform:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}.reveal.in{opacity:1!important;transform:none!important}#og-loader{display:none!important}body.ogl-loading{overflow:auto!important}#grid-canvas,#plexus-canvas{display:none}.scroll-dot{animation:none!important}.ogl-ring{animation:none!important}.pd-glow{animation:none!important}.pricing-card--featured .pricing-dot{animation:none!important}.maint-arrows{animation:none!important}}#sonic{overflow:hidden}.sonic-head{max-width:900px;margin-bottom:56px}.sonic-title{font-family:var(--font-display);font-weight:600;font-size:clamp(38px, 5.5vw, 84px);line-height:1;letter-spacing:-.03em;color:var(--light-ink);margin-bottom:24px}.sonic-title em{font-style:italic;font-family:"Instrument Serif",serif;font-weight:400;color:#0a0d14}.sonic-intro{font-size:clamp(15px, 1.2vw, 18px);line-height:1.7;color:var(--light-mid);max-width:580px}.sonic-split{display:grid;grid-template-columns:60fr 36fr;gap:40px;align-items:start;max-width:calc(100% - 72px)}.sonic-wave-wrap{position:relative;width:100%;height:72px;margin-bottom:64px;overflow:hidden}.sonic-wave{position:absolute;top:0;left:0;width:200%;height:100%;display:block}.sonic-wave--1{animation:sonicScroll 10s linear infinite;opacity:.28}.sonic-wave--2{animation:sonicScroll 15s linear infinite reverse;opacity:.18}.sonic-wave--3{animation:sonicScroll 22s linear infinite;opacity:.11}.sonic-wave-line{fill:none;stroke:var(--light-ink);stroke-width:1.5;stroke-linecap:round}@keyframes sonicScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.sonic-domains{display:flex;flex-direction:column;border-top:1px solid rgba(10,13,20,.07)}.sonic-domain{display:flex;align-items:flex-start;gap:20px;padding:26px 0;border-bottom:1px solid rgba(10,13,20,.07);transition:background .5s var(--ease-out)}.sonic-domain:hover{background:rgba(10,13,20,.016)}.sonic-domain-num{width:40px;flex-shrink:0;padding-top:3px;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;color:var(--light-mid);opacity:.3;transition:opacity .4s var(--ease-out)}.sonic-domain:hover .sonic-domain-num{opacity:.6}.sonic-domain-mid{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0}.sonic-domain-title{font-family:var(--font-display);font-weight:600;font-size:clamp(18px, 2vw, 30px);letter-spacing:-.025em;color:var(--light-ink);line-height:1;transition:letter-spacing .5s var(--ease-out),opacity .4s}.sonic-domain:hover .sonic-domain-title{letter-spacing:-.015em}.sonic-domain--featured .sonic-domain-title{font-style:italic;font-family:"Instrument Serif",serif;font-weight:400;letter-spacing:-.02em}.sonic-domain--featured:hover .sonic-domain-title{letter-spacing:-.01em}.sonic-domain-keys{display:flex;gap:6px;flex-wrap:wrap;opacity:.5;transition:opacity .45s var(--ease-out)}.sonic-domain:hover .sonic-domain-keys{opacity:1}.sonic-domain-keys a,.sonic-domain-keys span{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:3px 10px;border:1px solid rgba(10,13,20,.12);border-radius:100px;color:var(--light-mid);white-space:nowrap;text-decoration:none;transition:border-color .35s,color .35s;position:relative}.sonic-domain-keys a::after{content:"";position:absolute;inset:-4px -6px}.sonic-domain:hover .sonic-domain-keys a,.sonic-domain:hover .sonic-domain-keys span{border-color:rgba(10,13,20,.22);color:var(--light-ink)}.sonic-domain-keys a{color:inherit;opacity:.45;border-color:color-mix(in oklab,currentColor 16%,transparent);transition:opacity .2s ease,border-color .2s ease}.sonic-domain-keys a:hover{opacity:.85;border-color:color-mix(in oklab,currentColor 38%,transparent)}.sonic-domain-key--badge{background:var(--light-ink)!important;color:var(--light-bg)!important;border-color:var(--light-ink)!important;opacity:1}.sonic-domain--expandable{cursor:pointer;user-select:none}.sonic-domain--expandable .sonic-domain-mid{display:flex;flex-direction:column;gap:12px}.sonic-domain-stack{display:grid}.sonic-domain-face{grid-area:1/1;transition:opacity .3s ease}.sonic-domain--expandable.is-open .sonic-domain-face,.sonic-domain--expandable.is-hover .sonic-domain-face{opacity:0;pointer-events:none}.sonic-domain-desc{grid-area:1/1;font-size:13px;line-height:1.65;color:var(--light-mid);margin:0;align-self:center;clip-path:inset(0 100% 0 0);opacity:0;pointer-events:none;transition:clip-path .65s cubic-bezier(.4, 0, .2, 1),opacity .2s ease}.sonic-domain--expandable.is-open .sonic-domain-desc,.sonic-domain--expandable.is-hover .sonic-domain-desc{clip-path:inset(0 0% 0 0);opacity:1;pointer-events:auto}.sonic-partner{padding-left:40px;border-left:1px solid rgba(10,13,20,.09);display:flex;flex-direction:column;justify-content:space-between;padding-top:4px;padding-bottom:4px;transition:background .5s var(--ease-out),border-left-color .5s var(--ease-out);border-radius:0 2px 2px 0}.sonic-partner:hover{background:rgba(10,13,20,.018);border-left-color:rgba(10,13,20,.22)}.sonic-partner-eyebrow{font-family:var(--font-mono);font-size:9px;letter-spacing:.38em;text-transform:uppercase;color:var(--light-mid);opacity:.5;margin-bottom:16px}.sonic-partner-name{font-family:var(--font-display);font-weight:600;font-size:clamp(36px, 3.8vw, 58px);line-height:.9;letter-spacing:-.04em;color:var(--light-ink);margin-bottom:14px}.sonic-partner-roles{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--light-mid);opacity:.55;margin-bottom:20px}.sonic-partner-desc{font-size:14px;line-height:1.7;color:var(--light-mid);margin-bottom:20px}.sonic-partner-brands{font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--light-mid);opacity:.45;margin-bottom:28px}.sonic-partner-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--light-ink);text-decoration:none;width:fit-content;padding-bottom:3px;border-bottom:1px solid rgba(10,13,20,.2);transition:border-color .35s var(--ease-out),gap .35s var(--ease-out)}.sonic-partner-cta:hover{border-color:var(--light-ink);gap:14px}.sonic-partner-cta svg{width:13px;height:13px}.dock--entering a:nth-child(8){animation:dockLinkIn .45s .49s var(--ease-out) both}.dock--entering a:nth-child(9){animation:dockLinkIn .45s .56s var(--ease-out) both}@media (max-width:1024px){.sonic-split{grid-template-columns:1fr;gap:0;max-width:100%}.sonic-partner{border-left:none;border-top:1px solid rgba(10,13,20,.09);padding-left:0;padding-top:32px;margin-top:8px}.sonic-domain-stack{grid-template-columns:1fr;grid-template-rows:auto 0fr;transition:grid-template-rows .55s cubic-bezier(.4,0,.2,1)}.sonic-domain-face{grid-area:auto;opacity:1!important;pointer-events:auto!important}.sonic-domain-desc{grid-area:auto;clip-path:none!important;overflow:hidden;min-height:0;padding-top:0;opacity:0;pointer-events:none;transition:opacity .35s ease,padding-top .55s cubic-bezier(.4,0,.2,1)}.sonic-domain--expandable.is-open .sonic-domain-stack,.sonic-domain--expandable.is-hover .sonic-domain-stack{grid-template-rows:auto 1fr}.sonic-domain--expandable.is-open .sonic-domain-face,.sonic-domain--expandable.is-hover .sonic-domain-face{opacity:1!important}.sonic-domain--expandable.is-open .sonic-domain-desc,.sonic-domain--expandable.is-hover .sonic-domain-desc{opacity:1;pointer-events:auto;padding-top:11px}}@media (max-width:680px){.sonic-domain{padding:16px 0;gap:12px}.sonic-domain-title{font-size:clamp(17px, 4.5vw, 24px)}.sonic-title{letter-spacing:-.025em}.sonic-domain-keys{flex-direction:column;align-items:flex-start;gap:8px}}@media (hover:none),(max-width:680px){.sonic-domain--expandable .sonic-domain-mid{padding-right:6px}.sonic-domain--expandable::after{content:"";flex-shrink:0;align-self:flex-start;width:10px;height:10px;margin-top:6px;border-right:1.6px solid var(--light-mid);border-bottom:1.6px solid var(--light-mid);transform:rotate(45deg);opacity:.38;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .35s ease}.sonic-domain--expandable.is-open::after{transform:rotate(-135deg);opacity:.75}.sonic-domain--expandable .sonic-domain-keys{opacity:1}.sonic-domain--expandable.is-hover:not(.is-open) .sonic-domain-stack{grid-template-rows:auto 0fr}.sonic-domain--expandable.is-hover:not(.is-open) .sonic-domain-desc{opacity:0;pointer-events:none;padding-top:0}}@media (max-width:860px),(pointer:coarse){#grid-canvas,#plexus-canvas{display:none!important}#cursor-canvas{display:none!important}*,body{cursor:auto!important}}@media print{*,::after,::before{animation:none!important;transition:none!important;box-shadow:none!important}#cursor-canvas,#loader,#rgpd-banner,#tweaks-panel,#tweaks-toggle,.cf-estimate-link,.dock,.hero-scroll,.topbar,canvas{display:none!important}body,html{background:#0e0e0e!important;color:#f4f3ee!important;font-size:11pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.section{padding:48pt 10vw 36pt;break-inside:avoid-page}.reveal,.reveal.in{opacity:1!important;transform:none!important;filter:none!important}.faq-item,.pricing-card,.project-row,.service-card{opacity:1!important;transform:none!important}.faq-list.reveal,.pricing-grid.reveal,.projects-list.reveal,.services-grid.reveal{opacity:1!important;transform:none!important}.projects-list{position:static!important;overflow:visible!important;height:auto!important}.project-row{position:static!important;break-inside:avoid;border-top:1px solid rgba(244,243,238,.1);padding:14pt 0}.pricing-grid,.services-grid{grid-template-columns:1fr 1fr;gap:18pt}.about-grid,.contact-body,.faq-head{grid-template-columns:1fr;gap:24pt}.contact-left{position:static!important}.contact-split{grid-template-columns:1fr;gap:24pt}.process-step{break-inside:avoid}.process-step-content{grid-template-columns:1fr;gap:16pt}.process-step-visual{display:none}#about{break-before:page}#sonic{break-before:page}#process{break-before:page}#pricing{break-before:page}#contact{break-before:page}a[href^=http]::after{content:" (" attr(href) ")";font-size:8pt;opacity:.5;word-break:break-all}a.cf-estimate-link::after{content:none}}
/* -- Service card flip affordance -- */
.service-cta-label{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;opacity:.35;margin-top:18px;transition:opacity .3s ease,transform .35s var(--ease-out)}
.service-card:hover .service-cta-label{opacity:.82;transform:translateX(5px)}
.service-card:hover .service-arrow{opacity:.75}
.service-card.flipped .service-card-inner{animation:none}

/* Pricing card animations — voir <style> dans index.html */
.page-transition-overlay{position:fixed;inset:0;z-index:9999;background:#0c0c0c;transform:translateY(101%);transition:transform .68s cubic-bezier(.76,0,.24,1);pointer-events:none}.page-transition-overlay.active{transform:translateY(0);pointer-events:all}
.dock--projects{mix-blend-mode:normal!important;color:#0a0d14!important}
html[data-perf-tier="medium"] .dock--projects,html[data-perf-tier="low"] .dock--projects{color:#fff!important}

.pricing-from{display:block;font-size:13px;font-weight:400;letter-spacing:.04em;opacity:.55;margin-bottom:2px}

@media (max-width:768px){.pricing-card{opacity:1!important;transform:none!important;transition:background .3s!important}}

/* ── Sections qui débordaient d'un poil sous l'écran (desktop, là où le snap
   molette aligne le haut de chaque section) : padding vertical resserré pour
   qu'elles tiennent dans le viewport et se centrent. Le mobile (<861px) garde
   son scroll libre et n'est pas touché. ── */
@media (min-width:861px){
  #services{padding-top:88px;padding-bottom:88px}
  #sonic{padding-top:60px;padding-bottom:60px}
  /* Contact : ramené à un seul écran (titre hero réduit + formulaire/footer
     resserrés). Tient sans scroll sur ~940px de viewport. */
  #contact{padding-top:44px;padding-bottom:36px}
  #contact .contact-eyebrow{margin-bottom:16px}
  #contact .contact-title{font-size:clamp(48px,7vw,116px)}
  #contact .contact-split{margin-top:20px;padding-top:28px}
  #contact .cf-fields{gap:18px}
  #contact .cf-editable--multi{min-height:3.6em}
  #contact .cf-actions{padding-top:0}
  #contact .footer{margin-top:26px}
}
