:root{--place-ink:#111;--place-paper:#f1f0ec;--place-blue:#4d5ce7;--place-red:#8b1423;--place-line:rgba(17,17,17,.18)}
*{box-sizing:border-box}.place-case{background:var(--place-paper);color:var(--place-ink);font-family:var(--sans)}.place-case h1,.place-case h2,.place-case h3{font-family:var(--display);font-weight:400}.case-section{padding:clamp(90px,10vw,180px) 0}.place-case .shell{width:min(1540px,calc(100% - 80px));margin-inline:auto}.place-hero{position:relative;min-height:calc(100svh - 74px);display:flex;align-items:flex-end;overflow:hidden;background:#111;color:white}.place-hero__image,.place-hero__shade{position:absolute;inset:0;width:100%;height:100%}.place-hero__image{object-fit:cover;object-position:center 48%}.place-hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72))}.place-hero__content{position:relative;padding-block:110px 70px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px}.place-hero h1{font-size:clamp(82px,14vw,240px);line-height:.82;letter-spacing:-.06em;margin:34px 0 70px}.place-hero__intro{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;border-top:1px solid rgba(255,255,255,.45);padding-top:24px}.place-hero__intro p{font-size:clamp(20px,2vw,34px);max-width:760px;margin:0}.place-hero__intro span{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.place-facts{padding:0}.place-facts__grid{display:grid;grid-template-columns:repeat(4,1fr);width:100%!important}.place-facts article{min-height:210px;padding:34px;border-right:1px solid var(--place-line);border-bottom:1px solid var(--place-line);display:flex;flex-direction:column;justify-content:space-between}.place-facts article:first-child{border-left:1px solid var(--place-line)}.place-facts strong{font-family:var(--display);font-weight:400;font-size:clamp(54px,6vw,100px);line-height:.85}.place-facts span{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.place-split{display:grid;grid-template-columns:3fr 2fr;gap:clamp(50px,9vw,160px);align-items:start;margin-bottom:70px}.place-split h2{font-size:clamp(52px,6.2vw,108px);line-height:.86;letter-spacing:-.055em;margin:18px 0 0}.place-split>p,.place-split>div{font-size:clamp(18px,1.5vw,26px);line-height:1.35;padding-top:34px}.place-split p{margin:0 0 1em}.media-frame img,.place-gallery img,.compare-grid img,.full-bleed img,.related__media img{display:block;width:100%;height:auto}.media-frame figcaption,.place-gallery figcaption,.compare-grid figcaption,.full-bleed figcaption,.process-plan figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.07em;margin-top:10px}.media-frame--wide{margin-top:80px}.place-process{background:#10100f;color:#f4f3ee}.process-plan{width:100%;margin:80px 0 0;background:white;padding:clamp(18px,3vw,60px)}.process-plan img{display:block;width:min(1500px,100%);height:auto;margin:auto}.process-plan figcaption{color:#111;width:min(1500px,100%);margin:12px auto 0}.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px}.process-steps article{padding:32px;border:1px solid rgba(255,255,255,.18);min-height:270px}.process-steps span{font-size:12px;color:#9b9b92}.process-steps h3{font-size:clamp(38px,3.5vw,62px);line-height:.9;margin:80px 0 18px}.process-steps p{line-height:1.35;color:#c9c8c0}.place-atrium{background:#d7d1c6}.place-gallery{display:grid;gap:18px}.place-gallery figure,.compare-grid figure{margin:0}.place-gallery--pair{grid-template-columns:1fr 1fr;align-items:start}.place-gallery--asym{grid-template-columns:2fr 3fr;align-items:start}.place-acoustics{background:#8d1424;color:#fff}.full-bleed{width:100%;margin:70px 0 0}.full-bleed figcaption{padding:0 40px}.place-offices{background:#f0efe9}.place-before-after{background:#171717;color:#fff}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.place-result{background:#4d5ce7;color:#fff}.place-result__scope{font-size:13px!important;text-transform:uppercase;letter-spacing:.06em;border-top:1px solid rgba(255,255,255,.4);padding-top:26px}.related{background:#f1f0ec}.related__grid{display:grid;grid-template-columns:2fr 3fr;gap:80px;align-items:center}.related h2{font-size:clamp(72px,9vw,150px);line-height:.8;margin:26px 0}.related__media{position:relative;color:white}.related__media span{position:absolute;right:18px;bottom:18px;background:#111;padding:10px;font-size:11px;text-transform:uppercase}.case-contact{padding-top:120px}.contact__details button{color:inherit}.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.js [data-reveal].is-visible,.is-static [data-reveal],.no-js [data-reveal]{opacity:1;transform:none}
.supervision-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;margin-top:clamp(70px,8vw,130px)}.supervision-grid figure{margin:0}.supervision-grid img{display:block;width:100%;height:auto;object-fit:contain}.supervision-grid figcaption{margin-top:10px;color:#c9c8c0;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
@media(max-width:900px){.place-case .shell{width:min(100% - 36px,1540px)}.place-hero{min-height:760px}.place-hero__content{padding-block:80px 40px}.place-hero h1{font-size:clamp(70px,22vw,150px);margin-bottom:48px}.place-hero__intro,.place-split,.related__grid{grid-template-columns:1fr}.place-facts__grid{grid-template-columns:1fr 1fr}.place-split{gap:24px}.place-split>p,.place-split>div{padding-top:0}.process-steps{grid-template-columns:1fr 1fr}.place-gallery--pair,.place-gallery--asym,.compare-grid,.supervision-grid{grid-template-columns:1fr}.related__grid{gap:40px}}
@media(max-width:560px){.place-case .shell{width:calc(100% - 24px)}.place-hero{min-height:690px}.place-hero__image{object-position:58% center}.place-hero h1{font-size:20vw}.place-hero__intro span{display:none}.place-facts article{min-height:150px;padding:20px}.place-facts strong{font-size:14vw}.process-steps{grid-template-columns:1fr}.process-steps article{min-height:220px}.case-section{padding:78px 0}.place-split h2{font-size:15vw}.process-plan{padding:10px}.full-bleed figcaption{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}
@media print{.site-header,.mobile-menu,.contact{display:none!important}.place-hero{min-height:700px}.js [data-reveal]{opacity:1;transform:none}.case-section{break-inside:avoid}}

/* Hero follows the reusable case composition used by RUEPORTE. */
.place-hero{display:block}
.place-hero__title,.place-hero__composition{position:relative;z-index:1}
.place-hero__title{padding-top:clamp(42px,5vw,82px)}
.place-hero h1{margin:34px 0 0;transform:translate(-8px,10px)}
.place-hero__composition{display:grid;align-items:end;min-height:clamp(520px,47vw,790px);padding-top:clamp(56px,7vw,116px);padding-bottom:clamp(48px,6vw,96px)}

@media(max-width:900px){
  .place-hero__title{padding-top:34px}
  .place-hero__composition{min-height:520px;padding-top:64px;padding-bottom:56px}
}

@media(max-width:560px){
  .place-hero__title{padding-top:28px}
  .place-hero__composition{min-height:390px;padding-top:54px;padding-bottom:40px}
}
