/* ---- 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}}/* ---- EXECUTIVE SUMMARY PAGE ---- */.es-page{max-width:720px;margin:0 auto;padding:10rem 2rem 4rem;min-height:100vh}.es-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)}.es-breadcrumb a{color:var(--ash);transition:color 0.3s ease}.es-breadcrumb a:hover{color:var(--ember)}.es-breadcrumb .sep{color:var(--stone)}/* ---- HERO ---- */.es-header{text-align:center;margin-bottom:3rem}.es-label{display:inline-flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem}.es-label-line{display:inline-block;width:2rem;height:1px;background:var(--ember)}.es-label-text{font:400 0.65rem/1 var(--mono);letter-spacing:0.2em;text-transform:uppercase;color:var(--ember)}.es-title{font:300 2.8rem/1.1 var(--sans);color:var(--cream);margin-bottom:1rem;letter-spacing:-0.02em}.es-lead{font:300 1.1rem/1.5 var(--sans);color:var(--bone);margin-bottom:0.75rem}.es-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:1rem}.es-trust{font:300 0.8rem/1.8 var(--sans);color:var(--ash);font-style:italic}/* ---- FORM ---- */.es-form-section{display:block}.es-form-section.hidden{display:none}.es-form{display:flex;flex-direction:column;gap:1.75rem;max-width:650px;margin:0 auto}.es-field{display:flex;flex-direction:column;gap:0.5rem}.es-field-label{font:400 0.75rem/1 var(--sans);color:var(--sand);letter-spacing:0.05em}.es-field-label .optional{color:var(--ash);font-weight:300}.es-input,.es-select,.es-textarea{width:100%;padding:0.9rem 1.1rem;background:var(--deep);border:1px solid var(--stone);border-radius:6px;font:300 0.95rem/1.5 var(--sans);color:var(--cream);transition:border-color 0.3s ease,box-shadow 0.3s ease;outline:none}.es-input:focus,.es-select:focus,.es-textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(196, 120, 72, 0.1)}.es-input::placeholder,.es-textarea::placeholder{color:var(--stone);font-weight:300}.es-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a89888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.es-select option{background:var(--dark);color:var(--cream)}.es-textarea{min-height:260px;resize:vertical;line-height:1.6}.es-field-hint{font:300 0.75rem/1.4 var(--sans);color:var(--ash);font-style:italic}.es-field-meta{display:flex;justify-content:space-between;align-items:center;margin-top:0.25rem}.es-char-count{font:400 0.72rem/1 var(--mono);color:var(--stone);transition:color 0.3s ease}.es-char-hint{font:300 0.68rem/1 var(--sans);color:var(--ash)}.es-submit{display:inline-flex;align-items:center;justify-content:center;gap:0.8rem;margin-top:0.5rem;padding:1.1rem 2.2rem;background:transparent;border:1px solid var(--ember);border-radius:6px;font:400 0.85rem/1 var(--sans);color:var(--cream);cursor:pointer;transition:all 0.3s var(--ease);align-self:flex-start}.es-submit:hover{background:rgba(196, 120, 72, 0.12)}.es-submit:disabled{opacity:0.5;cursor:not-allowed}.es-submit-line{display:inline-block;width:30px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.es-submit:hover .es-submit-line{width:50px}/* ---- LOADING ---- */.es-loading{display:none;text-align:center;padding:4rem 0}.es-loading.active{display:block}.es-loading-spinner{width:44px;height:44px;border:2px solid var(--stone);border-top-color:var(--ember);border-radius:50%;animation:es-spin 0.8s linear infinite;margin:0 auto 2rem}@keyframes es-spin{to{transform:rotate(360deg)}}.es-loading-text{font:300 1.1rem/1.5 var(--sans);color:var(--cream);margin-bottom:0.5rem}.es-loading-subtext{font:300 0.78rem/1.4 var(--mono);color:var(--ash);letter-spacing:0.04em}.es-progress-track{width:200px;height:2px;background:var(--stone);border-radius:2px;margin:1.5rem auto 0;overflow:hidden}.es-progress-bar{width:0%;height:100%;background:var(--ember);border-radius:2px;transition:width 0.6s var(--ease)}/* ---- OUTPUT ---- */.es-output{display:none;max-width:800px;margin:0 auto}.es-output.active{display:block}.es-output-header{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--stone)}.es-output-type{font:400 0.68rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ember);margin-bottom:0.75rem}.es-output-title{font:400 1.8rem/1.2 var(--sans);color:var(--cream);margin-bottom:0.75rem}.es-output-meta{font:300 0.88rem/1 var(--sans);color:var(--sand)}/* ---- SUMMARY CONTENT STYLING ---- */.es-summary{font:300 0.95rem/1.8 var(--sans);color:var(--bone)}/* TL;DR Box */.summary-tldr{background:var(--deep);border-left:3px solid var(--ember);padding:1.5rem 2rem;margin-bottom:2.5rem;border-radius:0 6px 6px 0}.summary-tldr-title{font:500 0.68rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ember);margin-bottom:0.75rem}.summary-tldr-content{font:300 1.05rem/1.6 var(--sans);color:var(--cream)}/* Metrics Grid */.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:1rem;margin:1.5rem 0 2rem}.metric-card{background:var(--deep);padding:1.25rem;text-align:center;border-radius:6px;border:1px solid rgba(200, 196, 192, 0.06)}.metric-value{font:400 1.6rem/1.2 var(--sans);color:var(--cream);margin-bottom:0.3rem}.metric-value.positive{color:#6aad8a}.metric-value.negative{color:#c75d5d}.metric-label{font:400 0.7rem/1 var(--sans);color:var(--sand);text-transform:uppercase;letter-spacing:0.06em}/* Section Headers */.es-summary h3{font:500 1.15rem/1.3 var(--sans);color:var(--cream);margin:2.5rem 0 1rem;padding-bottom:0.5rem;border-bottom:1px solid rgba(200, 196, 192, 0.08)}.es-summary h3:first-child{margin-top:0}.es-summary p{margin-bottom:1rem}.es-summary ul{margin:1rem 0;padding-left:0;list-style:none}.es-summary li{position:relative;padding-left:1.25rem;margin-bottom:0.6rem}.es-summary li::before{content:'';position:absolute;left:0;top:0.7rem;width:6px;height:1px;background:var(--ember)}/* Recommendations Box */.recommendations-box{background:rgba(196, 120, 72, 0.06);border:1px solid rgba(196, 120, 72, 0.15);padding:1.5rem 2rem;margin:2rem 0;border-radius:6px}.recommendations-title{font:500 0.68rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ember);margin-bottom:1rem}.recommendations-box ol{margin:0;padding-left:1.25rem}.recommendations-box li{margin-bottom:0.75rem;color:var(--cream);padding-left:0}.recommendations-box li::before{display:none}/* Next Steps */.next-steps{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(200, 196, 192, 0.08)}.next-steps-title{font:500 1rem/1.3 var(--sans);color:var(--cream);margin-bottom:1rem}/* TMG Insight callout */.tmg-insight{margin-top:2.5rem;padding:1.25rem 1.5rem;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.88rem/1.7 var(--sans);color:var(--sand)}/* Output Actions */.es-output-actions{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--stone);justify-content:center}.es-action-copy,.es-action-reset{padding:0.9rem 1.5rem;border-radius:6px;font:400 0.78rem/1 var(--sans);letter-spacing:0.06em;cursor:pointer;transition:all 0.3s var(--ease)}.es-action-copy{background:var(--ember);border:1px solid var(--ember);color:var(--void)}.es-action-copy:hover{background:transparent;color:var(--ember)}.es-action-copy.copied{background:#5a8a5a;border-color:#5a8a5a;color:var(--cream)}.es-action-reset{background:transparent;border:1px solid var(--stone);color:var(--sand)}.es-action-reset:hover{border-color:var(--sand);color:var(--cream)}/* ---- ERROR ---- */.es-error{display:none;text-align:center;padding:4rem 0}.es-error.active{display:block}.es-error-icon{font-size:2rem;margin-bottom:1rem;opacity:0.6}.es-error-text{font:300 1rem/1.6 var(--sans);color:var(--sand);margin-bottom:1.5rem}.es-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}.es-retry-btn:hover{background:var(--ember);color:var(--void)}/* ---- FOOTER CTA ---- */.es-footer-cta{max-width:600px;margin:0 auto;text-align:center;padding:4rem 2rem;border-top:1px solid var(--stone);margin-top:4rem}.es-footer-lead{font:300 1.2rem/1.4 var(--sans);color:var(--cream);margin-bottom:0.75rem}.es-footer-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:1.5rem}.es-footer-link{display:inline-flex;align-items:center;gap:0.75rem;font:400 0.78rem/1 var(--sans);letter-spacing:0.12em;text-transform:uppercase;color:var(--ember);text-decoration:none;transition:opacity 0.3s ease}.es-footer-link:hover{opacity:0.7}.es-footer-link-line{display:inline-block;width:40px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.es-footer-link:hover .es-footer-link-line{width:60px}/* ---- RESPONSIVE ---- */@media (max-width: 768px){.nav-links{display:none}.nav-burger{display:block}.es-page{padding:8rem 1.5rem 3rem}.es-title{font-size:2rem}.es-output{max-width:100%}.es-output-actions{flex-direction:column;align-items:stretch}.metrics-grid{grid-template-columns:repeat(2, 1fr)}.summary-tldr{padding:1.2rem 1.5rem}.es-field-meta{flex-direction:column;align-items:flex-start;gap:0.25rem}}/* ===========================================
   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}}