/* Tariffs, specials and property map. */
.site-map-section{background:var(--paper);padding-top:clamp(56px,7vw,110px);padding-bottom:clamp(56px,7vw,110px)}
.site-map-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}
.site-map-heading h2{font-size:clamp(34px,4.5vw,70px);line-height:1.05;margin:10px 0 16px}
.site-map-heading p:last-child{max-width:52ch;line-height:1.6}
.site-map-image,.tariff-image{display:block;background:#e5e6df;border:1px solid var(--line);overflow:hidden}
.site-map-image img,.tariff-image img{display:block;width:100%;height:auto}
.site-map-image:hover img{opacity:.95}
.tariffs-section{max-width:1380px;margin:auto}
.tariffs-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-bottom:28px}
.tariff-image{max-width:1158px;margin:auto;background:white}
.tariffs-note,.specials-note{font-size:15px;line-height:1.6;color:var(--muted);max-width:76ch;margin:24px auto 0}
.specials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.special-card{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,44px);background:#fff;border:1px solid var(--line)}
.special-card h2{font-size:clamp(28px,2.4vw,40px);line-height:1.15;margin:0}
.special-card p:not(.eyebrow){line-height:1.65;margin:0 0 18px}
.special-card .text-link{margin-top:auto}
.specials-note{max-width:none}
@media(max-width:950px){.specials-grid{grid-template-columns:1fr}.site-map-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.site-map-section{padding-left:0;padding-right:0}.site-map-heading{padding:0 var(--pad)}.site-map-image{border-left:0;border-right:0}.tariffs-actions{align-items:flex-start;flex-direction:column}.special-card{padding:28px}}

/* Live, text-based tariffs. Values come from scripts/tariffs_data.json. */
.tariff-hero{padding-bottom:clamp(52px,6vw,90px)}
.tariff-jump{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;background:#e4e8dc;border-bottom:1px solid var(--line);padding-top:20px;padding-bottom:20px}
.tariff-jump a{color:var(--pine);font-size:15px;font-weight:700;text-decoration:none;border-bottom:1px solid transparent;padding:9px 0}
.tariff-jump a:hover,.tariff-jump a:focus-visible{border-color:currentColor}
.tariff-jump .tariff-jump-download{margin-left:auto;border:1px solid var(--pine);padding:11px 18px}
.tariff-content{background:var(--paper);padding-top:clamp(60px,6vw,100px);padding-bottom:clamp(64px,7vw,110px);scroll-margin-top:100px}
.tariff-content-alt{background:#e7e9df}
.tariff-section-heading{max-width:780px;margin-bottom:42px}
.tariff-section-heading h2{font-size:clamp(38px,5vw,72px);line-height:1.05;margin:12px 0 18px}
.tariff-section-heading p:last-child{font-size:17px;line-height:1.65}
.tariff-group{margin:0 0 42px}
.tariff-group h3,.tariff-content>h3{font-size:clamp(23px,2.5vw,34px);margin:0 0 18px}
.tariff-content>h3{margin-top:54px}
.tariff-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px rgba(17,37,29,.06)}
.tariff-table-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.tariff-table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;line-height:1.45}
.tariff-table th,.tariff-table td{padding:17px 18px;border-bottom:1px solid #dfe3da;vertical-align:top}
.tariff-table thead th{background:var(--pine);color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap}
.tariff-table tbody tr:last-child>*{border-bottom:0}
.tariff-table tbody tr:nth-child(even){background:#f7f8f3}
.tariff-table tbody th{font-weight:700;min-width:190px}
.tariff-table tbody th span{display:block;margin-top:5px;color:var(--muted);font-size:13px;font-weight:500}
.tariff-table tbody td:nth-last-child(-n+3){font-variant-numeric:tabular-nums}
.tariff-table tbody td:last-child{font-weight:700}
.tariff-matrix{min-width:1030px}
.tariff-matrix tbody th{white-space:nowrap}
.tariff-matrix tbody td{white-space:nowrap;text-align:right;font-weight:600}
.tariff-matrix thead th:not(:first-child){text-align:right}
.tariff-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:720px;margin:0 0 45px}
.tariff-summary-grid>div{display:flex;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);padding:24px}
.tariff-summary-grid span{font-size:15px}.tariff-summary-grid strong{font-size:24px;white-space:nowrap}
.tariff-callout{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:space-between;border-left:4px solid var(--orange);background:#fff;padding:22px 26px;margin-top:24px;line-height:1.6}
.tariff-callout p{margin:0}.tariff-callout strong{font-size:18px}
.tariff-scroll-hint{font-size:14px;color:var(--muted)}
.tariff-extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:48px}
.tariff-extra{padding:28px;background:#e5e9df;border:1px solid var(--line)}
.tariff-extra h3{font-size:26px;margin:0 0 14px}
.tariff-extra p{line-height:1.6}.tariff-extra small{display:block;line-height:1.5}
.tariff-download{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--pine);color:#fff;padding:30px 36px;margin:56px 0 24px}
.tariff-download h3{font-size:30px;margin:5px 0}.tariff-download p:last-child{margin:0;color:#e4e9db}
.tariff-download .button{flex-shrink:0}
.tariff-content>.button{margin-top:30px}
@media(max-width:800px){
 .tariff-jump{gap:6px 22px}
 .tariff-jump .tariff-jump-download{margin-left:0}
 .tariff-table th,.tariff-table td{padding:14px 12px}
 .tariff-summary-grid,.tariff-extras-grid{grid-template-columns:1fr}
 .tariff-download{align-items:flex-start;flex-direction:column;padding:28px}
}

.tariff-jump.section-pad{padding-top:20px;padding-bottom:20px}
