/* 04 — a three-chapter, progressively enhanced landscape gallery. */
.b2-04{--b204-ink:#252522;--b204-muted:#625d54;--b204-brass:#a78d62;padding:65px 4.2vw 64px;background:#fff;color:var(--b204-ink);}
.b2-04 .b204-heading{display:grid;grid-template-columns:minmax(175px,.48fr) minmax(0,1.5fr);gap:44px;align-items:start;margin-bottom:35px;}
.b2-04 .b204-brand{padding-top:7px;color:#9c8867;font:400 38px/1 'Jost',Arial,sans-serif;letter-spacing:-1px;white-space:nowrap;}
.b2-04 .b204-brand span{display:block;margin-top:9px;font:400 15px/1.2 Onest,Arial,sans-serif;letter-spacing:5px;}
.b2-04 h2{max-width:1120px;margin:0;font:400 clamp(36px,3.35vw,54px)/1.15 'Tenor Sans',Onest,Arial,sans-serif;letter-spacing:-1.2px;text-wrap:pretty;}
.b2-04 .b204-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #dfd8cb;margin-bottom:24px;}
.b2-04 .b204-tabs[hidden]{display:none;}
.b2-04 .b204-tabs button{position:relative;display:flex;align-items:center;gap:17px;min-width:0;min-height:100px;padding:16px 22px 16px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:#766e62;text-align:left;transition:color .2s ease,border-color .2s ease;}
.b2-04 .b204-tabs button+button{padding-left:27px;}
.b2-04 .b204-tabs button+button:before{content:"";position:absolute;left:0;top:24px;bottom:24px;width:1px;background:#dfd8cb;}
.b2-04 .b204-tabs button>img{width:71px;height:58px;flex:none;object-fit:cover;filter:saturate(.6);transition:filter .2s ease;}
.b2-04 .b204-tabs button>span{font:400 clamp(22px,1.9vw,29px)/1.2 'Tenor Sans',Onest,Arial,sans-serif;letter-spacing:-.5px;}
.b2-04 .b204-tabs button>svg{width:20px;height:20px;flex:none;margin-left:auto;transition:transform .2s ease;}
.b2-04 .b204-tabs button[aria-selected=true]{color:#302a21;border-bottom-color:#ae9366;}
.b2-04 .b204-tabs button[aria-selected=true]>img{filter:none;}
.b2-04 .b204-tabs button[aria-selected=true]>svg{transform:rotate(-90deg);color:#a1865b;}
.b2-04 .b204-tabs button:focus-visible{outline:3px solid #a78a54;outline-offset:3px;z-index:1;}
.b2-04 .b204-panel{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);min-width:0;min-height:635px;background:#f1eee7;margin:0 0 28px;}
.b2-04 .b204-panel[hidden]{display:none;}
.b2-04 .b204-scene{position:relative;min-width:0;min-height:635px;margin:0;background:#c3c2b8;isolation:isolate;}
.b2-04 .b204-scene>img:first-child{width:100%;height:100%;min-height:635px;object-fit:cover;object-position:50% 50%;}
.b2-04 .b204-panel--lake .b204-scene>img:first-child{object-position:49% 60%;}
.b2-04 .b204-panel--architecture .b204-scene>img:first-child{object-position:51% 50%;}
.b2-04 .b204-panel--resort .b204-scene>img:first-child{object-position:44% 50%;}
.b2-04 .b204-scene .b204-detail{position:absolute;width:32%;height:37%;min-height:0;right:23px;bottom:23px;border:7px solid #f9f7f2;box-shadow:0 10px 35px -20px #161c1ccc;object-fit:cover;}
.b2-04 .b204-copy{align-self:center;min-width:0;padding:34px clamp(27px,3.05vw,48px);display:grid;gap:27px;}
.b2-04 .b204-copy article+article{padding-top:24px;border-top:1px solid #d6cebd;}
.b2-04 h3{margin:0 0 11px;font:400 clamp(24px,2.03vw,31px)/1.2 'Tenor Sans',Onest,Arial,sans-serif;letter-spacing:-.45px;text-wrap:pretty;}
.b2-04 p{margin:0;color:var(--b204-muted);font:400 18px/1.55 Onest,Arial,sans-serif;}
.b2-04 .b204-copy .b204-note{margin-top:9px;font-size:16px;color:#7a6a52;}
.b2-04 .b204-action{display:flex;justify-content:center;margin-top:24px;}
.b2-04 .b204-action .b2-cta{min-width:390px;}
@media(hover:hover) and (pointer:fine){.b2-04 .b204-tabs button:hover{color:#302a21;border-bottom-color:#d1bea0;}.b2-04 .b204-tabs button:hover>img{filter:none;}}
@media(min-width:761px) and (max-width:1100px){.b2-04 .b204-heading{grid-template-columns:minmax(150px,.42fr) minmax(0,1.5fr);gap:27px;}.b2-04 .b204-brand{font-size:30px;}.b2-04 .b204-brand span{font-size:12px;letter-spacing:4px;}.b2-04 h2{font-size:37px;}.b2-04 .b204-tabs button{gap:10px;padding-right:12px;}.b2-04 .b204-tabs button+button{padding-left:17px;}.b2-04 .b204-tabs button>img{width:51px;height:52px;}.b2-04 .b204-tabs button>span{font-size:23px;}.b2-04 .b204-tabs button>svg{width:16px;height:16px;}.b2-04 .b204-panel{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:730px;}.b2-04 .b204-scene,.b2-04 .b204-scene>img:first-child{min-height:730px;}.b2-04 .b204-copy{padding:30px 24px;gap:24px;}.b2-04 h3{font-size:25px;}.b2-04 .b204-detail{border-width:5px;}}
@media(max-width:760px){
.b2-04{padding:36px 20px 36px;}.b2-04 .b204-heading{display:block;margin-bottom:25px;}.b2-04 .b204-brand{font-size:30px;padding:0;margin-bottom:24px;}.b2-04 .b204-brand span{font-size:11px;letter-spacing:4px;margin-top:7px;}.b2-04 h2{font-size:35px;line-height:1.16;letter-spacing:-.8px;}.b2-04 .b204-tabs{margin-bottom:18px;}.b2-04 .b204-tabs button,.b2-04 .b204-tabs button+button{flex-direction:column;align-items:flex-start;gap:9px;min-height:126px;padding:13px 11px 13px 0;}.b2-04 .b204-tabs button+button{padding-left:12px;}.b2-04 .b204-tabs button+button:before{top:14px;bottom:14px;}.b2-04 .b204-tabs button>img{width:100%;height:53px;}.b2-04 .b204-tabs button>span{font:500 16px/1.3 Onest,Arial,sans-serif;letter-spacing:-.15px;}.b2-04 .b204-tabs button>svg{display:none;}.b2-04 .b204-panel{display:flex;flex-direction:column;min-height:0;margin-bottom:24px;}.b2-04 .b204-panel[hidden]{display:none;}.b2-04 .b204-scene{min-height:0;height:300px;}.b2-04 .b204-scene>img:first-child{min-height:0;height:300px;}.b2-04 .b204-scene .b204-detail{width:32%;height:38%;right:14px;bottom:14px;border-width:4px;}.b2-04 .b204-copy{padding:26px 21px 29px;gap:25px;align-self:auto;}.b2-04 h3{font-size:26px;line-height:1.2;}.b2-04 p{font-size:18px;line-height:1.5;}.b2-04 .b204-copy article+article{padding-top:22px;}.b2-04 .b204-copy .b204-note{font-size:16px;}.b2-04 .b204-action{margin-top:23px;}.b2-04 .b204-action .b2-cta{min-width:0;width:100%;}
}
@media(max-width:360px){.b2-04{padding-inline:18px;}.b2-04 h2{font-size:32px;}.b2-04 .b204-tabs button>span{font-size:15px;}.b2-04 .b204-tabs button,.b2-04 .b204-tabs button+button{padding-right:8px;}.b2-04 .b204-tabs button+button{padding-left:9px;}.b2-04 .b204-copy{padding-inline:18px;}.b2-04 h3{font-size:25px;}}
@media(prefers-reduced-motion:reduce){.b2-04 .b204-tabs button,.b2-04 .b204-tabs button>img,.b2-04 .b204-tabs button>svg{transition:none;}}
@media(max-width:760px){.b2-04 .b204-brand{display:none;}}

/* Exact prototype feature titles remain readable in gallery navigation. */
.b2-04 .b204-tabs button>span{min-width:0;font-size:clamp(18px,1.45vw,23px);line-height:1.25;}
@media(min-width:761px) and (max-width:1100px){.b2-04 .b204-tabs button>span{font-size:19px;}}
@media(max-width:760px){.b2-04 .b204-tabs button>span{font-size:16px;line-height:1.3;}}
@media(max-width:360px){.b2-04 .b204-tabs button>span{font-size:15px;}}
/* Full prototype labels need rows rather than narrow columns on mobile. */
@media(max-width:760px){
 .b2-04 .b204-tabs{grid-template-columns:minmax(0,1fr);margin-bottom:20px}
 .b2-04 .b204-tabs button,.b2-04 .b204-tabs button+button{display:flex;align-items:center;min-height:82px;padding:12px 0;gap:15px}
 .b2-04 .b204-tabs button+button:before{display:none}
 .b2-04 .b204-tabs button>img{width:76px;height:58px;flex:none}
 .b2-04 .b204-tabs button>span{min-width:0;flex:1;font-size:17px;line-height:1.35;white-space:normal;overflow-wrap:normal;word-break:normal}
 .b2-04 .b204-tabs button>svg{display:block;width:18px;height:18px;flex:none;margin-left:auto}
 .header-message{font-size:15px;min-height:32px}
}
@media(max-width:760px){.b2-04 .b204-tabs button{flex-direction:row;justify-content:flex-start;text-align:left}.b2-04 .b204-tabs button>span{align-self:auto}}

@media(max-width:760px){.b2-04 .b204-tabs button,.b2-04 .b204-tabs button+button{flex-direction:row;justify-content:flex-start;text-align:left;min-height:82px}.b2-04 .b204-tabs button>span{align-self:auto}}
