/* One light editorial spread connects the empty land with the villa possibilities. */
.chapter--architecture{background:var(--paper);color:var(--navy)}
.fullscreen-chapters .chapter--architecture .chapter-screen{height:auto;overflow:visible}
#architecture.architecture-combined{display:block;padding:110px 24px 100px;background:var(--paper);color:var(--navy);min-height:0}
.architecture-intro-heading{position:relative;margin-bottom:70px}
.architecture-intro-heading>.eyebrow{position:absolute;left:2vw;top:20px;font-size:11px}
.architecture-intro-heading>.display{font-size:clamp(58px,6.4vw,112px);line-height:1.02;letter-spacing:-.06em;margin:0}
.architecture-intro-heading h2>span{display:block}
.architecture-intro-heading h2>span:first-child{margin-left:50%}
.architecture-intro-heading h2>span:last-child{margin-left:16%}
.architecture-land-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:10vw;margin:0 6vw 0 16%;align-items:start}
.architecture-land{margin:0}
.architecture-land-image{aspect-ratio:4/3;overflow:hidden;background:#d8e5e9}
.architecture-land img{display:block;width:100%;height:104%;object-fit:cover}
.architecture-land figcaption{font-size:clamp(15px,1.2vw,21px);line-height:1.45;margin-top:24px}
.architecture-vision-copy{padding-top:44px}
.architecture-vision-copy>.eyebrow{font-size:10px;line-height:1.5;margin-bottom:22px}
.architecture-vision-copy>.display{font-size:clamp(35px,3.2vw,55px);line-height:1.06;letter-spacing:-.05em;margin:0 0 24px}
.architecture-vision-copy>.lead{font-size:clamp(18px,1.55vw,26px);line-height:1.4;margin:0 0 25px}
.architecture-vision-copy>p:not(.lead):not(.eyebrow){font-size:14px;line-height:1.75;max-width:510px;margin:0 0 16px}
.architecture-types{margin-top:100px}
.architecture-types-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:0 0 28px}
.architecture-types-heading>.eyebrow{font-size:11px;font-weight:400;margin:0}
.architecture-types-heading>p{font-size:10px;line-height:1.6;margin:0}
.architecture-style-labels{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #16274526;margin-bottom:28px}
.architecture-style-labels button{font-size:12px;text-align:left;padding:23px 12px 23px 0;color:var(--navy);border-bottom:1px solid transparent;opacity:.55;transition:opacity .2s,border-color .2s}
.architecture-style-labels button[aria-pressed=true],.architecture-style-labels button:hover{opacity:1;border-bottom-color:var(--navy)}
.architecture-style-gallery{--picture-height:clamp(430px,55vw,720px);position:relative;display:flex;gap:12px;align-items:flex-start;min-height:calc(var(--picture-height) + 145px)}
.architecture-style{min-width:0;flex:1 1 0;transition:flex-grow .65s cubic-bezier(.4,0,.2,1)}
.architecture-style.is-active{flex-grow:6.5}
.architecture-style-toggle{position:relative;display:block;width:100%;height:var(--picture-height);padding:0;border:0;overflow:hidden;text-align:left;color:#fff;background:var(--navy)}
.architecture-style-toggle:after{content:"";position:absolute;inset:0;background:linear-gradient(#0b192133,transparent 25%,transparent 65%,#0b19217a);pointer-events:none}
.architecture-style-toggle>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block;transition:transform .65s cubic-bezier(.4,0,.2,1)}
.architecture-style.is-active .architecture-style-toggle>img{transform:scale(1.015)}
.style-index{position:absolute;left:18px;top:18px;z-index:1;font-size:11px}
.style-name{position:absolute;left:18px;bottom:24px;z-index:1;font-size:12px;white-space:nowrap;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.05em}
.is-active .style-name{writing-mode:horizontal-tb;transform:none;font-size:clamp(22px,2.2vw,38px);letter-spacing:-.04em;text-transform:none}
.style-arrow{position:absolute;right:22px;bottom:24px;font-size:25px;z-index:1;opacity:0;transition:opacity .3s}
.is-active .style-arrow{opacity:1}
.architecture-style-copy{position:absolute;left:0;top:var(--picture-height);width:min(670px,100%);padding:22px 0 0}
.architecture-style-copy[hidden]{display:none}
.architecture-style-copy h4{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.architecture-style-copy p{font-size:13px;line-height:1.65;margin:0}
.architecture-style-copy .style-lead{font-size:19px;line-height:1.4;margin-bottom:8px}
.architecture-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:10px;padding-top:24px;border-top:1px solid #16274526}
.architecture-gallery-footer>span{font-size:11px}
.architecture-gallery-footer>.line-link{width:min(360px,45%);margin:0;color:var(--navy)}
.architecture-combined button:focus-visible{outline:2px solid #ac7c2b;outline-offset:5px}
@media(min-width:901px) and (max-width:1200px){
 .architecture-land-grid{gap:6vw;margin-left:9%;margin-right:3vw;grid-template-columns:1.15fr 1fr}
 .architecture-vision-copy{padding-top:20px}
 .architecture-style-gallery{--picture-height:540px}
 .architecture-style-labels button{font-size:10px}
}
@media(max-width:900px){
 #architecture.architecture-combined{padding:90px 20px 70px}
 .architecture-intro-heading{margin-bottom:45px}
 .architecture-intro-heading>.eyebrow{position:static;font-size:9px;margin:0 0 32px}
 .architecture-intro-heading>.display{font-size:clamp(45px,8.3vw,76px)}
 .architecture-intro-heading h2>span:first-child{margin-left:28%}
 .architecture-intro-heading h2>span:last-child{margin-left:0}
 .architecture-land-grid{grid-template-columns:1fr;gap:38px;margin:0}
 .architecture-land{max-width:650px;width:86%;margin-left:auto}
 .architecture-land figcaption{font-size:16px;margin-top:18px}
 .architecture-vision-copy{padding:0;max-width:570px}
 .architecture-vision-copy>.display{font-size:42px}
 .architecture-vision-copy>.lead{font-size:22px}
 .architecture-types{margin-top:70px}
 .architecture-types-heading{display:block;padding-bottom:22px}
 .architecture-types-heading>.eyebrow{margin-bottom:15px}
 .architecture-style-labels{grid-template-columns:repeat(3,1fr);gap:0 14px;margin-bottom:24px}
 .architecture-style-labels button{padding:16px 0;font-size:11px}
 .architecture-style-gallery{--picture-height:clamp(300px,65vw,590px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;scrollbar-width:none;min-height:0;padding:5px 0 25px}
 .architecture-style-gallery::-webkit-scrollbar{display:none}
 .architecture-style,.architecture-style.is-active{flex:0 0 87%;scroll-snap-align:start;transition:none}
 .architecture-style:last-child{margin-right:13%}
 .style-name,.is-active .style-name{writing-mode:horizontal-tb;transform:none;left:18px;bottom:20px;font-size:26px;letter-spacing:-.04em;text-transform:none}
 .style-arrow{display:none}
 .architecture-style-copy{position:static;width:auto;padding-top:20px}
 .architecture-style-copy .style-lead{font-size:18px}
 .architecture-style-copy>p{font-size:13px}
 .architecture-gallery-footer{margin-top:0}
 .architecture-gallery-footer>.line-link{width:70%;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .architecture-style,.architecture-style-toggle>img{transition:none}
 .architecture-land img{transform:none!important}
}
