
/* Landscape offering pages. Isolated to .ol-* classes; home and process unaffected. */
.ol-hero{background:#101110;color:#f0eee8;display:grid;grid-template-columns: minmax(0,1.03fr) minmax(0,0.97fr);min-height:0;border-bottom:1px solid #353735;padding-top:104px}
.ol-hero-copy{padding:45px clamp(24px,5vw,88px) 42px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.ol-eyebrow{font:600 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.16em;color:var(--ol-accent,#bc7154)}
.ol-hero h1{font:500 clamp(52px,7vw,112px)/.98 Inter,Arial,sans-serif;letter-spacing:-.065em;margin:20px 0 18px}
.ol-period{color:var(--ol-accent)}
.ol-hero h2{font:400 clamp(22px,2.25vw,34px)/1.17 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 14px;max-width:24ch}
.ol-hero p{font:400 14px/1.6 Inter,Arial,sans-serif;color:#b7b8b1;max-width:52ch;margin:0}
.ol-range-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px}
.ol-range-tabs a{padding:10px 13px;border:1px solid #444942;color:#bdbdb5;font:600 11px/1 Inter,Arial,sans-serif;text-decoration:none}
.ol-range-tabs a[aria-current]{border-color:var(--ol-accent);color:#fff;background:#252824}
.ol-hero-photo{min-height:355px;position:relative;overflow:hidden;background:#292d29}
.ol-hero-photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0;display:block}
.ol-hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48));pointer-events:none}
.ol-hero-photo span{position:absolute;left:23px;bottom:22px;z-index:1;color:#fff;font:600 9px Inter,Arial,sans-serif;letter-spacing:.14em}
.ol-content{background:#f0eee7;color:#171915;padding:48px clamp(24px,5vw,88px) 54px}
.ol-content-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.ol-content-head h2{font:400 clamp(29px,3.2vw,43px)/1.13 'Playfair Display',Georgia,serif;margin:0}
.ol-content-grid{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(320px,.76fr);gap:clamp(22px,4vw,64px);align-items:start}
.ol-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(20,20,20,.18)}
.ol-spec{padding:18px 12px 20px 0;border-bottom:1px solid rgba(20,20,20,.18);min-width:0}
.ol-spec:nth-child(odd){padding-right:24px}
.ol-spec span{display:block;color:#777c75;text-transform:uppercase;font:600 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.1em;margin-bottom:7px}
.ol-spec strong{display:block;font:500 clamp(14px,1.24vw,17px)/1.45 Inter,Arial,sans-serif;overflow-wrap:anywhere}
.ol-estimate{border:1px solid #cdcfc7;background:#fff;padding:24px 27px;color:#161914}
.ol-estimate h3{font:400 29px/1.13 'Playfair Display',Georgia,serif;margin:9px 0 14px}
.ol-estimate .ol-note,.ol-price-custom p{font:400 13px/1.5 Inter,Arial,sans-serif;color:#626962;margin:0 0 15px}
.ol-estimate .ol-disclaimer{font:400 10px/1.45 Inter,Arial,sans-serif;color:#737771;margin:17px 0 0}
.ol-estimate .est-card{border:0;box-shadow:none;padding:0;gap:13px}
.ol-estimate .est-field{gap:6px}
.ol-estimate .est-field select{min-height:40px}
.ol-estimate .est-cta{width:100%;justify-content:center}
.ol-price-icon{display:block;color:var(--ol-accent);font-size:34px;margin-bottom:8px}
.ol-price-custom strong{font:600 18px/1.4 Inter,Arial,sans-serif;display:block;margin:0 0 8px}
.ol-action{display:inline-flex;justify-content:space-between;align-items:center;gap:18px;background:#ad5131;color:#fff;padding:13px 17px;text-decoration:none;font:600 12px/1.3 Inter,Arial,sans-serif;letter-spacing:.025em}
.ol-price-custom .ol-action{margin-top:7px;width:100%}
.ol-bottom{background:#101110;color:#eeeae3;padding:32px clamp(24px,5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:25px}
.ol-bottom h2{font:400 clamp(25px,2.9vw,42px)/1.15 'Playfair Display',Georgia,serif;margin:7px 0 0}
.ol-bottom-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}
.ol-text-link{font:600 11px Inter,Arial,sans-serif;color:#e1dfd7;text-decoration:none}
@media(max-width:760px){
 .ol-hero{display:flex;flex-direction:column;padding-top:0}
 .ol-hero-copy{padding:27px 18px 20px}
 .ol-hero h1{font-size:clamp(42px,12vw,66px);margin:13px 0 10px}
 .ol-hero h2{font-size:clamp(22px,6.4vw,28px);margin-bottom:10px}
 .ol-hero p{font-size:13px;line-height:1.5}
 .ol-range-tabs{margin-top:19px;gap:6px}
 .ol-range-tabs a{flex:1;text-align:center;padding:10px 7px;font-size:11px}
 .ol-hero-photo{width:100%;min-height:0;aspect-ratio:16/9}
 .ol-hero-photo span{font-size:8px;left:14px;bottom:12px}
 .ol-content{padding:28px 18px 33px}
 .ol-content-head{display:block;margin-bottom:18px}
 .ol-content-head h2{font-size:30px;margin:7px 0 0}
 .ol-content-grid{display:block}
 .ol-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ol-spec{padding:13px 10px 14px 0}
 .ol-spec:nth-child(odd){padding-right:14px}
 .ol-spec span{font-size:9px;margin-bottom:4px}
 .ol-spec strong{font-size:13px;line-height:1.35}
 .ol-estimate{margin-top:22px;padding:19px 18px}
 .ol-estimate h3{font-size:26px}
 .ol-estimate .est-card{grid-template-columns:1fr 1fr;gap:10px}
 .ol-estimate .est-result,.ol-estimate .est-cta{grid-column:1/-1}
 .ol-estimate .est-field select{font-size:12px;width:100%}
 .ol-bottom{padding:24px 18px 28px;display:block}
 .ol-bottom h2{font-size:27px}
 .ol-bottom-actions{margin-top:17px;gap:17px}
}
@media(max-width:360px){.ol-hero-copy{padding-inline:15px}.ol-content{padding-inline:15px}.ol-spec strong{font-size:12px}}

/* Mobile only: reserve the fixed logo header (53px) and two-row quick navigation (~61px).
   Offering heroes must start below these controls, unlike the homepage hero. */
@media (max-width:767px) {
  main > .ol-hero { padding-top: 124px !important; }
}
