/* Stage 4 only. Approved Stage 1–3 styles remain untouched. */
body.black-saddle-sites-stage4 { margin:0; background:#F7F3EA; }
.bs-stage4-page [hidden] { display:none !important; }
.bs-stage4-page h2 { margin:0 0 22px; font-size:clamp(36px,3.4vw,48px); line-height:1.12; letter-spacing:-.03em; }
.bs-stage4-page h3 { margin:0 0 15px; font-size:28px; line-height:1.2; letter-spacing:-.02em; }
.bs-stage4-page p { margin:0 0 18px; }
.bs-stage4-page .bs-sites-eyebrow { margin-bottom:16px; color:var(--bs-copper); font:500 11px/1.5 var(--bs-font-ui); letter-spacing:.16em; text-transform:uppercase; }
.bs-stage4-page .bs-sites-nav [aria-current="page"]::after { transform:scaleX(1); }
.bs-stage4-hero { min-height:660px; position:relative; isolation:isolate; display:flex; align-items:center; color:var(--bs-cream); background:var(--bs-black); }
.bs-stage4-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-3; }
.bs-stage4-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(11,11,11,.84),rgba(11,11,11,.56) 42%,rgba(11,11,11,.14) 85%); }
.bs-stage4-hero-content { padding-block:170px 90px; }
.bs-stage4-page .bs-stage4-hero h1 { max-width:970px; margin-bottom:25px; font-size:clamp(54px,5.5vw,80px); line-height:1.05; letter-spacing:-.035em; color:var(--bs-cream); text-wrap:balance; }
.bs-stage4-hero .bs-sites-eyebrow { color:var(--bs-sand); }
.bs-stage4-page .bs-stage4-lead { max-width:660px; color:var(--bs-sand); font:18px/1.8 var(--bs-font-body); margin-bottom:30px; }
.bs-stage4-hero.is-text-only { min-height:420px; }
.bs-stage4-hero.is-text-only .bs-stage4-hero-content { padding-block:160px 64px; }
.bs-stage4-page .bs-property-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:54px; padding:16px 23px; border:1px solid transparent; border-radius:0; font:500 11px/1.5 var(--bs-font-ui); letter-spacing:.11em; text-transform:uppercase; cursor:pointer; transition:background-color 180ms,color 180ms; }
.bs-stage4-page .bs-property-button.is-primary { border-color:var(--bs-copper); background:var(--bs-copper); color:var(--bs-cream); }
.bs-stage4-page .bs-property-button.is-primary:hover { background:var(--bs-pine); border-color:var(--bs-pine); }
.bs-stage4-page .bs-property-button.is-outline { background:transparent; border-color:var(--bs-sand); color:inherit; }
.bs-stage4-page .bs-property-button.is-outline:hover { background:var(--bs-pine); border-color:var(--bs-pine); color:var(--bs-cream); }
.bs-stage4-review-note { padding:12px 24px; border-bottom:1px solid var(--bs-sand); color:var(--bs-pine); text-align:center; font:10px/1.6 var(--bs-font-ui); letter-spacing:.12em; text-transform:uppercase; }
.bs-stage4-section { padding-block:72px; scroll-margin-top:24px; }
.bs-stage4-section + .bs-stage4-section { border-top:1px solid rgba(220,204,176,.55); }
.bs-stage4-heading { max-width:850px; margin-bottom:36px; }
.bs-stage4-heading > p:not(.bs-sites-eyebrow) { max-width:700px; font:17px/1.9 var(--bs-font-body); }
.bs-stage4-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 28px; }
.bs-stage4-card-grid.has-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bs-stage4-card-grid .bs-sites-lifestyle-card { min-height:0; aspect-ratio:4/3; }
.bs-stage4-card-grid .bs-sites-lifestyle-title { font-size:32px; }
.bs-stage4-card-copy { padding-top:21px; }
.bs-stage4-card-copy p { font-size:16px; line-height:1.8; }
.bs-stage4-region-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 30px; }
.bs-stage4-region-grid .bs-sites-lifestyle-card { min-height:0; aspect-ratio:16/10; }
.bs-stage4-region-grid .bs-sites-lifestyle-title { font-size:38px; }
.bs-stage4-region-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:45px; }
.bs-stage4-region-links .bs-sites-text-link { padding:20px 0; border-bottom:1px solid var(--bs-sand); font-size:12px; }
.bs-stage4-question-grid, .bs-stage4-topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 38px; }
.bs-stage4-question-grid article, .bs-stage4-topic { padding-top:24px; border-top:1px solid var(--bs-sand); }
.bs-stage4-question-grid p { font-size:16px; line-height:1.9; }
.bs-stage4-placeholder { padding:18px 0; margin:0 !important; border-top:1px solid var(--bs-sand); color:var(--bs-pine); font:12px/1.7 var(--bs-font-ui); overflow-wrap:anywhere; }
.bs-stage4-due-diligence { padding:28px 32px; margin:35px 0 42px; background:rgba(220,204,176,.35); border-left:2px solid var(--bs-copper); }
.bs-stage4-due-diligence > p { max-width:1050px; font-size:16px; line-height:1.85; }
.bs-stage4-due-diligence > p:last-child { margin:0; font-size:13px; }
.bs-stage4-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.bs-stage4-resource { padding:28px; background:rgba(220,204,176,.24); }
.bs-stage4-resource h3 { min-height:2.4em; font-size:29px; }
.bs-stage4-category-nav, .bs-stage4-legal-nav { display:flex; flex-wrap:wrap; gap:18px 28px; }
.bs-stage4-category-nav .bs-sites-text-link, .bs-stage4-legal-nav .bs-sites-text-link { padding:12px 0; }
.bs-stage4-section-link { margin-top:30px; }
.bs-stage4-cta { padding:42px; display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--bs-pine); color:var(--bs-cream); }
.bs-stage4-cta .bs-sites-eyebrow { color:var(--bs-sand); }
.bs-stage4-cta h2 { max-width:710px; color:var(--bs-cream); margin:0; }
.bs-stage4-cta p:last-child { margin-bottom:0; }
.bs-stage4-cta .bs-property-button { flex-shrink:0; }
.bs-stage4-editorial { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
.bs-stage4-editorial > img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.bs-stage4-editorial .bs-stage4-heading { margin-bottom:24px; }
.bs-stage4-type-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px 36px; list-style:none; padding:0; margin:0; }
.bs-stage4-type-list li { padding:20px 0; border-bottom:1px solid var(--bs-sand); font:500 28px/1.3 var(--bs-font-display); }
.bs-stage4-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; list-style:none; counter-reset:none; }
.bs-stage4-process li { padding:24px 0; border-top:1px solid var(--bs-sand); }
.bs-stage4-process span { display:block; margin-bottom:18px; color:var(--bs-copper); font:12px/1.5 var(--bs-font-ui); letter-spacing:.13em; }
.bs-stage4-process h3 { font-size:27px; }
.bs-stage4-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:80px; align-items:start; }
.bs-stage4-form { display:grid; gap:23px; }
.bs-stage4-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:23px; }
.bs-stage4-form label, .bs-stage4-form legend { display:block; font:500 12px/1.6 var(--bs-font-ui); }
.bs-stage4-form label > span { font-weight:400; }
.bs-stage4-form input:not([type="radio"]), .bs-stage4-form select, .bs-stage4-form textarea { display:block; width:100%; margin-top:9px; padding:14px; min-height:51px; border:1px solid var(--bs-sand); border-radius:0; background:var(--bs-cream); color:var(--bs-black); font:16px/1.6 var(--bs-font-body); }
.bs-stage4-form textarea { resize:vertical; }
.bs-stage4-form select { appearance:none; padding-right:38px; background-image:linear-gradient(45deg,transparent 50%,var(--bs-pine) 50%),linear-gradient(135deg,var(--bs-pine) 50%,transparent 50%); background-position:calc(100% - 20px) 24px,calc(100% - 15px) 24px; background-size:5px 5px; background-repeat:no-repeat; }
.bs-stage4-form fieldset { padding:0; margin:0; border:0; }
.bs-stage4-form .bs-stage4-radio { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-right:30px; cursor:pointer; }
.bs-stage4-form input[type="radio"] { accent-color:var(--bs-copper); width:17px; height:17px; }
.bs-stage4-form > .bs-property-button { justify-self:start; }
.bs-stage4-form .bs-stage4-form-note { margin:0; font:13px/1.7 var(--bs-font-ui); }
.bs-stage4-contact-card { position:sticky; top:25px; padding:30px; background:var(--bs-pine); color:var(--bs-cream); }
.bs-stage4-contact-card h2 { font-size:35px; color:var(--bs-cream); }
.bs-stage4-contact-card .bs-sites-eyebrow, .bs-stage4-contact-card .bs-stage4-placeholder { color:var(--bs-sand); }
.bs-stage4-contact-card > p:last-child { font-size:14px; line-height:1.8; }
.bs-stage4-contact-controls { display:grid; margin-bottom:24px; }
.bs-stage4-contact-controls button, .bs-stage4-contact-controls a { border:0; border-bottom:1px solid rgba(220,204,176,.35); background:transparent; color:var(--bs-cream); padding:16px 0; text-align:left; font:500 11px/1.5 var(--bs-font-ui); letter-spacing:.12em; text-transform:uppercase; }
.bs-stage4-contact-controls [aria-disabled="true"] { opacity:.65; cursor:default; }
.bs-stage4-inquiry-summary { padding:28px; background:rgba(220,204,176,.35); }
.bs-stage4-inquiry-summary dl > div { margin-bottom:15px; }
.bs-stage4-inquiry-summary dt { font:11px/1.5 var(--bs-font-ui); text-transform:uppercase; }
.bs-stage4-inquiry-summary dd { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.bs-stage4-page dialog { width:min(680px,calc(100% - 36px)); padding:42px; border:1px solid var(--bs-sand); border-radius:0; background:var(--bs-cream); color:var(--bs-black); max-height:90dvh; overflow:auto; }
.bs-stage4-page dialog::backdrop { background:rgba(11,11,11,.84); }
.bs-stage4-dialog h2 { max-width:520px; }
.bs-stage4-dialog-close { float:right; width:44px; height:44px; margin:-18px -18px 10px 15px; border:1px solid var(--bs-sand); background:transparent; font-size:24px !important; cursor:pointer; }
.bs-stage4-dialog .bs-stage4-placeholder { margin-bottom:24px !important; }
.bs-stage4-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.bs-stage4-review-tools { display:flex; align-items:start; flex-wrap:wrap; gap:20px 30px; padding-block:24px; border-top:1px solid var(--bs-sand); font:11px/1.7 var(--bs-font-ui); }
.bs-stage4-review-tools > a, .bs-stage4-review-tools summary { cursor:pointer; border-bottom:1px solid var(--bs-sand); }
.bs-stage4-photo-credit { margin:12px 0 !important; }
.bs-stage4-portal { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; }
.bs-stage4-portal-nav { display:flex; flex-direction:column; align-self:start; background:rgba(220,204,176,.3); padding:24px; }
.bs-stage4-portal-nav > a { padding:14px 0; border-bottom:1px solid var(--bs-sand); font:12px/1.6 var(--bs-font-ui); }
.bs-stage4-portal-nav [aria-current] { color:var(--bs-pine); font-weight:500; box-shadow:inset 2px 0 var(--bs-copper); padding-left:12px; }
.bs-stage4-portal-nav .bs-stage4-form-note { margin:20px 0 0; font:12px/1.7 var(--bs-font-ui); }
.bs-stage4-portal-shortcuts { display:grid; gap:10px; margin-bottom:30px; }
.bs-stage4-portal-shortcuts a { padding:14px 20px; display:flex; justify-content:space-between; border:1px solid var(--bs-sand); }
.bs-stage4-portal-summary { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.bs-stage4-portal-summary article { padding:25px; background:rgba(220,204,176,.24); }
.bs-stage4-portal-summary h3 { font-size:26px; }
.bs-stage4-portal-empty { border-top:1px solid var(--bs-sand); padding-block:28px; }
.bs-stage4-portal-content [data-portal-panel] > p { font-size:16px; line-height:1.8; }
.bs-stage4-portal-content .bs-stage4-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:30px; }
.bs-stage4-demo-card .bs-sites-property-media { aspect-ratio:4/3; }
.bs-stage4-demo-card .bs-sites-property-media > img { width:100%; height:100%; object-fit:cover; }
.bs-stage4-demo-card .bs-sites-property-body > .bs-sites-eyebrow { font-size:10px; }
.bs-stage4-rating { display:flex; gap:6px; margin:22px 0 0; padding:0; border:0; }
.bs-stage4-rating legend { font:11px/1.6 var(--bs-font-ui); margin-bottom:10px; }
.bs-stage4-rating label { position:relative; flex:1; cursor:pointer; }
.bs-stage4-rating input { position:absolute; opacity:0; }
.bs-stage4-rating span { display:block; text-align:center; padding:11px 5px; border:1px solid var(--bs-sand); font:11px/1.5 var(--bs-font-ui); }
.bs-stage4-rating input:checked + span { color:var(--bs-cream); background:var(--bs-pine); border-color:var(--bs-pine); }
.bs-stage4-rating input:focus-visible + span { outline:2px solid var(--bs-copper); outline-offset:3px; }
.bs-stage4-portal-status { font:12px/1.6 var(--bs-font-ui); }
@media(max-width:1100px) {
 .bs-stage4-card-grid, .bs-stage4-question-grid, .bs-stage4-topic-grid, .bs-stage4-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bs-stage4-editorial { gap:36px; }
 .bs-stage4-contact-layout { grid-template-columns:minmax(0,1fr) 290px; gap:35px; }
 .bs-stage4-process { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .bs-stage4-cta { align-items:start; flex-direction:column; }
 .bs-stage4-portal { grid-template-columns:190px minmax(0,1fr); gap:26px; }
 .bs-stage4-portal-content .bs-stage4-card-grid { grid-template-columns:1fr; }
}
@media(max-width:780px) {
 .bs-stage4-page .bs-sites-container { width:calc(100% - 36px); }
 .bs-stage4-hero { min-height:620px; align-items:end; }
 .bs-stage4-hero-content { padding:145px 0 58px; }
 .bs-stage4-page .bs-stage4-hero h1 { font-size:clamp(43px,10vw,64px); }
 .bs-stage4-page .bs-stage4-lead { font-size:17px; }
 .bs-stage4-hero-shade { background:linear-gradient(90deg,rgba(11,11,11,.65),rgba(11,11,11,.2)),linear-gradient(0deg,rgba(11,11,11,.7),transparent); }
 .bs-stage4-hero.is-text-only { min-height:0; }
 .bs-stage4-hero.is-text-only .bs-stage4-hero-content { padding:145px 0 48px; }
 .bs-stage4-section { padding-block:44px; }
 .bs-stage4-heading { margin-bottom:28px; }
 .bs-stage4-card-grid, .bs-stage4-card-grid.has-two, .bs-stage4-region-grid, .bs-stage4-question-grid, .bs-stage4-topic-grid, .bs-stage4-resource-grid, .bs-stage4-editorial, .bs-stage4-contact-layout, .bs-stage4-form-grid, .bs-stage4-portal, .bs-stage4-portal-summary { grid-template-columns:1fr; }
 .bs-stage4-card-grid { gap:32px; }
 .bs-stage4-card-grid .bs-sites-lifestyle-title, .bs-stage4-region-grid .bs-sites-lifestyle-title { font-size:31px; }
 .bs-stage4-region-links { grid-template-columns:1fr; }
 .bs-stage4-question-grid, .bs-stage4-topic-grid { gap:20px; }
 .bs-stage4-due-diligence { padding:22px; margin-block:28px; }
 .bs-stage4-resource { padding:24px; }
 .bs-stage4-resource h3 { min-height:0; }
 .bs-stage4-type-list, .bs-stage4-process { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .bs-stage4-type-list li, .bs-stage4-process h3 { font-size:24px; }
 .bs-stage4-cta { padding:28px; gap:27px; }
 .bs-stage4-editorial > img { aspect-ratio:4/3; }
 .bs-stage4-contact-card { position:static; }
 .bs-stage4-page dialog { padding:28px; }
 .bs-stage4-portal-nav { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; }
 .bs-stage4-portal-nav > p { grid-column:1/-1; }
 .bs-stage4-review-tools { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .bs-stage4-page *, .bs-stage4-page *::before, .bs-stage4-page *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
