/* SEO content pages share the landing's self-hosted font, colours and buttons. */
.seo-page { --seo-radius:20px; }
.seo-page h1,.seo-page h2,.seo-page h3 { letter-spacing:-.035em; text-wrap:balance; }
.seo-page h1 { max-width:970px; font-size:clamp(34px,4.2vw,58px); line-height:1.12; }
.seo-page h2 { margin:0 0 20px; font-size:clamp(25px,2.5vw,34px); line-height:1.2; }
.seo-page h3 { margin:0 0 14px; font-size:21px; line-height:1.3; }
.seo-page p { max-width:84ch; }
.seo-page button,.seo-page input,.seo-page select { font:inherit; }
.seo-page a:focus-visible,.seo-page button:focus-visible,.seo-page input:focus-visible,.seo-page select:focus-visible,.seo-page summary:focus-visible,.seo-table-scroll:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
.seo-site-header { border-bottom:1px solid var(--line); background:var(--paper); }
.seo-header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:22px; padding-bottom:22px; }
.seo-brand { flex-shrink:0; }
.seo-brand .brand-symbol svg { width:25px; height:25px; }
.seo-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:650; }
.seo-nav a { text-decoration:none; }
.seo-nav .seo-nav-download { padding:10px 20px; min-height:44px; font-size:14px; }
.seo-main { padding-top:24px; padding-bottom:60px; }
.seo-breadcrumbs { margin-bottom:36px; font-size:13px; color:var(--muted); }
.seo-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0; list-style:none; }
.seo-breadcrumbs li { display:flex; align-items:baseline; gap:8px; }
.seo-breadcrumbs li+li:before { content:'/'; color:var(--muted); }
.seo-breadcrumbs a { color:inherit; text-underline-offset:3px; }
.seo-hero { padding:14px 0 36px; }
.seo-eyebrow { display:block; margin:0 0 16px; color:var(--muted); font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.065em; text-transform:uppercase; }
.seo-lead { margin:22px 0 16px; color:var(--muted); font-size:clamp(18px,2vw,21px); line-height:1.55; }
.seo-direct-answer { margin:18px 0 24px; max-width:85ch; }
.seo-section { margin-top:50px; }
.seo-section-heading { margin-bottom:24px; }
.seo-section-heading h2 { margin-bottom:12px; }
.seo-section-heading p { margin:0; color:var(--muted); }
.seo-calculator { padding:30px; border:1px solid var(--line); border-radius:var(--seo-radius); background:var(--white); box-shadow:0 10px 40px #173d3505; }
.seo-calculator h2 { font-size:26px; margin-bottom:12px; }
.seo-calculator>p { margin:0 0 22px; }
.seo-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:22px 0; align-items:start; }
.seo-field { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:14px; font-weight:600; }
.seo-field input,.seo-field select { width:100%; min-width:0; min-height:48px; padding:10px 13px; border:1px solid #7c8d80; border-radius:9px; background:var(--white); color:var(--ink); font-size:16px; font-weight:500; }
.seo-calculator form[data-tool-kind=container] { display:flex; align-items:flex-end; gap:20px; }
.seo-calculator form[data-tool-kind=container] .seo-field { flex:1; max-width:650px; }
.seo-calculator .button { min-height:49px; padding:12px 24px; }
.seo-calculate-row { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.seo-result { display:block; flex:1; font-size:18px; font-weight:650; font-variant-numeric:tabular-nums; }
.seo-tool-error { margin:18px 0 0; padding:12px 16px; border-left:3px solid #9b3030; color:#852929; background:#fff2ee; border-radius:0 7px 7px 0; }
.seo-tool-error:empty { display:none; }
.seo-small,.seo-calculator .seo-small { margin:18px 0 0; color:var(--muted); font-size:13px; line-height:1.65; }
.seo-method { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding-bottom:36px; border-bottom:1px solid var(--line); }
.seo-method ol { padding-left:24px; }
.seo-method li { padding-left:5px; margin-bottom:12px; }
.seo-method h3 { margin-top:4px; }
.seo-formula { padding:20px; border-radius:12px; background:#eaf0df; font-size:18px; font-weight:650; overflow-wrap:break-word; }
.seo-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.seo-profile-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:16px; text-decoration:none; background:var(--white); }
.seo-profile-card:hover { border-color:#88a35e; background:#f4f8ed; }
.seo-profile-card .seo-eyebrow { font-size:10px; margin-bottom:12px; }
.seo-profile-card h3 { margin-bottom:12px; font-size:22px; }
.seo-profile-card>span:not(.seo-eyebrow) { font-size:14px; }
.seo-card-action { display:block; padding-top:20px; margin-top:auto; font-weight:650; }
.seo-faq { padding-top:36px; border-top:1px solid var(--line); }
.seo-faq details { border-bottom:1px solid var(--line); }
.seo-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; cursor:pointer; font-weight:650; list-style:none; line-height:1.5; }
.seo-faq summary:after { content:'+'; flex-shrink:0; font-size:24px; font-weight:400; }
.seo-faq details[open] summary:after { content:'−'; }
.seo-faq summary::-webkit-details-marker { display:none; }
.seo-faq details p { margin:0 0 24px; color:var(--muted); }
.seo-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.seo-link-grid a { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border:1px solid var(--line); border-radius:12px; text-decoration:none; font-weight:600; font-size:15px; }
.seo-link-grid a:hover { background:var(--white); }
.seo-end-cta { display:flex; justify-content:space-between; align-items:center; gap:30px; border-radius:var(--seo-radius); padding:32px; background:#e4eddb; }
.seo-end-cta h2 { font-size:27px; margin-bottom:12px; }
.seo-end-cta p { margin:0; }
.seo-end-cta .button { flex-shrink:0; }
.seo-fact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0 0 26px; }
.seo-fact-grid>div { min-width:0; padding:22px 24px; background:var(--white); border:1px solid var(--line); border-radius:14px; }
.seo-fact-grid dt { font-size:13px; color:var(--muted); margin-bottom:10px; }
.seo-fact-grid dd { margin:0; font-size:clamp(18px,2vw,24px); font-weight:650; font-variant-numeric:tabular-nums; }
.seo-fact-grid dd span { color:var(--muted); font-weight:500; font-size:16px; }
.seo-profile-context { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.seo-profile-context p { margin:0; }
.seo-table-scroll { width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.seo-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; line-height:1.5; }
.seo-table th,.seo-table td { padding:15px 18px; border-bottom:1px solid var(--line); }
.seo-table thead th { background:#edf1e6; color:var(--ink); font-weight:650; font-size:12px; }
.seo-table tbody th { font-weight:600; }
.seo-table tbody tr:last-child>* { border-bottom:0; }
.seo-table td { font-variant-numeric:tabular-nums; }
.seo-table .seo-number { text-align:right; font-weight:650; }
.seo-floor-plan { margin:24px 0 0; padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--white); }
.seo-floor-plan svg { display:block; width:100%; max-height:280px; margin:0 auto; }
.seo-floor-outline { fill:#f3f5ed; stroke:#557365; stroke-width:2; }
.seo-floor-item { fill:#cce59d; stroke:#48664d; stroke-width:1.8; vector-effect:non-scaling-stroke; }
.seo-floor-plan figcaption { margin-top:16px; color:var(--muted); font-size:12px; line-height:1.6; }
.seo-sources { padding:26px 30px; border:1px solid var(--line); border-radius:16px; }
.seo-sources h2 { font-size:24px; }
.seo-sources ul { padding-left:22px; }
.seo-sources li { margin:10px 0; }
.seo-sources details { border-top:1px solid var(--line); padding-top:18px; }
.seo-sources summary { cursor:pointer; font-weight:650; }
.seo-sources details p { font-size:14px; color:var(--muted); }
.seo-footer { padding:40px 0; border-top:1px solid var(--line); background:#eff2e8; }
.seo-footer-main { display:flex; justify-content:space-between; align-items:start; gap:40px; }
.seo-footer-main p { font-size:13px; color:var(--muted); margin:16px 0 0; }
.seo-footer-main nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px 24px; font-size:14px; }
.seo-footer a { text-decoration:none; }
.seo-footer-main button { background:none; border:0; color:var(--ink); text-decoration:underline; padding:0; cursor:pointer; font-size:14px; }
.seo-download-languages { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); font-size:13px; }
.seo-download-languages summary { cursor:pointer; color:var(--muted); }
.seo-download-languages nav { display:flex; flex-wrap:wrap; gap:12px 22px; padding-top:14px; }
@media(min-width:1600px) { .seo-main { max-width:1320px; } }
@media(max-width:900px) {
 .seo-nav { gap:20px; }
 .seo-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .seo-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .seo-method { gap:28px; }
 .seo-link-grid { grid-template-columns:1fr; }
 .seo-end-cta { align-items:start; }
 .seo-footer-main { flex-direction:column; gap:26px; }
 .seo-footer-main nav { justify-content:flex-start; }
}
@media(max-width:600px) {
 .seo-page .container { padding-left:20px; padding-right:20px; }
 .seo-header-inner { flex-wrap:wrap; gap:18px; padding-top:18px; padding-bottom:14px; }
 .seo-brand { font-size:20px; }
 .seo-nav { width:100%; justify-content:space-between; gap:12px; font-size:13px; }
 .seo-nav .seo-nav-download { padding:8px 16px; min-height:42px; }
 .seo-main { padding-top:18px; }
 .seo-breadcrumbs { font-size:11px; margin-bottom:26px; }
 .seo-hero { padding-top:0; padding-bottom:26px; }
 .seo-hero h1 { font-size:34px; }
 .seo-eyebrow { font-size:10px; }
 .seo-section { margin-top:36px; }
 .seo-calculator { padding:22px 18px; }
 .seo-calculator h2 { font-size:24px; }
 .seo-fields { gap:16px; }
 .seo-field { font-size:12px; }
 .seo-field input,.seo-field select { padding:10px; }
 .seo-calculator form[data-tool-kind=container] { flex-direction:column; align-items:stretch; gap:16px; }
 .seo-calculate-row { align-items:stretch; gap:18px; }
 .seo-calculate-row .button,.seo-result { width:100%; }
 .seo-result { flex-basis:100%; }
 .seo-method,.seo-profile-context { grid-template-columns:1fr; gap:24px; }
 .seo-method { padding-bottom:26px; }
 .seo-profile-grid { grid-template-columns:1fr; gap:14px; }
 .seo-profile-card { padding:22px; }
 .seo-fact-grid { gap:12px; grid-template-columns:1fr; }
 .seo-fact-grid>div { padding:18px 20px; }
 .seo-table th,.seo-table td { padding:12px; font-size:12px; }
 .seo-table thead th { font-size:11px; }
 .seo-table { min-width:500px; }
 .seo-floor-plan { padding:14px; }
 .seo-end-cta { flex-direction:column; padding:26px 22px; gap:22px; }
 .seo-end-cta .button { width:100%; }
 .seo-sources { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) { .seo-page * { scroll-behavior:auto!important; transition:none!important; } }

.seo-page p+p { margin-top:14px; }
.seo-page p a,.seo-page li>a,.seo-sources a { text-decoration:underline; text-underline-offset:3px; }
/* Keep the complete unit name readable even when numeric fields use two columns. */
.seo-fields>.seo-field:first-child { grid-column:1/-1; max-width:300px; }
.seo-section>p+.seo-table-scroll { margin-top:18px; }
