:root{--void:#020202;--deep:#080807;--dark:#0f0e0d;--warm-dark:#1a1816;--ember:#c47848;--ember-dim:rgba(196, 120, 72, 0.12);--sand:#a89888;--stone:#484440;--ash:#686460;--bone:#c8c4c0;--cream:#e8e4e0;--serif:Georgia,serif;--sans:'DM Sans',system-ui,sans-serif;--ease:cubic-bezier(0.22, 1, 0.36, 1);--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-out-quart:cubic-bezier(0.25, 1, 0.5, 1);--stagger-1:0.1s;--stagger-2:0.2s;--stagger-3:0.3s;--stagger-4:0.4s;--stagger-5:0.5s}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{background:var(--void);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--void);color:var(--bone);font:300 17px/1.75 var(--sans);letter-spacing:0.01em;overflow-x:hidden}::selection{background:var(--ember);color:var(--void)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ul{list-style:none}/* Grain */.grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:9998;pointer-events:none;opacity:0.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainShift 8s steps(10) infinite}@keyframes grainShift{0%,100%{transform:translate(0, 0)}10%{transform:translate(-5%, -5%)}30%{transform:translate(5%, -5%)}50%{transform:translate(-5%, 0)}70%{transform:translate(0, 5%)}90%{transform:translate(5%, 5%)}}/* Nav */.nav{position:sticky;top:0;width:100%;z-index:100;background:rgba(2,2,2,0.85);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.nav-w{display:flex;align-items:center;justify-content:space-between;height:5rem;padding:0 4rem}.nav-c{width:33.33%}.nav-c:nth-child(2){text-align:center}.nav-c:nth-child(3){text-align:right}.nav-ct{font:400 0.72rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;transition:opacity 0.4s ease}.nav-ct:hover{opacity:0.6}.nav-logo{display:inline-block;height:2.8rem}.nav-logo img{height:100%;width:auto;filter:brightness(0) invert(1)}.nav-links{display:flex;gap:1.6rem;list-style:none;justify-content:flex-end;align-items:center}.nav-links li{display:inline}.nav-link{font:400 0.72rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;transition:opacity 0.4s ease}.nav-link:hover{opacity:0.6}/* ===== HERO ===== */.services-hero{min-height:70vh;display:flex;align-items:center;padding:8rem 2rem;background:var(--void);position:relative}.services-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 70%, rgba(196,120,72,0.04) 0%, transparent 60%);pointer-events:none}.vid-bg{position:absolute;inset:0;overflow:hidden;z-index:0}.vid-bg video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%, -50%);object-fit:cover}.vid-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,2,2,0.75) 0%, rgba(2,2,2,0.55) 40%, rgba(2,2,2,0.75) 100%);z-index:1}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:3}.hero-label{display:inline-flex;align-items:center;gap:1rem;margin-bottom:2rem}.label-line{width:40px;height:1px;background:var(--ember)}.label-text{font-family:var(--sans);font-size:0.65rem;font-weight:400;letter-spacing:0.25em;text-transform:uppercase;color:var(--ember)}.hero-title{font-family:var(--sans);font-size:clamp(2.5rem, 6vw, 4.5rem);font-weight:200;color:var(--cream);line-height:1.1;margin-bottom:2rem}.hero-title em{font-style:italic;color:var(--ember)}.hero-lead{font-family:var(--sans);font-size:1.15rem;font-weight:300;color:var(--bone);line-height:1.7;margin-bottom:1rem;max-width:600px}.hero-sub{font-family:var(--sans);font-size:1rem;font-weight:300;color:var(--sand);line-height:1.7;max-width:600px}/* ===== PROBLEM ===== */.services-problem{padding:8rem 2rem;background:var(--deep);border-top:1px solid rgba(200,196,192,0.06);border-bottom:1px solid rgba(200,196,192,0.06)}.problem-content{max-width:700px;margin:0 auto}.problem-title{font-family:var(--sans);font-size:clamp(1.5rem, 3vw, 2rem);font-weight:300;color:var(--cream);margin-bottom:2rem}.problem-text p{font-family:var(--sans);font-size:1.05rem;font-weight:300;color:var(--bone);line-height:1.8;margin-bottom:1.5rem}.problem-text p:last-child{color:var(--cream);font-weight:400;margin-bottom:0}/* ===== ECOSYSTEM ===== */.services-ecosystem{padding:8rem 2rem;background:var(--void)}.ecosystem-header{max-width:700px;margin:0 auto 4rem;text-align:center}.section-label{display:inline-flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.ecosystem-title{font-family:var(--sans);font-size:clamp(2rem, 4vw, 3rem);font-weight:200;color:var(--cream);margin-bottom:1rem}.ecosystem-sub{font-family:var(--sans);font-size:0.95rem;color:var(--sand)}/* ===== LIVING ORBIT DIAGRAM ===== */.ecosystem-diagram{position:relative;width:100%;max-width:500px;aspect-ratio:1;margin:4rem auto}.orbit-connections{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);z-index:10}.center-mark{width:50px;height:auto;opacity:0.9;position:relative;z-index:2}.center-glow{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:120px;height:120px;background:radial-gradient(circle, rgba(196, 120, 72, 0.2) 0%, transparent 70%);filter:blur(15px);z-index:1;animation:centerPulse 4s ease-in-out infinite}@keyframes centerPulse{0%,100%{opacity:0.5;transform:translate(-50%, -50%) scale(1)}50%{opacity:0.8;transform:translate(-50%, -50%) scale(1.1)}}.orbit-node{position:absolute;top:50%;left:50%;width:80px;height:80px;margin-top:-40px;margin-left:-40px;z-index:5;animation:orbit var(--orbit-duration, 60s) linear infinite;transition:opacity 0.4s ease}@keyframes orbit{from{transform:rotate(var(--start-angle, 0deg)) translateX(var(--orbit-radius, 160px)) rotate(calc(-1 * var(--start-angle, 0deg)))}to{transform:rotate(calc(var(--start-angle, 0deg) + 360deg)) translateX(var(--orbit-radius, 160px)) rotate(calc(-1 * (var(--start-angle, 0deg) + 360deg)))}}.node-inner{display:flex;flex-direction:column;align-items:center;gap:0.5rem;text-decoration:none;transition:transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)}.node-icon{width:56px;height:56px;border:1px solid var(--stone);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--deep);color:var(--sand);font-size:1.25rem;transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1);position:relative;z-index:2}.node-glow{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:80px;height:80px;background:radial-gradient(circle, rgba(196, 120, 72, 0.15) 0%, transparent 70%);filter:blur(10px);opacity:0;transition:opacity 0.4s ease;z-index:1}.node-label{font-family:var(--sans);font-size:0.65rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--sand);white-space:nowrap;transition:color 0.4s ease}/* Hover State */.orbit-node:hover .node-inner{transform:scale(1.15)}.orbit-node:hover .node-icon{border-color:var(--ember);color:var(--ember);box-shadow:0 0 30px rgba(196, 120, 72, 0.3)}.orbit-node:hover .node-glow{opacity:1}.orbit-node:hover .node-label{color:var(--cream)}/* Dimmed State */.ecosystem-diagram.has-hover .orbit-node:not(.orbit-hovered){opacity:0.3}.ecosystem-diagram.has-hover .orbit-node:not(.orbit-hovered) .node-inner{transform:scale(0.92)}/* Connection Lines */.connection-line{stroke:var(--stone);stroke-width:0.8;opacity:0.15;transition:all 0.4s ease}.connection-line.active{stroke:var(--ember);opacity:0.7;stroke-width:1.5}.connection-line.dimmed{opacity:0.03}/* Data Packets */.data-packet{fill:var(--ember);transition:opacity 0.3s ease}.data-packet.active{fill:var(--ember);filter:drop-shadow(0 0 3px rgba(196, 120, 72, 0.8))}/* Mobile Fallback */.ecosystem-mobile{display:none}@media (max-width: 640px){.ecosystem-diagram{display:none}.ecosystem-mobile{display:flex;flex-direction:column;gap:0.75rem;max-width:400px;margin:2rem auto 0}.ecosystem-mobile-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:rgba(255, 255, 255, 0.02);border:1px solid rgba(255, 255, 255, 0.06);text-decoration:none;transition:all 0.3s ease}.ecosystem-mobile-card:hover{border-color:var(--ember);background:rgba(196, 120, 72, 0.08)}.ecosystem-mobile-card .card-icon{width:40px;height:40px;border:1px solid var(--stone);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--sand);font-size:1rem;flex-shrink:0}.ecosystem-mobile-card .card-label{font-family:var(--sans);font-size:0.85rem;color:var(--cream)}}/* Reduced Motion */@media (prefers-reduced-motion: reduce){.orbit-node{animation:none !important}.orbit-node[data-service="paid-media"]{transform:translate(-50%, -50%) translateX(0) translateY(-160px);top:50%;left:50%;margin:0}.orbit-node[data-service="organic-growth"]{transform:translate(-50%, -50%) translateX(139px) translateY(-80px);top:50%;left:50%;margin:0}.orbit-node[data-service="creative"]{transform:translate(-50%, -50%) translateX(139px) translateY(80px);top:50%;left:50%;margin:0}.orbit-node[data-service="web-apps"]{transform:translate(-50%, -50%) translateX(0) translateY(160px);top:50%;left:50%;margin:0}.orbit-node[data-service="data-audience"]{transform:translate(-50%, -50%) translateX(-139px) translateY(80px);top:50%;left:50%;margin:0}.orbit-node[data-service="ai-automation"]{transform:translate(-50%, -50%) translateX(-139px) translateY(-80px);top:50%;left:50%;margin:0}.data-packet{display:none}.center-glow{animation:none !important}}/* ===== PILLARS ===== */.services-pillar{padding:8rem 2rem;border-bottom:1px solid rgba(200,196,192,0.06)}.services-pillar:nth-child(odd of .services-pillar){background:var(--void)}.services-pillar:nth-child(even of .services-pillar){background:var(--deep)}/* Fallback: alternate via classes */.pillar-bg-void{background:var(--void)}.pillar-bg-deep{background:var(--deep)}.pillar-content{max-width:900px;margin:0 auto}.pillar-header{margin-bottom:3rem}.pillar-number{font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.15em;color:var(--ember);display:block;margin-bottom:1rem}.pillar-title{font-family:var(--sans);font-size:clamp(2rem, 4vw, 3rem);font-weight:200;color:var(--cream);margin-bottom:0.75rem}.pillar-tagline{font-family:var(--serif);font-size:1.15rem;font-weight:300;font-style:italic;color:var(--sand)}.pillar-body{margin-bottom:3rem}.pillar-intro{font-family:var(--sans);font-size:1.05rem;font-weight:300;color:var(--bone);line-height:1.8;margin-bottom:2.5rem;max-width:700px}.pillar-services{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:2rem;margin-bottom:3rem}.service-group-title{font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--ember);margin-bottom:1rem}.service-list{list-style:none;padding:0;margin:0}.service-list li{font-family:var(--sans);font-size:0.95rem;font-weight:300;color:var(--bone);padding:0.5rem 0;border-bottom:1px solid rgba(200,196,192,0.06)}.service-list li:last-child{border-bottom:none}.service-list a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.3s ease,color 0.3s ease}.service-list a:hover{border-color:var(--ember);color:var(--cream)}.pillar-connection{padding:2rem;background:rgba(196,120,72,0.04);border-left:2px solid var(--ember)}.connection-title{font-family:var(--sans);font-size:0.7rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:var(--ember);margin-bottom:0.75rem}.connection-text{font-family:var(--sans);font-size:0.95rem;font-weight:300;color:var(--cream);line-height:1.7;margin:0}/* ===== HOW WE WORK ===== */.services-how{padding:8rem 2rem;background:var(--warm-dark)}.how-content{max-width:900px;margin:0 auto}.how-title{font-family:var(--sans);font-size:clamp(1.75rem, 4vw, 2.5rem);font-weight:300;color:var(--cream);margin-bottom:3rem;max-width:600px}.how-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:2rem}.how-item{padding:2rem;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04)}.how-item-title{font-family:var(--sans);font-size:1rem;font-weight:400;color:var(--cream);margin-bottom:0.75rem}.how-item-text{font-family:var(--sans);font-size:0.9rem;font-weight:300;color:var(--sand);line-height:1.7;margin:0}/* ===== CTA ===== */.services-cta{padding:10rem 2rem;background:var(--void);text-align:center}.cta-content{max-width:600px;margin:0 auto}.cta-title{font-family:var(--sans);font-size:clamp(2rem, 4vw, 3rem);font-weight:200;color:var(--cream);margin-bottom:1rem}.cta-text{font-family:var(--sans);font-size:1rem;font-weight:300;color:var(--sand);margin-bottom:2.5rem}.cta-button{display:inline-flex;align-items:center;gap:1rem;font-family:var(--sans);font-size:0.9rem;font-weight:400;color:var(--cream);text-decoration:none;padding:1rem 2rem;border:1px solid var(--ember);transition:background 0.3s var(--ease)}.cta-button:hover{background:var(--ember-dim)}.cta-line{width:30px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.cta-button:hover .cta-line{width:50px}/* ===== FOOTER ===== */.footer{background:var(--deep);padding:6rem 2rem;text-align:center;position:relative}.footer::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%, rgba(196,120,72,0.025) 0%, transparent 60%);pointer-events:none}.footer-inner{position:relative;z-index:1}.footer-mark{height:3rem;margin:0 auto 2rem;filter:brightness(0) invert(1);opacity:0.4}.footer-cta-text{font:300 0.85rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--sand);margin-bottom:2rem}.footer-bot{font:300 0.7rem/1 var(--sans);color:var(--ash);letter-spacing:0.06em}/* reveal system moved to data-reveal *//* ===== MOBILE ===== */@media (max-width: 768px){.nav-w{padding:0 1.5rem;height:4rem}.nav-logo{height:2.2rem}.services-hero{min-height:60vh;padding:6rem 1.5rem}.services-problem,.services-ecosystem,.services-pillar,.services-how{padding:5rem 1.5rem}.pillar-services{grid-template-columns:1fr}.how-grid{grid-template-columns:1fr}.services-cta{padding:6rem 1.5rem}.footer{padding:4rem 1.5rem}.ambient-orb{display:none}.service-group::before,.how-item::after{display:none}.services-pillar::after{display:none}.nav-links{display:none}.nav-burger{display:block !important}.nav-c:first-child{display:none}}/* ===== AMBIENT ORBS ===== */.hero-ambient{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.ambient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.5;animation:drift 20s ease-in-out infinite}.ambient-orb-1{width:600px;height:600px;background:radial-gradient(circle, rgba(196,120,72,0.15) 0%, transparent 70%);top:-200px;left:-100px;animation-delay:0s}.ambient-orb-2{width:400px;height:400px;background:radial-gradient(circle, rgba(196,120,72,0.1) 0%, transparent 70%);bottom:-100px;right:-50px;animation-delay:-7s;animation-duration:25s}.ambient-orb-3{width:300px;height:300px;background:radial-gradient(circle, rgba(196,120,72,0.08) 0%, transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s;animation-duration:30s}@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(0.95)}75%{transform:translate(-30px,-10px) scale(1.02)}}/* ===== PILLAR SECTION HOVER GRADIENT ===== */.services-pillar{position:relative}.services-pillar::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at var(--mouse-x,50%) var(--mouse-y,50%), rgba(196,120,72,0.03) 0%, transparent 50%);pointer-events:none;opacity:0;transition:opacity .5s ease}.services-pillar:hover::after{opacity:1}/* Service group card enhancements */.service-group{position:relative;padding:1.5rem;background:rgba(255,255,255,0.01);border:1px solid rgba(255,255,255,0.03);transition:all .4s var(--ease-out-expo)}.service-group::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg, transparent, var(--ember), transparent);transform:scaleX(0);transition:transform .4s var(--ease-out-expo);pointer-events:none}.service-group:hover{background:rgba(255,255,255,0.02);border-color:rgba(196,120,72,0.2);transform:translateY(-4px)}.service-group:hover::before{transform:scaleX(1)}/* ===== SCROLL REVEAL ===== */[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity 1.2s var(--ease-out-expo),transform 1.2s var(--ease-out-expo)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal="left"]{transform:translateX(-30px)}[data-reveal="left"].revealed{transform:translateX(0)}[data-reveal="scale"]{transform:scale(0.95)}[data-reveal="scale"].revealed{transform:scale(1)}[data-reveal-stagger] > *{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}[data-reveal-stagger].revealed > *:nth-child(1){transition-delay:.1s}[data-reveal-stagger].revealed > *:nth-child(2){transition-delay:.2s}[data-reveal-stagger].revealed > *:nth-child(3){transition-delay:.3s}[data-reveal-stagger].revealed > *:nth-child(4){transition-delay:.4s}[data-reveal-stagger].revealed > *:nth-child(5){transition-delay:.5s}[data-reveal-stagger].revealed > *:nth-child(6){transition-delay:.6s}[data-reveal-stagger].revealed > *:nth-child(7){transition-delay:.7s}[data-reveal-stagger].revealed > *:nth-child(8){transition-delay:.8s}[data-reveal-stagger].revealed > *{opacity:1;transform:translateY(0)}/* ===== HOW-ITEM HOVER ===== */.how-item{position:relative;overflow:hidden;transition:all .4s var(--ease-out-expo)}.how-item::after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg, transparent, var(--ember), transparent);transform:scaleX(0);transition:transform .4s var(--ease-out-expo);pointer-events:none}.how-item:hover{transform:translateY(-4px);border-color:rgba(196,120,72,0.2)}.how-item:hover::after{transform:scaleX(1)}/* ===== CTA GLOW + BUTTON PULSE ===== */.services-cta{position:relative;overflow:hidden}.services-cta::after{content:'';position:absolute;bottom:-50%;left:50%;transform:translateX(-50%);width:800px;height:400px;background:radial-gradient(ellipse, rgba(196,120,72,0.08) 0%, transparent 70%);pointer-events:none}.cta-button{position:relative}.cta-button::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:1px solid var(--ember);opacity:0;animation:buttonPulse 2s ease-in-out infinite;pointer-events:none}@keyframes buttonPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}100%{transform:translate(-50%,-50%) scale(1.3);opacity:0}}/* ===== REDUCED MOTION (general) ===== */@media (prefers-reduced-motion: reduce){.grain,.ambient-orb{animation:none !important}}/* Full-screen menu */.nav-burger{display:none;background:none;border:none;color:inherit;font:400 .82rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.fmenu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--void);z-index:99;opacity:0;pointer-events:none;transition:opacity .6s cubic-bezier(.19,1,.22,1)}.fmenu.open{opacity:1;pointer-events:all}.fmenu-list{display:flex;flex-direction:column;justify-content:center;height:100%;padding:6rem 4rem;gap:.8rem}.fmenu-a{font:300 2.5rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.04em;color:var(--cream);overflow:hidden;display:block}.fmenu-a .fi{display:block;transform:translateY(100%);transition:transform 1.2s cubic-bezier(.19,1,.22,1)}.fmenu.open .fmenu-a .fi{transform:translateY(0)}.fmenu.open .fmenu-a:nth-child(1) .fi{transition-delay:0ms}.fmenu.open .fmenu-a:nth-child(2) .fi{transition-delay:60ms}.fmenu.open .fmenu-a:nth-child(3) .fi{transition-delay:120ms}.fmenu.open .fmenu-a:nth-child(4) .fi{transition-delay:180ms}.fmenu.open .fmenu-a:nth-child(5) .fi{transition-delay:240ms}.fmenu.open .fmenu-a:nth-child(6) .fi{transition-delay:300ms}.fmenu.open .fmenu-a:nth-child(7) .fi{transition-delay:360ms}.fmenu-a:hover{color:var(--ember)}/* ===========================================
   CONTACT MODAL
   =========================================== */.contact-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s cubic-bezier(0.16,1,0.3,1)}.contact-modal.active{opacity:1;pointer-events:auto}.modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(2,2,2,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.modal-container{position:relative;width:100%;max-width:600px;max-height:90vh;margin:2rem;background:var(--deep);border:1px solid rgba(255,255,255,0.04);overflow:hidden;transform:translateY(20px) scale(0.98);transition:transform 0.5s cubic-bezier(0.16,1,0.3,1)}.contact-modal.active .modal-container{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid rgba(255,255,255,0.1);color:var(--sand);cursor:pointer;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);z-index:10}.modal-close:hover{border-color:var(--ember);color:var(--cream)}.modal-content{padding:3rem;overflow-y:auto;max-height:90vh}/* Progress */.form-progress{display:flex;align-items:center;gap:1rem;margin-bottom:3rem;padding-right:3.5rem;transition:opacity 0.3s}.progress-bar{flex:1;height:2px;background:var(--stone);position:relative;overflow:hidden}.progress-fill{position:absolute;top:0;left:0;height:100%;width:var(--progress,0%);background:var(--ember);transition:width 0.5s cubic-bezier(0.16,1,0.3,1)}.progress-text{font:400 0.75rem/1 var(--sans);color:var(--ash);letter-spacing:0.05em;white-space:nowrap}/* Steps */.contact-form{position:relative}.form-step{display:none;animation:cStepIn 0.5s cubic-bezier(0.16,1,0.3,1)}.form-step.active{display:block}.form-step.reverse{animation:cStepInRev 0.5s cubic-bezier(0.16,1,0.3,1)}@keyframes cStepIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes cStepInRev{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.step-content{min-height:300px}.step-question{font:300 clamp(1.5rem,4vw,2rem)/1.2 var(--serif);color:var(--cream);margin-bottom:0.75rem}.step-subtext{font:300 0.95rem/1.5 var(--sans);color:var(--sand);margin-bottom:2rem}/* Option Cards */.options-grid{display:flex;flex-direction:column;gap:0.75rem}.option-card{position:relative;display:flex;align-items:center;padding:1.25rem 1.5rem;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);cursor:pointer;transition:all 0.3s cubic-bezier(0.16,1,0.3,1)}.option-card:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.1)}.option-card:has(input:checked){background:var(--ember-dim);border-color:var(--ember)}.option-card input{position:absolute;opacity:0;pointer-events:none}.option-content{flex:1}.option-title{display:block;font:400 1rem/1.4 var(--sans);color:var(--cream);margin-bottom:0.15rem}.option-desc{display:block;font:300 0.8rem/1.3 var(--sans);color:var(--sand)}.option-check{width:20px;height:20px;border:1px solid var(--stone);border-radius:50%;position:relative;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);flex-shrink:0}.option-card:has(input:checked) .option-check{border-color:var(--ember);background:var(--ember)}.option-check::after{content:'';position:absolute;top:50%;left:50%;width:6px;height:6px;background:var(--void);border-radius:50%;transform:translate(-50%,-50%) scale(0);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}.option-card:has(input:checked) .option-check::after{transform:translate(-50%,-50%) scale(1)}/* Input Fields */.input-group{display:flex;flex-direction:column;gap:1.5rem}.input-field{position:relative}.input-field input,.input-field textarea{width:100%;padding:1rem 0 0.75rem;font:300 1rem/1.5 var(--sans);color:var(--cream);background:transparent;border:none;border-bottom:1px solid var(--stone);outline:none;transition:border-color 0.3s cubic-bezier(0.16,1,0.3,1)}.input-field textarea{resize:none;min-height:80px}.input-field input:focus,.input-field textarea:focus{border-color:var(--ember)}.input-field label{position:absolute;top:1rem;left:0;font:300 1rem/1 var(--sans);color:var(--sand);pointer-events:none;transition:all 0.3s cubic-bezier(0.16,1,0.3,1)}.input-field input:focus + label,.input-field input:not(:placeholder-shown) + label,.input-field textarea:focus + label,.input-field textarea:not(:placeholder-shown) + label{top:-0.5rem;font-size:0.7rem;letter-spacing:0.05em;color:var(--ember)}.input-line{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform 0.3s cubic-bezier(0.16,1,0.3,1)}.input-field input:focus ~ .input-line,.input-field textarea:focus ~ .input-line{transform:scaleX(1)}.input-error{display:none;font:300 0.75rem/1 var(--sans);color:#e57373;margin-top:0.5rem}.input-field.error input{border-color:#e57373}.input-field.error .input-error{display:block}/* Step Nav */.step-nav{display:flex;align-items:center;justify-content:space-between;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.04)}.nav-back{display:flex;align-items:center;gap:0.5rem;font:400 0.85rem/1 var(--sans);color:var(--sand);background:none;border:none;cursor:pointer;transition:color 0.3s}.nav-back:hover{color:var(--cream)}.back-arrow{transition:transform 0.3s}.nav-back:hover .back-arrow{transform:translateX(-3px)}.nav-hint{font:300 0.75rem/1 var(--sans);color:var(--ash);letter-spacing:0.02em}.submit-button{display:inline-flex;align-items:center;gap:1rem;font:400 0.9rem/1 var(--sans);color:var(--cream);background:none;border:1px solid var(--ember);padding:1rem 2rem;cursor:pointer;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);position:relative}.submit-button:hover{background:var(--ember-dim)}.submit-button:disabled{opacity:0.5;cursor:not-allowed}.button-line{width:30px;height:1px;background:var(--ember);transition:width 0.3s}.submit-button:hover .button-line{width:50px}.submit-button.loading .button-text{opacity:0}.submit-button.loading::after{content:'';position:absolute;width:20px;height:20px;border:2px solid transparent;border-top-color:var(--ember);border-radius:50%;animation:cSpin 0.8s linear infinite}@keyframes cSpin{to{transform:rotate(360deg)}}/* Confirmation */.step-content.confirmation{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px}.confirm-icon{color:var(--ember);margin-bottom:1.5rem;opacity:0;transform:scale(0.8);animation:cIconIn 0.6s cubic-bezier(0.16,1,0.3,1) 0.2s forwards}@keyframes cIconIn{to{opacity:1;transform:scale(1)}}.confirm-icon svg circle{stroke-dasharray:126;stroke-dashoffset:126;will-change:stroke-dashoffset;animation:cDrawCircle 0.8s cubic-bezier(0.16,1,0.3,1) 0.3s forwards}@keyframes cDrawCircle{to{stroke-dashoffset:0}}.confirm-icon svg polyline{stroke-dasharray:30;stroke-dashoffset:30;will-change:stroke-dashoffset;animation:cDrawCheck 0.4s cubic-bezier(0.16,1,0.3,1) 0.8s forwards}@keyframes cDrawCheck{to{stroke-dashoffset:0}}.confirmation .step-question{opacity:0;animation:cFadeUp 0.5s cubic-bezier(0.16,1,0.3,1) 0.4s forwards}.confirmation .step-subtext{opacity:0;animation:cFadeUp 0.5s cubic-bezier(0.16,1,0.3,1) 0.5s forwards}@keyframes cFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirm-cta{margin-top:2.5rem;opacity:0;animation:cFadeUp 0.5s cubic-bezier(0.16,1,0.3,1) 0.7s forwards}.confirm-text{font:300 0.85rem/1.5 var(--sans);color:var(--sand);margin-bottom:0.75rem}.signal-link{display:inline-flex;align-items:center;gap:0.5rem;font:400 0.9rem/1 var(--sans);color:var(--ember);text-decoration:none;transition:color 0.3s}.signal-link:hover{color:var(--cream)}.link-arrow{transition:transform 0.3s}.signal-link:hover .link-arrow{transform:translateX(4px)}/* Mobile */@media (max-width: 640px){.modal-container{margin:0;max-height:100vh;height:100%;border:none}.modal-content{padding:2rem 1.5rem;height:100%;display:flex;flex-direction:column}.contact-form{flex:1;display:flex;flex-direction:column}.form-step{flex:1;display:flex;flex-direction:column}.form-step.active{display:flex}.step-content{flex:1}.step-nav{margin-top:auto}.nav-hint{display:none}.step-question{font-size:1.5rem}.option-card{padding:1rem 1.25rem}}@media (prefers-reduced-motion: reduce){.form-step,.confirm-icon,.confirm-icon svg circle,.confirm-icon svg polyline,.confirmation .step-question,.confirmation .step-subtext,.confirm-cta{animation:none;opacity:1;transform:none}.confirm-icon svg circle,.confirm-icon svg polyline{stroke-dashoffset:0}}/* Site Footer */.site-footer{background:var(--void);border-top:1px solid rgba(255,255,255,0.06);padding:4rem 2rem 2rem}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:3rem}.footer-brand .footer-logo{width:48px;margin-bottom:1rem;opacity:0.5}.footer-tagline{font-family:var(--mono);font-size:0.85rem;color:var(--sand)}.site-footer h4{font-family:var(--mono);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--sand);margin-bottom:1rem}.footer-contact p{font-family:var(--sans);font-size:0.9rem;color:var(--bone);line-height:1.6;margin:0 0 0.5rem}.footer-contact a{color:var(--ember);text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-links ul{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:0.5rem}.footer-links a{font-family:var(--sans);font-size:0.9rem;color:var(--bone);text-decoration:none;transition:color 0.3s ease}.footer-links a:hover{color:var(--ember)}.footer-social a{display:block;font-family:var(--sans);font-size:0.9rem;color:var(--bone);text-decoration:none;margin-bottom:0.5rem;transition:color 0.3s ease}.footer-social a:hover{color:var(--ember)}.footer-bottom{max-width:1200px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.06)}.footer-bottom p{font-family:var(--mono);font-size:0.75rem;color:var(--ash)}@media (max-width: 768px){.site-footer{padding:3rem 1.5rem 1.5rem}.footer-container{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}}@media (max-width: 480px){.footer-container{grid-template-columns:1fr}}