:root{--bg:#faf7f2;--surface:#fff;--ink:#1f2a24;--ink-soft:#4b5a51;--line:#e4ddd1;--accent:#a1452c;--accent-soft:#f6e4dc;--warm:#3f6b5a;--warm-soft:#e3eee8;--radius:14px;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--max:1120px;--prose:700px;--grid-line:#a1452c14;--graph:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px;--tint:var(--accent-soft);--cat-ink:var(--accent)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:17px;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--ink)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:600;line-height:1.2}h1{margin:0 0 .5em;font-size:clamp(2rem,4.5vw,3.1rem)}h1 em{color:var(--accent);font-style:italic}h2{margin:2em 0 .6em;font-size:clamp(1.45rem,2.6vw,1.85rem)}h3{margin:1.6em 0 .4em;font-size:1.2rem}.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--surface);z-index:30;padding:8px 12px;top:8px;left:16px}.site-header{z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(8px);background:#faf7f2eb;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:8px 24px;min-height:68px;display:flex}.brand{color:var(--ink);font-family:var(--serif);flex-shrink:0;align-items:center;gap:10px;font-size:1.3rem;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--accent);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.nav{gap:4px;font-size:.93rem;display:flex}.nav a{color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:6px 10px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}@media (width<=960px){.site-header .wrap{flex-wrap:wrap;padding-top:10px}.nav{scrollbar-width:none;width:calc(100% + 32px);margin:0 -16px;padding:0 12px 10px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}}.btn{background:var(--accent);color:#fff;border:2px solid var(--accent);border-radius:999px;padding:12px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}.btn-ghost{color:var(--accent);background:0 0}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.hero{padding:56px 0 40px}.hero h1{max-width:760px}.hero p{max-width:620px;color:var(--ink-soft);font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--warm);margin:0 0 12px;font-size:.75rem;font-weight:600}.hero-home{background:var(--graph), var(--bg);border-bottom:1px solid var(--line);padding:64px 0 56px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-art{background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:0 18px 40px -24px #1f2a2459}.floorplan{--cat-a:#5b4a86;--tint-a:#ece7f3;--cat-b:#a8561f;--tint-b:#f7e9dd;--cat-c:#2f6b4f;--tint-c:#e5efe8;--cat-d:#6e5134;--tint-d:#ede5da;width:100%;height:auto;display:block}@media (width<=860px){.hero-home .eyebrow{font-size:.7rem}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-home{padding:40px 0}}.hero-cat{background:var(--graph), var(--tint);border-bottom:1px solid var(--line);margin-bottom:32px}.hero-cat .cat-art{color:var(--cat-ink);margin-bottom:12px}.hero-cat .eyebrow{color:var(--cat-ink)}.trust{border-bottom:1px solid var(--line);background:var(--surface)}.trust-grid{grid-template-columns:repeat(3,1fr);gap:24px;padding-top:22px;padding-bottom:22px;display:grid}.trust-grid div{border-left:3px solid var(--warm);flex-direction:column;gap:2px;padding-left:16px;display:flex}.trust-grid strong{font-family:var(--serif);font-size:1.05rem}.trust-grid span{color:var(--ink-soft);font-size:.9rem}@media (width<=760px){.trust-grid{grid-template-columns:1fr;gap:14px}}.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.card:hover{border-color:var(--cat-ink);color:var(--ink);transform:translateY(-3px);box-shadow:0 14px 30px -20px #1f2a2466}.card-art{background:var(--graph), var(--tint);color:var(--cat-ink);border-bottom:1px solid var(--line);place-items:center;height:132px;display:grid}.card-body{flex-direction:column;flex:1;gap:8px;padding:20px 22px 22px;display:flex}.card h3{margin:0;font-size:1.2rem}.card p{color:var(--ink-soft);margin:0;font-size:.95rem}.card .meta{color:var(--ink-soft);margin-top:auto;padding-top:8px;font-size:.8rem}.card.featured{flex-direction:row}.card.featured .card-art{border-bottom:0;border-right:1px solid var(--line);width:42%;height:auto;min-height:260px}.card.featured .card-body{justify-content:center;padding:32px}.card.featured h3{font-size:clamp(1.5rem,2.6vw,2rem)}.card.featured p{font-size:1.05rem}.card.featured .meta{margin-top:8px}@media (width<=760px){.card.featured{flex-direction:column}.card.featured .card-art{border-right:0;border-bottom:1px solid var(--line);width:auto;min-height:160px}.card.featured .card-body{padding:22px}}.tag{letter-spacing:.06em;text-transform:uppercase;color:var(--cat-ink);background:var(--tint);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.tag.sponsored{color:var(--warm);background:var(--warm-soft)}.section{padding:36px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.section-head h2{margin:0 0 18px}.cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.cat{background:var(--tint);border-radius:var(--radius);color:var(--ink);border:1px solid #0000;flex-direction:column;gap:4px;padding:20px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.cat .cat-art{color:var(--cat-ink);margin-bottom:8px}.cat strong{font-family:var(--serif);font-size:1.12rem;display:block}.cat span{color:var(--ink-soft);font-size:.88rem}.cat:hover{border-color:var(--cat-ink);color:var(--ink);transform:translateY(-2px)}.article{padding:40px 16px 24px}.article-head{max-width:var(--prose);margin:0 auto}.article-cat{letter-spacing:.1em;text-transform:uppercase;color:var(--cat-ink);background:var(--tint);border-radius:999px;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px 6px 8px;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.article-cat:hover{color:var(--ink)}.article-head .deck{color:var(--ink-soft);font-size:1.15rem}.byline{color:var(--ink-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px 16px;margin-top:20px;padding:10px 0;font-size:.88rem;display:flex}.prose{max-width:var(--prose);margin:0 auto}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.3em 0}.prose li::marker{color:var(--warm)}.prose h2{padding-top:.2em}.prose table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;margin:1.6em 0;font-size:.95rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 14px}.prose tr:last-child td{border-bottom:0}@media (width<=640px){.prose table{display:block;overflow-x:auto}}.prose th{background:var(--accent-soft);white-space:nowrap;font-weight:600}.prose blockquote{border-left:4px solid var(--warm);background:var(--warm-soft);border-radius:0 var(--radius) var(--radius) 0;margin:1.5em 0;padding:14px 20px}.prose blockquote p{margin:0}.quick-answer{max-width:var(--prose);background:var(--graph), var(--accent-soft);border-radius:var(--radius);border:1px solid #cfe0d5;margin:28px auto;padding:20px 24px;position:relative}.quick-answer strong{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.78rem;display:block}.quick-answer p{margin:0;font-size:1.05rem}.toc{max-width:var(--prose);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0 auto 8px;padding:16px 22px}.toc strong{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem}.toc ol{columns:2;column-gap:28px;margin:8px 0 0;padding-left:1.3em;font-size:.93rem}.toc li{break-inside:avoid;margin:3px 0}.toc li::marker{color:var(--warm);font-weight:600}.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}@media (width<=640px){.toc ol{columns:1}}.sponsor-note{max-width:var(--prose);background:var(--warm-soft);border-radius:var(--radius);margin:0 auto 20px;padding:12px 18px;font-size:.92rem}.faq{max-width:var(--prose);margin:40px auto 0}.faq details{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px;padding:14px 18px}.faq summary{cursor:pointer;justify-content:space-between;gap:12px;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--ink-soft);margin:10px 0 0}.related{border-top:1px solid var(--line);margin-top:56px;padding-top:32px}.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);background:var(--graph), #f3eee5;margin-top:64px;padding:44px 0 0;font-size:.92rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px;display:grid}.footer-brand p{max-width:340px}.site-footer nav{flex-direction:column;gap:6px;display:flex}.site-footer nav strong{color:var(--ink);font-family:var(--serif);margin-bottom:4px;font-size:1.02rem}.site-footer a{color:var(--ink-soft);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}.footer-base{border-top:1px solid var(--line);margin-top:32px;padding-top:18px;padding-bottom:24px;font-size:.82rem}.footer-base a{text-decoration:underline}@media (width<=760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}.page{max-width:var(--prose);margin:0 auto;padding:40px 0}.top-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px;display:grid}.top-grid .card.featured{height:calc(100% - 62px)}.popular ol{counter-reset:pop;margin:0;padding:0;list-style:none}.popular li{counter-increment:pop;border-bottom:1px solid var(--line)}.popular li:first-child{border-top:1px solid var(--line)}.popular a{color:var(--ink);font-family:var(--serif);grid-template-columns:44px 1fr;column-gap:4px;padding:14px 0;font-size:1.05rem;line-height:1.3;text-decoration:none;display:grid}.popular a:before{content:counter(pop, decimal-leading-zero);font-family:var(--serif);color:var(--warm);grid-row:1/span 2;font-size:1.6rem;line-height:1}.popular a:hover{color:var(--accent)}.pop-cat{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-size:.7rem;font-weight:600}@media (width<=900px){.top-grid{grid-template-columns:1fr}.top-grid .card.featured{height:auto}}.ask-band{background:var(--accent);color:#fff;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:24px 24px;margin-top:40px;padding:56px 0}.ask-grid{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.ask-band h2{max-width:640px;margin:0 0 10px;font-size:clamp(1.6rem,3.2vw,2.3rem)}.ask-band p{color:#ffffffd9;max-width:600px;margin:0}.ask-band .eyebrow{color:#f3c9a6;margin-bottom:10px}.btn-light{color:var(--accent);background:#fff;border-color:#fff}.btn-light:hover{background:var(--warm-soft);border-color:var(--warm-soft);color:var(--ink)}main:has(>.ask-band:last-child)+.site-footer{margin-top:0}.progress{z-index:40;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.progress span{background:var(--warm);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.article-layout{grid-template-columns:minmax(0, var(--prose));justify-content:center;gap:56px;display:grid}.toc-side{display:none}@media (width>=1100px){.article-layout{grid-template-columns:minmax(0, var(--prose)) 260px}.toc-side{align-self:start;display:block;position:sticky;top:96px}.toc-side .toc{margin:0 0 16px}.toc-side .toc ol{columns:1}.toc-inline{display:none}}.crumbs{color:var(--ink-soft);flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:.85rem;display:flex}.crumbs a{color:var(--ink-soft);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.byline .fact{color:var(--accent);font-weight:600;text-decoration:none}.byline .updated{color:var(--ink);font-weight:600}.article-hero{margin:28px 0 0}.article-hero img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);width:100%;display:block}.article-hero figcaption,.card-photo+.card-body .ai-note{color:var(--ink-soft);margin-top:6px;font-size:.75rem}.card-photo{aspect-ratio:16/9;height:auto;padding:0;display:block}.card-photo img{object-fit:cover;width:100%;height:100%;display:block}.card.featured .card-photo{aspect-ratio:auto}.trust-box{border-radius:var(--radius);background:var(--warm-soft);border-left:4px solid var(--warm);margin:40px 0 0;padding:20px 24px}.trust-box strong{font-family:var(--serif);font-size:1.1rem}.trust-box p{color:var(--ink-soft);margin:6px 0 0;font-size:.95rem}.ask-lab{border-radius:var(--radius);background:var(--graph), var(--accent-soft);padding:16px 20px;font-size:.9rem}.ask-lab strong{font-family:var(--serif);font-size:1.05rem}.ask-lab p{color:var(--ink-soft);margin:4px 0 8px}.ask-lab a{font-weight:600;text-decoration:none}.article-main .quick-answer,.article-main .toc,.article-main .faq,.article-main .prose,.article-main .article-head,.article-main .sponsor-note{max-width:none}.article-hero figcaption{justify-content:space-between;align-items:center;gap:12px;display:flex}.pin-save{color:#fff;background:#e60023;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.pin-save:before{content:"P";font-family:var(--serif);color:#e60023;background:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.7rem;font-weight:700;display:grid}.pin-save:hover{color:#fff;background:#ad081b}.hero-tool{background:var(--graph), var(--bg);border-bottom:1px solid var(--line);margin-bottom:32px}.tool-wrap{gap:28px;padding-bottom:56px;display:grid}@media (width>=960px){.tool-wrap{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.tool{background:var(--surface,#fff);border:1px solid var(--line);border-radius:18px;gap:20px;padding:24px;display:grid}.tool fieldset{border:0;gap:12px;margin:0;padding:0;display:grid}.tool legend{font-family:var(--serif);margin-bottom:6px;font-size:1.15rem;font-weight:600}.tool label{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.95rem;display:flex}.tool label>span{color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.tool input,.tool select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px}.tool input[type=number]{text-align:right;width:90px}.tool input:focus,.tool select:focus{outline:2px solid var(--accent);outline-offset:1px}.tool-result{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:12px;padding:16px 18px;line-height:1.6;display:block}.tool-result.warn{background:#f7efdc;border-color:#b9851f}.tool-result.bad{background:#f6e3e3;border-color:#9a3f3f}.tool-big{font-family:var(--serif);color:var(--ink);margin-bottom:4px;font-size:1.6rem;font-weight:600;display:block}.tool-svg{background:var(--graph), var(--bg);border:1px solid var(--line);border-radius:12px;width:100%;height:auto}.tool-bar{border:1px solid var(--line);border-radius:10px;height:40px;font-size:.8rem;font-weight:600;display:flex;overflow:hidden}.tool-bar span{white-space:nowrap;place-items:center;min-width:0;display:grid;overflow:hidden}.tool-bar .b-open{color:#6e5134;background:#ede5da}.tool-bar .b-walk{color:#2c6a82;background:#e1eef3}.tool-bar .b-free{background:var(--accent-soft);color:var(--accent)}.tool-note{background:var(--bg);border:1px solid var(--line);color:var(--ink-soft);border-radius:18px;padding:20px;font-size:.95rem}.tool-note strong{color:var(--ink);font-family:var(--serif);margin-bottom:6px;font-size:1.1rem;display:block}.tool-card .card-body{padding:24px}.tool-cta{background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;align-items:center;gap:14px;margin:1.6em 0;padding:14px 18px;display:flex}.tool-cta p{margin:0}.prose figure.diagram,.prose figure.photo{margin:1.8em 0}.prose figure.photo img{border-radius:14px;width:100%;height:auto}.prose figure.photo figcaption{color:var(--ink-soft);margin-top:8px;font-size:.88rem}.prose figure.diagram img{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;height:auto}.prose figure.diagram figcaption{color:var(--ink-soft);margin-top:8px;font-size:.88rem}
