/* ---- RESET ---- */*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}/* ---- VARIABLES ---- */: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;--mono:'DM Mono','DM Sans',monospace;--sans:'DM Sans',system-ui,sans-serif;--ease:cubic-bezier(0.22, 1, 0.36, 1);--ease-smooth:cubic-bezier(0.19, 1, 0.22, 1)}html{background:var(--void);color:var(--cream);font-family:var(--sans)}body{min-height:100vh;background:var(--void);overflow-x:hidden}/* ---- NAV ---- */.nav{position:fixed;top:0;left:0;width:100%;z-index:100;transition:all 0.6s var(--ease);background:transparent;color:var(--cream)}.nav.scrolled{background:rgba(2,2,2,0.85);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.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;text-decoration:none;color:inherit}.nav-link::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:currentColor;transition:width 0.5s var(--ease)}.nav-link:hover::after{width:100%}.nav-link.active{color:var(--ember)}.nav-link.active::after{width:100%;background:var(--ember)}.nav-burger{display:none;background:none;border:none;color:inherit;font:400 0.82rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer}/* ---- FMENU (Mobile 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-a:hover{color:var(--ember)}/* ---- HERO ---- */.labs-index-hero{text-align:center;max-width:800px;margin:0 auto;padding:8rem 2rem 4rem}.labs-label{display:inline-flex;align-items:center;gap:0.75rem;margin-bottom:2rem}.label-line{display:inline-block;width:2rem;height:1px;background:var(--ember)}.label-text{font:400 0.7rem/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--ember)}.labs-index-title{font:300 4.5rem/1.05 var(--sans);color:var(--cream);margin-bottom:1.5rem;letter-spacing:-0.02em}.labs-index-lead{font:400 1.15rem/1.6 var(--sans);color:var(--bone);margin-bottom:1.2rem;max-width:600px;margin-left:auto;margin-right:auto}.labs-index-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:1.2rem;max-width:550px;margin-left:auto;margin-right:auto}.labs-index-trust{font:400 0.8rem/1.5 var(--sans);color:var(--ash);letter-spacing:0.02em}/* ---- TOOLS GRID ---- */.labs-tools-section{max-width:1000px;margin:0 auto;padding:2rem 2rem 4rem}.labs-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.tool-card{position:relative;background:var(--deep);border:1px solid rgba(200,196,192,0.06);padding:2.2rem 2rem;transition:all 0.5s var(--ease);opacity:0;transform:translateY(30px)}.tool-card.visible{opacity:1;transform:translateY(0)}.tool-card.live:hover{border-color:var(--ember);background:var(--dark)}.tool-card.coming-soon{opacity:0;transform:translateY(30px)}.tool-card.coming-soon.visible{opacity:0.5;transform:translateY(0)}.tool-status{position:absolute;top:1.2rem;right:1.5rem;font:500 0.6rem/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase}.tool-status.live{color:var(--ember)}.tool-status.soon{color:var(--stone)}.tool-number{font:300 2.8rem/1 var(--sans);color:var(--ember);margin-bottom:1rem;letter-spacing:-0.02em}.tool-title{font:400 1.6rem/1.2 var(--sans);color:var(--cream);margin-bottom:0.8rem}.tool-desc{font:300 0.85rem/1.65 var(--sans);color:var(--sand);margin-bottom:1.2rem}.tool-cta{display:inline-block;font:500 0.7rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ember);position:relative;transition:opacity 0.4s ease}.tool-cta::after{content:' \2192'}.tool-cta:hover{opacity:0.7}/* ---- FOOTER CTA ---- */.labs-footer-cta{text-align:center;padding:4rem 2rem 5rem;max-width:600px;margin:0 auto}.labs-footer-cta-text{font:300 1.8rem/1.3 var(--sans);color:var(--bone);margin-bottom:1.5rem}.labs-footer-cta-link{display:inline-block;font:500 0.7rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ember);padding:0.9rem 2.2rem;border:1px solid var(--ember);transition:all 0.4s var(--ease)}.labs-footer-cta-link:hover{background:var(--ember);color:var(--void)}/* ---- SITE FOOTER ---- */.work-footer{border-top:1px solid rgba(200,196,192,0.06);padding:4rem;text-align:center;background:var(--void)}.work-footer-mark{width:40px;margin:0 auto 2rem;opacity:0.4}.work-footer-mark img{width:100%}.work-footer-nav{display:flex;gap:2rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.work-footer-nav a{font:400 0.65rem/1 var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--sand);transition:color 0.3s ease}.work-footer-nav a:hover{color:var(--ember)}.work-footer-copy{font:300 0.7rem/1 var(--sans);color:var(--ash);letter-spacing:0.08em}/* ---- RESPONSIVE ---- */@media (max-width: 1024px){.nav-w{padding:0 2rem}.nav-c:first-child{display:none}.nav-links{display:none}.nav-burger{display:block}}@media (max-width: 700px){.labs-tools-grid{grid-template-columns:1fr}.labs-index-hero{padding:6rem 1.5rem 3rem}.labs-index-title{font-size:3rem}}/* ---- COMPETITIVE BRIEF PAGE ---- */.cb-page{max-width:720px;margin:0 auto;padding:10rem 2rem 4rem;min-height:100vh}.cb-breadcrumb{display:flex;align-items:center;gap:0.5rem;margin-bottom:3rem;font:400 0.7rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ash)}.cb-breadcrumb a{color:var(--ash);transition:color 0.3s ease}.cb-breadcrumb a:hover{color:var(--ember)}.cb-breadcrumb .sep{color:var(--stone)}.cb-header{margin-bottom:3rem}.cb-label{display:inline-flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem}.cb-label-line{display:inline-block;width:2rem;height:1px;background:var(--ember)}.cb-label-text{font:400 0.65rem/1 var(--mono);letter-spacing:0.2em;text-transform:uppercase;color:var(--ember)}.cb-title{font:300 2.8rem/1.1 var(--sans);color:var(--cream);margin-bottom:1rem;letter-spacing:-0.02em}.cb-subtitle{font:300 1rem/1.6 var(--sans);color:var(--sand);max-width:540px}/* ---- FORM ---- */.cb-form{display:block}.cb-form.hidden{display:none}.cb-field{margin-bottom:2rem}.cb-field-label{display:block;font:500 0.7rem/1 var(--sans);letter-spacing:0.14em;text-transform:uppercase;color:var(--bone);margin-bottom:0.75rem}.cb-field-hint{display:block;font:300 0.78rem/1.4 var(--sans);color:var(--ash);margin-bottom:0.6rem}.cb-input,.cb-textarea{width:100%;background:var(--deep);border:1px solid var(--stone);border-radius:6px;padding:0.9rem 1.1rem;font:300 0.95rem/1.5 var(--sans);color:var(--cream);transition:border-color 0.3s ease,box-shadow 0.3s ease;outline:none}.cb-input:focus,.cb-textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(196, 120, 72, 0.1)}.cb-input::placeholder,.cb-textarea::placeholder{color:var(--stone);font-weight:300}.cb-textarea{min-height:100px;resize:vertical}.cb-submit{display:inline-flex;align-items:center;gap:0.6rem;background:var(--ember);color:var(--void);border:none;border-radius:6px;padding:1rem 2.4rem;font:500 0.78rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.4s var(--ease);margin-top:0.5rem}.cb-submit:hover{background:#d4885a;transform:translateY(-1px);box-shadow:0 8px 24px rgba(196, 120, 72, 0.2)}.cb-submit:active{transform:translateY(0)}.cb-submit:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none}.cb-submit-arrow{font-size:1.1rem;transition:transform 0.3s ease}.cb-submit:hover .cb-submit-arrow{transform:translateX(3px)}/* ---- LOADING STATE ---- */.cb-loading{display:none;text-align:center;padding:4rem 0}.cb-loading.active{display:block}.cb-loading-spinner{width:48px;height:48px;border:2px solid var(--stone);border-top-color:var(--ember);border-radius:50%;animation:cb-spin 0.8s linear infinite;margin:0 auto 2rem}@keyframes cb-spin{to{transform:rotate(360deg)}}.cb-loading-text{font:300 1rem/1.6 var(--sans);color:var(--sand);margin-bottom:0.5rem}.cb-loading-subtext{font:300 0.78rem/1.4 var(--mono);color:var(--ash);letter-spacing:0.04em}/* ---- LOADING PROGRESS BAR ---- */.cb-progress-track{width:200px;height:2px;background:var(--stone);border-radius:2px;margin:1.5rem auto 0;overflow:hidden}.cb-progress-bar{width:0%;height:100%;background:var(--ember);border-radius:2px;transition:width 0.6s var(--ease)}/* ---- OUTPUT STATE ---- */.cb-output{display:none}.cb-output.active{display:block}.cb-output-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--stone)}.cb-new-btn{display:inline-flex;align-items:center;gap:0.5rem;background:none;border:1px solid var(--stone);border-radius:6px;padding:0.6rem 1.2rem;font:400 0.7rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--bone);cursor:pointer;transition:all 0.3s ease}.cb-new-btn:hover{border-color:var(--ember);color:var(--ember)}.cb-copy-btn{display:inline-flex;align-items:center;gap:0.5rem;background:none;border:1px solid var(--stone);border-radius:6px;padding:0.6rem 1.2rem;font:400 0.7rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--bone);cursor:pointer;transition:all 0.3s ease}.cb-copy-btn:hover{border-color:var(--ember);color:var(--ember)}.cb-copy-btn.copied{border-color:#5a8a5a;color:#5a8a5a}.cb-brief{font:300 0.95rem/1.7 var(--sans);color:var(--cream)}.cb-brief h2{font:500 1.3rem/1.3 var(--sans);color:var(--ember);margin:2.5rem 0 1rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(196, 120, 72, 0.2)}.cb-brief h2:first-child{margin-top:0}.cb-brief h3{font:500 1rem/1.3 var(--sans);color:var(--bone);margin:1.5rem 0 0.75rem}.cb-brief p{margin-bottom:1rem;color:var(--sand)}.cb-brief strong{color:var(--cream);font-weight:500}.cb-brief ul,.cb-brief ol{margin:0.5rem 0 1rem 1.5rem;color:var(--sand)}.cb-brief li{margin-bottom:0.4rem}.cb-brief li strong{color:var(--cream)}/* TMG Insight callout */.tmg-insight{margin:1.25rem 0 1.5rem;padding:1rem 1.25rem;border-radius:6px;background:rgba(196, 120, 72, 0.05);border-left:2px solid var(--ember)}.tmg-insight-label{font:500 0.6rem/1 var(--sans);letter-spacing:0.18em;text-transform:uppercase;color:var(--ember);margin-bottom:0.5rem}.tmg-insight-text{font:300 0.84rem/1.7 var(--sans);color:var(--sand)}/* ---- ERROR STATE ---- */.cb-error{display:none;text-align:center;padding:3rem 0}.cb-error.active{display:block}.cb-error-icon{font-size:2rem;margin-bottom:1rem;opacity:0.6}.cb-error-text{font:300 1rem/1.6 var(--sans);color:var(--sand);margin-bottom:1.5rem}.cb-retry-btn{display:inline-flex;align-items:center;gap:0.5rem;background:none;border:1px solid var(--ember);border-radius:6px;padding:0.7rem 1.6rem;font:400 0.7rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--ember);cursor:pointer;transition:all 0.3s ease}.cb-retry-btn:hover{background:var(--ember);color:var(--void)}/* ---- FOOTER CTA ---- */.cb-footer-cta{text-align:center;padding:4rem 2rem;margin-top:4rem;border-top:1px solid var(--stone)}.cb-footer-cta-text{font:300 1.1rem/1.4 var(--sans);color:var(--ash);margin-bottom:1rem}.cb-footer-cta-link{font:400 0.72rem/1 var(--sans);letter-spacing:0.16em;text-transform:uppercase;color:var(--ember);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color 0.3s ease}.cb-footer-cta-link:hover{border-bottom-color:var(--ember)}/* ---- RESPONSIVE ---- */@media (max-width: 768px){.nav-links{display:none}.nav-burger{display:block}.cb-page{padding:8rem 1.5rem 3rem}.cb-title{font-size:2rem}.cb-output-controls{flex-direction:column;gap:0.75rem}}/* ===========================================
   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}}