.project-title{padding-top:50px;padding-bottom:55px}.project-back{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);margin-bottom:42px}.project-title .eyebrow{color:var(--muted);margin-bottom:22px}.project-title h1{font-size:clamp(65px,8vw,128px);line-height:.96;overflow-wrap:anywhere}.project-title>p:last-child{font-size:12px;color:var(--muted);margin-top:26px}.project-hero img{width:100%;max-height:760px;aspect-ratio:1.6;object-fit:cover}.project-hero figcaption{font-size:9px;color:var(--muted);padding-top:14px;line-height:1.8}.project-overview{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-block:95px}.project-overview .eyebrow{margin-bottom:25px}.project-overview h2{font-size:clamp(45px,5vw,73px)}#project-description{font-size:13px;line-height:2;white-space:pre-wrap;color:#5e6065}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:30px 0 0;padding-top:25px;border-top:1px solid var(--line)}.project-facts dt{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.project-facts dd{margin:8px 0 0;font-size:11px;overflow-wrap:anywhere}.project-highlights{font-size:11px;color:var(--muted);padding-left:16px;margin-top:25px;line-height:2}.project-gallery{padding-block:65px 85px;border-top:1px solid var(--line)}.project-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.project-gallery-grid figure{min-width:0}.project-gallery-grid button{border:0;background:none;padding:0;width:100%;position:relative}.project-gallery-grid img{width:100%;aspect-ratio:1.35;object-fit:cover}.project-gallery-grid button>span{position:absolute;right:20px;bottom:20px;background:var(--paper);width:40px;height:40px;display:grid;place-items:center;font-size:21px}.project-gallery-grid figcaption{font-size:9px;color:var(--muted);line-height:1.85;margin-top:13px}.project-next{display:flex;gap:40px;justify-content:space-between;align-items:flex-end;padding-block:80px;border-top:1px solid var(--line)}.project-next .eyebrow{margin-bottom:22px}.project-next>div:last-child{font-size:12px;color:var(--muted);max-width:330px}.project-preview-banner{padding:17px var(--gutter);background:var(--primary);color:var(--paper);font-size:11px;line-height:1.8}.project-lightbox img{object-fit:contain;background:#e7e7e5;height:auto;max-height:67svh}.project-lightbox .dialog-copy h2{font-size:40px}.portfolio-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 35px;margin-top:60px;padding-top:40px;border-top:1px solid var(--line)}.portfolio-project-card .featured-project-copy{margin-top:25px}.portfolio-project-card .featured-project-copy h3{font-size:44px}.portfolio-project-card .project-type{font-size:23px}.portfolio-project-card .featured-project-copy>p:not(.eyebrow):not(.project-type){max-width:100%}.portfolio-loading{font-size:11px;color:var(--muted);padding-block:30px}
@media(max-width:760px){.project-title{padding-block:35px 40px}.project-back{margin-bottom:32px;font-size:8px}.project-title h1{font-size:clamp(48px,13vw,78px)}.project-title>p:last-child{font-size:11px;margin-top:20px}.project-hero img{aspect-ratio:1.2}.project-hero figcaption{font-size:8px}.project-overview{display:block;padding-block:60px}.project-overview h2{font-size:49px;margin-bottom:28px}#project-description{font-size:12px}.project-facts{gap:20px}.project-gallery{padding-block:55px}.project-gallery-grid{grid-template-columns:1fr;gap:30px}.project-next{display:block;padding-block:60px}.project-next>div:last-child{margin-top:28px}.project-next h2{font-size:49px}.project-lightbox .dialog-copy h2{font-size:34px}.portfolio-project-grid{grid-template-columns:1fr;margin-top:38px;padding-top:30px;gap:35px}}

.project-source-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.project-source-links a{font-size:10px}.project-residences{padding-block:70px 85px;border-top:1px solid var(--line)}.project-residence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.project-residence-card{border-top:1px solid var(--line);padding-top:26px}.project-residence-card h3{font-size:44px;margin-bottom:20px}.residence-layout{font-size:12px}.residence-area{font-size:10px;color:var(--muted);margin-top:8px}.residence-note{font-size:11px;line-height:1.9;color:var(--muted);margin-block:20px}.project-residence-card a{font-size:10px}.project-gallery-grid .project-plan img{object-fit:contain;background:white;padding:15px}@media(max-width:760px){.project-residence-grid{grid-template-columns:1fr;gap:35px}.project-residences{padding-block:55px}.project-residence-card h3{font-size:40px}}

.project-hero img.is-portrait,.project-gallery-grid img.is-portrait{object-fit:contain;background:#ebe9e4}
.project-hero img,.project-gallery-grid img{height:auto}

.carousel{margin-top:10px}
.carousel-stage{position:relative}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline-offset:4px}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track:focus-visible{outline:2px solid var(--accent)}
.carousel-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;aspect-ratio:3/2;max-height:78vh;border:0;padding:0;background:#ebe9e4;cursor:zoom-in;display:block;overflow:hidden}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-slide img.is-portrait{object-fit:contain}
.carousel-plans .carousel-slide{background:#fff;border:1px solid var(--line)}
.carousel-plans .carousel-slide img{object-fit:contain;padding:2%}
.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;border-radius:50%;background:rgba(250,249,246,.92);color:var(--ink);font-size:18px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.12);transition:transform .2s,background .2s}
.carousel-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}
.carousel-prev{left:18px}.carousel-next{right:18px}
.carousel-bar{display:flex;gap:18px;align-items:baseline;margin-top:14px}
.carousel-count{font-size:10px;letter-spacing:.12em;color:var(--ink);white-space:nowrap;margin:0}
.carousel-caption{font-size:9px;color:var(--muted);line-height:1.8;margin:0}
.carousel-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:14px;padding-bottom:6px;scrollbar-width:thin}
.carousel-thumbs button{flex:0 0 auto;width:96px;height:64px;padding:0;border:0;background:#ebe9e4;cursor:pointer;opacity:.5;transition:opacity .2s;outline-offset:2px}
.carousel-thumbs button:hover,.carousel-thumbs button[aria-current=true]{opacity:1}
.carousel-thumbs button[aria-current=true]{outline:2px solid var(--accent)}
.carousel-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-plans .carousel-thumbs button{background:#fff}.carousel-plans .carousel-thumbs img{object-fit:contain}
.project-plans{border-top:1px solid var(--line)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:rgba(250,249,246,.9);color:var(--ink);font-size:18px;cursor:pointer}
.lightbox-prev{left:16px}.lightbox-next{right:16px}
.lightbox-count{position:absolute;top:22px;left:24px;z-index:2;margin:0;font-size:10px;letter-spacing:.12em;color:var(--muted)}
@media(max-width:700px){.carousel-slide{aspect-ratio:4/3}.carousel-nav{width:38px;height:38px;font-size:15px}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-thumbs button{width:72px;height:48px}.carousel-bar{display:block}.carousel-caption{margin-top:6px}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:6px}.lightbox-next{right:6px}}
@media(prefers-reduced-motion:reduce){.carousel-nav,.carousel-thumbs button{transition:none}}
