:root{--ink:#1d1d1b;--paper:#fff;--soft:#f5f2ed;--line:#d9d4cd;--muted:#6f6b66;--dark:#262624;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.shell{width:min(var(--max),calc(100% - 48px));margin:0 auto}.hero{background:var(--soft);padding:88px 0 78px}.hero-inner{max-width:900px;margin-left:auto;margin-right:auto;text-align:center}.eyebrow{margin:0 0 15px;font-size:12px;letter-spacing:.19em;font-weight:700}.hero h1,.section-heading h2,.viewing-strip h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;margin:0}.hero h1{font-size:clamp(48px,7vw,86px);letter-spacing:-.035em}.hero-copy{max-width:720px;margin:28px auto 0;font-size:18px;color:#4e4b47}.stock-section{padding:82px 0 100px}.section-heading{text-align:center;max-width:760px;margin:0 auto 48px}.section-heading h2{font-size:clamp(40px,5vw,62px)}.section-heading>p:last-child{margin:20px 0 0;color:var(--muted)}.filter-panel{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;align-items:end;padding:20px;border:1px solid var(--line);background:#fff;margin-bottom:20px}.filter-field label{display:block;margin-bottom:7px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700}.filter-field select{width:100%;height:46px;padding:0 36px 0 12px;border:1px solid #bbb5ae;background:#fff;color:var(--ink);font-size:14px}.clear-filters{height:46px;padding:0 18px;background:transparent;border:1px solid var(--ink);cursor:pointer;font-weight:700}.results-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 0 24px;font-size:14px}.stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}.stock-card{border-bottom:1px solid var(--line);padding-bottom:34px;background:#fff}.stock-media{position:relative;aspect-ratio:4/3;background:#ece8e2;overflow:hidden}.slides,.slide{width:100%;height:100%}.slide{position:absolute;inset:0;object-fit:cover;opacity:0;transition:opacity .2s ease}.slide.is-active{opacity:1}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:31px;line-height:1;color:#151515;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.12)}.carousel-prev{left:16px}.carousel-next{right:16px}.image-count{position:absolute;right:14px;bottom:14px;z-index:3;background:rgba(0,0,0,.7);color:#fff;padding:5px 9px;font-size:12px}.status-badge{position:absolute;top:14px;left:14px;z-index:4;background:#fff;color:#111;padding:7px 11px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.badge-special{background:#1e1e1c;color:#fff}.no-photo{height:100%;display:flex;align-items:center;justify-content:center;color:#777;font-family:Georgia,'Times New Roman',serif;font-size:24px}.stock-content{padding:24px 4px 0}.stock-kicker{margin:0 0 7px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.stock-content h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:34px;line-height:1.08;margin:0}.price-row{display:flex;gap:14px;align-items:baseline;margin:15px 0 12px}.price-row strong{font-size:25px;font-weight:600}.price-row del{color:#8b8781}.spec-row{display:flex;flex-wrap:wrap;gap:8px 20px;border-top:1px solid #e6e1da;border-bottom:1px solid #e6e1da;padding:12px 0;margin:8px 0 16px;color:#4d4944;font-size:13px}.description{color:#55514c;margin:0 0 20px}.card-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-action,.secondary-action,.light-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 19px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.primary-action{background:var(--ink);color:#fff;border:1px solid var(--ink)}.secondary-action{background:#fff;color:var(--ink);border:1px solid var(--ink)}.notice,.empty-results{padding:34px;border:1px solid var(--line);background:var(--soft);text-align:center}.notice strong,.notice span{display:block}.viewing-strip{background:var(--dark);color:#fff;padding:70px 0}.viewing-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.viewing-strip h2{font-size:clamp(38px,5vw,58px)}.viewing-strip p:not(.eyebrow){max-width:650px;color:#e0ded9}.viewing-actions{display:flex;flex-direction:column;align-items:flex-end;gap:15px}.light-button{background:#fff;color:#161616}.phone-link{color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:23px;text-decoration:none}@media (max-width:980px){.filter-panel{grid-template-columns:repeat(3,1fr)}.clear-filters{width:100%}.stock-grid{gap:30px 20px}}@media (max-width:720px){.shell{width:min(100% - 28px,var(--max))}.hero{padding:64px 0 58px}.stock-section{padding:58px 0 72px}.filter-panel{grid-template-columns:1fr 1fr;padding:14px}.sort-field{grid-column:auto}.stock-grid{grid-template-columns:1fr}.stock-content h3{font-size:30px}.carousel-arrow{width:42px;height:42px}.viewing-inner{flex-direction:column;align-items:flex-start}.viewing-actions{align-items:flex-start}.card-actions{display:grid;grid-template-columns:1fr}.primary-action,.secondary-action{width:100%}}@media (max-width:460px){.filter-panel{grid-template-columns:1fr}.hero h1{font-size:46px}.hero-copy{font-size:16px}.stock-media{aspect-ratio:1.22/1}.carousel-prev{left:10px}.carousel-next{right:10px}}

/* Dynamic holiday-home detail page */
.detail-top{padding:54px 0 90px}.back-link{display:inline-block;margin-bottom:42px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:700}.detail-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:34px}.detail-heading h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1;margin:0;letter-spacing:-.025em}.detail-ref{margin:12px 0 0;color:var(--muted);font-size:13px}.detail-price{text-align:right;white-space:nowrap}.detail-price strong{display:block;font-size:34px;font-weight:600}.detail-price del{display:block;color:#8b8781;margin-bottom:3px}.detail-gallery{margin-bottom:72px}.detail-main-image{position:relative;aspect-ratio:16/9;background:#ece8e2;overflow:hidden}.detail-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .2s ease}.detail-slide.is-active{opacity:1}.detail-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:120px;gap:9px;overflow-x:auto;padding-top:10px}.detail-thumb{padding:0;border:2px solid transparent;background:none;cursor:pointer;aspect-ratio:4/3;overflow:hidden}.detail-thumb.is-active{border-color:var(--ink)}.detail-thumb img{display:block;width:100%;height:100%;object-fit:cover}.detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:80px;align-items:start}.detail-main-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,50px);font-weight:400;line-height:1.05;margin:0 0 25px}.detail-lead{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.45;margin:0 0 24px}.detail-description{font-size:17px;line-height:1.75;color:#4f4b46}.detail-spec-section{margin-top:65px;padding-top:55px;border-top:1px solid var(--line)}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid var(--line)}.feature-item{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.feature-item strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.feature-item span{color:#4f4b46}.detail-sidebar{position:sticky;top:24px}.detail-facts{border:1px solid var(--line);padding:26px}.detail-facts h3,.detail-cta h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;line-height:1.1;margin:0 0 20px}.detail-facts>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-top:1px solid #e6e1da}.detail-facts span{color:var(--muted);font-size:13px}.detail-facts strong{text-align:right;font-size:14px}.detail-cta{margin-top:18px;background:var(--soft);padding:28px}.detail-cta p:not(.eyebrow){color:#55514c}.full-action{width:100%;margin-top:8px}.detail-phone{display:block;text-align:center;margin-top:16px;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:22px;text-decoration:none}.detail-notice{margin-top:20px}@media(max-width:850px){.detail-heading{display:block}.detail-price{text-align:left;margin-top:22px}.detail-main-image{aspect-ratio:4/3}.detail-layout{grid-template-columns:1fr;gap:50px}.detail-sidebar{position:static}.feature-grid{grid-template-columns:1fr}}@media(max-width:520px){.detail-top{padding:34px 0 65px}.back-link{margin-bottom:28px}.detail-heading h1{font-size:40px}.detail-gallery{margin-bottom:48px}.detail-main-image{aspect-ratio:1.18/1}.detail-thumbs{grid-auto-columns:86px}.detail-price strong{font-size:28px}}

/* v5: cleaner editorial advert content */
.detail-description{max-width:820px;font-size:17px;line-height:1.82;color:#494640}
.detail-description p{margin:0 0 1.35em}.detail-description p:last-child{margin-bottom:0}
.detail-spec-section{margin-top:68px;padding-top:58px;border-top:1px solid var(--line)}
.detail-spec-section h2{margin-bottom:30px}
.origin-fact{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:17px 20px;margin-bottom:28px;background:var(--soft);border-left:3px solid var(--ink)}
.origin-fact span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.origin-fact strong{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:400;text-align:right}
.specification-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;border-top:1px solid var(--line)}
.specification-list li{position:relative;padding:14px 8px 14px 25px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.45;color:#403d39}
.specification-list li:before{content:'■';position:absolute;left:2px;top:16px;font-size:7px;color:var(--ink)}
@media(max-width:720px){.specification-list{grid-template-columns:1fr}.origin-fact{align-items:flex-start;flex-direction:column;gap:5px}.origin-fact strong{text-align:left}}

/* v5 refinements */
.filter-panel{grid-template-columns:repeat(4,minmax(0,1fr)) auto}
.detail-description{font-size:17px;line-height:1.8;color:#4f4b46;max-width:760px}
.detail-description p{margin:0 0 1.35em}
.detail-description p:last-child{margin-bottom:0}
.detail-spec-section{margin-top:64px;padding-top:54px;border-top:1px solid var(--line)}
.specification-list{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:0;border-top:1px solid var(--line)}
.specification-list li{position:relative;padding:13px 0 13px 18px;border-bottom:1px solid #e8e3dc;color:#44413c;font-size:14px;line-height:1.45;break-inside:avoid}
.specification-list li:before{content:'•';position:absolute;left:0;top:12px;color:var(--ink);font-size:18px;line-height:1}
.specification-list strong{color:var(--ink);font-weight:700}
@media(max-width:980px){.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.specification-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.filter-panel{grid-template-columns:1fr}.specification-list{grid-template-columns:1fr}}

/* v7 specification cleanup */
.specification-list{align-items:stretch}
.specification-list li{min-height:48px;display:flex;align-items:center}

/* v8: description must always render in full */
.detail-description{height:auto!important;max-height:none!important;overflow:visible!important;display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important}
.detail-description p{white-space:normal;overflow:visible;text-overflow:clip}
