:root{--bg-base: #05060a;--bg-panel: #100b18;--grid-line: rgba(255, 255, 255, .04);--lime: #d6ff52;--ember: #ff7a18;--text-primary: #f5f3ff;--text-muted: rgba(245, 243, 255, .7);--shadow-glow: 0 30px 80px rgba(214, 255, 82, .25);--delay-step: .12s}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Bricolage Grotesque,Space Grotesk,sans-serif;background:var(--bg-base);color:var(--text-primary);overflow-x:hidden}.nocturnal{position:relative;isolation:isolate}.cosmos{position:fixed;inset:0;z-index:0;pointer-events:none}.cosmos .grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;opacity:.25}.cosmos .radial{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(214,255,82,.35),transparent 45%),radial-gradient(circle at 80% 10%,rgba(255,122,24,.25),transparent 38%),radial-gradient(circle at 50% 80%,rgba(255,255,255,.08),transparent 35%);filter:blur(40px)}.cosmos .noise{position:absolute;inset:0;opacity:.2;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="180" height="180" viewBox="0 0 180 180"><defs><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" stitchTiles="stitch"/></filter></defs><rect width="180" height="180" filter="url(%23n)" opacity="0.4"/></svg>')}.hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;padding:120px clamp(24px,6vw,120px) 80px}.hero-copy h1{font-size:clamp(3.5rem,8vw,7rem);line-height:.9;margin:0 0 24px;text-transform:uppercase}.hero-copy .eyebrow{font-size:.95rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:12px;color:var(--text-muted)}.lede{font-size:1.4rem;max-width:600px;color:var(--text-muted)}.cta-row{display:flex;gap:16px;margin-top:32px}.pill{border:none;border-radius:999px;padding:14px 32px;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;background:var(--lime);color:#05050a;cursor:pointer;transition:transform .24s ease,box-shadow .24s ease;box-shadow:var(--shadow-glow)}.pill.ghost{background:transparent;color:var(--lime);border:1px solid rgba(214,255,82,.4);box-shadow:none}.pill:hover{transform:translateY(-3px)}.hero-panel{background:#100b18e6;border:1px solid rgba(214,255,82,.3);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-glow)}.hero-panel .panel-header{display:flex;justify-content:space-between;align-items:center;font-family:IBM Plex Mono,Space Mono,monospace;font-size:.85rem;text-transform:uppercase;color:var(--text-muted)}.hero-panel dl{display:grid;grid-template-columns:1fr;gap:12px;margin:0}.hero-panel dt{text-transform:uppercase;color:var(--text-muted);font-size:.85rem}.hero-panel dd{margin:0;font-size:1.6rem;font-weight:700}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ember)}.studio{position:relative;z-index:1;padding:0 clamp(24px,6vw,120px) 120px;display:flex;flex-direction:column;gap:96px}.calculator{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:40px;align-items:start}.form-panel{background:#05060aa6;border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:32px;backdrop-filter:blur(14px)}.section-title{margin-top:0;font-size:1.4rem;letter-spacing:.1em}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:.95rem}.field span,.field legend{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--text-muted)}.field input,.field select,.field textarea{background:#0f0c18e6;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 14px;font-size:1rem;color:var(--text-primary);font-family:IBM Plex Mono,Space Mono,monospace}.field small{color:var(--text-muted);font-family:IBM Plex Mono,Space Mono,monospace}.slider-field output{font-family:IBM Plex Mono,Space Mono,monospace;font-size:.85rem;color:var(--lime)}.slider-wrapper{display:flex;flex-direction:column;gap:10px}input[type=range]{accent-color:var(--lime)}.date-picker-wrapper{position:relative}.date-picker-input{cursor:pointer;position:relative;padding-right:40px!important}.date-picker-input:after{content:"\1f4c5";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:16px;opacity:.5;pointer-events:none}.date-picker-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#05060afa;border:1px solid rgba(214,255,82,.3);border-radius:16px;padding:20px;z-index:1000;backdrop-filter:blur(20px);box-shadow:var(--shadow-glow);min-width:300px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .24s cubic-bezier(.4,0,.2,1)}.date-picker-dropdown.visible{opacity:1;visibility:visible;transform:translateY(0)}.date-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--text-primary);font-family:Bricolage Grotesque,sans-serif}.date-picker-nav{background:#d6ff521a;border:1px solid rgba(214,255,82,.2);border-radius:8px;padding:6px 12px;color:var(--lime);cursor:pointer;transition:all .18s ease;font-size:14px;font-weight:600}.date-picker-nav:hover{background:#d6ff5233;transform:translateY(-1px)}.date-picker-month-year{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center}.date-picker-year-select{background:#d6ff521a;border:1px solid rgba(214,255,82,.2);border-radius:8px;color:var(--lime);font-family:Bricolage Grotesque,sans-serif;font-size:1.1rem;font-weight:700;padding:4px 12px;cursor:pointer;transition:all .18s ease}.date-picker-year-select:hover{background:#d6ff5233}.date-picker-year-select:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 2px #d6ff524d}.date-picker-year-select option{background:var(--bg-panel);color:var(--text-primary);padding:4px 8px}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.date-picker-weekday{text-align:center;font-size:.75rem;color:var(--text-muted);font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.1em;padding:8px 0}.date-picker-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.9rem;transition:all .18s ease;color:var(--text-primary);background:#ffffff05;border:1px solid transparent}.date-picker-months-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.date-picker-month-btn{padding:12px 8px;border-radius:8px;cursor:pointer;font-family:Bricolage Grotesque,sans-serif;font-size:.9rem;font-weight:600;transition:all .18s ease;color:var(--text-primary);background:#ffffff05;border:1px solid transparent;text-transform:uppercase;letter-spacing:.05em}.date-picker-month-btn:hover{background:#d6ff521a;border-color:#d6ff524d;transform:translateY(-2px)}.date-picker-month-btn.selected{background:var(--lime);color:var(--bg-base);font-weight:700;box-shadow:0 4px 12px #d6ff5266}.date-picker-month-btn.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.date-picker-day:hover{background:#d6ff521a;border-color:#d6ff524d;transform:scale(1.1)}.date-picker-day.selected{background:var(--lime);color:var(--bg-base);font-weight:700;box-shadow:0 4px 12px #d6ff5266}.date-picker-day.today{border-color:var(--ember);color:var(--ember)}.date-picker-day.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.date-picker-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.date-picker-today{background:#ff7a181a;border:1px solid rgba(255,122,24,.2);color:var(--ember);padding:6px 12px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .18s ease}.date-picker-today:hover{background:#ff7a1833}.date-picker-presets{display:flex;gap:8px}.date-picker-preset{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);padding:4px 10px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .18s ease;font-family:IBM Plex Mono,monospace}.date-picker-preset:hover{background:#d6ff521a;border-color:#d6ff5233;color:var(--text-primary)}@media(max-width:768px){.date-picker-wrapper .date-picker-input:after{display:none}.date-picker-dropdown{display:none}}.toggle-group{flex-direction:row;flex-wrap:wrap;gap:16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px 16px;align-items:center}.toggle-group legend{flex-basis:100%;margin-bottom:4px}.toggle-group label{display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,Space Mono,monospace;cursor:pointer}.sheet-block{position:relative}.sheet-block+.sheet-block{margin-top:18px}.sheet{border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:0 18px 18px;background:#0a090fe6;margin-bottom:18px}.sheet[open]{border-color:#d6ff5240;box-shadow:var(--shadow-glow)}.sheet summary{cursor:default;list-style:none;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 170px 18px 0}.sheet summary::-webkit-details-marker{display:none}.sheet summary{pointer-events:none}.sheet[open] summary,.sheet:not([open]) summary{cursor:default}.sheet:not([open]) .sheet-body{display:grid}.sheet-toggle{position:absolute;top:12px;right:18px;border:1px solid rgba(214,255,82,.45);border-radius:999px;padding:8px 16px;background:#d6ff521f;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;gap:12px}.sheet-toggle span{color:var(--lime)}.sheet-toggle input[type=checkbox]{accent-color:var(--lime)}.sheet-block:not(.sheet-enabled) .sheet-toggle{background:#ffffff0d;border-color:#ffffff40;color:var(--text-muted)}.sheet-block:not(.sheet-enabled) .sheet-toggle span{color:var(--text-muted)}.sheet h3{margin:0;font-size:1.2rem}.sheet p{margin:6px 0 0;color:var(--text-muted)}.switch{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--text-muted)}.sheet-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.divider{height:1px;width:100%;background:#ffffff14;grid-column:1 / -1}.insight-panel{display:flex;flex-direction:column;gap:24px}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-grid article{background:#100b18d9;border:1px solid rgba(214,255,82,.25);border-radius:20px;padding:18px;min-height:120px}.summary-grid p{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--text-muted)}.summary-grid strong{display:block;margin-top:12px;font-size:1.8rem}.scenario-log{background:#0e0a14d9;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px;min-height:220px;font-family:IBM Plex Mono,Space Mono,monospace;font-size:.95rem;line-height:1.6}.scenario-log strong{color:var(--lime)}.charts-theatre{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.chart-card{background:#05060acc;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:20px;min-height:280px;display:flex;flex-direction:column;gap:12px}.chart-heading h3{margin:0;font-size:1.4rem}.chart-heading p{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--text-muted)}.chart-canvas{flex:1;position:relative;border-radius:18px;background:#0c0a12cc;border:1px solid rgba(255,255,255,.06);padding:16px;overflow:hidden}.chart-canvas svg{width:100%;height:100%}.chart-canvas .tick{font-family:IBM Plex Mono,Space Mono,monospace;font-size:.65rem;fill:var(--text-muted)}.payment-bars{display:flex;align-items:flex-end;height:100%;gap:4px}.payment-bar{flex:1;border-radius:8px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff08;display:flex;flex-direction:column;justify-content:flex-end;min-height:20px}.payment-bar .interest{background:#ff7a18cc;width:100%}.payment-bar .principal{background:#d6ff52cc;width:100%}.payment-bar span{position:absolute;inset:auto 0 2px;font-size:.55rem;text-align:center;font-family:IBM Plex Mono,Space Mono,monospace}.rate-timeline{display:flex;height:100%;gap:2px}.rate-segment{flex:1;border-radius:8px;background:linear-gradient(120deg,#d6ff5299,#ff7a1899);position:relative;min-width:40px}.chart-controls{display:flex;align-items:center;gap:12px}.fullscreen-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.fullscreen-btn:hover{background:#ffffff1f;color:var(--text-primary);transform:scale(1.05)}.fullscreen-modal{position:fixed;inset:0;background:#000000f2;backdrop-filter:blur(20px);z-index:9999;display:none;flex-direction:column;animation:fadeIn .3s ease}.fullscreen-modal.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fullscreen-header{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;border-bottom:1px solid rgba(255,255,255,.08);background:#05060acc}.fullscreen-header h2{margin:0;font-size:1.8rem;color:var(--text-primary)}.fullscreen-close-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.fullscreen-close-btn:hover{background:#ffffff1f;color:var(--text-primary);transform:scale(1.05)}.fullscreen-content{flex:1;padding:40px;display:flex;align-items:center;justify-content:center;position:relative}.fullscreen-content .chart-canvas{width:100%;height:100%;max-width:1200px;max-height:70vh;border-radius:24px;background:#0c0a12e6;border:1px solid rgba(255,255,255,.08);padding:24px;position:relative}.tooltip{position:absolute;background:#05060af2;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:.875rem;font-family:IBM Plex Mono,Space Mono,monospace;pointer-events:none;z-index:1000;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;box-shadow:0 10px 30px #00000080}.tooltip.visible{opacity:1;transform:translateY(0)}.tooltip-label{color:var(--text-muted);font-size:.75rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}.tooltip-value{color:var(--lime);font-size:1rem;font-weight:600}.chart-interactive-point{cursor:pointer;transition:all .2s ease}.chart-interactive-point:hover{filter:brightness(1.2);transform:scale(1.1)}.payment-bars::-webkit-scrollbar{height:12px}.payment-bars::-webkit-scrollbar-track{background:#ffffff0d;border-radius:6px}.payment-bars::-webkit-scrollbar-thumb{background:var(--lime);border-radius:6px;cursor:grab;transition:background .2s ease,transform .1s ease}.payment-bars::-webkit-scrollbar-thumb:hover{background:var(--ember);transform:scaleY(1.1)}.payment-bars::-webkit-scrollbar-thumb:active{cursor:grabbing;background:var(--ember);transform:scaleY(1.2)}.payment-bars{scrollbar-width:thin;scrollbar-color:var(--lime) rgba(255,255,255,.05)}.custom-scrollbar-thumb{transition:background .2s ease,transform .1s ease;user-select:none;-webkit-user-select:none}.custom-scrollbar-thumb:hover{background:var(--ember)!important;transform:scaleY(1.1)}.custom-scrollbar-thumb:active,.custom-scrollbar-thumb[style*=grabbing]{background:var(--ember)!important;transform:scaleY(1.2)}.rate-segment[data-tone=discount]{background:linear-gradient(120deg,#d6ff52cc,#55efc466)}.rate-segment[data-tone=refi]{background:linear-gradient(120deg,#ff7a18d9,#ffb26580)}.rate-segment small{position:absolute;bottom:8px;left:8px;font-family:IBM Plex Mono,Space Mono,monospace;font-size:.75rem}.payments-table-section{background:#0e0a14d9;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:18px;min-height:300px}.payments-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.payments-table-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.table-controls{display:flex;gap:8px}.table-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.table-btn:hover{background:#d6ff5226;border-color:#d6ff524d;color:var(--lime)}.payments-table-container{max-height:400px;overflow-y:auto;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.payments-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.payments-table thead th{position:sticky;top:0;background:#0e0a14f2;backdrop-filter:blur(10px);padding:12px 16px;text-align:left;font-weight:600;font-family:IBM Plex Mono,Space Mono,monospace;font-size:.85rem;color:var(--text-muted);border-bottom:1px solid rgba(255,255,255,.1);text-transform:uppercase;letter-spacing:.05em;z-index:10}.payments-table tbody td{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.04);font-family:IBM Plex Mono,Space Mono,monospace;color:var(--text-muted)}.payments-table tbody tr:hover{background:#d6ff5214}.payments-table tbody tr:hover td{color:var(--text-primary)}.payments-table tbody td:first-child{font-weight:600;color:var(--text-primary);white-space:nowrap}.payments-table tbody td:nth-child(2),.payments-table tbody td:nth-child(3),.payments-table tbody td:nth-child(4),.payments-table tbody td:nth-child(5){text-align:right;font-family:IBM Plex Mono,Space Mono,monospace}.payments-table tbody td:last-child{font-weight:600;color:var(--lime);text-align:right}.payments-table .no-payments{text-align:center;padding:40px 20px;color:var(--text-muted);font-style:italic;border-bottom:none}.payments-table-container::-webkit-scrollbar{width:8px}.payments-table-container::-webkit-scrollbar-track{background:#ffffff05;border-radius:4px}.payments-table-container::-webkit-scrollbar-thumb{background:#d6ff524d;border-radius:4px}.payments-table-container::-webkit-scrollbar-thumb:hover{background:#d6ff5280}.payments-table tbody tr.has-overpayment{background:#ff7a181a}.payments-table tbody tr.has-overpayment:hover{background:#ff7a1833}.payments-table tbody td.event-marker{position:relative}.payments-table tbody td.event-marker:after{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--ember);border-radius:50%}.footer{text-align:center;padding:60px 24px 120px;color:var(--text-muted);font-size:.9rem}@media(max-width:1024px){.hero,.calculator{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
