/* Arbutus Ridge — 2026-09 overhaul components. Palette and type follow global.css:
   cream #faf8f5 / #f5f0e8, ink #1a1f1a, terracotta #c4572a, moss #4a6741, sand #c8b98a, rule #e8e2d6. */
:root{--ink:#1a1f1a;--cream:#faf8f5;--cream-2:#f5f0e8;--rule:#e8e2d6;--terra:#c4572a;--terra-2:#d4632f;--moss:#4a6741;--sand:#c8b98a;--muted:#666;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Open Sans','Libre Franklin',Helvetica,Arial,sans-serif;--label:'Libre Franklin','Open Sans',sans-serif}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font-family:var(--label);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--terra);margin-bottom:12px}
.asof{display:inline-block;font-family:var(--label);font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:#8a8a80;margin-left:10px;vertical-align:middle}
.lead{font-family:var(--serif);font-size:24px;font-weight:300;line-height:1.5;color:var(--ink);max-width:760px}
.body-text a,.fact-block a,.faq-answer a,.guide-body a{color:var(--terra);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.body-text a:hover,.fact-block a:hover{color:var(--terra-2)}
main h2.section-title{margin-top:8px}
/* fact blocks */
.fact-block{background:#fff;border:1px solid var(--rule);border-radius:4px;padding:28px 32px;margin:24px 0}
.alt-bg .fact-block{background:#fff}
.fact-block__title{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);margin:0 0 14px;line-height:1.25}
.fact-block__foot{font-size:13.5px;color:#7a7a72;line-height:1.7;margin-top:14px}
.fact-list{list-style:none;padding:0;margin:0}
.fact-list li{padding:10px 0;border-top:1px solid var(--rule);font-size:15.5px;font-weight:300;line-height:1.7;color:#444}
.fact-list li:first-child{border-top:0}
.fact-list strong{font-weight:600;color:var(--ink)}
.fact-five{counter-reset:f;list-style:none;padding:0;margin:0}
.fact-five li{position:relative;padding:12px 0 12px 44px;border-top:1px solid var(--rule);font-size:17px;font-weight:300;line-height:1.65;color:#333}
.fact-five li:first-child{border-top:0}
.fact-five li::before{counter-increment:f;content:counter(f);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:50%;background:var(--cream-2);color:var(--terra);font-family:var(--label);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}
.fact-five strong{font-weight:600;color:var(--ink)}
.fact-table{width:100%;border-collapse:collapse;font-size:15px;font-weight:300;line-height:1.6}
.fact-table th,.fact-table td{text-align:left;vertical-align:top;padding:10px 12px 10px 0;border-top:1px solid var(--rule)}
.fact-table tr:first-child th,.fact-table tr:first-child td{border-top:0}
.fact-table th{font-family:var(--label);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#7a7a72;width:170px;padding-top:13px}
.fact-table thead th{border-top:0;border-bottom:1px solid var(--ink);color:var(--ink);width:auto}
.fact-table td strong{font-weight:600;color:var(--ink)}
/* lots table */
.lots-table-wrap{overflow-x:auto;margin:16px 0 8px}
.lots-table{width:100%;border-collapse:collapse;font-size:15px}
.lots-table th{font-family:var(--label);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#7a7a72;font-weight:600;text-align:left;padding:12px 10px;border-bottom:1px solid var(--ink)}
.lots-table td{padding:14px 10px;border-bottom:1px solid var(--rule);color:#444;font-weight:300;white-space:nowrap}
.lots-table td a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--sand)}
.lots-table td a:hover{color:var(--terra)}
.lot-row--sold td{color:#9a9a92}
.lot-row--available .lot-price{color:var(--ink);font-weight:500}
.price-was{display:inline-block;margin-left:8px;color:#9a9a92;text-decoration:line-through;font-weight:300;font-size:13px}
.status-badge{display:inline-block;font-family:var(--label);font-size:10.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;padding:4px 9px;border-radius:2px}
.status-available{background:#eef3ec;color:var(--moss)}
.status-sold{background:#f0ede6;color:#8a8a80}
.table-foot{font-size:13px;color:#8a8a80;margin-top:10px}
@media (max-width:640px){.hide-mobile{display:none}.lots-table td,.lots-table th{padding:10px 6px;font-size:14px}}
/* lot strip cards */
.lot-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}
.lot-card{display:block;background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.lot-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,31,26,.1)}
.lot-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.lot-card__body{display:block;padding:16px 18px 18px}
.lot-card__lot{display:block;font-family:var(--serif);font-size:24px;line-height:1.1}
.lot-card__addr{display:block;font-size:13px;color:#7a7a72;margin:4px 0 8px}
.lot-card__size{display:block;font-size:13px;color:#555;font-weight:300}
.lot-card__price{display:block;margin-top:10px;font-family:var(--label);font-size:15px;font-weight:600;color:var(--ink)}
.lot-card__was{margin-left:8px;color:#9a9a92;text-decoration:line-through;font-weight:300;font-size:12.5px}
@media (max-width:960px){.lot-strip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.lot-strip{grid-template-columns:1fr}}
/* lot page */
.lot-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:520px;background:#fff}
.lot-hero__media img{width:100%;height:100%;object-fit:cover;display:block;min-height:320px}
.lot-hero__panel{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.lot-hero__panel h1{font-family:var(--serif);font-size:52px;font-weight:300;line-height:1.05;color:var(--ink);margin:0 0 12px}
.lot-hero__addr{display:block;font-family:var(--sans);font-size:16px;font-weight:300;color:#666;letter-spacing:0;margin-top:8px}
.lot-hero__pricing{margin:8px 0 20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.lot-hero__price{font-family:var(--serif);font-size:38px;color:var(--ink)}
.lot-hero__price--sold{color:#8a8a80}
.lot-hero__was{color:#9a9a92;text-decoration:line-through;font-weight:300}
.lot-hero__gst{font-family:var(--label);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#8a8a80;width:100%}
.lot-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0 0 24px}
.lot-specs div{border-top:1px solid var(--rule);padding-top:10px}
.lot-specs dt{font-family:var(--label);font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#8a8a80;font-weight:600}
.lot-specs dd{margin:4px 0 0;font-size:14.5px;line-height:1.55;color:#333;font-weight:300}
.lot-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.lot-mls,.lot-note{font-size:13px;color:#7a7a72;line-height:1.7}
.lot-body__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
.lot-body__text h2{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--ink);margin:28px 0 12px}
.lot-body__text h2:first-child{margin-top:0}
.lot-body__text p,.lot-body__text li{font-size:16px;font-weight:300;line-height:1.8;color:#555}
.lot-body__text ul{padding-left:20px}
.lot-plan img{width:100%;border:1px solid var(--rule);border-radius:4px}
.lot-plan figcaption{font-size:13px;color:#7a7a72;margin-top:8px}
.lot-chips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}
.lot-chip{font-family:var(--label);font-size:13px;font-weight:500;padding:9px 14px;border:1px solid var(--rule);border-radius:2px;text-decoration:none;color:var(--ink);background:#fff}
.lot-chip span{color:#8a8a80;font-weight:300;margin-left:6px}
.lot-chip--sold{color:#9a9a92}
.lot-chip:hover{border-color:var(--terra);color:var(--terra)}
@media (max-width:900px){.lot-hero{grid-template-columns:1fr}.lot-hero__panel{padding:32px 24px}.lot-hero__panel h1{font-size:40px}.lot-body__grid{grid-template-columns:1fr;gap:32px}}
/* cta band */
.cta-band{background:var(--ink);color:#fff;padding:72px 24px;text-align:center}
.cta-band h2{font-family:var(--serif);font-size:38px;font-weight:300;margin:0 0 12px}
.cta-band p{font-weight:300;color:rgba(255,255,255,.75);line-height:1.7;max-width:600px;margin:0 auto 24px}
.cta-band__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.cta-band .btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}
.cta-band .btn-outline:hover{background:#fff;color:var(--ink)}
.redma{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;margin:0}
.content-section .redma,.alt-bg .redma{color:#9a9a92}
/* guide pages */
.guide-hero{padding:72px 24px 40px;text-align:left}
.guide-hero .content-narrow{max-width:820px}
.guide-hero h1{font-family:var(--serif);font-size:46px;font-weight:300;line-height:1.1;color:var(--ink);margin:0 0 16px}
.guide-hero .answer{font-family:var(--serif);font-size:24px;font-weight:300;line-height:1.5;color:#333;border-left:3px solid var(--terra);padding-left:20px;margin:20px 0}
.guide-hero .guide-meta{font-family:var(--label);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#8a8a80}
.guide-body{max-width:820px;margin:0 auto}
.guide-body h2{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--ink);margin:40px 0 12px;line-height:1.2}
.guide-body h3{font-family:var(--label);font-size:14px;font-weight:600;letter-spacing:.5px;color:var(--ink);margin:26px 0 8px}
.guide-body p,.guide-body li{font-size:16.5px;font-weight:300;line-height:1.8;color:#444}
.guide-body ul,.guide-body ol{padding-left:22px;margin:0 0 16px}
.guide-body li{margin-bottom:6px}
.guide-body table{width:100%;border-collapse:collapse;margin:16px 0 24px;font-size:15px}
.guide-body th{font-family:var(--label);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#7a7a72;text-align:left;padding:10px 10px 10px 0;border-bottom:1px solid var(--ink)}
.guide-body td{padding:11px 10px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-weight:300;color:#444;line-height:1.55}
.guide-body .table-wrap{overflow-x:auto}
.guide-body .callout{background:#fff;border:1px solid var(--rule);border-left:3px solid var(--moss);padding:18px 22px;margin:22px 0;border-radius:2px}
.guide-body .callout p{margin:0;font-size:15px}
.guide-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.guide-nav a{display:block;background:#fff;border:1px solid var(--rule);border-radius:4px;padding:18px 20px;text-decoration:none;color:var(--ink);transition:border-color .2s}
.guide-nav a:hover{border-color:var(--terra)}
.guide-nav a strong{display:block;font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.25;margin-bottom:6px}
.guide-nav a span{font-size:13.5px;color:#7a7a72;font-weight:300;line-height:1.5}
@media (max-width:860px){.guide-nav{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.guide-nav{grid-template-columns:1fr}.guide-hero h1{font-size:36px}}
.sources{max-width:820px;margin:32px auto 0;padding:24px 0 48px;border-top:1px solid var(--rule)}
.sources__title{font-family:var(--label);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#8a8a80;margin:0 0 10px}
.sources ul{list-style:none;padding:0;margin:0}
.sources li{font-size:12.5px;color:#8a8a80;line-height:1.6;padding:3px 0}
/* faq */
.faq-toc{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 36px}
.faq-toc a{font-family:var(--label);font-size:12px;font-weight:500;letter-spacing:.5px;padding:8px 14px;border:1px solid var(--rule);border-radius:20px;text-decoration:none;color:var(--ink);background:#fff}
.faq-toc a:hover{border-color:var(--terra);color:var(--terra)}
.faq-group{max-width:820px;margin:0 auto 44px}
.faq-group h2{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--ink);margin:0 0 8px}
.faq-item{border-top:1px solid var(--rule)}
.faq-item:last-child{border-bottom:1px solid var(--rule)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:4px;top:14px;font-family:var(--serif);font-size:26px;color:var(--terra);font-weight:300}
.faq-item[open] summary::after{content:'−'}
.faq-item summary h3{font-family:var(--serif);font-size:21px;font-weight:400;color:var(--ink);margin:0;line-height:1.3}
.faq-answer{padding:0 0 20px}
.faq-answer p,.faq-answer li{font-size:15.5px;font-weight:300;line-height:1.75;color:#444;margin:0 0 10px}
.faq-answer ul{padding-left:20px}
.faq-asof{font-family:var(--label);font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#9a9a92;margin-top:6px}
/* compare table */
.compare-table td:first-child{font-weight:500;color:var(--ink)}
.compare-table .us{background:#fbf7f1}
/* home additions */
.home-facts{padding:56px 24px 24px}
.home-lots{padding:40px 24px 64px}
.home-ferry{padding:56px 24px}
.guide-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
@media (max-width:860px){.guide-links{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.guide-links{grid-template-columns:1fr}}
/* map */
.map-stack{position:relative}
.map-stack .svg-mount{position:relative;min-height:240px}
.map-stack .svg-fallback{width:100%;display:block}
.map-note{font-size:13px;color:#8a8a80;text-align:center;margin-top:8px}
/* forms */
.form-note{font-size:13px;color:#8a8a80;line-height:1.6}
.perks{list-style:none;padding:0;margin:16px 0}
.perks li{padding:12px 0;border-top:1px solid var(--rule);font-size:15.5px;font-weight:300;line-height:1.7;color:#444}
.perks li strong{font-weight:600;color:var(--ink)}
/* gallery */
.gallery-section h2{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--ink);margin:36px 0 12px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-grid figure{margin:0}
.gallery-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px;display:block}
.gallery-grid figcaption{font-size:12.5px;color:#8a8a80;margin-top:6px;line-height:1.5}
.gallery-grid .wide{grid-column:span 2}
@media (max-width:860px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid .wide{grid-column:span 2}}
@media (max-width:520px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:span 1}}
/* misc */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:800px){.two-col{grid-template-columns:1fr}}
.pill-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pill-list span{font-family:var(--label);font-size:12px;padding:6px 12px;border:1px solid var(--rule);border-radius:20px;color:#555;background:#fff}
figure.photo{margin:24px 0}
figure.photo img{width:100%;border-radius:4px;display:block}
figure.photo figcaption{font-size:13px;color:#8a8a80;margin-top:8px}
/* lots map v2 */
.svg-mount{position:relative;background:#fff;border:1px solid #e8e2d6;border-radius:4px;overflow:hidden}
.svg-mount .svg-fallback{width:100%;height:auto;display:block}
.svg-mount .svg-holder{position:absolute;inset:0}
.svg-mount.svg-ready{aspect-ratio:2550/1787}
.svg-mount.svg-ready .svg-holder{position:absolute;inset:0}
.svg-mount svg g[id$="-hover"].is-hot,.svg-mount svg g[id$="-hover"].is-hot .st16{opacity:1}
.svg-mount svg g.status-sold{pointer-events:auto;cursor:default}
#ar-table-body tr.is-hot td{background:#f6f2eb}
#ar-table-body tr.is-clickable{cursor:pointer}
.dialog-gst{display:block;font-family:var(--label);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#8a8a80;margin-top:2px}
.lot-dialog-septic{font-size:13px;color:#666;line-height:1.5;margin:6px 0 14px}
.map-caption{font-size:13px;color:#8a8a80;text-align:center;margin:10px 0 0}
.lots-hero{padding:64px 24px 24px;text-align:center}
.lots-hero h1{font-family:var(--serif);font-size:clamp(36px,5vw,54px);font-weight:300;color:var(--ink);margin:0 0 12px}
.lots-hero p{font-size:17px;font-weight:300;color:#555;max-width:720px;margin:0 auto;line-height:1.7}

/* 2026-09-04: phones get the 800px hero derivative (inline style carries the 1600px one) */
@media (max-width: 800px) { .home-hero__bg { background-image: url("../photos/strongman/home-hero-800.jpg") !important; } }
