:root{
  --paper:#F5F3EA;
  --paper-card:#FCFAF3;
  --ink:#26271F;
  --canopy:#233D33;
  --eucalypt:#5C7363;
  --clay:#B0703A;
  --line:#DDD6C5;
  --line-soft:#E8E2D4;
  --maxw:760px;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--canopy);text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s,color .2s;}
a:hover{color:var(--clay);border-color:var(--clay);}
a:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}

/* Header */
header{border-bottom:1px solid var(--line);background:var(--paper);}
.head-inner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0;}
.wordmark{font-family:"Spectral",serif;font-weight:500;font-size:1.18rem;color:var(--canopy);letter-spacing:.01em;line-height:1.2;}
.brandlogo{display:block;height:88px;width:auto;}

/* Hero */
.hero{padding:60px 0 50px;}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:700;margin:0 0 20px;}
h1{font-family:"Spectral",serif;font-weight:500;font-size:2.5rem;line-height:1.12;letter-spacing:-.01em;color:var(--canopy);margin:0 0 22px;}
.lede{font-size:1.18rem;line-height:1.6;color:#34352C;margin:0 0 14px;max-width:62ch;}
.lede:last-child{margin-bottom:0;}

/* Sections */
section{padding:42px 0;border-top:1px solid var(--line-soft);}
.section-label{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--eucalypt);font-weight:700;margin:0 0 8px;}
h2{font-family:"Spectral",serif;font-weight:500;font-size:1.7rem;line-height:1.2;color:var(--canopy);margin:0 0 6px;}
.section-intro{color:#3a3b31;margin:14px 0 28px;max-width:60ch;}
.plainlist{margin:18px 0 0;padding:0;list-style:none;}
.plainlist li{position:relative;padding:0 0 12px 22px;}
.plainlist li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:50%;background:var(--eucalypt);}

/* Directory cards (lightly emphasised so each list is easy to find) */
.directory{background:var(--paper-card);border:1px solid var(--line);border-radius:14px;padding:6px 18px;margin-top:10px;box-shadow:0 1px 0 rgba(38,39,31,.02);}
.entry{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:baseline;padding:17px 12px;border-bottom:1px solid var(--line-soft);border-radius:8px;transition:background .15s;}
.entry:last-child{border-bottom:none;}
.entry:hover{background:rgba(176,112,58,.05);}
.entry .who{font-family:"Spectral",serif;font-size:1.18rem;font-weight:500;color:var(--ink);}
.entry .dest{grid-column:1 / -1;color:#3a3b31;font-size:.98rem;}
.entry .dest a{border-bottom:none;}
.entry .dest a:hover{border-color:transparent;}
.entry .dest .biz{font-weight:600;color:var(--canopy);}
.tag{justify-self:end;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--eucalypt);white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(92,112,99,.12);}
.tag.here{color:var(--clay);background:rgba(176,112,58,.13);}
.tag svg{flex:none;}
.pending{color:var(--eucalypt);font-style:italic;border:none;}

/* Rooms CTA */
.rooms{background:var(--paper-card);border:1px solid var(--line);border-radius:14px;padding:30px 30px;margin-top:8px;}
.rooms h2{margin-top:0;}
.btn{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:var(--canopy);color:#F5F3EA;font-weight:600;font-size:.95rem;letter-spacing:.01em;padding:13px 22px;border-radius:9px;border:none;transition:background .2s,transform .15s;}
.btn:hover{background:#1a2e26;color:#fff;transform:translateY(-1px);}
.btn svg{flex:none;}

/* Records note */
.note{background:transparent;}
.note p{max-width:60ch;color:#3a3b31;}

/* Footer */
footer{border-top:1px solid var(--line);background:var(--paper-card);margin-top:20px;}
.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 40px;padding:46px 0 30px;}
.foot-grid h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--eucalypt);font-weight:700;margin:0 0 14px;}
.foot-grid p{margin:0 0 5px;font-size:.96rem;color:#3a3b31;line-height:1.6;}
.acknowledge{font-size:.9rem;line-height:1.7;color:#4a4b40;}
.copyright{border-top:1px solid var(--line-soft);padding:18px 0 30px;font-size:.82rem;color:var(--eucalypt);}

@media (max-width:560px){
  body{font-size:16px;}
  h1{font-size:2rem;}
  h2{font-size:1.45rem;}
  .brandlogo{height:62px;}
  .hero{padding:44px 0 38px;}
  .rooms{padding:24px 22px;}
  .foot-grid{grid-template-columns:1fr;gap:26px;}
  .tag{justify-self:start;}
  .entry{grid-template-columns:1fr;}
}

/* Load motion */
@media (prefers-reduced-motion:no-preference){
  .fade{opacity:0;transform:translateY(10px);animation:rise .7s ease forwards;}
  .hero .fade:nth-child(1){animation-delay:.05s;}
  .hero .fade:nth-child(2){animation-delay:.15s;}
  .hero .fade:nth-child(3){animation-delay:.25s;}
  .hero .fade:nth-child(4){animation-delay:.35s;}
  @keyframes rise{to{opacity:1;transform:none;}}
}
