/* ---- 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}}/* ---- BUDGET MODELER PAGE ---- */.bm-page{max-width:720px;margin:0 auto;padding:10rem 2rem 4rem;min-height:100vh}.bm-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)}.bm-breadcrumb a{color:var(--ash);transition:color 0.3s ease}.bm-breadcrumb a:hover{color:var(--ember)}.bm-breadcrumb .sep{color:var(--stone)}.bm-header{text-align:center;margin-bottom:3rem}.bm-label{display:inline-flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem}.bm-label-line{display:inline-block;width:2rem;height:1px;background:var(--ember)}.bm-label-text{font:400 0.65rem/1 var(--mono);letter-spacing:0.2em;text-transform:uppercase;color:var(--ember)}.bm-title{font:300 2.8rem/1.1 var(--sans);color:var(--cream);margin-bottom:1rem;letter-spacing:-0.02em}.bm-lead{font:300 1.1rem/1.5 var(--sans);color:var(--bone);margin-bottom:0.75rem}.bm-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:1rem}.bm-trust{font:300 0.8rem/1.8 var(--sans);color:var(--ash);font-style:italic}/* ---- FORM ---- */.bm-form-section{display:block}.bm-form-section.hidden{display:none}.bm-form{display:flex;flex-direction:column;gap:1.75rem;max-width:600px;margin:0 auto}.bm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.bm-field{display:flex;flex-direction:column;gap:0.5rem}.bm-field-label{font:400 0.75rem/1 var(--sans);color:var(--sand);letter-spacing:0.05em}.bm-field-label .optional{color:var(--ash);font-weight:300}.bm-field-label .req-note{color:var(--ash);font-weight:300}.bm-input,.bm-select,.bm-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}.bm-input:focus,.bm-select:focus,.bm-textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(196, 120, 72, 0.1)}.bm-input::placeholder,.bm-textarea::placeholder{color:var(--stone);font-weight:300}.bm-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}.bm-select option{background:var(--dark);color:var(--cream)}.bm-textarea{min-height:90px;resize:vertical}.bm-field-hint{font:300 0.75rem/1.4 var(--sans);color:var(--ash);font-style:italic}/* Budget input with prefix */.bm-input-prefix-wrap{display:flex;align-items:stretch}.bm-input-prefix{display:flex;align-items:center;padding:0 0.9rem;background:var(--dark);border:1px solid var(--stone);border-right:none;border-radius:6px 0 0 6px;font:400 1rem/1 var(--sans);color:var(--sand)}.bm-input-prefix-wrap .bm-input{border-radius:0 6px 6px 0}/* Checkbox grid */.bm-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;margin-top:0.25rem}.bm-checkbox-item{display:flex;align-items:center;gap:0.6rem;cursor:pointer}.bm-checkbox-item input[type="checkbox"]{width:16px;height:16px;padding:0;cursor:pointer;accent-color:var(--ember)}.bm-checkbox-label{font:300 0.88rem/1 var(--sans);color:var(--bone)}.bm-checkbox-item:has(input:checked) .bm-checkbox-label{color:var(--cream);font-weight:400}.bm-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}.bm-submit:hover{background:rgba(196, 120, 72, 0.12)}.bm-submit:disabled{opacity:0.5;cursor:not-allowed}.bm-submit-line{display:inline-block;width:30px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.bm-submit:hover .bm-submit-line{width:50px}/* ---- LOADING ---- */.bm-loading{display:none;text-align:center;padding:4rem 0}.bm-loading.active{display:block}.bm-loading-spinner{width:44px;height:44px;border:2px solid var(--stone);border-top-color:var(--ember);border-radius:50%;animation:bm-spin 0.8s linear infinite;margin:0 auto 2rem}@keyframes bm-spin{to{transform:rotate(360deg)}}.bm-loading-text{font:300 1.1rem/1.5 var(--sans);color:var(--cream);margin-bottom:0.5rem}.bm-loading-subtext{font:300 0.78rem/1.4 var(--mono);color:var(--ash);letter-spacing:0.04em}.bm-progress-track{width:200px;height:2px;background:var(--stone);border-radius:2px;margin:1.5rem auto 0;overflow:hidden}.bm-progress-bar{width:0%;height:100%;background:var(--ember);border-radius:2px;transition:width 0.6s var(--ease)}/* ---- OUTPUT ---- */.bm-output{display:none;max-width:900px;margin:0 auto}.bm-output.active{display:block}.bm-output-header{text-align:center;margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--stone)}.bm-output-label{font:400 0.68rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ember);margin-bottom:0.75rem}.bm-output-title{font:400 2.2rem/1.2 var(--sans);color:var(--cream);margin-bottom:0.75rem}.bm-output-title .bm-output-tf{font-size:1rem;color:var(--sand);font-weight:300}.bm-output-meta{font:300 0.88rem/1 var(--sans);color:var(--sand)}/* Allocation visual bar */.allocation-visual{margin-bottom:2.5rem}.allocation-bar{display:flex;height:40px;border-radius:6px;overflow:hidden;margin-bottom:1rem}.allocation-segment{display:flex;align-items:center;justify-content:center;font:500 0.72rem/1 var(--sans);color:var(--void);transition:filter 0.3s ease;min-width:30px}.allocation-segment:hover{filter:brightness(1.15)}.segment-paid{background:var(--ember)}.segment-organic{background:#6aad8a}.segment-content{background:#5d8aa8}.segment-brand{background:#a87bb8}.segment-email{background:#c9a227}.segment-events{background:#c75d5d}.segment-other{background:var(--sand)}.allocation-legend{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:center}.legend-item{display:flex;align-items:center;gap:0.5rem}.legend-color{width:12px;height:12px;border-radius:2px}.legend-label{font:300 0.78rem/1 var(--sans);color:var(--bone)}/* Allocation category cards */.allocation-category{background:var(--deep);border:1px solid rgba(200, 196, 192, 0.06);border-radius:8px;padding:1.5rem 2rem;margin-bottom:1rem}.category-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:1px solid rgba(200, 196, 192, 0.08)}.category-name{font:500 1.1rem/1.3 var(--sans);color:var(--cream)}.category-amount{font:400 1rem/1 var(--sans);color:var(--ember)}.category-percent{font-size:0.82rem;color:var(--sand);margin-left:0.4rem}.category-rationale{font:300 0.9rem/1.7 var(--sans);color:var(--bone);margin-bottom:1rem}.breakdown-title{font:500 0.65rem/1 var(--sans);letter-spacing:0.1em;text-transform:uppercase;color:var(--sand);margin-bottom:0.6rem}.breakdown-list{display:flex;flex-wrap:wrap;gap:0.4rem 1.5rem}.breakdown-item{font:300 0.82rem/1.4 var(--sans);color:var(--ash)}.breakdown-item strong{color:var(--bone);font-weight:400}/* TMG Insight callout */.tmg-insight{margin-top:1rem;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)}/* Strategic notes */.strategic-notes{margin-top:2rem;padding:1.5rem 2rem;border-radius:6px;background:rgba(196, 120, 72, 0.06);border:1px solid rgba(196, 120, 72, 0.15)}.strategic-notes-title{font:500 0.68rem/1 var(--sans);letter-spacing:0.15em;text-transform:uppercase;color:var(--ember);margin-bottom:1rem}.strategic-notes-content{font:300 0.92rem/1.8 var(--sans);color:var(--cream)}.strategic-notes-content p{margin-bottom:0.8rem}.strategic-notes-content p:last-child{margin-bottom:0}/* Assumptions */.assumptions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(200, 196, 192, 0.08)}.assumptions-title{font:500 0.65rem/1 var(--sans);letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);margin-bottom:0.6rem}.assumptions-list{font:300 0.8rem/1.7 var(--sans);color:var(--ash)}/* Output actions */.bm-output-actions{display:flex;gap:1rem;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--stone);justify-content:center}.bm-action-copy,.bm-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)}.bm-action-copy{background:var(--ember);border:1px solid var(--ember);color:var(--void)}.bm-action-copy:hover{background:transparent;color:var(--ember)}.bm-action-copy.copied{background:#5a8a5a;border-color:#5a8a5a;color:var(--cream)}.bm-action-reset{background:transparent;border:1px solid var(--stone);color:var(--sand)}.bm-action-reset:hover{border-color:var(--sand);color:var(--cream)}/* Error */.bm-error{display:none;text-align:center;padding:4rem 0}.bm-error.active{display:block}.bm-error-icon{font-size:2rem;margin-bottom:1rem;opacity:0.6}.bm-error-text{font:300 1rem/1.6 var(--sans);color:var(--sand);margin-bottom:1.5rem}.bm-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}.bm-retry-btn:hover{background:var(--ember);color:var(--void)}/* Footer CTA */.bm-footer-cta{max-width:600px;margin:0 auto;text-align:center;padding:4rem 2rem;border-top:1px solid var(--stone);margin-top:4rem}.bm-footer-lead{font:300 1.2rem/1.4 var(--sans);color:var(--cream);margin-bottom:0.75rem}.bm-footer-desc{font:300 0.95rem/1.7 var(--sans);color:var(--sand);margin-bottom:1.5rem}.bm-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}.bm-footer-link:hover{opacity:0.7}.bm-footer-link-line{display:inline-block;width:40px;height:1px;background:var(--ember);transition:width 0.3s var(--ease)}.bm-footer-link:hover .bm-footer-link-line{width:60px}/* Responsive */@media (max-width: 768px){.nav-links{display:none}.nav-burger{display:block}.bm-page{padding:8rem 1.5rem 3rem}.bm-title{font-size:2rem}.bm-form-row{grid-template-columns:1fr}.bm-checkbox-grid{grid-template-columns:1fr}.bm-output{max-width:100%}.bm-output-actions{flex-direction:column;align-items:stretch}.allocation-category{padding:1.2rem 1.5rem}.category-header{flex-direction:column;gap:0.3rem}}/* ===========================================
   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}}