/* Editorial layouts inherit TVERDI typography and container rules. */
.projects-page{background:var(--bg)}
.projects-page-header{border-bottom:1px solid var(--line)}
.projects-page .site-nav a[aria-current="page"]{color:var(--oak-dark)}
.projects-hero{position:relative;min-height:680px}
.projects-hero__visual{position:absolute;inset:0}
.projects-hero__visual picture{display:contents}
.projects-hero__visual img{object-position:center}
.projects-hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(245,242,235,.98) 22%,rgba(245,242,235,.8) 36%,transparent 64%)}
.projects-hero__inner{position:relative;pointer-events:none;min-height:680px;display:flex;align-items:center}
.projects-hero__copy{max-width:620px;padding:64px 0 80px;pointer-events:auto}
.projects-hero__copy h1{margin:0}
.projects-hero__copy .section-intro{max-width:480px;margin:24px 0 32px}
.projects-hero .slider-controls{right:max(60px,calc((100% - var(--container))/2));bottom:32px}
.projects-hero .slider-button{background:rgba(40,48,45,.55)}
.projects-hero .slider-count{padding:8px 12px;border-radius:8px;background:rgba(40,48,45,.55)}
.projects-hero button:focus-visible{outline:2px solid var(--bg);outline-offset:4px}
.projects-intro{padding:32px 0 48px}
.projects-intro__grid{display:grid;grid-template-columns:3fr 9fr;gap:32px;align-items:start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.projects-intro__grid>div{display:grid;gap:8px;max-width:800px}
.projects-intro__grid .section-intro{margin:0}
.projects-policy{margin:0;color:var(--muted)}
.projects-heading{margin-bottom:40px}
.projects-heading h2{max-width:760px;margin:0}
.projects-heading--row{display:flex;align-items:end;justify-content:space-between;gap:40px}
.projects-photo{min-width:0;margin:0}
.projects-photo picture{display:block;overflow:hidden;border-radius:20px}
.projects-photo img{display:block;width:100%;height:auto}
.projects-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:16px;line-height:1.5}
.projects-photo__note{color:var(--muted)}
.projects-tags{color:var(--muted);line-height:1.7;margin:24px 0 0}
.projects-living{padding-bottom:64px}
.projects-living__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:start}
.projects-living__portrait{grid-column:1 / 6}
.projects-living__aside{grid-column:6 / -1;padding-top:56px}
.projects-hospitality{background:var(--soft);padding:64px 0}
.projects-hospitality__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:center}
.projects-hospitality .projects-heading{grid-column:1 / 4;margin:0}
.projects-hospitality .projects-photo{grid-column:4 / -1}
.projects-hospitality .projects-photo picture{aspect-ratio:2 / 1}
.projects-hospitality .projects-photo img{height:100%;object-fit:cover;object-position:center 55%}
.projects-architecture{padding:64px 0}
.projects-architecture__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:start}
.projects-architecture__heading{grid-column:1 / 4;padding-top:32px}
.projects-architecture__heading h2{margin:0}
.projects-architecture__doors{grid-column:4 / 8;margin-top:0}
.projects-architecture__office{grid-column:8 / -1;margin-top:56px}
.projects-architecture figcaption{flex-direction:column;gap:4px}
.projects-request{padding:0 0 80px}
.projects-request__visual{position:relative;overflow:hidden}
.projects-request__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,48,45,.86) 0%,rgba(40,48,45,.6) 34%,rgba(40,48,45,.12) 70%,transparent 100%);pointer-events:none}
.projects-request__copy{position:absolute;inset:0 auto auto 0;z-index:1;width:min(600px,60%);height:100%;padding:56px 48px 56px 56px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--bg)}
.projects-request__copy h2{margin:0;max-width:570px}
.projects-request__copy .eyebrow{color:var(--bg)}
.projects-request__copy .section-intro{margin:24px 0 32px;max-width:510px;color:rgba(245,242,235,.9)}
.projects-request__visual picture{display:block;aspect-ratio:16 / 9;min-height:0}
.projects-request__visual img{height:100%;object-fit:cover;object-position:60% center}
.projects-request__visual figcaption{display:flex;justify-content:flex-start;gap:0;padding:56px 48px 56px 56px}
@media(max-width:1199px){
 .projects-hero,.projects-hero__inner{min-height:600px}
 .projects-hero__copy{max-width:540px}
 .projects-hero__visual{position:absolute;aspect-ratio:auto}
 .projects-hero .slider-controls{right:40px}
 .projects-intro__grid{grid-template-columns:3fr 9fr;gap:32px}
 .projects-living__grid{grid-template-columns:1fr 1.12fr;gap:24px}
 .projects-living__portrait,.projects-living__aside{grid-column:auto}
 .projects-living__aside{padding-top:40px}
 .projects-photo figcaption{flex-direction:column;gap:4px}
 .projects-hospitality__grid{grid-template-columns:3fr 9fr;gap:24px}
 .projects-hospitality .projects-heading{grid-column:auto}
 .projects-hospitality .projects-photo{grid-column:auto}
 .projects-architecture__grid{grid-template-columns:1fr 1fr}
 .projects-architecture__heading{grid-column:1 / -1;padding:0;max-width:620px}
 .projects-architecture__doors,.projects-architecture__office{grid-column:auto}
 .projects-architecture__doors{margin-top:0}
 .projects-architecture__office{margin-top:0}
 .projects-request__copy{width:min(600px,60%);padding:40px}
 .projects-request__visual figcaption{padding:40px}
}
@media(min-width:768px) and (max-width:960px){
 .projects-hero{display:flex;flex-direction:column;min-height:0}
 .projects-hero__inner{min-height:0;order:0}
 .projects-hero__copy{max-width:680px;padding:48px 0 40px}
 .projects-hero__visual{position:relative;order:1;height:480px}
 .projects-hero__wash{display:none}
 .projects-request__visual picture{aspect-ratio:3 / 2;min-height:0}
 .projects-request__copy{width:60%;padding:40px}
}
@media(max-width:767px){
 .projects-hero{display:flex;flex-direction:column;min-height:0}
 .projects-hero__inner{min-height:0;order:0}
 .projects-hero__copy{padding:40px 0 32px;max-width:none}
 .projects-hero__copy .section-intro{margin:24px 0}
 .projects-hero__visual{position:relative;order:1;height:360px}
 .projects-hero__wash{display:none}
 .projects-hero__visual img{object-position:62% center}
 .projects-hero .slider-controls{right:24px;bottom:24px}
 .projects-intro{padding:40px 0 48px}
 .projects-intro__grid{grid-template-columns:1fr;gap:16px;padding:20px 0}
 .projects-intro__grid .eyebrow{margin:0}
 .projects-heading{margin-bottom:24px}
 .projects-heading--row{display:block}
 .projects-heading--row .projects-tags{margin-top:16px}
 .projects-living{padding-bottom:48px}
 .projects-living__grid{grid-template-columns:1fr;gap:32px}
 .projects-living__portrait,.projects-living__aside{grid-column:auto}
 .projects-living__aside{padding:0}
 .projects-photo figcaption{padding-top:12px}
 .projects-living__portrait{padding-right:32px}
 .projects-living__aside{padding-left:24px}
 .projects-tags{margin-top:16px}
 .projects-hospitality{padding:48px 0}
 .projects-hospitality__grid{grid-template-columns:1fr;gap:24px}
 .projects-hospitality .projects-heading,.projects-hospitality .projects-photo{grid-column:auto}
 .projects-hospitality .projects-photo picture{aspect-ratio:4 / 3}
 .projects-architecture{padding:48px 0}
 .projects-architecture__grid{grid-template-columns:1fr;gap:32px}
 .projects-architecture__heading,.projects-architecture__doors,.projects-architecture__office{grid-column:auto}
 .projects-architecture__doors{margin:0 32px 0 0}
 .projects-architecture__office{margin:0 0 0 48px}
 .projects-request{padding-bottom:48px}
 .projects-request__visual picture{aspect-ratio:4 / 5;min-height:500px}
 .projects-request__visual::after{background:linear-gradient(180deg,transparent 12%,rgba(40,48,45,.14) 30%,rgba(40,48,45,.86) 75%,rgba(40,48,45,.94) 100%)}
 .projects-request__copy{inset:auto 0 0;width:auto;height:auto;padding:32px 24px 40px}
 .projects-request__visual figcaption{padding:32px 24px 40px}
}
@media(prefers-reduced-motion:reduce){.projects-hero .hero-slider__picture{transition:none}}
