:root{--paper:#f4efe5;--paper-raised:#faf7f0;--ink:#1c2a24;--ink-soft:#48564f;--ink-faint:#77837c;--brass:#9a6c25;--brass-deep:#7d5518;--hairline:#d9d0bd;--hairline-strong:#c3b795;--shadow:0 24px 60px -30px #1c2a2459;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Archivo,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh}body{background:radial-gradient(1200px 800px at 85% -10%, #9a6c2512, transparent 60%), radial-gradient(900px 700px at -10% 110%, #1c2a240f, transparent 55%), var(--paper)}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.page{grid-template-columns:minmax(320px,420px) 1fr;min-height:100vh;display:grid;position:relative}.grain{pointer-events:none;z-index:5;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.rail{border-right:1px solid var(--hairline-strong);background:linear-gradient(#faf7f099,#f4efe500);flex-direction:column;justify-content:space-between;align-self:start;gap:2rem;height:100vh;padding:3rem 3rem 2.25rem;display:flex;position:sticky;top:0}.mark{align-items:center;gap:.9rem;animation:.7s cubic-bezier(.22,1,.36,1) 50ms both fade-up;display:flex}.mark-monogram{border:1px solid var(--brass);letter-spacing:.06em;width:3rem;height:3rem;color:var(--brass-deep);border-radius:50%;place-items:center;font-family:Newsreader,serif;font-size:.95rem;display:grid}.mark-text{flex-direction:column;gap:.15rem;display:flex}.mark-name{letter-spacing:.01em;font-family:Newsreader,serif;font-size:1.15rem}.mark-suffix{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);font-size:.68rem}.rail-title{letter-spacing:-.01em;margin-top:3rem;font-family:Newsreader,serif;font-size:clamp(1.9rem,2.6vw,2.5rem);font-weight:480;line-height:1.16;animation:.7s cubic-bezier(.22,1,.36,1) .15s both fade-up}.rail-title em{color:var(--brass-deep);font-style:italic}.rail-copy{max-width:34ch;color:var(--ink-soft);margin-top:1.1rem;font-size:.95rem;line-height:1.65;animation:.7s cubic-bezier(.22,1,.36,1) .25s both fade-up}.rail-steps{flex-direction:column;list-style:none;animation:.7s cubic-bezier(.22,1,.36,1) .35s both fade-up;display:flex}.rail-step{border-bottom:1px solid var(--hairline);color:var(--ink-faint);align-items:baseline;gap:1rem;padding:.55rem 0;transition:color .35s;display:flex}.rail-step:first-child{border-top:1px solid var(--hairline)}.rail-step-index{letter-spacing:.14em;font-variant-numeric:tabular-nums;font-size:.7rem}.rail-step-label{font-family:Newsreader,serif;font-size:1.02rem;transition:transform .35s}.rail-step.is-active{color:var(--ink)}.rail-step.is-active .rail-step-index{color:var(--brass-deep)}.rail-step.is-done{color:var(--ink-soft)}.rail-step.is-done .rail-step-index:after{content:" ✓";color:var(--brass)}.rail-foot{color:var(--ink-faint);border-top:1px solid var(--hairline);max-width:36ch;padding-top:1rem;font-size:.74rem;line-height:1.6;animation:.7s cubic-bezier(.22,1,.36,1) .45s both fade-up}.stage{justify-content:center;align-items:center;padding:4.5rem 4rem;display:flex;position:relative}.progress{background:var(--hairline);height:3px;position:absolute;top:0;left:0;right:0}.progress-bar{background:linear-gradient(90deg, var(--brass), var(--brass-deep));transform-origin:0;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.card,.estimate{width:min(640px,100%)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--brass-deep);margin-bottom:1rem;font-size:.7rem}.question{letter-spacing:-.01em;margin-bottom:2.25rem;font-family:Newsreader,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:480;line-height:1.12}.hint{color:var(--ink-faint);margin:-1.5rem 0 2rem;font-size:.9rem}.options{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.option{text-align:left;background:var(--paper-raised);border:1px solid var(--hairline-strong);border-radius:2px;flex-direction:column;gap:.35rem;padding:1.15rem 1.25rem 1.2rem;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .25s;animation:.55s cubic-bezier(.22,1,.36,1) both fade-up;display:flex}.option:hover{border-color:var(--brass);box-shadow:var(--shadow);transform:translateY(-2px)}.option.is-selected{border-color:var(--brass-deep);box-shadow:inset 0 0 0 1px var(--brass-deep), var(--shadow)}.option-title{font-family:Newsreader,serif;font-size:1.12rem}.option-detail{color:var(--ink-faint);font-size:.82rem;line-height:1.5}.card-nav{justify-content:space-between;align-items:center;margin-top:2.25rem;display:flex}.back,.restart{color:var(--ink-faint);letter-spacing:.02em;border-bottom:1px solid #0000;padding:.4rem 0;font-size:.85rem;transition:color .25s,border-color .25s}.back:hover,.restart:hover{color:var(--ink);border-color:var(--hairline-strong)}.estimate-name{letter-spacing:-.01em;margin-bottom:1.4rem;font-family:Newsreader,serif;font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:480}.estimate-figure{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--brass-deep);align-items:baseline;gap:.75rem;font-family:Newsreader,serif;font-size:clamp(2.6rem,5vw,4rem);font-weight:380;display:flex}.figure-dash{color:var(--hairline-strong)}.estimate-caption{color:var(--ink-faint);margin-top:.5rem;font-size:.85rem}.line-items{margin:2.25rem 0 2.5rem;list-style:none}.line-item{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:2rem;padding:.85rem 0;animation:.55s cubic-bezier(.22,1,.36,1) both fade-up;display:flex}.line-item:first-child{border-top:1px solid var(--hairline-strong)}.line-item-text{flex-direction:column;gap:.2rem;display:flex}.line-item-label{font-size:.98rem}.line-item-note{color:var(--ink-faint);font-size:.78rem;line-height:1.5}.line-item-price{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap;font-size:.9rem}.estimate-actions{align-items:center;gap:1.75rem;display:flex}.cta{background:var(--ink);color:var(--paper-raised);letter-spacing:.02em;border-radius:2px;align-items:center;gap:.7rem;padding:.95rem 1.7rem;font-size:.95rem;text-decoration:none;transition:background .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;display:inline-flex}.cta:hover{box-shadow:var(--shadow);background:#0f1a15;transform:translateY(-2px)}.cta-arrow{transition:transform .25s cubic-bezier(.22,1,.36,1)}.cta:hover .cta-arrow{transform:translate(4px)}.cta-small{padding:.75rem 1.3rem;font-size:.88rem}.disclaimer{border-top:1px solid var(--hairline);color:var(--ink-faint);max-width:52ch;margin-top:2.25rem;padding-top:1.25rem;font-size:.78rem;line-height:1.65}.firm-teaser{text-align:left;border:1px solid var(--brass);background:linear-gradient(120deg,#9a6c2514,#9a6c2505);border-radius:2px;flex-direction:column;gap:.45rem;width:100%;margin-top:2rem;padding:1.35rem 1.5rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;display:flex}.firm-teaser:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.firm-teaser:hover .cta-arrow{transform:translate(4px)}.firm-teaser-eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--brass-deep);font-size:.66rem}.firm-teaser-title{color:var(--ink);align-items:baseline;gap:.6rem;font-family:Newsreader,serif;font-size:1.25rem;display:inline-flex}.firm-teaser-detail{color:var(--ink-soft);max-width:52ch;font-size:.82rem;line-height:1.55}.packet{padding-bottom:2rem}.packet-lede{color:var(--ink-soft);max-width:52ch;margin:-1.25rem 0 2.25rem;font-size:.95rem;line-height:1.65}.doc{background:var(--paper-raised);border:1px solid var(--hairline-strong);border-radius:2px;margin-bottom:1.4rem;animation:.55s cubic-bezier(.22,1,.36,1) both fade-up;box-shadow:0 10px 30px -24px #1c2a2466}.doc-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.25rem;display:flex}.doc-title{font-family:Newsreader,serif;font-size:1.05rem}.doc-tag{text-transform:uppercase;letter-spacing:.16em;color:var(--brass-deep);border:1px solid var(--brass);white-space:nowrap;border-radius:999px;padding:.25rem .6rem;font-size:.62rem}.doc-table{border-collapse:collapse;width:100%;font-size:.88rem}.doc-table th{text-align:left;color:var(--ink-faint);vertical-align:top;border-bottom:1px solid var(--hairline);width:11rem;padding:.6rem 1.25rem;font-weight:500}.doc-table td{border-bottom:1px solid var(--hairline);color:var(--ink);padding:.6rem 1.25rem .6rem 0}.doc-table tr:last-child th,.doc-table tr:last-child td{border-bottom:none}.doc-table em{color:var(--ink-faint)}.doc-list,.doc-checklist{padding:.6rem 1.25rem .9rem;list-style:none}.doc-list li{border-bottom:1px solid var(--hairline);padding:.4rem 0;font-size:.9rem}.doc-list li:last-child{border-bottom:none}.doc-checklist li{border-bottom:1px solid var(--hairline);align-items:baseline;gap:.7rem;padding:.45rem 0;font-size:.9rem;display:flex}.doc-checklist li:last-child{border-bottom:none}.check-box{border:1px solid var(--hairline-strong);border-radius:2px;flex:none;width:.85rem;height:.85rem;transform:translateY(1px)}.check-task{color:var(--ink)}.check-auto{color:var(--brass-deep);font-size:.74rem;font-style:italic}.letter{color:var(--ink);padding:1.4rem 1.5rem 1.6rem;font-family:Newsreader,serif;font-size:.95rem;line-height:1.7}.letter p{margin-bottom:.85rem}.letter p:last-child{margin-bottom:0}.letter-firm{text-transform:uppercase;letter-spacing:.2em;color:var(--brass-deep);border-bottom:1px solid var(--hairline);padding-bottom:.75rem;font-family:Archivo,sans-serif;font-size:.7rem}.packet-note{color:var(--ink-faint);max-width:52ch;margin:1.75rem 0 1.5rem;font-size:.78rem;line-height:1.6}.reveal{animation:.6s cubic-bezier(.22,1,.36,1) both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=960px){.page{grid-template-columns:1fr}.rail{border-right:none;border-bottom:1px solid var(--hairline-strong);gap:1.5rem;height:auto;padding:2.25rem 1.5rem 1.75rem;position:static}.rail-title{margin-top:1.75rem}.rail-steps{display:none}.stage{padding:2.5rem 1.5rem 4rem}.options{grid-template-columns:1fr}.estimate-actions{flex-wrap:wrap;gap:1.25rem}}
