:root{--ink:#172b35;--paper:#f1ebdf;--cream:#faf6ee;--line:#c9c3b5;--orange:#d46c48;--muted:#63727a;--white:#fffdfa}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
.skip{position:absolute;top:-60px;left:16px;padding:12px 18px;background:#fff;z-index:20}
.skip:focus{top:12px}
.masthead{background:var(--ink);color:var(--cream)}
.masthead-inner{max-width:1500px;margin:auto;min-height:112px;padding:20px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:15px;text-decoration:none;font-family:Georgia,serif;font-size:25px;line-height:.86;letter-spacing:-.06em}
.brand b{font-weight:700}
.brand-icon{width:43px;height:43px;border:2px solid var(--cream);position:relative;display:block;flex:none}
.brand-icon i{position:absolute;display:block;background:var(--cream)}
.brand-icon i:nth-child(1){width:24px;height:2px;left:7px;top:12px}
.brand-icon i:nth-child(2){width:2px;height:21px;left:7px;top:12px}
.brand-icon i:nth-child(3){width:20px;height:2px;left:7px;bottom:9px}
.masthead p{font-family:Georgia,serif;font-style:italic;font-size:15px;line-height:1.25;opacity:.76;margin:0 15% 0 auto}
.head-link{text-decoration:none;border:1px solid rgba(255,255,255,.48);padding:13px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;white-space:nowrap}
.head-link span{margin-left:18px;font-size:15px}
.head-link:hover{background:var(--cream);color:var(--ink)}
main{max-width:1600px;margin:auto}
.issue-line{min-height:46px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--ink);font-size:10px;letter-spacing:.16em;font-weight:700}
.issue-line b{color:var(--orange)}
.cover{position:relative;display:grid;grid-template-columns:52% 48%;min-height:660px;border-bottom:1px solid var(--ink)}
.cover-copy{padding:72px 5vw 96px 5vw;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1}
.cover-kicker,.section-label{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.cover-kicker{display:flex;align-items:center;gap:10px;color:#9b5139}
.kicker-square{height:8px;width:8px;background:var(--orange);display:inline-block}
h1,h2,h3,p,figure{margin-top:0}
h1{font-size:clamp(64px,7vw,120px);line-height:.9;letter-spacing:-.085em;margin:32px 0 33px;font-weight:900}
h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;color:var(--orange)}
.cover-deck{font-family:Georgia,serif;font-size:clamp(20px,1.8vw,27px);line-height:1.38;max-width:640px;margin-bottom:42px}
.cover-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:17px;font-size:12px}
.cover-foot small{color:var(--muted);font-size:11px}
.cover-tag{background:var(--orange);padding:8px 10px;color:#fff;font-size:9px;letter-spacing:.12em;font-weight:800}
.cover-art{margin:0;position:relative;overflow:hidden;background:#e7dfd0}
.cover-art img{height:100%;width:100%;object-fit:cover;object-position:67% center}
.cover-art figcaption{position:absolute;right:16px;bottom:16px;max-width:330px;padding:7px 9px;background:rgba(250,246,238,.88);font-size:10px;line-height:1.35}
.cover-index{position:absolute;bottom:0;left:0;width:52%;height:48px;border-top:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:10px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}
.briefing{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;padding:50px 5vw 56px;border-bottom:1px solid var(--ink);background:#e5ddce}
.briefing-label{font-size:11px;font-weight:800;letter-spacing:.15em;line-height:1.5}
.briefing-label span{font-size:21px;margin-left:14px;color:var(--orange)}
.briefing p{font-family:Georgia,serif;font-size:clamp(23px,2.3vw,33px);line-height:1.32;max-width:1080px;margin:0}
.briefing strong{font-style:italic;font-weight:400;color:#ba573b}
.article-shell{display:grid;grid-template-columns:120px minmax(0,760px) minmax(180px,240px);justify-content:space-between;gap:48px;padding:100px 5vw 110px;background:var(--cream)}
.chapter-numeral{font-size:55px;line-height:1;font-weight:900;letter-spacing:-.07em;color:var(--orange)}
.section-label{color:#a54e35;margin:0 0 26px}
.article-text h2,.comparison h2,.casa-box h2,.decision h2{font-size:clamp(43px,4.7vw,72px);line-height:1;letter-spacing:-.067em;margin-bottom:31px}
.article-text p:not(.section-label),.casa-box-copy p,.decision>p{font-family:Georgia,serif;font-size:20px;line-height:1.65;margin-bottom:22px}
.margin-note{border-top:4px solid var(--orange);align-self:start;margin-top:52px;padding-top:15px}
.margin-note span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#a54e35}
.margin-note strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1.14;margin:18px 0}
.margin-note p{font-size:13px;line-height:1.55;color:#475861}
.photo-interlude{display:grid;grid-template-columns:57% 43%;background:#d9dfda;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.photo-interlude figure{position:relative;margin:0;min-height:475px;overflow:hidden}
.photo-interlude img{width:100%;height:100%;object-fit:cover}
.photo-interlude figcaption,.planning-photo figcaption{position:absolute;bottom:18px;left:18px;background:rgba(250,246,238,.92);padding:9px 12px;font-size:11px;line-height:1.4;max-width:420px}
.photo-interlude>div{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center}
.photo-interlude h2{font-size:clamp(43px,4.2vw,66px);line-height:1.02;letter-spacing:-.065em;margin:0 0 27px}
.photo-interlude p:not(.section-label){font-family:Georgia,serif;font-size:19px;line-height:1.55;margin:0;max-width:470px}
.equation{background:var(--ink);color:var(--cream);padding:28px 5vw 85px}
.equation-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:21px;border-bottom:1px solid #607079;font-size:10px;letter-spacing:.17em;font-weight:800}
.equation h2{font-size:clamp(61px,7vw,110px);line-height:.9;letter-spacing:-.075em;margin:75px 0 85px}
.equation h2 em{font-family:Georgia,serif;font-weight:400;color:#e88a65}
.equation-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #607079}
.equation-grid>div{padding:25px 28px 0 0}
.equation-grid>div+div{border-left:1px solid #607079;padding-left:28px}
.eq-number{font-size:12px;font-weight:800;letter-spacing:.13em;color:#e88a65}
.equation-grid h3{font-size:26px;letter-spacing:-.04em;margin:22px 0 16px}
.equation-grid p{font-family:Georgia,serif;font-size:16px;line-height:1.55;color:#ced3d0;max-width:330px}
.planning-photo{position:relative;margin:0;height:540px;overflow:hidden;background:#635143}
.planning-photo img{width:100%;height:100%;object-fit:cover;object-position:center 53%}
.planning-photo figcaption{left:auto;right:24px;bottom:24px;max-width:400px}
.planning-photo figcaption strong{display:block;font-family:Georgia,serif;font-size:20px;font-weight:400;margin-bottom:4px}
.comparison{padding:100px 5vw 105px;background:var(--paper)}
.comparison-head{display:grid;grid-template-columns:240px 1fr;gap:40px;margin-bottom:50px}
.comparison h2{margin:0}
.comparison-table{border-top:3px solid var(--ink)}
.comparison-row{display:grid;grid-template-columns:24% 38% 38%;border-bottom:1px solid var(--line);min-height:78px;align-items:center}
.comparison-row span{padding:17px 25px;font-size:16px;line-height:1.35}
.comparison-row span:first-child{font-weight:800;padding-left:0}
.comparison-row span+span{border-left:1px solid var(--line)}
.comparison-heading{min-height:49px;background:var(--ink);color:var(--cream)}
.comparison-heading span{font-size:10px;letter-spacing:.16em;font-weight:800}
.comparison-heading span:first-child{padding-left:20px}
.table-caption{font-size:11px;color:#627078;margin:18px 0 0}
.casa-box{display:grid;grid-template-columns:49% 51%;background:#e6b392;min-height:530px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.casa-box-heading{padding:92px 5vw 80px;border-right:1px solid var(--ink);display:flex;flex-direction:column;justify-content:center}
.casa-box-heading .section-label{color:#633728}
.casa-box h2{margin:0}
.casa-box-image{margin:48px 0 0;max-width:510px}
.casa-box-image img{width:100%;height:330px;object-fit:cover;object-position:center 58%;border:1px solid var(--ink)}
.casa-box-image figcaption{font-size:11px;line-height:1.4;margin-top:10px;color:#583829}
.casa-box-copy{padding:88px 5vw 75px}
.casa-box-copy p{font-size:18px;line-height:1.55}
.text-link{display:inline-flex;align-items:center;gap:30px;text-decoration:none;border-bottom:2px solid var(--ink);padding:8px 0;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-top:16px}
.text-link span{font-size:18px}
.text-link:hover{color:#87442f;border-color:#87442f}
.calculator{display:grid;grid-template-columns:43% 57%;background:#e4e8e5;border-bottom:1px solid var(--ink)}
.calculator-intro{padding:95px 5vw}
.calculator-intro h2{font-size:clamp(51px,5.5vw,84px);line-height:.96;letter-spacing:-.075em;margin:0 0 28px}
.calculator-intro>p{font-family:Georgia,serif;font-size:20px;line-height:1.5;max-width:470px}
.calc-rule{border-top:1px solid #9aa9a8;margin-top:70px;padding-top:20px;display:flex;gap:14px;max-width:470px}
.calc-rule>span{font-size:25px;color:var(--orange)}
.calc-rule p{font-size:12px;line-height:1.55;color:#48606a;margin:0}
.calc-panel{background:var(--white);padding:35px 5vw 42px;border-left:1px solid var(--ink);align-self:stretch}
.calc-panel-top{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:20px;font-size:10px;letter-spacing:.14em;font-weight:800}
.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px 22px;padding:41px 0}
.field-grid label{display:block;font-size:12px;font-weight:800}
.field-grid label span{color:#6f7c80;font-weight:400}
.field-grid input{display:block;width:100%;margin-top:12px;padding:13px 10px;border:1px solid #9aaba9;background:#f7f8f4;border-radius:0;color:var(--ink);font:700 30px Arial,Helvetica,sans-serif;outline-offset:3px}
.field-grid input:focus{outline:2px solid var(--orange)}
.calc-results{border-top:1px solid var(--ink)}
.calc-results>div{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;border-bottom:1px solid #bdc9c5;font-size:13px}
.calc-results output{font-size:22px;font-weight:800;white-space:nowrap}
.calc-results .net{background:var(--ink);color:var(--white);padding:17px 18px;margin:12px -18px 0;border:0;min-height:83px}
.calc-results .net output{font-size:30px;color:#f0a07e}
.calc-results .net.negative output{color:#ffd1c6}
.calc-caption{font-size:11px;line-height:1.5;color:#617177;margin:22px 0 0}
.decision{background:var(--cream);padding:100px 5vw 110px}
.decision h2{max-width:750px;margin-bottom:50px}
.decision ol{list-style:none;counter-reset:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 70px;border-top:2px solid var(--ink)}
.decision li{display:flex;gap:22px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}
.decision li span{color:var(--orange);font-weight:900;font-size:20px}
.decision li p{font-family:Georgia,serif;font-size:19px;line-height:1.43;margin:0;max-width:550px}
.decision>p{max-width:740px;margin:45px 0 0;font-style:italic}
.source-band{display:grid;grid-template-columns:60% 40%;background:#e5ddce;border-top:1px solid var(--ink)}
.source-band>div{padding:37px 5vw 48px}
.source-band>div+div{border-left:1px solid var(--ink)}
.source-band span{display:block;font-size:10px;letter-spacing:.15em;font-weight:800;margin-bottom:20px}
.source-band p{font-size:13px;line-height:1.6;margin:0;max-width:650px}
.source-band a{text-underline-offset:3px}
.source-band>div+div p{display:flex;flex-wrap:wrap;gap:9px 20px}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:var(--cream);padding:36px max(5vw,24px);font-size:12px}
footer a:first-child{font-family:Georgia,serif;font-size:19px;text-decoration:none}
footer span{font-family:Georgia,serif;font-style:italic;opacity:.7}
footer a:last-child{font-size:11px;text-transform:uppercase;letter-spacing:.1em;text-decoration:none}
@media(max-width:1100px){.masthead p{margin-right:4%}.article-shell{grid-template-columns:70px minmax(0,1fr);gap:32px}.margin-note{grid-column:2;margin:5px 0 0;max-width:470px}.cover{min-height:590px}.cover-copy{padding:55px 5vw 85px}.cover-deck{font-size:21px}.casa-box-heading,.casa-box-copy,.calculator-intro{padding-left:5vw;padding-right:5vw}}
@media(max-width:760px){.masthead-inner{min-height:85px;padding:15px 20px}.masthead p{display:none}.head-link{padding:11px 10px;font-size:9px}.head-link span{margin-left:4px}.brand{font-size:20px}.brand-icon{width:34px;height:34px}.brand-icon i:nth-child(1){width:18px;left:5px;top:10px}.brand-icon i:nth-child(2){left:5px;top:10px;height:17px}.brand-icon i:nth-child(3){left:5px;width:18px;bottom:6px}.issue-line{padding:0 20px;font-size:9px}.issue-center{display:none}.cover{display:flex;flex-direction:column}.cover-copy{padding:52px 22px 65px}.cover-kicker{font-size:10px}h1{font-size:clamp(62px,13vw,92px);margin:28px 0}.cover-deck{font-size:20px;margin-bottom:27px}.cover-art{height:340px}.cover-art img{object-position:70% center}.cover-index{display:none}.briefing{grid-template-columns:1fr;padding:42px 22px;gap:24px}.briefing p{font-size:24px}.article-shell{display:block;padding:72px 22px}.chapter-numeral{font-size:40px;margin-bottom:35px}.article-text h2,.comparison h2,.casa-box h2,.decision h2{font-size:clamp(43px,10vw,62px)}.article-text p:not(.section-label),.casa-box-copy p,.decision>p{font-size:18px}.margin-note{max-width:none;margin:35px 0 0}.equation{padding:25px 22px 65px}.equation-top span:last-child{display:none}.equation h2{font-size:clamp(56px,12vw,90px);margin:65px 0}.equation-grid{display:block}.equation-grid>div,.equation-grid>div+div{border-left:0;border-bottom:1px solid #607079;padding:22px 0}.comparison{padding:72px 22px}.comparison-head{display:block}.comparison-table{overflow-x:auto}.comparison-row{min-width:650px}.casa-box{display:block}.casa-box-heading{padding:70px 22px 36px;border-right:0}.casa-box-copy{padding:0 22px 65px}.calculator{display:block}.calculator-intro{padding:70px 22px 42px}.calculator-intro h2{font-size:clamp(54px,11vw,76px)}.calc-rule{margin-top:36px}.calc-panel{border-left:0;border-top:1px solid var(--ink);padding:31px 22px 39px}.decision{padding:70px 22px}.decision ol{display:block}.decision li p{font-size:17px}.source-band{display:block}.source-band>div{padding:35px 22px}.source-band>div+div{border-left:0;border-top:1px solid var(--ink)}footer{padding:30px 22px;align-items:flex-start;flex-direction:column}footer span{display:none}}
@media(max-width:430px){.field-grid{gap:22px 13px}.field-grid input{font-size:24px}.calc-panel-top{font-size:9px}.calc-results .net output{font-size:23px}.calc-results .net span{max-width:145px}.cover-art{height:270px}.cover-art figcaption{max-width:240px;font-size:9px}}
@media(max-width:1100px){.photo-interlude figure{min-height:420px}.photo-interlude>div{padding:48px 5vw}.photo-interlude h2{font-size:clamp(38px,4.2vw,55px)}.planning-photo{height:460px}.casa-box-image img{height:280px}}
@media(max-width:760px){.photo-interlude{display:block}.photo-interlude figure{height:300px;min-height:0}.photo-interlude>div{padding:48px 22px 55px}.photo-interlude h2{font-size:45px}.photo-interlude p:not(.section-label){font-size:18px}.planning-photo{height:290px}.planning-photo figcaption{right:10px;bottom:10px;left:10px;max-width:none}.planning-photo figcaption strong{font-size:17px}.casa-box-image{margin:35px 0 0;max-width:none}.casa-box-image img{height:320px}}
