:root{
  --ink:#0E0E0C;
  --paper:#F4F1EA;
  --paper-2:#EAE5DA;
  --line:rgba(14,14,12,.16);
  --line-strong:rgba(14,14,12,.28);
  --muted:#6b6457;
  --clay:#C95E3A;
}
*{box-sizing:border-box;}
html,body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter Tight',system-ui,sans-serif;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}

/* ===== wordmark atom (from logo system) ===== */
.wm{
  font-family:'Inter Tight',sans-serif;font-weight:800;
  letter-spacing:-.045em;line-height:1;
  display:inline-flex;align-items:baseline;white-space:nowrap;
}
.wm .sl{font-weight:300;opacity:.55;margin:0 .04em;transform:translateY(-.02em);display:inline-block;}

/* ===== layout shell ===== */
.page{max-width:1240px;margin:0 auto;padding:0 56px;}

/* ===== top bar ===== */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--paper);z-index:10;
}
.nav .wm{font-size:22px;}
.nav .lang{
  display:flex;gap:14px;align-items:center;
  flex-wrap:wrap;justify-content:flex-end;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
}
.nav .lang a{opacity:.5;transition:opacity .15s;}
.nav .lang a:hover{opacity:1;}
.nav .lang a[aria-current="page"]{opacity:1;}

/* ===== hero ===== */
.hero{padding:88px 0 64px;border-bottom:1px solid var(--line);}
.hero .eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;opacity:.55;margin-bottom:48px;
  display:flex;justify-content:space-between;
}
.hero h1{
  font-family:'Inter Tight',sans-serif;font-weight:800;
  font-size:clamp(56px,12vw,180px);letter-spacing:-.05em;line-height:.9;
  margin:0;display:flex;align-items:baseline;max-width:100%;
}
.hero h1 .sl{font-weight:300;opacity:.5;margin:0 .03em;transform:translateY(-.03em);display:inline-block;}
.hero .strap{
  margin-top:32px;display:flex;justify-content:space-between;align-items:flex-end;gap:48px;flex-wrap:wrap;
}
.hero .strap p{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:34px;line-height:1.15;letter-spacing:-.01em;
  max-width:640px;margin:0;
}
.hero .strap p em{font-style:italic;opacity:.65;}
.hero .strap .where{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.6;
  text-align:right;line-height:1.7;
}
.hero .strap .where b{display:block;font-weight:400;opacity:.85;color:var(--ink);}

/* ===== editorial intro ===== */
.intro{
  padding:72px 0;border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:200px 1fr;gap:48px;align-items:start;
}
.intro h2{
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  opacity:.6;margin:6px 0 0;font-weight:400;
}
.intro .body{
  font-family:'Instrument Serif',serif;font-size:30px;line-height:1.32;letter-spacing:-.005em;
  max-width:780px;
}
.intro .body em{font-style:italic;opacity:.7;}
.intro .body .lead{display:block;font-size:34px;margin-bottom:18px;}
.intro .body p{margin:0 0 14px;}
.intro .body p+p{font-size:22px;line-height:1.5;opacity:.78;font-family:'Inter Tight',sans-serif;font-weight:400;letter-spacing:0;}

/* ===== rooms ===== */
.rooms{padding:72px 0;border-bottom:1px solid var(--line);}
.rooms .head{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom:36px;
}
.rooms .head h2{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:48px;letter-spacing:-.01em;margin:0;
}
.rooms .head h2 em{font-style:italic;opacity:.55;}
.rooms .head .count{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.55;}
.rooms-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.room-card{
  background:var(--paper);border:1px solid var(--line);
  aspect-ratio:3/4;padding:22px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;transition:background .2s,border-color .2s,transform .2s;
  cursor:pointer;
}
.room-card:hover{background:var(--paper-2);transform:translateY(-2px);}
.room-card.ink{background:var(--ink);color:var(--paper);border-color:rgba(255,255,255,.1);}
.room-card.ink:hover{background:#1a1916;}
.room-card .top{
  display:flex;justify-content:flex-end;align-items:flex-start;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;
}
.room-card .num{
  font-family:'Instrument Serif',serif;font-size:96px;line-height:.82;letter-spacing:-.02em;
}
.room-card .num.tall{font-size:96px;}
.room-card .num .sl{font-weight:300;opacity:.5;}
.room-card .num .lbl{
  display:block;
  font-family:'JetBrains Mono',monospace;font-weight:400;
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  opacity:.5;margin:18px 0 10px;line-height:1;
}
.room-card .foot{
  border-top:1px solid var(--line);padding-top:12px;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  line-height:1.5;
}
.room-card.ink .foot{border-color:rgba(244,241,234,.22);}
.room-card .foot b{font-weight:400;display:block;letter-spacing:.18em;min-height:2lh;}
.room-card .foot span{opacity:.6;display:block;margin-top:3px;}
.room-card .foot span:first-of-type{min-height:2lh;}

/* ===== visit ===== */
.visit{
  padding:96px 0;border-bottom:1px solid var(--line);
}
.info{
  display:grid;grid-template-columns:140px 1fr;gap:26px 32px;
  max-width:640px;
  font-family:'Inter Tight',sans-serif;font-size:15px;line-height:1.55;
}
.info dt{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.55;
  padding-top:4px;
}
.info dd{margin:0;}
.info dd b{font-weight:600;}
.info dd>span{display:block;opacity:.6;font-size:13px;margin-top:2px;}
.info dd b .sl{display:inline;font-weight:300;opacity:.55;margin:0 .04em;}

/* ===== footer ===== */
footer{
  padding:48px 0 60px;
  display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:30px;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.6;
}
footer .wm{font-size:18px;opacity:1;color:var(--ink);}
footer .colophon{text-align:right;line-height:1.7;}

/* ===== responsive ===== */
@media (max-width:900px){
  .page{padding:0 24px;}
  .hero h1{font-size:clamp(48px,15vw,88px);letter-spacing:-.055em;}
  .hero .strap p{font-size:24px;}
  .intro{grid-template-columns:1fr;gap:24px;}
  .intro .body{font-size:24px;}
  .intro .body .lead{font-size:28px;}
  .rooms-grid{grid-template-columns:repeat(2,1fr);}
  .room-card{
    aspect-ratio:auto;
    display:grid;grid-template-rows:auto auto 1fr;
    min-height:290px;
  }
  .room-card .top{align-self:start;}
  .room-card .num{align-self:start;padding-bottom:6px;font-size:72px;}
  .room-card .num.tall{font-size:72px;}
  .room-card .foot{align-self:end;min-height:5.2em;}
  .visit{padding:64px 0;}
  .info{grid-template-columns:120px 1fr;max-width:none;gap:20px 24px;}
  .nav .lang{gap:8px 10px;}
}
