.site-home > .home-projects { --home-project-gap:clamp(36px,4vw,64px); --home-project-inset:clamp(32px,6vw,74px); --home-motif-width:50px; position:relative; padding:42px 0 76px; color:var(--home-project-text,var(--site-text)); }
.home-projects__grid { display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); align-items:start; gap:var(--home-project-gap); width:min(1440px,82%); margin-inline:auto; }
.home-project { position:relative; isolation:isolate; min-width:0; padding-bottom:34px; }
.home-project::before { content:''; position:absolute; z-index:-1; background:var(--site-dark); }
.home-project--1::before { top:-42px; bottom:0; right:48px; left:calc((min(1440px,82vw) - 100vw) / 2); clip-path:polygon(0 0,50% 0,50% 42px,100% 42px,100% 100%,0 100%); }
.home-project--2 { padding-top:50px; }
.home-project--2::before { inset:0 -48px 0 0; }
.home-project__figure { position:relative; margin:0; }
.home-project__figure::after { content:''; position:absolute; top:100%; right:calc(48px - var(--home-motif-width) / 2); width:var(--home-motif-width); height:68px; background:var(--site-accent); pointer-events:none; }
.home-project__image { display:block; width:100%; height:auto; object-fit:cover; }
.home-project--1 .home-project__image { aspect-ratio:.88; }
.home-project--2 .home-project__figure { width:calc(100% + (100vw - min(1440px,82vw)) / 2 - var(--home-project-inset)); margin-left:var(--home-project-inset); }
.home-project--2 .home-project__image { aspect-ratio:1.33; }
.home-project--2 .home-project__figure::after { right:calc((100vw - min(1440px,82vw)) / 2 - 48px - var(--home-motif-width) / 2); }
.home-project__content { position:relative; padding:22px 92px 0 0; }
.home-project--2 .home-project__content { padding:30px 40px 0 calc(var(--home-project-inset) + 12px); }
.home-project__text { margin:0; font-family:var(--ff-body); font-size:clamp(16px,1.5vw,21px); font-weight:400; line-height:1.5; color:inherit; overflow-wrap:anywhere; }
.home-project__button { display:inline-flex; align-items:center; justify-content:center; gap:18px; max-width:100%; min-height:44px; margin-top:26px; padding:12px 28px; background:#fff; color:var(--home-button-text,var(--site-text)); font-family:var(--ff-body); font-size:11px; font-weight:600; line-height:1.4; letter-spacing:.12em; text-transform:uppercase; text-align:center; text-decoration:none; overflow-wrap:anywhere; }
.home-project__button > span { flex-shrink:0; font-size:16px; line-height:1; }
.home-projects .home-project__button:focus-visible { outline:3px solid var(--home-project-text); outline-offset:5px; }
.home-projects.has-one-project .home-projects__grid { grid-template-columns:minmax(0,1fr); max-width:680px; }
@media(max-width:800px) {
    .site-home > .home-projects { padding:28px 0 48px; }
    .home-projects__grid { grid-template-columns:minmax(0,1fr); width:calc(100% - 40px); gap:32px; }
    .home-project { padding:24px; }
    .home-project::before { inset:0; }
    .home-project--1::before { clip-path:none; }
    .home-project--2 { padding-top:24px; }
    .home-project--2 .home-project__figure { width:100%; margin-left:0; }
    .home-project--1 .home-project__image,.home-project--2 .home-project__image { aspect-ratio:4/3; }
    .home-project--1 .home-project__figure::after,.home-project--2 .home-project__figure::after { right:16px; width:20px; height:44px; }
    .home-project__content,.home-project--2 .home-project__content { padding:24px 44px 0 0; }
    .home-project__text { font-size:16px; }
    .home-project__button { padding-inline:20px; }
}
@media(max-width:380px) { .home-project { padding:18px; } .home-project__content,.home-project--2 .home-project__content { padding-right:24px; } .home-project--1 .home-project__figure::after,.home-project--2 .home-project__figure::after { right:0; } }
.site-home > .home-gallery { padding:48px 0 56px; background:#fff; color:var(--home-gallery-text,var(--site-text)); }
.home-gallery__container { width:min(1440px,88%); margin-inline:auto; }
.site-home .home-gallery__intro { max-width:58%; margin:0 0 36px 34px; font-family:var(--ff-heading); font-size:34px; line-height:34px; font-weight:400; letter-spacing:.025em; color:inherit; overflow-wrap:anywhere; }
.home-gallery__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px; }
.home-gallery__left,.home-gallery__right { min-width:0; }
.home-gallery__grid.has-top-right .home-gallery__left { margin-top:60px; }
.home-gallery__right { display:grid; gap:20px; }
.home-gallery__item { min-width:0; margin:0; }
.home-gallery__image { display:block; width:100%; height:auto; object-fit:cover; }
.home-gallery__item--left .home-gallery__image { aspect-ratio:.915; }
.home-gallery__item--top .home-gallery__image { aspect-ratio:1.33; }
.home-gallery__item--bottom .home-gallery__image { aspect-ratio:1.2; }
.home-gallery__bottom { display:grid; grid-template-columns:minmax(0,1fr) 54px; align-items:start; gap:20px; min-width:0; }
.home-gallery__aside { align-self:start; justify-self:end; margin:clamp(40px,5.8vw,112px) 0 0; writing-mode:vertical-rl; text-orientation:mixed; font-family:var(--ff-body); font-size:19px; line-height:1; font-weight:300; letter-spacing:.329em; text-transform:uppercase; color:inherit; white-space:nowrap; }
.home-gallery__link { position:relative; display:block; color:#fff; text-decoration:none; }
.home-gallery__overlay { position:absolute; inset:0; display:grid; place-items:center; padding:24px; background:rgb(34 32 44 / .88); color:#fff; font-family:var(--ff-body); font-size:16px; line-height:1.5; font-weight:600; text-align:center; opacity:0; transition:opacity .2s ease; pointer-events:none; overflow-wrap:anywhere; }
.home-gallery__link:is(:hover,:focus-visible) .home-gallery__overlay { opacity:1; }
.home-gallery__link:focus-visible { outline:3px solid var(--home-gallery-text,var(--site-text)); outline-offset:5px; }
.home-gallery__grid.has-single-column { grid-template-columns:minmax(0,1fr); max-width:800px; margin-inline:auto; }
.home-gallery__grid.has-single-column .home-gallery__left { margin-top:0; }
.home-gallery__bottom.has-no-aside,.home-gallery__bottom.is-text-only { grid-template-columns:minmax(0,1fr); }
.home-gallery__bottom.is-text-only .home-gallery__aside { justify-self:start; margin-top:0; writing-mode:horizontal-tb; white-space:normal; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:800px) {
    .site-home > .home-gallery { padding:32px 0 48px; }
    .home-gallery__container { width:calc(100% - 40px); }
    .site-home .home-gallery__intro { max-width:100%; margin:0 0 28px; }
    .home-gallery__grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .home-gallery__grid.has-top-right .home-gallery__left { margin-top:0; }
    .home-gallery__item--left .home-gallery__image { aspect-ratio:4/3; }
    .home-gallery__bottom { grid-template-columns:minmax(0,1fr); }
    .home-gallery__aside { justify-self:start; margin:0; writing-mode:horizontal-tb; font-size:19px; line-height:1.6; letter-spacing:.329em; white-space:normal; overflow-wrap:anywhere; }
}
@media(hover:none) { .home-gallery__overlay { inset:auto 12px 12px; min-height:44px; padding:10px 14px; background:#22202c; opacity:1; } }
@media(prefers-reduced-motion:reduce) { .home-gallery__overlay { transition:none; } }
.site-home > .home-inclusions { padding:26px 0 80px; color:var(--home-inclusions-text,var(--site-text)); background:#fff; }
.home-inclusions__container { width:min(1440px,86%); margin-inline:auto; }
.home-inclusions__header { position:relative; z-index:1; padding:38px 0 0 calc(clamp(24px,7vw,100px) + 100px); }
.home-inclusions.has-panel .home-inclusions__header { margin-bottom:-48px; }
.home-inclusions__header::before { content:''; position:absolute; left:calc(clamp(24px,7vw,100px) - 50px); bottom:0; width:50px; height:208px; background:var(--site-accent); pointer-events:none; }
.site-home .home-inclusions__title { margin:0; font-family:var(--ff-heading); font-size:clamp(56px,9vw,132px); line-height:.95; font-weight:400; letter-spacing:-.045em; color:var(--home-inclusions-heading,var(--site-text)); overflow-wrap:anywhere; }
.home-inclusions__panel { padding:64px clamp(24px,7vw,100px) 70px; border-radius:36px; background:var(--site-light); }
.home-inclusions__intro { max-width:1100px; margin:0 0 36px; color:inherit; font-family:var(--ff-body); font-size:var(--site-intro-size); line-height:var(--site-intro-line-height); overflow-wrap:anywhere; }
.home-inclusions__intro:last-child { margin-bottom:0; }
.home-inclusions__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:start; gap:clamp(32px,8vw,100px); }
.home-inclusions__figure { min-width:0; margin:0; }
.home-inclusions__image { display:block; width:100%; height:auto; aspect-ratio:1.24; object-fit:cover; border-radius:20px; }
.home-inclusions__copy { min-width:0; padding-top:10px; }
.home-inclusions__text { font-family:var(--ff-body); font-size:16px; line-height:1.6; color:inherit; overflow-wrap:anywhere; }
.home-inclusions__text > :first-child { margin-top:0; }
.home-inclusions__text > :last-child { margin-bottom:0; }
.home-inclusions__text p { margin:0 0 18px; }
.site-home .home-inclusions__text :is(h3,h4,h5,h6) { margin:24px 0 12px; font-family:var(--ff-body); font-size:18px; line-height:1.3; font-weight:700; letter-spacing:0; color:inherit; }
.site-home .home-inclusions__text > :is(h3,h4,h5,h6):first-child { margin-top:0; }
.home-inclusions__text :is(ul,ol) { margin:0 0 24px; padding-left:20px; }
.home-inclusions__text li + li { margin-top:4px; }
.home-inclusions__text small { font-size:12px; }
.home-inclusions__text a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.home-inclusions__text a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.home-inclusions__button { display:inline-flex; align-items:center; justify-content:center; gap:16px; max-width:100%; min-height:44px; margin-top:24px; padding:12px 24px; background:var(--home-inclusions-text,var(--site-text)); color:var(--home-inclusions-button-text,#fff); font-family:var(--ff-body); font-size:11px; line-height:1.4; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; text-align:center; overflow-wrap:anywhere; }
.home-inclusions__button > span { flex-shrink:0; font-size:16px; }
.home-inclusions__grid.has-single-column { grid-template-columns:minmax(0,1fr); }
@media(max-width:800px) {
    .site-home > .home-inclusions { padding:24px 0 48px; }
    .home-inclusions__container { width:calc(100% - 40px); }
    .home-inclusions__header { padding:24px 0 0 54px; }
    .home-inclusions.has-panel .home-inclusions__header { margin-bottom:-16px; }
    .home-inclusions__header::before { left:20px; top:0; bottom:auto; width:16px; height:88px; }
    .site-home .home-inclusions__title { font-size:clamp(40px,10vw,64px); line-height:1.05; letter-spacing:-.035em; }
    .home-inclusions__panel { padding:48px 24px 32px; border-radius:28px; }
    .home-inclusions__intro { font-size:var(--site-intro-size); margin-bottom:28px; }
    .home-inclusions__grid { grid-template-columns:minmax(0,1fr); gap:28px; }
    .home-inclusions__copy { padding-top:0; }
    .home-inclusions__image { border-radius:16px; }
    .home-inclusions__button { padding-inline:18px; }
}

.home-inclusions__button:focus-visible { outline:3px solid var(--home-inclusions-text,var(--site-text)); outline-offset:5px; }
.site-home > .home-quality { padding:20px 0 80px; background:#fff; color:var(--home-quality-text,var(--site-text)); }
.home-quality__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.41fr); align-items:end; width:min(1800px,100%); margin-inline:auto; }
.home-quality__body { --quality-aside-width:34px; --quality-aside-gap:clamp(32px,6.2vw,112px); --quality-padding-left:clamp(24px,4vw,72px); --quality-padding-right:clamp(36px,5.3vw,100px); --quality-padding-bottom:clamp(64px,8.5vw,130px); position:relative; isolation:isolate; display:grid; grid-template-columns:34px minmax(0,1fr); align-self:stretch; align-items:start; gap:clamp(32px,6.2vw,112px); min-width:0; padding:0 clamp(36px,5.3vw,100px) clamp(64px,8.5vw,130px) clamp(24px,4vw,72px); }
.home-quality__panel { position:relative; padding-top:32px; }
.home-quality__panel::before { content:''; position:absolute; z-index:-1; top:-32px; bottom:calc(-1 * var(--quality-padding-bottom)); left:calc(-1 * (var(--quality-padding-left) + var(--quality-aside-width) + var(--quality-aside-gap))); right:calc(-1 * var(--quality-padding-right)); background:var(--site-light); pointer-events:none; }
.home-quality__aside { align-self:start; justify-self:start; margin:20px 0 0; writing-mode:vertical-rl; text-orientation:mixed; transform:rotate(180deg); font-family:var(--ff-body); font-size:19px; line-height:1; font-weight:300; letter-spacing:.329em; text-transform:uppercase; white-space:nowrap; color:var(--home-quality-heading,var(--site-text)); }
.home-quality__content { min-width:0; }
.home-quality__header { position:relative; padding-left:90px; }
.home-quality__header::before { content:''; position:absolute; top:0; left:0; width:50px; height:208px; background:var(--site-accent); pointer-events:none; }
.site-home .home-quality__title { max-width:none; margin:0 0 0 auto; color:var(--home-quality-heading,var(--site-text)); font-family:var(--ff-heading); font-size:clamp(64px,8.2vw,160px); line-height:.95; font-weight:400; letter-spacing:-.045em; text-align:right; overflow-wrap:anywhere; }
.home-quality__intro { margin:0 0 0 -24px; color:inherit; font-family:var(--ff-body); font-size:var(--site-intro-size); line-height:var(--site-intro-line-height); text-align:right; overflow-wrap:anywhere; }
.home-quality__copy { --quality-column-gap:clamp(32px,6vw,96px); margin-top:48px; }
.home-quality__columns { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--quality-column-gap); }
.home-quality__copy.has-two-columns .home-quality__columns { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
.home-quality__text { min-width:0; color:inherit; font-family:var(--ff-body); font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
.home-quality__text > :first-child { margin-top:0; }
.home-quality__text > :last-child { margin-bottom:0; }
.home-quality__text p { margin:0 0 18px; }
.home-quality__text :is(ul,ol) { margin:0 0 18px; padding-left:20px; }
.home-quality__text li + li { margin-top:4px; }
.site-home .home-quality__text :is(h3,h4,h5,h6) { margin:20px 0 12px; font-family:var(--ff-body); font-size:18px; line-height:1.3; font-weight:700; }
.home-quality__text a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.home-quality__actions { display:flex; justify-content:flex-end; margin-top:24px; }
.home-quality__button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:44px; max-width:100%; padding:12px 24px; background:var(--home-quality-text,var(--site-text)); color:var(--home-quality-button-text,#fff); font-family:var(--ff-body); font-size:11px; line-height:1.4; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; text-align:center; overflow-wrap:anywhere; }
.home-quality__copy.has-two-columns .home-quality__button { width:calc((100% - var(--quality-column-gap)) / 2.25); }
.home-quality__button > span { flex-shrink:0; font-size:16px; }
.home-quality__button:focus-visible,.home-quality__text a:focus-visible { outline:3px solid var(--home-quality-text,var(--site-text)); outline-offset:5px; }
.home-quality__figure { align-self:end; min-width:0; margin:0; }
.home-quality__image { display:block; width:100%; height:auto; aspect-ratio:.733; object-fit:cover; }
.home-quality.has-no-image .home-quality__layout { grid-template-columns:minmax(0,1fr); max-width:1440px; }
.home-quality.has-only-image .home-quality__layout { grid-template-columns:minmax(0,1fr); max-width:800px; }
.home-quality__body.has-no-aside { --quality-aside-width:0px; --quality-aside-gap:0px; grid-template-columns:minmax(0,1fr); gap:0; }
.home-quality:not(.has-title) .home-quality__panel { padding-top:0; }
.home-quality:not(.has-title) .home-quality__panel::before { top:0; }
.home-quality__body.has-only-aside { grid-template-columns:minmax(0,1fr); padding-block:40px; }
.home-quality__body.has-only-aside .home-quality__aside { writing-mode:horizontal-tb; transform:none; margin:0; white-space:normal; line-height:1.6; overflow-wrap:anywhere; }
@media(max-width:1000px) {
    .home-quality__body { --quality-aside-width:24px; --quality-aside-gap:28px; --quality-padding-left:24px; --quality-padding-right:32px; grid-template-columns:24px minmax(0,1fr); gap:28px; padding-left:24px; padding-right:32px; }
    .home-quality__header { padding-left:68px; }
    .site-home .home-quality__title { font-size:clamp(52px,8vw,90px); }
    .home-quality__copy { --quality-column-gap:24px; }
}
@media(max-width:800px) {
    .site-home > .home-quality { padding:24px 0 48px; }
    .home-quality__layout { grid-template-columns:minmax(0,1fr); width:calc(100% - 40px); gap:0; }
    .home-quality__body,.home-quality__body.has-only-aside { --quality-aside-width:0px; --quality-aside-gap:0px; --quality-padding-left:24px; --quality-padding-right:24px; --quality-padding-bottom:36px; grid-template-columns:minmax(0,1fr); gap:24px; padding:24px 24px 36px; }
    .home-quality__panel { padding-top:28px; }
    .home-quality__panel::before { top:-16px; }
    .home-quality__aside { margin:0; writing-mode:horizontal-tb; transform:none; white-space:normal; line-height:1.6; overflow-wrap:anywhere; }
    .home-quality__header { padding-left:40px; }
    .home-quality__header::before { width:16px; height:88px; }
    .site-home .home-quality__title { max-width:none; font-size:clamp(40px,10vw,64px); line-height:1.05; }
    .home-quality__intro { margin:0; text-align:left; font-size:var(--site-intro-size); }
    .home-quality__copy { margin-top:28px; }
    .home-quality__copy.has-two-columns .home-quality__columns { grid-template-columns:minmax(0,1fr); }
    .home-quality__copy.has-two-columns .home-quality__button { width:auto; }
    .home-quality__actions { justify-content:flex-start; }
    .home-quality__image { aspect-ratio:4/3; }
}

