/* ================================================
   TMG v9 — Apple-grade motion + atmosphere + client portfolio
   ================================================ */:root{--void:#020202;--deep:#080807;--dark:#0f0e0d;--warm-dark:#1a1816;--ember:#c47848;--ember-bright:#d4884a;--ember-dim:rgba(196, 120, 72, 0.12);--sand:#a89888;--stone:#484440;--ash:#686460;--bone:#c8c4c0;--cream:#e8e4e0;--sans:'DM Sans',system-ui,sans-serif;--mono:'DM Mono','DM Sans',monospace;--ease:cubic-bezier(0.22, 1, 0.36, 1);--ease-out:cubic-bezier(0.215, 0.61, 0.355, 1);--ease-smooth:cubic-bezier(0.19, 1, 0.22, 1);--apple:cubic-bezier(0.25, 0.46, 0.45, 0.94);--mouse-x:50%;--mouse-y:50%}*,*::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}button{cursor:pointer}img{display:block;max-width:100%}ul{list-style:none}/* ================================================
   STRUCTURE
   ================================================ */.app{position:relative;width:100%}main.page-content{position:relative;z-index:2;background:var(--void)}.wrap{max-width:88rem;margin:0 auto;padding:0 4rem}/* ================================================
   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%)}}/* ================================================
   ATMOSPHERE — Animated gradient orbs
   ================================================ */.atmosphere{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.atm-orb{position:absolute;border-radius:50%;filter:blur(130px);will-change:transform}.atm-orb-1{width:700px;height:700px;background:radial-gradient(circle, rgba(196,120,72,0.07) 0%, transparent 70%);top:-15%;left:-8%;animation:orb1 28s ease-in-out infinite alternate}.atm-orb-2{width:550px;height:550px;background:radial-gradient(circle, rgba(168,152,136,0.05) 0%, transparent 70%);bottom:-20%;right:-12%;animation:orb2 35s ease-in-out infinite alternate}.atm-orb-3{width:450px;height:450px;background:radial-gradient(circle, rgba(196,120,72,0.04) 0%, transparent 65%);top:35%;right:15%;animation:orb3 40s ease-in-out infinite alternate}.atm-orb-4{width:350px;height:350px;background:radial-gradient(circle, rgba(232,228,224,0.02) 0%, transparent 60%);top:60%;left:10%;animation:orb4 32s ease-in-out infinite alternate}/* Mouse-follow ambient */.atmosphere::after{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle, rgba(196,120,72,0.025) 0%, transparent 55%);left:var(--mouse-x);top:var(--mouse-y);transform:translate(-50%, -50%);filter:blur(100px);transition:left 2s var(--apple),top 2s var(--apple)}@keyframes orb1{0%{transform:translate(0, 0) scale(1)}25%{transform:translate(12vw, 8vh) scale(1.08)}50%{transform:translate(5vw, 20vh) scale(0.96)}75%{transform:translate(18vw, 5vh) scale(1.04)}100%{transform:translate(8vw, 15vh) scale(1)}}@keyframes orb2{0%{transform:translate(0, 0) scale(1)}25%{transform:translate(-10vw, -5vh) scale(1.05)}50%{transform:translate(-5vw, -15vh) scale(0.97)}75%{transform:translate(-15vw, -8vh) scale(1.06)}100%{transform:translate(-8vw, -12vh) scale(1)}}@keyframes orb3{0%{transform:translate(0, 0) scale(1)}33%{transform:translate(-8vw, 6vh) scale(1.1)}66%{transform:translate(5vw, -5vh) scale(0.92)}100%{transform:translate(-3vw, 8vh) scale(1.03)}}@keyframes orb4{0%{transform:translate(0, 0) scale(1)}50%{transform:translate(10vw, -8vh) scale(1.08)}100%{transform:translate(-5vw, 5vh) scale(0.95)}}/* ================================================
   ANIMATED LINES
   ================================================ */.aline{height:1px;left:0;pointer-events:none;position:absolute;width:100%}.aline::after{content:'';border-bottom:1px solid rgba(255,255,255,0.05);height:1px;left:0;position:absolute;top:0;width:0%;transition:width 1.6s var(--apple)}.aline.act::after{width:100%}.aline.ctr::after{width:100%;transform:scaleX(0);transform-origin:center;transition:transform 1.6s var(--apple)}.aline.ctr.act::after{transform:scaleX(1)}.aline.top{top:0}.aline.bot{bottom:0}/* ================================================
   PILL BUTTONS
   ================================================ */.pill{align-items:center;border-radius:3rem;color:var(--cream);display:inline-flex;height:3.4rem;justify-content:center;min-width:13rem;overflow:hidden;padding:0 2rem;position:relative;transition:color 0.7s var(--apple);white-space:nowrap}.pill::before{content:'';border:1px solid var(--stone);border-radius:3rem;position:absolute;inset:0;pointer-events:none;transition:border-color 0.5s ease}.pill::after{content:'';background:var(--ember);border-radius:3rem;position:absolute;inset:0;transform:scaleX(0);transform-origin:right center;transition:transform 0.7s var(--ease-smooth);z-index:0}.pill:hover::after{transform:scaleX(1);transform-origin:left center}.pill:hover{color:var(--void)}.pill:hover::before{border-color:var(--ember)}.pill span{position:relative;z-index:1;font:500 0.75rem/1 var(--sans);letter-spacing:0.1em;text-transform:uppercase}/* ================================================
   ARROW LINKS
   ================================================ */.alink{display:inline-flex;align-items:center;gap:0.5rem;font:400 0.82rem/1 var(--sans);letter-spacing:0.08em;text-transform:uppercase;position:relative}.alink::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width 0.5s var(--apple)}.alink:hover::after{width:100%}.alink svg{width:0.75rem;height:0.75rem;transition:transform 0.4s var(--ease)}.alink:hover svg{transform:translate(2px, -2px)}/* ================================================
   SECTION LABELS — ember dot
   ================================================ */.slabel{font:400 0.75rem/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--ash);display:inline-flex;align-items:center;gap:0.6rem}.slabel::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--ember);display:inline-block;flex-shrink:0}/* ================================================
   REVEAL SYSTEM — Apple-grade timing
   ================================================ */.rv{opacity:0;transform:translateY(50px);transition:opacity 1.4s var(--apple),transform 1.4s var(--apple)}.rv.vis{opacity:1;transform:none}.rv-line{opacity:0;transform:translateY(24px);transition:opacity 1s var(--apple),transform 1s var(--apple)}.rv-line.vis{opacity:1;transform:none}/* ================================================
   NAVIGATION
   ================================================ */.nav{position:sticky;top:0;left:0;width:100%;z-index:100;color:var(--ember);transition:background 1s var(--apple),color 1s ease,transform 0.8s var(--apple);margin-bottom:-5rem}.nav.scrolled{background:rgba(2,2,2,0.85);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);color:var(--cream)}.nav.hidden{transform:translateY(-100%)}.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:2rem;justify-content:flex-end}.nav-link{font:400 0.72rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;position:relative;transition:opacity 0.4s ease}.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:currentColor;transition:width 0.5s var(--apple)}.nav-link:hover::after{width:100%}.nav-burger{display:none;background:none;border:none;color:inherit;font:400 0.82rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase}/* Full-screen menu */.fmenu{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--void);z-index:99;opacity:0;pointer-events:none;transition:opacity 0.6s var(--ease-smooth)}.fmenu.open{opacity:1;pointer-events:all}.fmenu-list{display:flex;flex-direction:column;justify-content:center;height:100%;padding:6rem 4rem;gap:0.8rem}.fmenu-a{font:300 2.5rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:0.04em;color:var(--cream);overflow:hidden;display:block}.fmenu-a .fi{display:block;transform:translateY(100%);transition:transform 1.2s var(--ease-smooth)}.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)}/* ================================================
   HERO
   ================================================ */.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;padding:8rem 4rem}/* --- Video background system --- */.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.7) 0%,
    rgba(2,2,2,0.5) 40%,
    rgba(2,2,2,0.7) 100%
  );z-index:1}.hero .vid-bg::after{background:linear-gradient(
    180deg,
    rgba(2,2,2,0.65) 0%,
    rgba(2,2,2,0.45) 35%,
    rgba(2,2,2,0.75) 100%
  )}.stats .vid-bg::after{background:linear-gradient(
    180deg,
    rgba(2,2,2,0.72) 0%,
    rgba(2,2,2,0.55) 50%,
    rgba(2,2,2,0.72) 100%
  )}.footer .vid-bg{z-index:0}.footer .vid-bg::after{background:linear-gradient(
    180deg,
    rgba(8,8,7,0.7) 0%,
    rgba(8,8,7,0.5) 40%,
    rgba(8,8,7,0.75) 100%
  )}.hero-bg{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 50% 30%, rgba(196,120,72,0.07) 0%, transparent 50%),radial-gradient(ellipse at 80% 70%, rgba(168,152,136,0.03) 0%, transparent 45%),radial-gradient(ellipse at 15% 60%, rgba(196,120,72,0.03) 0%, transparent 40%)}.hero-mark{position:absolute;width:180px;height:auto;opacity:0.03;top:50%;left:50%;transform:translate(-50%, -50%);pointer-events:none;animation:markPulse 8s ease-in-out infinite alternate}@keyframes markPulse{0%,100%{opacity:0.025}50%{opacity:0.045}}.hero-inner{position:relative;z-index:2;max-width:950px}.hero-title{font-family:var(--sans);font-size:clamp(4rem, 11vw, 10rem);font-weight:200;line-height:0.88;color:var(--cream);text-transform:uppercase;letter-spacing:-0.045em;margin-bottom:3rem;min-height:1.9em}.hero-title .hw{display:inline-block;opacity:0;transform:translateY(40px);transition:opacity 0.9s var(--apple),transform 0.9s var(--apple)}.hero-title .hw.vis{opacity:1;transform:none}.hero-title .hw.ember{color:var(--ember);font-style:italic;font-weight:300}.hero-sub{font:300 0.9rem/2 var(--sans);letter-spacing:0.08em;text-transform:uppercase;color:var(--sand);max-width:520px;margin:0 auto 3.5rem}.hero-sub.rv{transition-delay:0.5s}.hero-cta.rv{transition-delay:0.7s}/* ================================================
   STATEMENT
   ================================================ */.section-mark{position:absolute;pointer-events:none;opacity:0.018;height:auto;animation:markPulse 8s ease-in-out infinite alternate}.statement .section-mark{width:280px;right:8%;top:50%;transform:translateY(-50%)}.philosophy .section-mark{width:200px;left:auto;right:5%;bottom:15%}.statement{padding:12rem 0;position:relative}.statement::before{content:'';position:absolute;top:0;left:50%;width:1px;height:120px;background:linear-gradient(to bottom, var(--ember), transparent)}.statement::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%, rgba(196,120,72,0.025) 0%, transparent 50%);pointer-events:none}.statement-text{font:300 clamp(1.1rem, 1.8vw, 1.4rem)/2 var(--sans);color:var(--bone);max-width:700px;text-align:center;margin:0 auto;position:relative;z-index:1}.statement-text strong{color:var(--cream);font-weight:400}.statement-text em{color:var(--ember);font-style:italic}/* ================================================
   STATS BAR
   ================================================ */.stats{padding:4.5rem 0;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.04)}.stats-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0}.stat{text-align:center;position:relative;padding:3rem 1rem}.stat:not(:last-child)::after{content:'';position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(255,255,255,0.05)}.stat-n{font:200 clamp(3rem, 5.5vw, 4.8rem)/1 var(--sans);color:var(--cream);letter-spacing:-0.04em;margin-bottom:0.8rem}.stat-n span{color:var(--ember)}.stat-d{font:400 0.72rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--sand)}/* ================================================
   WHAT WE BUILD
   ================================================ */.builds{padding:12rem 0;position:relative;overflow:hidden}.builds::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%, rgba(196,120,72,0.025) 0%, transparent 45%),radial-gradient(ellipse at 80% 70%, rgba(168,152,136,0.015) 0%, transparent 40%);pointer-events:none}.builds-head{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem;position:relative;z-index:1}.builds-h{font:200 clamp(1.8rem, 3.5vw, 3rem)/1.15 var(--sans);color:var(--cream);text-transform:uppercase;letter-spacing:-0.03em}.builds-intro{font:300 0.95rem/1.85 var(--sans);color:var(--sand);max-width:380px;align-self:end}.builds-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem;position:relative;z-index:1}.bcard{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.04);transition:all 0.8s var(--apple)}.bcard:hover{border-color:rgba(196,120,72,0.2);transform:translateY(-6px)}.bcard-art{height:200px;position:relative;overflow:hidden}.bcard-art video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%, -50%);object-fit:cover;transition:transform 1.4s var(--apple)}.bcard:hover .bcard-art video{transform:translate(-50%, -50%) scale(1.06)}.bcard-art::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(2,2,2,0.1) 0%, rgba(2,2,2,0.35) 100%)}.bcard::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, var(--ember), transparent);opacity:0;transition:opacity 0.7s var(--apple)}.bcard:hover::after{opacity:0.6}.bcard-body{padding:2rem 2.5rem 2.5rem}.bcard-num{font:400 0.65rem/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--ember);margin-bottom:1.2rem;opacity:0.8}.bcard-title{font:400 1.3rem/1.25 var(--sans);color:var(--cream);margin-bottom:0.7rem;letter-spacing:-0.01em}.bcard-desc{font:300 1rem/1.8 var(--sans);color:var(--sand)}/* ================================================
   SELECTED WORK — Full client list
   ================================================ */.clients{padding:12rem 0 8rem;position:relative}.clients::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 0%, rgba(196,120,72,0.015) 40%, transparent 100%),radial-gradient(ellipse at 70% 50%, rgba(196,120,72,0.02) 0%, transparent 50%);pointer-events:none}.clients-head{margin-bottom:4rem;position:relative;z-index:1}.clients-h{font:200 clamp(1.8rem, 3.5vw, 3rem)/1.15 var(--sans);color:var(--cream);text-transform:uppercase;letter-spacing:-0.03em;margin-top:1.5rem}.cw-list{position:relative;z-index:1}.cw-item{position:relative}.cw-row{display:flex;justify-content:space-between;align-items:baseline;padding:1.8rem 0;gap:2rem;transition:padding 0.5s var(--apple)}.cw-name{font:200 clamp(1.1rem, 2.2vw, 1.7rem)/1.1 var(--sans);text-transform:uppercase;letter-spacing:0.01em;color:var(--cream);flex-shrink:0;transition:color 0.5s var(--apple),letter-spacing 0.5s var(--apple)}.cw-item:hover .cw-name{color:var(--ember);letter-spacing:0.03em}.cw-tags{display:flex;flex-wrap:wrap;gap:0.35rem;justify-content:flex-end;max-width:58%}.cw-tags span{font:400 0.65rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--sand);padding:0.35rem 0.75rem;border:1px solid rgba(255,255,255,0.05);border-radius:2rem;white-space:nowrap;transition:all 0.5s var(--apple)}.cw-item:hover .cw-tags span{border-color:rgba(196,120,72,0.15);color:var(--sand)}/* ================================================
   AUDIENCERENT PARTNERS
   ================================================ */.ar{padding:10rem 0;position:relative;background:var(--deep)}.ar::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(196,120,72,0.08), transparent)}.ar::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%, rgba(196,120,72,0.035) 0%, transparent 50%),radial-gradient(ellipse at 20% 80%, rgba(168,152,136,0.02) 0%, transparent 45%);pointer-events:none}.ar-head{margin-bottom:3.5rem;position:relative;z-index:1}.ar-h{font:200 clamp(1.6rem, 3vw, 2.5rem)/1.2 var(--sans);color:var(--cream);text-transform:uppercase;letter-spacing:-0.02em;margin-top:1.5rem}.ar-h em{color:var(--ember);font-style:italic;font-weight:300}.ar-grid{display:flex;flex-wrap:wrap;gap:0.5rem;position:relative;z-index:1}.ar-grid span{font:300 clamp(0.82rem, 1.2vw, 1rem)/1 var(--sans);letter-spacing:0.04em;text-transform:uppercase;color:var(--bone);padding:0.7rem 1.4rem;border:1px solid rgba(255,255,255,0.06);border-radius:3rem;transition:all 0.5s var(--apple)}.ar-grid span:hover{border-color:var(--ember);color:var(--ember);background:rgba(196,120,72,0.04)}.ar-grid span.hl{color:var(--ember);border-color:rgba(196,120,72,0.2)}.ar-stat{margin-top:2.5rem;font:300 1.05rem/1 var(--sans);color:var(--bone);letter-spacing:0.08em;text-transform:uppercase}.ar-stat-n{font-size:clamp(2rem, 4vw, 3.2rem);font-weight:200;color:var(--ember);letter-spacing:-0.02em;text-transform:none}.ar-note{font:300 0.95rem/1.8 var(--sans);color:var(--sand);margin-top:1.2rem;max-width:500px;position:relative;z-index:1}/* ================================================
   PROCESS
   ================================================ */.process{padding:12rem 0;position:relative;overflow:hidden}.process::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent)}.process::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%, rgba(196,120,72,0.018) 0%, transparent 45%);pointer-events:none}.process-head{text-align:center;margin-bottom:5rem;position:relative;z-index:1}.process-h{font:200 clamp(1.8rem, 3.5vw, 3rem)/1.15 var(--sans);color:var(--cream);text-transform:uppercase;margin-top:1.5rem;letter-spacing:-0.03em}.process-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;max-width:1100px;margin:0 auto;position:relative;z-index:1}.process-grid::before{content:'';position:absolute;top:24px;left:10%;right:10%;height:1px;background:linear-gradient(90deg, transparent, var(--stone), var(--ember), var(--stone), transparent);opacity:0.15}.pstep{text-align:center;padding:0 1.5rem;position:relative}.pstep-n{font:200 2rem/1 var(--sans);color:var(--ember);margin-bottom:1.5rem;position:relative;display:inline-block}.pstep-n::after{content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--ember);opacity:0.3}.pstep-t{font:500 0.95rem/1.3 var(--sans);letter-spacing:0.04em;text-transform:uppercase;color:var(--cream);margin-bottom:0.6rem}.pstep-d{font:300 1.05rem/1.8 var(--sans);color:var(--sand)}/* ================================================
   PHILOSOPHY
   ================================================ */.philosophy{padding:12rem 0;position:relative;background:var(--deep)}.philosophy::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.04), transparent)}.philosophy::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(196,120,72,0.025) 0%, transparent 30%),radial-gradient(ellipse at 0% 50%, rgba(196,120,72,0.04) 0%, transparent 40%);pointer-events:none}.philosophy-inner{max-width:700px;position:relative;z-index:1}.philosophy-list{display:flex;flex-direction:column;gap:3.5rem;margin-top:2.5rem}.phi{display:grid;grid-template-columns:50px 1fr;gap:1.5rem;padding:1.5rem;margin:-1.5rem;border-radius:2px;transition:background 0.6s var(--apple)}.phi:hover{background:linear-gradient(90deg, rgba(196,120,72,0.03) 0%, transparent 50%)}.phi-n{font:200 1.2rem/1 var(--sans);color:var(--ember);padding-top:0.2rem}.phi-t{font:400 1.2rem/1.3 var(--sans);color:var(--cream);margin-bottom:0.6rem;letter-spacing:-0.01em}.phi-d{font:300 1.05rem/1.85 var(--sans);color:var(--sand)}/* ================================================
   SERVICES
   ================================================ */.services{padding:10rem 0;position:relative}.services::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 40%, rgba(196,120,72,0.015) 0%, transparent 40%);pointer-events:none}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:0;position:relative;z-index:1}.svc-list{font:200 clamp(1.3rem, 2.2vw, 1.65rem)/2.8 var(--sans);letter-spacing:0em;text-transform:uppercase}.svc-list a{transition:color 0.4s var(--apple)}.svc-list a:hover{color:var(--ember)}/* ================================================
   TESTIMONIAL
   ================================================ */.testimonial{padding:12rem 0;text-align:center;position:relative;background:var(--deep)}.testimonial::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(196,120,72,0.1), transparent)}.testimonial::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%, rgba(196,120,72,0.035) 0%, transparent 45%);pointer-events:none}.tq-mark{font:300 12rem/0.6 var(--sans);color:var(--ember);opacity:0.06;user-select:none;position:relative;z-index:1}.tq-text{font:300 clamp(1.3rem, 2.4vw, 1.8rem)/1.75 var(--sans);color:var(--cream);max-width:640px;margin:-1rem auto 2.5rem;position:relative;z-index:1;letter-spacing:-0.005em}.tq-attr{font:400 0.7rem/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:var(--stone);position:relative;z-index:1}/* ================================================
   PRINCIPLES — rotating text
   ================================================ */.principles{padding:14rem 0;position:relative;text-align:center}.principles::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%, rgba(196,120,72,0.015) 0%, transparent 40%);pointer-events:none}.principles-text{font:200 clamp(1.5rem, 3.2vw, 2.6rem)/1.4 var(--sans);letter-spacing:-0.02em;text-transform:uppercase;color:var(--cream);min-height:2em;position:relative;z-index:1}.principles-text .ch{display:inline-block;opacity:0;transform:translateY(14px);transition:opacity 0.4s ease,transform 0.4s ease}.principles-text .ch.vis{opacity:1;transform:none}/* ================================================
   STICKY FOOTER
   ================================================ */.footer{position:sticky;bottom:0;z-index:1;background:var(--deep);color:var(--cream);min-height:100vh;display:grid;grid-template-columns:1fr 28rem;overflow:hidden}.footer::after{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 30% 50%, rgba(196,120,72,0.025) 0%, transparent 50%),radial-gradient(ellipse at 70% 30%, rgba(168,152,136,0.015) 0%, transparent 40%);pointer-events:none}.footer-head{position:absolute;top:0;width:100%;z-index:3;border-bottom:1px solid var(--stone)}.footer-head-w{display:flex;justify-content:space-between;align-items:center;padding:1.8rem 4rem;width:calc(100% - 28rem)}.footer-head-tag{font:300 0.75rem/1 var(--sans);letter-spacing:0.14em;text-transform:uppercase;color:var(--sand)}.footer-head-loc{font:300 0.72rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--ash)}.footer-head-loc a{transition:color 0.4s ease}.footer-head-loc a:hover{color:var(--ember)}.footer-left{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6rem 4rem;position:relative;z-index:2}.footer-mark{width:90px;opacity:0.5;margin-bottom:2.5rem}.footer-cta-text{font:200 clamp(2.2rem, 4.5vw, 3.8rem)/1.15 var(--sans);letter-spacing:-0.03em;text-transform:uppercase;color:var(--cream);transition:color 0.5s var(--apple)}.footer-cta-text:hover{color:var(--ember)}.footer-left-bot{position:absolute;bottom:2.5rem;left:4rem;right:4rem;display:flex;justify-content:space-between;align-items:flex-end}.footer-copy{font:400 0.68rem/1 var(--sans);letter-spacing:0.14em;text-transform:uppercase;color:var(--ash)}.footer-right{border-left:1px solid var(--stone);display:flex;flex-direction:column;justify-content:space-between;padding:6rem 2.5rem 2.5rem;background:radial-gradient(ellipse at 50% 30%, rgba(196,120,72,0.025) 0%, transparent 60%),rgba(8,8,7,0.85);position:relative;z-index:2}.fnav-link{display:block;font:400 0.8rem/1 var(--sans);letter-spacing:0.14em;text-transform:uppercase;color:var(--bone);padding:0.75rem 0;transition:color 0.4s var(--apple)}.fnav-link:hover{color:var(--ember)}.footer-email{margin-top:auto}/* ================================================
   CLIENT TABS — Industry filter
   ================================================ */.cw-tabs{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:3.5rem;position:relative;z-index:1}.cw-tab{background:none;border:1px solid rgba(255,255,255,0.06);border-radius:3rem;color:var(--ash);font:400 0.7rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;padding:0.6rem 1.3rem;cursor:pointer;transition:all 0.5s var(--apple);position:relative;overflow:hidden}.cw-tab::after{content:'';background:var(--ember);border-radius:3rem;position:absolute;inset:0;transform:scaleX(0);transform-origin:right center;transition:transform 0.5s var(--ease-smooth);z-index:0}.cw-tab span{position:relative;z-index:1}.cw-tab:hover{border-color:rgba(196,120,72,0.25);color:var(--cream)}.cw-tab.active{border-color:var(--ember);color:var(--void)}.cw-tab.active::after{transform:scaleX(1);transform-origin:left center}/* Compact grid (All view) */.cw-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;position:relative;z-index:1}.cw-cell{padding:1.3rem 1.5rem;position:relative;border-bottom:1px solid rgba(255,255,255,0.04);transition:background 0.4s var(--apple);cursor:default}.cw-cell:hover{background:linear-gradient(135deg, rgba(196,120,72,0.03) 0%, transparent 60%)}/* Vertical dividers between columns */.cw-cell:not(:nth-child(3n))::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:rgba(255,255,255,0.04)}.cw-cell-name{font:300 clamp(0.92rem, 1.2vw, 1.05rem)/1.3 var(--sans);text-transform:uppercase;letter-spacing:0.03em;color:var(--bone);transition:color 0.4s var(--apple)}.cw-cell:hover .cw-cell-name{color:var(--ember)}.cw-cell-cat{font:400 0.62rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ash);margin-top:0.35rem}/* Filtered detail view */.cw-detail{display:none;position:relative;z-index:1}.cw-detail.active{display:block}.cw-detail .cw-item{opacity:0;transform:translateY(20px);animation:cwReveal 0.6s var(--apple) forwards}@keyframes cwReveal{to{opacity:1;transform:none}}/* Marquee (mobile only) */.cw-marquee{display:none}.cw-marquee-row{overflow:hidden;padding:0.65rem 0;border-bottom:1px solid rgba(255,255,255,0.06);-webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%)}.cw-marquee-row:last-child{border-bottom:none}.cw-marquee-track{display:flex;gap:0;width:max-content;will-change:transform}.cw-marquee-row:nth-child(1) .cw-marquee-track{animation:marqueeL 38s linear infinite}.cw-marquee-row:nth-child(2) .cw-marquee-track{animation:marqueeR 42s linear infinite}.cw-marquee-row:nth-child(3) .cw-marquee-track{animation:marqueeL 35s linear infinite}@keyframes marqueeL{to{transform:translateX(-50%)}}@keyframes marqueeR{from{transform:translateX(-50%)}to{transform:translateX(0)}}.cw-marquee-track span{font:500 0.62rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.5);white-space:nowrap;padding:0 0.6rem}.cw-marquee-track span::after{content:'\00b7';margin-left:1.2rem;color:rgba(196,120,72,0.35)}/* Transition wrapper */.cw-views{position:relative;min-height:200px}.cw-grid-wrap{transition:opacity 0.4s var(--apple)}.cw-grid-wrap.hidden{opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.cw-detail-wrap{transition:opacity 0.4s var(--apple)}.cw-detail-wrap.hidden{opacity:0;pointer-events:none;position:absolute;top:0;width:100%}/* Count badge */.cw-count{font:400 0.68rem/1 var(--sans);letter-spacing:0.1em;color:var(--stone);margin-top:2rem;text-transform:uppercase;position:relative;z-index:1}.cw-count span{color:var(--ember)}/* ================================================
   RESPONSIVE
   ================================================ */@media (max-width: 1024px){.builds-head{grid-template-columns:1fr}.builds-grid{grid-template-columns:1fr 1fr}.bcard:nth-child(3){grid-column:1/-1}.services-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr;gap:3rem}.process-grid::before{display:none}.stats-grid{grid-template-columns:1fr 1fr}.cw-grid{grid-template-columns:1fr 1fr}.cw-row{flex-direction:column;gap:0.6rem}.cw-tags{justify-content:flex-start;max-width:100%}.ar-grid span{font-size:0.78rem}.footer{grid-template-columns:1fr;min-height:auto;position:relative}.footer-head-w{width:100%}.footer-right{border-left:none;border-top:1px solid var(--stone)}.footer-left-bot{position:relative;bottom:auto;margin-top:4rem;width:100%}}@media (max-width: 768px){.wrap{padding:0 2rem}.nav-w{padding:0 2rem}.nav-c:first-child{display:none}.nav-links{display:none}.nav-burger{display:block}.hero{padding:6rem 2rem;overflow:visible}.hero-title{line-height:1.0}.hero-title .hw{transform:translateY(18px);-webkit-backface-visibility:hidden;backface-visibility:hidden}.builds-grid{grid-template-columns:1fr}.bcard:nth-child(3){grid-column:auto}.process-grid{grid-template-columns:1fr;gap:2.5rem}.stats-grid{grid-template-columns:1fr 1fr}.cw-grid{display:none}.cw-marquee{display:block}.cw-tabs{gap:0.3rem}.footer-head-w{padding:1.5rem 2rem}.footer-left{padding:8rem 2rem 4rem}.footer-right{padding:4rem 2rem 2rem}.footer-left-bot{flex-direction:column;align-items:center;gap:0.6rem}.atm-orb{display:none}}/* ===== SYSTEM AUDIT ===== */.system-audit{position:relative;overflow:hidden}.system-audit .wrap{max-width:900px}/* SHARED STATE MANAGEMENT */.audit-state{display:none;opacity:0;transform:translateY(24px);transition:opacity 0.7s var(--ease),transform 0.7s var(--ease)}.audit-state.active{display:block}.audit-state.visible{opacity:1;transform:none}/* INTRO */.audit-intro{text-align:center;padding:0}.audit-label{display:inline-flex;align-items:center;gap:1rem;margin-bottom:2rem}.audit-label .label-line{width:30px;height:1px;background:var(--ember)}.audit-label .label-text{font:400 0.6rem/1 var(--sans);letter-spacing:0.3em;text-transform:uppercase;color:var(--ember)}.audit-title{font:300 clamp(2.5rem, 5vw, 4rem)/1.1 var(--serif);color:var(--cream);margin-bottom:1.5rem;letter-spacing:-0.02em}.audit-lead{font:300 1.25rem/1.5 var(--serif);color:var(--bone);margin-bottom:1.5rem;max-width:580px;margin-left:auto;margin-right:auto}.audit-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}.audit-trust{font:300 0.82rem/1.9 var(--sans);color:var(--sand);font-style:italic;margin-bottom:3rem}.audit-start{display:inline-flex;align-items:center;gap:1rem;background:transparent;border:1px solid var(--ember);padding:1rem 2.2rem;font:400 0.82rem/1 var(--sans);letter-spacing:0.12em;color:var(--cream);cursor:pointer;transition:background 0.3s var(--ease)}.audit-start:hover{background:var(--ember-dim)}.audit-start .btn-line{width:30px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.audit-start:hover .btn-line{width:50px}/* QUESTION STATE */.audit-question{padding:0}.q-progress{display:flex;align-items:center;gap:0.5rem;margin-bottom:3rem}.q-progress-num{font:300 1.5rem/1 var(--serif);color:var(--ember)}.q-progress-div{font:300 0.8rem/1 var(--sans);color:var(--stone)}.q-progress-tot{font:300 0.8rem/1 var(--sans);color:var(--stone)}.q-progress-bar{flex:1;height:2px;background:var(--deep);margin-left:2rem;overflow:hidden}.q-progress-fill{height:100%;background:var(--ember);transition:width 0.6s var(--ease)}.q-text{font:300 clamp(1.6rem, 3.5vw, 2.4rem)/1.3 var(--serif);color:var(--cream);margin-bottom:0.75rem}.q-sub{font:300 0.88rem/1.6 var(--sans);color:var(--sand);margin-bottom:3rem;font-style:italic}.q-options{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem}.q-opt{display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem;background:var(--deep);border:1px solid rgba(200,196,192,0.08);cursor:pointer;text-align:left;font-family:var(--sans);color:var(--cream);transition:border-color 0.3s var(--ease),background 0.3s var(--ease)}.q-opt:hover{border-color:rgba(196,120,72,0.4);background:var(--dark)}.q-opt.selected{border-color:var(--ember);background:var(--ember-dim)}.q-opt.selected .q-opt-label{color:var(--ember)}.q-opt-label{font:400 0.95rem/1.3 var(--sans);color:var(--cream);margin-bottom:0.4rem;transition:color 0.3s var(--ease)}.q-opt-desc{font:300 0.78rem/1.5 var(--sans);color:var(--sand)}.q-nav{display:flex;justify-content:flex-start;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(200,196,192,0.06)}.q-back{display:inline-flex;align-items:center;gap:0.75rem;font:300 0.82rem/1 var(--sans);color:var(--sand);background:none;border:none;cursor:pointer;transition:color 0.3s var(--ease)}.q-back:hover{color:var(--cream)}.q-back-line{width:20px;height:1px;background:currentColor}/* RESULTS STATE */.audit-results{padding:0}.results-score-row{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid rgba(200,196,192,0.06)}.results-score-ring{position:relative;width:100px;height:100px;flex-shrink:0}.results-score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.results-score-ring .ring-bg{fill:none;stroke:var(--deep);stroke-width:3}.results-score-ring .ring-fill{fill:none;stroke:var(--ember);stroke-width:3;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset 1.5s var(--ease)}.results-score-ring .ring-fill.animate{/* set via JS */}.score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:300 1.6rem/1 var(--serif);color:var(--cream)}.score-label{font:400 0.58rem/1 var(--sans);letter-spacing:0.25em;text-transform:uppercase;color:var(--ember);margin-bottom:0.75rem}.score-summary{font:300 1rem/1.7 var(--sans);color:var(--bone)}/* VISUAL: FRAGMENTED vs CONNECTED */.results-visual{display:flex;align-items:stretch;gap:0;margin-bottom:3rem;border:1px solid rgba(200,196,192,0.06);overflow:hidden}.visual-side{flex:1;padding:2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}.visual-frag{background:var(--deep)}.visual-conn{background:linear-gradient(160deg, rgba(196,120,72,0.06) 0%, var(--deep) 100%);border-left:1px solid rgba(200,196,192,0.06)}.visual-lbl{font:400 0.55rem/1 var(--sans);letter-spacing:0.25em;text-transform:uppercase;color:var(--sand);margin-bottom:1.5rem}.frag-pieces{display:flex;flex-wrap:wrap;gap:0.5rem;max-width:200px;justify-content:center}.frag-piece{padding:0.45rem 0.7rem;background:var(--dark);border:1px solid rgba(200,196,192,0.1);font:400 0.65rem/1 var(--sans);letter-spacing:0.05em;color:var(--sand)}.frag-piece:nth-child(1){transform:rotate(-3deg) translateY(2px)}.frag-piece:nth-child(2){transform:rotate(2deg) translateY(-3px)}.frag-piece:nth-child(3){transform:rotate(-1deg) translateY(5px)}.frag-piece:nth-child(4){transform:rotate(4deg)}.frag-piece:nth-child(5){transform:rotate(-2deg) translateY(3px)}.conn-diagram{position:relative;width:180px;height:180px}.conn-hub{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:36px;height:36px;border-radius:50%;background:var(--ember);display:flex;align-items:center;justify-content:center;font:600 0.55rem/1 var(--sans);color:var(--void);letter-spacing:0.05em;z-index:2}.conn-node{position:absolute;padding:0.35rem 0.6rem;background:var(--dark);border:1px solid rgba(196,120,72,0.3);font:400 0.6rem/1 var(--sans);color:var(--bone);letter-spacing:0.03em;white-space:nowrap;z-index:2}.conn-node:nth-child(2){top:0;left:50%;transform:translateX(-50%)}.conn-node:nth-child(3){top:28%;right:-10px}.conn-node:nth-child(4){bottom:28%;right:-10px}.conn-node:nth-child(5){bottom:0;left:50%;transform:translateX(-50%)}.conn-node:nth-child(6){top:28%;left:-10px}.conn-node:nth-child(7){bottom:28%;left:-10px}.conn-lines{position:absolute;inset:0;z-index:1}.conn-lines line{stroke:var(--ember);stroke-width:1;opacity:0.25}@keyframes pulse-line{0%,100%{opacity:0.15}50%{opacity:0.5}}.conn-lines line{animation:pulse-line 2.5s ease-in-out infinite}.conn-lines line:nth-child(1){animation-delay:0s}.conn-lines line:nth-child(2){animation-delay:0.4s}.conn-lines line:nth-child(3){animation-delay:0.8s}.conn-lines line:nth-child(4){animation-delay:1.2s}.conn-lines line:nth-child(5){animation-delay:1.6s}.visual-arrow-col{display:flex;align-items:center;justify-content:center;padding:0 1rem;font:300 1.8rem/1 var(--serif);color:var(--ember)}/* INDUSTRY CONTEXT */.results-context{margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(200,196,192,0.06)}.ctx-intro{font:300 1.2rem/1.5 var(--serif);color:var(--cream);margin-bottom:1rem}.ctx-note{font:300 0.92rem/1.7 var(--sans);color:var(--bone)}/* GAP ITEMS */.results-gaps{margin-bottom:4rem}.gap-item{display:flex;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(200,196,192,0.04);opacity:0;transform:translateX(-20px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease)}.gap-item.visible{opacity:1;transform:none}.gap-item:nth-child(1){transition-delay:0.1s}.gap-item:nth-child(2){transition-delay:0.25s}.gap-item:nth-child(3){transition-delay:0.4s}.gap-item:nth-child(4){transition-delay:0.55s}.gap-item:last-child{border-bottom:none}.gap-marker{display:flex;flex-direction:column;align-items:center;padding-top:0.5rem}.gap-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.gap-dot.critical{background:#c44a4a}.gap-dot.moderate{background:var(--ember)}.gap-dot.low{background:#4a8c6a}.gap-line{width:1px;flex:1;min-height:40px;background:rgba(200,196,192,0.1);margin-top:0.5rem}.gap-content{flex:1}.gap-title{font:400 1.3rem/1.3 var(--serif);color:var(--cream);margin-bottom:0.75rem}.gap-body{font:300 0.88rem/1.8 var(--sans);color:var(--bone)}/* CLOSING CTA */.results-closing{text-align:center;padding:3rem;background:var(--ember-dim);border:1px solid rgba(196,120,72,0.2)}.closing-statement{font:300 1.15rem/1.5 var(--serif);font-style:italic;color:var(--cream);margin-bottom:1rem}.closing-cta-text{font:300 0.92rem/1.6 var(--sans);color:var(--bone);margin-bottom:2rem}.results-cta{display:inline-flex;align-items:center;gap:1rem;font:400 0.88rem/1 var(--sans);color:var(--cream);transition:color 0.3s var(--ease)}.results-cta:hover{color:var(--ember)}.results-cta .cta-line{width:40px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.results-cta:hover .cta-line{width:70px}/* RESTART */.audit-restart{display:inline-flex;align-items:center;gap:0.75rem;margin-top:2rem;font:300 0.78rem/1 var(--sans);color:var(--sand);background:none;border:none;cursor:pointer;letter-spacing:0.1em;transition:color 0.3s var(--ease)}.audit-restart:hover{color:var(--cream)}/* RESPONSIVE */@media (max-width: 700px){.q-options{grid-template-columns:1fr}.results-visual{flex-direction:column}.visual-conn{border-left:none;border-top:1px solid rgba(200,196,192,0.06)}.visual-arrow-col{padding:1rem 0;transform:rotate(90deg)}.results-score-row{flex-direction:column;text-align:center}}/* ===========================================
   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}}.homepage-faq{padding:6rem 2rem;background:var(--void)}.homepage-faq .faq-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:3rem}@media (max-width: 768px){.homepage-faq .faq-grid{grid-template-columns:1fr}}/* 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}}