:root { --marble-line: rgba(18,21,19,.18); }
.marble-page { background: var(--paper); }
.marble-hero { position: relative; min-height: min(82svh, 820px); display:flex; align-items:flex-end; overflow:hidden; color:var(--paper); background:var(--ink); isolation:isolate; }
.marble-hero-image,.marble-hero-image img,.marble-hero-scrim { position:absolute; inset:0; width:100%; height:100%; margin:0; }
.marble-hero-image img { object-fit:cover; object-position:center 58%; }
.marble-hero-scrim { background:linear-gradient(180deg,rgba(8,12,10,.18),rgba(8,12,10,.7)),linear-gradient(90deg,rgba(8,12,10,.45),transparent 70%); }
.marble-hero-copy { position:relative; z-index:2; max-width:760px; padding:0 clamp(24px,7vw,120px) clamp(58px,8vw,104px); }
.marble-hero-copy h1 { margin:0; max-width:11ch; font-family:var(--serif); font-size:clamp(3.2rem,7vw,7rem); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.marble-hero-copy > p:not(.kicker) { max-width:45ch; margin:28px 0 0; color:rgba(238,234,225,.88); font-size:clamp(1rem,1.5vw,1.25rem); line-height:1.5; }
.marble-hero-copy .hero-actions { margin-top:34px; }
.marble-hero-note { position:absolute; right:clamp(24px,5vw,80px); bottom:38px; z-index:2; color:rgba(238,234,225,.7); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.marble-intro,.selected-heading,.application-intro,.project-heading,.showroom-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:clamp(32px,8vw,140px); }
.marble-intro .body-copy { margin-top:0; }
.marble-intro .body-copy + .body-copy { margin-top:20px; }
.selected-marble { overflow:hidden; }
.selected-heading { align-items:end; margin-bottom:64px; }
.selected-heading .body-copy { margin:0; color:rgba(238,234,225,.75); }
.marble-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; margin-bottom:48px; }
.marble-card { grid-column:span 3; display:block; min-width:0; }
.marble-card-tall { grid-column:span 3; margin-top:44px; }
.marble-card-wide { grid-column:span 6; }
.marble-card img { width:100%; aspect-ratio:1.18; object-fit:cover; filter:saturate(.86); transition:transform 500ms var(--ease-out),filter 300ms ease; }
.marble-card-wide img { aspect-ratio:2.1; }
.marble-card:hover img { transform:scale(1.025); filter:saturate(1); }
.marble-card span { display:flex; justify-content:space-between; gap:12px; padding-top:12px; color:rgba(238,234,225,.75); font-size:10px; letter-spacing:.1em; }
.marble-card b { font-size:15px; font-weight:400; transition:transform 180ms var(--ease-out); }
.marble-card:hover b { transform:translate(3px,-3px); }
.context-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(36px,8vw,130px); }
.context-grid figure { margin:0; }
.context-grid figure img { width:100%; aspect-ratio:1.18; object-fit:cover; }
.context-grid figcaption { margin-top:12px; color:var(--muted); font-size:11px; }
.context-grid .body-copy + .body-copy { margin-top:20px; }
.marble-applications .section-frame { padding-bottom:clamp(86px,10vw,140px); }
.application-intro { margin-bottom:70px; }
.application-intro .body-copy { margin:0; color:rgba(238,234,225,.72); }
.application-list { border-top:1px solid var(--line-light); }
.application-list a { display:grid; grid-template-columns:60px 1fr auto; gap:18px; align-items:center; padding:24px 0; border-bottom:1px solid var(--line-light); color:var(--paper); }
.application-list span { color:rgba(238,234,225,.48); font-size:11px; }
.application-list strong { font-family:var(--serif); font-size:clamp(1.5rem,2.7vw,2.4rem); font-weight:400; }
.application-list b { color:rgba(238,234,225,.62); font-size:11px; font-weight:400; letter-spacing:.05em; text-transform:uppercase; }
.application-list a:hover strong { color:#fff; }
.bali-light .section-frame { max-width:900px; margin-left:clamp(24px,12vw,200px); padding-right:24px; }
.bali-light .display { max-width:13ch; }
.bali-light .body-copy { color:rgba(238,234,225,.8); }
.project-heading { align-items:end; margin-bottom:52px; }
.project-heading .body-copy { margin:0; }
.project-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:42px; }
.project-strip a { display:block; }
.project-strip img { width:100%; aspect-ratio:1.25; object-fit:cover; filter:saturate(.8); transition:filter 240ms ease,transform 400ms var(--ease-out); }
.project-strip a:hover img { filter:saturate(1); transform:translateY(-4px); }
.project-strip span { display:block; padding-top:12px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.reading-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:52px 0 38px; }
.reading-links a { display:grid; gap:24px; padding:24px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.reading-links span { font-family:var(--serif); font-size:clamp(1.35rem,2.3vw,2rem); }
.reading-links b { color:rgba(238,234,225,.62); font-size:11px; font-weight:400; letter-spacing:.05em; text-transform:uppercase; }
.showroom-grid { align-items:center; }
.showroom-grid address { margin-top:32px; color:var(--muted-strong); font-size:14px; font-style:normal; line-height:1.7; }
.showroom-actions { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.marble-cta .section-frame { max-width:980px; margin:0; }
.marble-cta .display { max-width:12ch; }
.marble-cta .body-copy { color:rgba(238,234,225,.82); }
.marble-cta .button-dark { color:var(--paper); background:var(--ink); }
@media (max-width:900px) {
 .marble-hero { min-height:720px; }
 .marble-intro,.selected-heading,.application-intro,.project-heading,.context-grid,.showroom-grid { grid-template-columns:1fr; gap:26px; }
 .marble-grid { grid-template-columns:repeat(2,1fr); }
 .marble-card,.marble-card-wide,.marble-card-tall { grid-column:auto; margin-top:0; }
 .marble-card-wide img { aspect-ratio:1.18; }
 .selected-heading { margin-bottom:42px; }
 .project-strip { grid-template-columns:repeat(3,78vw); overflow-x:auto; padding-bottom:8px; }
 .bali-light .section-frame { margin-left:0; }
}
@media (max-width:620px) {
 .marble-hero { min-height:590px; }
 .marble-hero-image img { object-position:center 54%; }
 .marble-hero-copy { padding-bottom:42px; }
 .marble-hero-copy h1 { max-width:9ch; }
 .marble-hero-copy > p:not(.kicker) { max-width:29ch; }
 .marble-hero-note { display:none; }
 .marble-hero-copy h1 { font-size:clamp(2.8rem,14vw,4.2rem); }
 .marble-hero-copy > p:not(.kicker) { max-width:32ch; margin-top:22px; font-size:1rem; }
 .marble-hero-copy .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
 .marble-hero-copy .button { width:100%; justify-content:space-between; }
 .marble-hero-note { right:24px; bottom:20px; font-size:8px; }
 .marble-intro,.selected-marble .section-frame,.marble-context .section-frame,.marble-applications .section-frame,.marble-projects .section-frame,.marble-reading .section-frame,.marble-showroom .section-frame,.marble-cta .section-frame { padding-top:72px; padding-bottom:72px; }
 .marble-grid {
   display:grid;
   grid-template-columns:repeat(8, minmax(72vw, 72vw));
   grid-template-rows:auto;
   gap:16px;
   margin-right:-24px;
   margin-bottom:34px;
   padding-right:24px;
   overflow-x:auto;
   overscroll-behavior-x:contain;
   scroll-snap-type:x mandatory;
   scrollbar-width:none;
 }
 .marble-grid::-webkit-scrollbar { display:none; }
 .marble-card,.marble-card-wide,.marble-card-tall {
   grid-column:auto;
   scroll-snap-align:start;
 }
 .marble-card img,.marble-card-wide img { aspect-ratio:1.12; }
 .marble-card span { padding-top:10px; font-size:8px; letter-spacing:.06em; }
 .marble-card b { font-size:14px; }
 .selected-marble .text-link { margin-top:0; }
 .selected-heading .display { max-width:11ch; }
 .application-list a { grid-template-columns:32px 1fr; gap:10px; }
 .application-list b { grid-column:2; }
 .reading-links { grid-template-columns:1fr; margin-top:36px; }
 .showroom-actions { align-items:stretch; }
 .showroom-actions .button { justify-content:space-between; }
}
@media (prefers-reduced-motion:reduce) { .marble-card img,.project-strip img { transition:none; } }
[aria-current="page"] { opacity:1; }
