
:root{
  --green:#12382e;
  --green-deep:#0a241d;
  --paper:#f0eee7;
  --paper-2:#e7e2d8;
  --stone:#f5f2eb;
  --ink:#141915;
  --muted:#59615b;
  --line:rgba(20,25,21,.16);
  --line-strong:rgba(20,25,21,.26);
  --white:#f7f5ef;
  --sans:"IBM Plex Sans",Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
figure,p,h1,h2,h3,figcaption{margin:0}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:16px;top:16px;background:white;padding:10px 14px;z-index:1000}

.topbar{height:68px;position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.28);color:var(--white);transition:background .18s,color .18s,border-color .18s}
.topbar.scrolled{background:rgba(240,238,231,.95);color:var(--ink);border-color:var(--line);backdrop-filter:blur(10px)}
.brand{font-weight:600;letter-spacing:.012em;font-size:19px}.top-meta{display:flex;gap:22px;font-family:var(--mono);font-size:12px;letter-spacing:.04em}
nav{display:flex;gap:20px;font-family:var(--mono);font-size:12px;text-transform:uppercase}nav a:hover,.text-link:hover,.week a:hover{opacity:.55}

.hero{position:relative;height:100vh;min-height:650px;background:var(--green);overflow:hidden;color:white}
.hero-image{position:absolute;inset:0;object-position:center 52%;filter:saturate(.86) contrast(1.04)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.03) 44%,rgba(0,0,0,.54))}
.hero-title{position:absolute;left:20px;right:20px;bottom:88px;font-size:clamp(70px,11.2vw,188px);line-height:.78;font-weight:600;letter-spacing:-.07em;white-space:nowrap}
.hero-location{position:absolute;left:24px;bottom:22px;font-family:var(--mono);font-size:11px;line-height:1.5;letter-spacing:.04em}
.hero-hours{position:absolute;right:22px;bottom:20px;display:grid;grid-template-columns:auto auto;align-items:center;gap:18px;padding:14px 18px;background-image:linear-gradient(rgba(247,245,239,.94),rgba(247,245,239,.94)),url("assets/terrazzo-surface.webp");background-size:cover;background-position:center;border:1px solid rgba(12,24,20,.1);border-radius:20px;color:var(--green-deep);font-family:var(--mono);font-size:10px;line-height:1.45;box-shadow:0 16px 40px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease}
.hero-hours:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(0,0,0,.22)}
.hero-hours span{opacity:.7;letter-spacing:.05em}.hero-hours strong{font-weight:400}.hero-hours em{display:block;margin-top:4px;font-style:normal;opacity:.68;font-size:9px;letter-spacing:.03em}

.section-code,.week-label,.infos-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.045em;text-transform:uppercase}

.intro{padding:8vw 22px 7vw;display:grid;grid-template-columns:1fr 3fr;column-gap:3vw;border-bottom:1px solid var(--line)}
.intro h1{grid-column:2;font-size:clamp(48px,6.7vw,104px);line-height:.93;letter-spacing:-.05em;font-weight:500;max-width:13ch}
.intro-copy{grid-column:2;margin-top:3.6vw;display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:980px;align-items:start}
.intro-copy>p:first-child{font-size:20px;max-width:420px}
.intro-note{font-family:var(--sans);font-size:18px;font-weight:500;letter-spacing:-.01em;color:var(--ink);line-height:1.55;max-width:590px}

.signature{display:grid;grid-template-columns:1.45fr .95fr;min-height:78vh;border-bottom:1px solid var(--line)}
.signature-photo{min-height:680px;overflow:hidden;background:var(--stone)}
.signature-photo img{object-position:center center}
.signature-copy{padding:34px 28px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.terrazzo-panel{background-image:linear-gradient(rgba(240,238,231,.82),rgba(240,238,231,.82)),url("assets/terrazzo-surface.webp");background-size:cover;background-position:center}
.signature-copy>div{padding-bottom:12px}.signature-copy h2{font-size:clamp(48px,5.2vw,82px);line-height:.92;letter-spacing:-.05em;font-weight:500;margin-bottom:22px}.signature-copy p:last-child{font-size:16px;color:var(--muted);max-width:390px}

.crumb-break{height:64vh;position:relative;overflow:hidden;background:#222;color:white}.crumb-break img{object-position:center center;transform:scale(1.04)}.crumb-break:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}.crumb-break p{position:absolute;left:22px;bottom:18px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.055em}

.making{display:grid;grid-template-columns:.84fr 1.16fr;background:var(--green);color:var(--white);min-height:60vh}
.making-copy{padding:42px 30px;display:flex;flex-direction:column}.making-copy h2{font-size:clamp(48px,5.5vw,86px);line-height:.93;letter-spacing:-.05em;font-weight:500;margin:auto 0 22px;max-width:7ch}.making-copy>p:last-child{max-width:480px;font-size:16px;line-height:1.55;color:rgba(247,245,239,.8)}.making figure{min-height:560px;overflow:hidden}.making img{object-position:center center}

.week{display:grid;grid-template-columns:1fr 1fr;background:var(--paper-2)}
.week>div{padding:5vw 22px;min-height:350px;display:flex;flex-direction:column;border-right:1px solid var(--line)}
.week>div:last-child{border-right:0}
.week h2{font-size:clamp(38px,4.4vw,66px);line-height:.95;font-weight:500;letter-spacing:-.04em;max-width:10ch;margin:auto 0 16px}
.week p:not(.week-label){max-width:460px;color:var(--muted)}
.week a{font-family:var(--mono);font-size:15px;line-height:1.35;margin-top:18px;text-decoration:underline;text-underline-offset:4px}

.infos{background:var(--green-deep);color:var(--white);padding:24px 22px 32px}
.infos-head{display:grid;grid-template-columns:1fr 3fr;gap:3vw;align-items:end;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.24)}
.infos-kicker{opacity:.68}.infos-head h2{font-size:clamp(36px,4vw,62px);line-height:.95;letter-spacing:-.04em;font-weight:500}
.infos-grid{display:grid;grid-template-columns:1.2fr 1.1fr 1.4fr 1fr;gap:40px;padding-top:28px}
.infos-grid span{font-family:var(--mono);font-size:10px;opacity:.58}
.infos-grid p{margin-top:13px;font-size:15px;line-height:1.65}
.infos-grid a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.34);text-underline-offset:3px}
.text-link{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:10px;text-transform:uppercase}

footer{background:var(--paper);padding:5vw 22px 22px}
.footer-word{font-size:clamp(66px,10.4vw,172px);line-height:.8;letter-spacing:-.07em;font-weight:600;white-space:nowrap;overflow:hidden}
.footer-meta{margin-top:36px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:13px;line-height:1.4}

@media(max-width:900px){
  .topbar{height:58px;padding:0 14px;grid-template-columns:1fr auto}.brand{font-size:16px}.top-meta{display:none}nav{font-size:11px}nav a:first-child{display:none}
  .hero{min-height:610px;height:92svh}.hero-title{left:14px;right:auto;bottom:106px;font-size:18.5vw;white-space:normal;max-width:95vw;line-height:.82}.hero-location{left:14px;bottom:16px}.hero-hours{right:14px;bottom:14px;grid-template-columns:1fr;gap:4px;padding:12px 14px;border-radius:16px}.hero-hours span{display:block}
  .intro{grid-template-columns:1fr;padding:18vw 14px 16vw}.intro .section-code,.intro h1,.intro-copy{grid-column:1}.intro h1{margin-top:48px;font-size:12.8vw}.intro-copy{margin-top:12vw;grid-template-columns:1fr;gap:26px}.intro-copy>p:first-child{font-size:18px}.intro-note{font-size:17px;line-height:1.55}
  .signature{grid-template-columns:1fr;min-height:auto}.signature-photo{min-height:66svh}.signature-copy{border-left:0;padding:28px 14px 34px;min-height:330px}.signature-copy h2{font-size:13.5vw}.signature-copy>div{margin-top:auto}
  .crumb-break{height:54svh}
  .making{grid-template-columns:1fr;min-height:auto}.making-copy{padding:18vw 14px 14vw;min-height:400px}.making-copy h2{font-size:13vw;margin:70px 0 20px}.making figure{min-height:56svh}
  .week{grid-template-columns:1fr}.week>div{padding:15vw 14px;min-height:320px;border-right:0;border-bottom:1px solid var(--line)}.week h2{font-size:11.5vw}
  .infos{padding:22px 14px 28px}.infos-head{grid-template-columns:1fr;gap:34px;padding-bottom:38px}.infos-head h2{font-size:11vw}.infos-grid{grid-template-columns:1fr;gap:34px;padding-top:28px}.infos-grid p{font-size:15px}
  footer{padding:15vw 14px 22px}.footer-word{font-size:18vw;white-space:normal;overflow-wrap:anywhere}.footer-meta{margin-top:42px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
