@import url("../style.css");
:root { --ink:#211f20; --night:#442f20; --gold:#9a7627; --cream:#fbf8f5; --muted:#5f5954; --line:#e3dac9; --soft:#f4f0e9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-height:100vh; margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1120px,calc(100% - 64px)); margin:0 auto; }
.top { height:84px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:14px; align-items:center; font-size:13px; font-weight:700; letter-spacing:.07em; line-height:1.05; text-transform:uppercase; }
.brand i { width:1px; height:34px; background:#b59652; }
.brand small { color:#4a3628; font-size:9px; font-weight:500; letter-spacing:.13em; }
.back { font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.back span { margin-right:9px; color:var(--gold); font-size:16px; }
main { position:relative; overflow:hidden; padding:122px 0 104px; }
main::before,main::after { position:absolute; z-index:0; width:430px; height:215px; opacity:.42; background:repeating-radial-gradient(ellipse at 0 0,transparent 0 13px,#d8ca9f 14px 17px,transparent 18px 26px); content:""; }
main::before { top:0; left:0; }
main::after { right:0; bottom:0; transform:rotate(180deg); }
.content { position:relative; z-index:1; display:flex; flex-direction:column; max-width:810px; }
.kicker { margin:0 0 27px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
h1 { max-width:800px; margin:0; font-size:clamp(46px,7vw,82px); font-weight:500; letter-spacing:-.06em; line-height:1.01; }
.intro { max-width:630px; margin:34px 0 0; color:var(--muted); font-size:18px; line-height:1.65; }
.coming { display:grid; order:2; grid-template-columns:80px 1fr; gap:22px; max-width:720px; margin-top:72px; padding:32px 0; border-top:1px solid #d8cdbd; border-bottom:1px solid #d8cdbd; }
.coming strong { color:var(--gold); font-size:12px; letter-spacing:.1em; }
.coming p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.detail-tool { order:1; max-width:900px; margin-top:52px; padding:34px; border:1px solid #e4dacb; background:rgba(255,253,250,.94); }
.detail-tool .tool-result { font-family:"DM Sans",sans-serif; }
.detail-tool .tool-note { color:var(--muted); }
.detail-tool .fields label,.detail-tool .lead-form label { color:var(--muted); }
.detail-tool .chart-line { stroke:#9a7627; }
.detail-tool .chart-area { fill:rgba(154,118,39,.12); }
.detail-tool .button-dark { background:#442f20; }
.inflation-article { order:2; max-width:900px; margin-top:82px; }
.article-kicker { margin:0 0 14px; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.inflation-article h2 { max-width:680px; margin:0; font-size:clamp(32px,4.5vw,50px); font-weight:500; letter-spacing:-.05em; line-height:1.08; }
.inflation-article>p { max-width:760px; margin:26px 0 0; color:var(--muted); font-size:16px; line-height:1.7; }
.inflation-article a { color:#765b20; font-weight:700; border-bottom:1px solid #cdb77d; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:50px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.insight-grid section { min-height:250px; padding:28px 25px 28px 0; border-right:1px solid var(--line); }
.insight-grid section+section { padding-left:25px; }
.insight-grid section:last-child { border:0; }
.insight-grid span { color:var(--gold); font-size:11px; font-weight:700; }
.insight-grid h3 { margin:38px 0 12px; font-size:19px; font-weight:600; letter-spacing:-.03em; }
.insight-grid p,.inflation-chart p,.purchasing-chart p { color:var(--muted); font-size:13px; line-height:1.6; }
.inflation-chart,.purchasing-chart { margin:70px 0 0; }
.inflation-chart figcaption,.purchasing-chart figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:22px; }
.inflation-chart figcaption span,.purchasing-chart figcaption span { font-size:22px; font-weight:600; letter-spacing:-.03em; }
.inflation-chart figcaption small,.purchasing-chart figcaption small { color:var(--muted); font-size:11px; }
.inflation-chart svg { width:100%; height:auto; overflow:visible; }
.inflation-axis,.inflation-grid { fill:none; stroke:#d8cdbd; stroke-width:1; }
.inflation-grid { stroke-dasharray:2 6; }
.inflation-line { fill:none; stroke:#9a7627; stroke-width:4; }
.inflation-points circle { fill:#442f20; stroke:#d8c28e; stroke-width:3; }
.inflation-labels text { fill:#5f5954; font:12px "DM Sans",sans-serif; }
.bar-row { display:grid; grid-template-columns:220px 1fr 45px; align-items:center; gap:16px; margin:15px 0; }
.bar-row b { font-size:13px; font-weight:500; }
.bar-row i { display:block; height:18px; background:#9a7627; }
.bar-row strong { color:#765b20; font-size:14px; }
.care-life-card { display:flex; align-items:center; justify-content:space-between; gap:34px; margin:26px 0 34px; padding:28px 30px; border:1px solid var(--line); background:#f2eadc; }
.care-life-card span,.care-comparison-title { display:block; color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.care-life-card p { max-width:570px; margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
.care-life-card strong { flex:0 0 auto; color:#765b20; font-size:54px; font-weight:500; letter-spacing:-.06em; line-height:.9; }
.care-life-card strong small { display:block; margin-top:7px; font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.care-staff-comparison { margin:0 0 28px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.care-explainer { max-width:770px; margin:12px 0 22px; color:var(--muted); font-size:14px; line-height:1.65; }
.sources { margin-top:70px; padding-top:32px; border-top:1px solid var(--line); }
.sources ul { display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; margin:0; padding:0; list-style:none; }
.sources li { font-size:13px; line-height:1.45; }
.official-blog-link { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:36px; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink) !important; font-size:17px; font-weight:600; letter-spacing:-.02em; }
.official-blog-link span { color:var(--gold); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.official-blog-link b { color:var(--gold); font-size:20px; }
.official-blog-link:hover { color:var(--gold) !important; }
.planning-note { margin-top:70px; padding:34px; background:#f2eadc; }
.planning-note h3 { max-width:650px; margin:0; font-size:26px; font-weight:500; letter-spacing:-.035em; line-height:1.2; }
.planning-note p:last-child { max-width:760px; margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.tax-map { margin-top:70px; padding:32px; border:1px solid var(--line); background:rgba(255,253,250,.72); }
.tax-map figcaption { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:26px; }
.tax-map figcaption span { font-size:24px; font-weight:600; letter-spacing:-.035em; }
.tax-map figcaption small { color:var(--muted); font-size:11px; }
.tax-head,.tax-row { display:grid; grid-template-columns:1.5fr 1fr .55fr; gap:20px; align-items:center; }
.tax-head { padding:0 0 12px; color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.tax-row { min-height:74px; padding:16px 0; border-top:1px solid var(--line); }
.tax-row b { font-size:15px; font-weight:600; letter-spacing:-.02em; }
.tax-row span { color:var(--muted); font-size:13px; line-height:1.4; }
.tax-row strong { color:var(--gold); font-size:24px; font-weight:500; letter-spacing:-.05em; }
.tax-map>p { max-width:760px; margin:24px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.succession-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:70px; }
.succession-panel { padding:31px; background:#f2eadc; }
.succession-panel h3 { margin:0; font-size:25px; font-weight:500; letter-spacing:-.04em; line-height:1.15; }
.succession-panel p { margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.succession-panel ul { margin:20px 0 0; padding:0; list-style:none; }
.succession-panel li { padding:13px 0; border-top:1px solid rgba(154,118,39,.25); color:var(--muted); font-size:13px; line-height:1.55; }
.succession-panel li b { color:var(--ink); }
.succession-steps { margin-top:70px; border-top:1px solid var(--line); }
.succession-step { display:grid; grid-template-columns:76px 1fr; gap:28px; padding:28px 0; border-bottom:1px solid var(--line); }
.succession-step span { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.1em; }
.succession-step h3 { margin:0; font-size:21px; font-weight:600; letter-spacing:-.035em; }
.succession-step p { max-width:680px; margin:9px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.legal-note { margin-top:70px; padding:30px 34px; border-left:3px solid var(--gold); background:#f4f0e9; }
.legal-note h3 { margin:0; font-size:23px; font-weight:500; letter-spacing:-.035em; }
.legal-note p { max-width:760px; margin:14px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.property-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:70px; background:var(--line); border:1px solid var(--line); }
.property-metrics section { min-height:180px; padding:28px; background:#fffdfa; }
.property-metrics b { display:block; color:var(--gold); font-size:34px; font-weight:500; letter-spacing:-.06em; }
.property-metrics h3 { margin:17px 0 7px; font-size:16px; font-weight:600; letter-spacing:-.025em; }
.property-metrics p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.property-checklist { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:70px; background:var(--line); border:1px solid var(--line); }
.property-checklist section { min-height:200px; padding:28px; background:#f8f4ee; }
.property-checklist span { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.12em; }
.property-checklist h3 { margin:38px 0 10px; font-size:21px; font-weight:600; letter-spacing:-.035em; }
.property-checklist p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.portfolio-request { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:54px; }
.portfolio-request section { padding:32px; border:1px solid var(--line); background:rgba(255,253,250,.9); }
.portfolio-request h2 { margin:0; font-size:27px; font-weight:500; letter-spacing:-.04em; line-height:1.15; }
.portfolio-request p { margin:16px 0 0; color:var(--muted); font-size:14px; line-height:1.65; }
.portfolio-request ul { margin:20px 0 0; padding:0; list-style:none; }
.portfolio-request li { padding:10px 0; border-top:1px solid var(--line); color:var(--muted); font-size:13px; line-height:1.5; }
.portfolio-request li b { color:var(--ink); }
.portfolio-download { display:inline-flex; align-items:center; gap:12px; margin-top:25px; padding:15px 18px; background:var(--night); color:#fff; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.portfolio-form { max-width:900px; margin-top:24px; padding:34px; background:#f2eadc; }
.portfolio-form h2 { margin:0; font-size:31px; font-weight:500; letter-spacing:-.045em; }
.portfolio-form>p { max-width:700px; margin:12px 0 26px; color:var(--muted); font-size:14px; line-height:1.65; }
.portfolio-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.portfolio-form label { display:block; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.portfolio-form input { width:100%; margin-top:8px; border:1px solid #d6c9b4; border-radius:0; background:#fffdfa; color:var(--ink); font:inherit; padding:13px; }
.portfolio-form input[type="file"] { padding:10px; font-size:12px; }
.portfolio-form .file-field { grid-column:1/-1; }
.portfolio-form .consent { display:flex; align-items:flex-start; gap:10px; grid-column:1/-1; color:var(--muted); font-size:12px; font-weight:400; letter-spacing:0; line-height:1.5; text-transform:none; }
.portfolio-form .consent input { width:auto; margin:3px 0 0; }
.portfolio-status { min-height:22px; margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.actions { display:flex; order:3; flex-wrap:wrap; gap:13px; margin-top:42px; }
.button { display:inline-block; padding:16px 20px; background:var(--night); color:#fff; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.button.secondary { border:1px solid #b99c58; background:transparent; color:var(--ink); }
footer { padding:26px 0; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.footer-links { display:inline-flex; flex-wrap:wrap; gap:13px; margin-left:10px; }
.footer-links a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.footer-links a:hover { color:var(--gold); }
@media (max-width:740px) { .wrap { width:calc(100% - 40px); } .top { height:72px; } main { padding:85px 0 75px; } main::before,main::after { width:230px; height:115px; } .back { font-size:0; } .back span { margin:0; } .intro { font-size:16px; } .coming { grid-template-columns:45px 1fr; margin-top:52px; } .detail-tool { padding:24px; } }
@media (max-width:740px) { .inflation-article { margin-top:62px; } .insight-grid,.sources ul,.succession-columns,.property-metrics,.property-checklist,.portfolio-request,.portfolio-form-grid { grid-template-columns:1fr; } .insight-grid section,.insight-grid section+section { min-height:0; padding:25px 0; border-right:0; border-bottom:1px solid var(--line); } .insight-grid section:last-child { border-bottom:0; } .inflation-chart figcaption,.purchasing-chart figcaption,.tax-map figcaption { display:block; } .inflation-chart figcaption small,.purchasing-chart figcaption small,.tax-map figcaption small { display:block; margin-top:8px; } .bar-row { grid-template-columns:1fr 40px; gap:9px; } .bar-row i { grid-row:2; grid-column:1/-1; } .care-life-card { display:block; padding:24px; } .care-life-card strong { display:block; margin-top:24px; font-size:48px; } .tax-map { padding:24px; } .tax-head { display:none; } .tax-row { grid-template-columns:1fr 62px; gap:9px; } .tax-row span { grid-column:1; } .tax-row strong { grid-column:2; grid-row:1 / span 2; justify-self:end; } .succession-step { grid-template-columns:46px 1fr; gap:15px; } .portfolio-request section,.portfolio-form { padding:24px; } }
