:root{--paper:#f5f0e7;--card:#fbf8f2;--ink:#0d473b;--muted:#6f7975;--line:#d8d0c3;--accent:#ff7259;--soft:#dfe7db;--white:#fffdf9;--shadow:0 18px 50px rgba(29,51,44,.08)}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171717;color:var(--ink);font-family:Arial,sans-serif}.page{max-width:1500px;margin:auto;background:var(--paper);min-height:100vh;padding:64px 72px 96px}.intro{max-width:980px;margin-bottom:48px}.eyebrow{margin:0 0 18px;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.intro h1{font-size:clamp(54px,7vw,108px);font-weight:400;letter-spacing:-.055em;line-height:.9;margin:0 0 34px;max-width:1050px}.lead,.example-note,.lease-note,.treasury-box p{font-family:Georgia,serif}.lead{color:#56615d;font-size:28px;line-height:1.45;max-width:860px}.example-note{border-left:3px solid var(--accent);padding:6px 0 6px 22px;color:var(--muted);font-size:19px}.calculator{display:grid;grid-template-columns:minmax(0,1fr) 380px;border:1px solid var(--line);border-radius:34px;background:var(--card);overflow:visible}.workarea{padding:36px 46px 70px}.step{padding:28px 0 38px;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.step-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:26px}.step h2,.result h2{font-weight:400;letter-spacing:-.03em}.step h2{font-size:34px;margin:0}.step-heading span{color:var(--muted);font-size:15px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{appearance:none;text-align:left;border:1px solid var(--line);border-radius:18px;background:var(--white);padding:23px 26px;color:var(--ink);cursor:pointer;box-shadow:none;transition:.2s}.choice strong{display:block;font-size:22px;margin-bottom:8px}.choice small{font:17px/1.4 Georgia,serif;color:var(--muted)}.choice.is-active{border:2px solid var(--ink);box-shadow:0 6px 0 var(--accent);transform:translateY(-3px)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}.field>span:first-child{display:flex;align-items:center;gap:8px;min-height:30px;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hint{width:28px;height:28px;border:1px solid #9dab9f;border-radius:50%;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.input-wrap{height:72px;display:flex;align-items:center;border:1.5px solid #a8b8af;border-radius:16px;background:var(--white);padding:0 18px;transition:.2s}.input-wrap:focus-within{border-color:var(--ink);box-shadow:0 0 0 4px rgba(255,114,89,.18)}.input-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:30px}.input-wrap b{color:var(--muted);font-size:18px}.treasury-box,.lease-note{margin-top:28px;border:1px solid var(--line);border-radius:18px;padding:20px 22px;background:#f0ece4}.treasury-box{display:flex;justify-content:space-between;align-items:center;gap:24px}.treasury-box p{margin:6px 0 0;color:var(--muted)}.treasury-box button{border:1px solid var(--ink);border-radius:12px;padding:13px 17px;background:transparent;color:var(--muted)}.lease-note{font-size:17px;line-height:1.5;color:#56615d;margin-bottom:26px}.result{position:sticky;top:18px;align-self:start;min-height:620px;border-left:1px solid var(--line);padding:42px 34px 36px;background:var(--card);border-radius:0 34px 34px 0}.result h2{font-size:44px;line-height:1.05;margin:0 0 32px}.hero-number{border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:22px 0}.hero-number span,.hero-number small{display:block;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.hero-number strong{display:block;font-size:48px;font-weight:400;margin:10px 0}.breakdown{padding-top:10px}.breakdown-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.breakdown-row span{color:#53605b}.breakdown-row b{font-weight:700}.details-toggle{width:100%;display:flex;justify-content:space-between;margin-top:24px;padding:18px 0;border:0;border-top:2px solid var(--ink);background:transparent;color:var(--ink);font-size:16px;font-weight:800;cursor:pointer}.details{display:none;color:#56615d;font:15px/1.55 Georgia,serif}.details.is-open{display:block}.details ol{padding-left:20px}.timeline-controls{display:grid;grid-template-columns:48px 1fr 48px;gap:14px;align-items:center}.timeline-controls button{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:22px}.timeline-controls input{accent-color:var(--accent)}.timeline-card{margin-top:20px;padding:24px;border-radius:20px;background:var(--soft);display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.timeline-card span,.timeline-card small{display:block;color:var(--muted)}.timeline-card strong{display:block;font-size:42px;font-weight:400;margin:8px 0}.loss-parts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.loss-part{padding:9px 0;border-bottom:1px solid rgba(13,71,59,.18)}.loss-part span{font-size:12px}.loss-part b{display:block;margin-top:4px}.year-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:14px}.year-cell{min-height:54px;border-radius:9px;padding:8px 4px;text-align:center;background:#ead7cf;color:#7a3830;border:0;cursor:pointer}.year-cell.is-safe{background:#d8e4d5;color:var(--ink)}.year-cell.is-active{outline:3px solid var(--accent)}.year-cell b,.year-cell small{display:block}.year-cell small{font-size:10px;margin-top:4px}.is-hidden{display:none!important}.hint-popover{position:fixed;z-index:20;left:50%;bottom:24px;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));background:var(--white);border:1px solid var(--line);border-radius:18px;padding:23px 50px 23px 23px;box-shadow:var(--shadow);font:17px/1.5 Georgia,serif}.hint-popover button{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--accent);font-size:26px}.hint-popover p{margin:0}
.treasury-box{display:block;padding:0;overflow:visible}.treasury-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0!important;background:transparent!important;color:var(--ink)!important;padding:20px 22px!important;cursor:pointer}.treasury-toggle span{display:block}.treasury-toggle small{display:block;margin-top:5px;color:var(--muted);font:16px/1.35 Georgia,serif}.treasury-toggle>b{font-size:24px;color:var(--accent)}.treasury-finder{position:relative;border-top:1px solid var(--line);padding:22px}.treasury-search .input-wrap{margin-top:6px}.treasury-search input{font-size:22px}.condo-results{position:absolute;z-index:8;left:22px;right:22px;max-height:340px;overflow:auto;background:var(--white);border:1px solid #a8b8af;border-radius:14px;box-shadow:var(--shadow)}.condo-option{display:block;width:100%;padding:14px 16px;text-align:left;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;cursor:pointer}.condo-option:last-child{border-bottom:0!important}.condo-option:hover,.condo-option:focus{background:var(--soft)!important}.condo-option strong,.condo-option small{display:block}.condo-option small{margin-top:4px;color:var(--muted)}.treasury-status,.treasury-source{color:var(--muted);font:15px/1.45 Georgia,serif}.treasury-rate-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.treasury-rate-fields label>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.treasury-rate-fields select{width:100%;height:54px;border:1.5px solid #a8b8af;border-radius:12px;background:var(--white);padding:0 12px;color:var(--ink);font-size:16px}.treasury-answer{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-top:20px;padding-top:18px;border-top:2px solid var(--ink)}.treasury-answer span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase}.treasury-answer b,.treasury-answer strong{display:block;margin-top:5px;font-size:21px}.treasury-answer button{border:1px solid var(--ink)!important;border-radius:12px!important;padding:14px 16px!important;background:var(--ink)!important;color:var(--white)!important;font-weight:800;cursor:pointer}.treasury-components{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.treasury-components-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:14px}.treasury-components-head strong{font-size:19px}.treasury-components-head small{color:var(--muted);font:15px/1.35 Georgia,serif}.treasury-main-select{display:block;margin-bottom:12px}.treasury-main-select>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.treasury-main-select select{width:100%;height:54px;border:1.5px solid #a8b8af;border-radius:12px;background:var(--white);padding:0 12px;color:var(--ink);font-size:16px}.treasury-component{display:grid;grid-template-columns:24px minmax(0,1fr) 150px;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.treasury-component>input{width:20px;height:20px;accent-color:var(--ink)}.treasury-component.is-main>input{opacity:.6}.treasury-component-copy strong,.treasury-component-copy small,.treasury-component-copy em{display:block}.treasury-component-copy small{margin-top:4px;color:var(--muted)}.treasury-component-copy em{margin-top:4px;color:#87908c;font:12px/1.3 Georgia,serif}.component-area{height:48px;display:flex;align-items:center;border:1.5px solid #a8b8af;border-radius:11px;background:var(--white);padding:0 12px}.component-area input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:20px}.component-area b{color:var(--muted)}
.condo-clear{flex:0 0 auto!important;border:0!important;padding:9px 10px!important;color:var(--ink)!important;font-weight:800;background:transparent!important;cursor:pointer}
.condo-result-count{position:sticky;top:0;z-index:1;padding:10px 16px;background:var(--paper);border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:800}
.condo-search-prompt{padding:18px 16px;color:var(--muted);font:15px/1.4 Georgia,serif}
.condo-option.is-unavailable{background:#f6f1e9!important}.condo-option.is-unavailable small{color:#7d746e}.condo-option-group>strong,.condo-option-group>small{display:block;padding:12px 16px 0}.condo-option-group>small{padding-top:4px;padding-bottom:8px;color:var(--muted)}.condo-option.is-variant{padding-left:28px;background:#faf8f3!important}
.input-wrap.is-confirmed{animation:confirmed-field 1.5s ease}
.checkbox-field{border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(255,255,255,.34)}
.checkbox-field>span:first-child{display:flex;align-items:center;gap:10px;padding-top:0;text-transform:none;letter-spacing:0;font-size:15px;color:var(--ink)}
.checkbox-field input{width:22px;height:22px;accent-color:var(--ink);flex:0 0 auto}
.checkbox-field small{color:var(--muted);line-height:1.45}
@keyframes confirmed-field{0%,100%{border-color:#a8b8af;box-shadow:none}18%,68%{border-color:var(--accent);box-shadow:0 0 0 5px rgba(255,114,89,.2);background:#fff8f3}}
.audit-warning{margin:0 0 18px;padding:14px 16px;border-left:3px solid var(--accent);background:#fff7f1;color:var(--muted);font:16px/1.45 Georgia,serif}.audit-warning strong{color:var(--ink)}
@media(max-width:900px){.page{padding:38px 18px 70px}.intro{margin-bottom:30px}.intro h1{font-size:58px}.lead{font-size:23px}.calculator{display:block;border-radius:28px}.workarea{padding:22px 20px 30px}.result{display:none}.step-heading{display:block}.step-heading span{display:block;margin-top:8px}.choice-grid,.field-grid{grid-template-columns:1fr}.choice-grid{gap:14px}.field-grid{gap:21px}.treasury-rate-fields{grid-template-columns:1fr}.treasury-components-head{display:block}.treasury-components-head small{display:block;margin-top:5px}.treasury-component{grid-template-columns:22px minmax(0,1fr)}.component-area{grid-column:2}.treasury-answer{grid-template-columns:1fr 1fr}.treasury-answer button{grid-column:1/-1}.timeline-card{grid-template-columns:1fr}.year-strip{grid-template-columns:repeat(5,1fr)}.treasury-search .input-wrap{position:relative;padding-right:92px}.treasury-search input{font-size:18px;text-overflow:ellipsis}.condo-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);z-index:2}.condo-results{position:relative;left:auto;right:auto;margin-top:8px;max-height:300px}.result h2{font-size:38px}.hero-number strong{font-size:46px}}

/* The calculator also opens as a standalone page, so native page scrolling must
   remain available. The embedding route expands its iframe to the content. */
html,body{min-height:100%;overflow-x:hidden}
.page{min-height:100vh}
body{background:var(--paper)}
@media(max-width:420px){.intro h1{font-size:48px}.lead{font-size:21px}.workarea{padding-left:16px;padding-right:16px}.step h2{font-size:29px}.input-wrap input{font-size:26px}.timeline-card strong{font-size:36px}.loss-parts{grid-template-columns:1fr}}

/* Keep help controls visually separate from long field labels. */
.field>span:first-child{align-items:flex-start;gap:12px;min-height:34px;padding-top:5px}
.field>span:first-child .hint{flex:0 0 28px;margin-top:-7px}
.assessment-field .treasury-toggle{margin-top:8px;padding:10px 4px!important;border-radius:0!important;border-bottom:1px solid var(--line)!important}
.assessment-field .treasury-toggle strong{font-size:14px}.assessment-field .treasury-toggle small{font-size:13px}
.treasury-box:has(.treasury-finder[hidden]){display:none}
.treasury-box .treasury-finder{border-top:0}
.assessment-field>.treasury-box{width:100%;margin-top:0}
.treasury-finder{transition:height .4s cubic-bezier(.22,.7,.24,1),opacity .24s ease,transform .4s cubic-bezier(.22,.7,.24,1)}
.treasury-finder.is-closing{padding-top:0;padding-bottom:0;transform:translateY(-8px)}
.treasury-main-select select{min-width:0;max-width:100%;padding-right:42px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
@media(max-width:600px){.treasury-main-select select{font-size:14px;height:58px}.treasury-main-select>span{font-size:11px;line-height:1.3}}
