
:root{
  --ink:#15201C; --ink-2:#1E2C27; --bone:#F6F3ED; --paper:#FFFFFF;
  --text:#1A2320; --muted:#6E7A74; --line:#DFD9CE; --brass:#C9A24D; --brass-d:#A9873A;
  --r:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--text);font-family:"DM Sans",system-ui,-apple-system,sans-serif;
 font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.01em;margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.u{width:min(1180px,100%);margin:0 auto;padding-inline:clamp(20px,5vw,44px)}
.eyebrow{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(246,243,237,.86);backdrop-filter:blur(14px);
 border-bottom:1px solid var(--line)}
.hdr .u{display:flex;align-items:center;gap:28px;min-height:76px}
.logo{display:flex;align-items:center;gap:11px;font-family:"Instrument Serif",Georgia,serif;font-size:1.35rem}
.logo svg{width:26px;height:26px;flex:0 0 auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav a{font-size:.9rem;color:var(--muted);position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brass);transition:right .28s ease}
.nav a:hover,.nav a[aria-current=page]{color:var(--text)}
.nav a:hover::after,.nav a[aria-current=page]::after{right:0}
.nav .cta{border:1px solid var(--ink);border-radius:999px;padding:9px 20px;color:var(--ink);font-size:.85rem}
.nav .cta::after{display:none}
.nav .cta:hover{background:var(--ink);color:var(--bone)}
#mnu{display:none}
.mbtn{display:none;margin-left:auto;width:42px;height:38px;border:1px solid var(--line);border-radius:10px;
 background:var(--paper);cursor:pointer;padding:10px 9px}
.mbtn i{display:block;height:1.5px;background:var(--ink);margin:5px 0}

/* hero */
.hero{background:var(--ink);color:var(--bone);padding-block:clamp(70px,11vw,132px) clamp(46px,7vw,84px);
 position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:760px;height:760px;right:-260px;top:-380px;border-radius:50%;
 background:radial-gradient(circle,rgba(201,162,77,.20),transparent 62%)}
.hero .u{position:relative}
.hero .eyebrow{color:rgba(246,243,237,.6)}
.hero h1{font-size:clamp(2.9rem,7.6vw,5.5rem);max-width:15ch;margin-top:20px}
.hero h1 em{font-style:italic;color:var(--brass)}
.hero .sub{max-width:52ch;color:rgba(246,243,237,.74);font-size:1.1rem;margin-top:24px}
.stats{display:flex;flex-wrap:wrap;gap:0;margin-top:50px;border-top:1px solid rgba(246,243,237,.18)}
.stats div{padding:22px 34px 0 0;margin-right:34px;border-right:1px solid rgba(246,243,237,.18)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:2.1rem;color:var(--brass);line-height:1}
.stats span{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,243,237,.6)}

/* hero image */
.hero-img{width:100%;border-radius:var(--r);border:1px solid var(--line);object-fit:cover;background:var(--ink)}
.hero-img.wide{aspect-ratio:21/9}
.hero-img.cat{aspect-ratio:16/6}
.hero-shot{margin-top:-58px;position:relative;z-index:5}

/* sections */
section{padding-block:clamp(60px,9vw,112px)}
.shead{display:flex;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:46px}
.shead h2{font-size:clamp(2rem,4.4vw,3.1rem);max-width:18ch}
.shead p{color:var(--muted);max-width:44ch;margin:0 0 6px auto}

/* collections */
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:34px 34px 30px;
 display:flex;flex-direction:column;min-height:260px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
.col:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(21,32,28,.45);border-color:#CFC7B7}
.col .n{font-family:"Instrument Serif",Georgia,serif;font-size:1.05rem;color:var(--brass)}
.col h3{font-size:1.9rem;margin-top:12px}
.col p{color:var(--muted);margin:12px 0 0;font-size:.97rem}
.col .foot{margin-top:auto;padding-top:24px;display:flex;align-items:center;gap:10px;
 border-top:1px solid var(--line);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.col .foot .ar{margin-left:auto;color:var(--ink);transition:transform .25s ease}
.col:hover .foot .ar{transform:translateX(5px)}

/* index list */
.idx{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:62px 1.35fr 1fr 172px;align-items:center;gap:18px;
 padding:20px 14px;border-bottom:1px solid var(--line);transition:background .2s ease,padding .2s ease}
.row:hover{background:var(--paper);padding-inline:20px 8px}
.row .num{font-family:"Instrument Serif",Georgia,serif;color:var(--brass);font-size:1rem}
.row .nm{font-family:"Instrument Serif",Georgia,serif;font-size:1.42rem}
.row .lo{color:var(--muted);font-size:.9rem}
.row .tg{justify-self:end;text-align:center;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
 border:1px solid var(--line);border-radius:999px;padding:5px 14px;white-space:nowrap}

/* note band */
.band{background:var(--ink-2);color:var(--bone);border-radius:var(--r)}
.band .in{padding:clamp(40px,6vw,70px);max-width:62ch}
.band h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
.band p{color:rgba(246,243,237,.76);margin:18px 0 0}

/* category page */
.chead{background:var(--ink);color:var(--bone);padding-block:clamp(58px,8vw,104px) clamp(44px,6vw,76px)}
.chead .eyebrow{color:rgba(246,243,237,.6)}
.chead h1{font-size:clamp(2.5rem,6vw,4.2rem);margin-top:16px}
.chead p{max-width:58ch;color:rgba(246,243,237,.74);margin-top:20px;font-size:1.06rem}
.crumbs{font-size:.8rem;color:var(--muted);padding-block:22px 0}
.crumbs a:hover{color:var(--text)}
.cards{display:grid;gap:20px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px 34px;
 display:grid;grid-template-columns:1fr auto;gap:8px 30px;align-items:start;transition:border-color .25s,box-shadow .25s,transform .25s}
.card:hover{transform:translateY(-3px);border-color:#CFC7B7;box-shadow:0 22px 44px -30px rgba(21,32,28,.45)}
.card h2{font-size:1.85rem}
.card .lo{grid-column:1/2;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.card p{grid-column:1/2;color:var(--muted);margin:14px 0 0;max-width:62ch}
.card .go{grid-column:2;grid-row:1/3;align-self:center;width:46px;height:46px;border-radius:50%;
 border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:.25s}
.card:hover .go{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.chips{grid-column:1/-1;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.chips .read{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d)}

/* hotel page */
.hhead{padding-block:clamp(34px,5vw,56px) 0}
.hhead h1{font-size:clamp(2.4rem,6vw,4rem);max-width:16ch}
.hhead .lo{margin-top:16px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}
.hhead .lede{font-size:1.18rem;max-width:56ch;margin-top:22px;color:#3A4642}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:clamp(32px,6vw,72px);
 padding-block:clamp(40px,6vw,64px) clamp(60px,9vw,100px);align-items:start}
.body p{margin:0 0 22px;font-size:1.06rem}
.body p:first-child::first-letter{font-family:"Instrument Serif",Georgia,serif;font-size:3.4rem;float:left;
 line-height:.86;padding:4px 12px 0 0;color:var(--ink)}
.side{position:sticky;top:104px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.side h3{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:"DM Sans",sans-serif}
.side dl{margin:18px 0 0}
.side dt{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d);margin-top:18px}
.side dd{margin:5px 0 0;font-size:.95rem}
.side .back{display:inline-block;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);
 font-size:.88rem;color:var(--muted);width:100%}
.side .back:hover{color:var(--text)}
.nextbar{border-top:1px solid var(--line);padding-block:34px 72px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.nextbar a{font-family:"Instrument Serif",Georgia,serif;font-size:1.3rem}
.nextbar span{display:block;font-family:"DM Sans",sans-serif;font-size:.7rem;letter-spacing:.18em;
 text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.nextbar .r{text-align:right;margin-left:auto}

/* doc pages */
.doc{padding-block:clamp(48px,7vw,84px)}
.doc .in{max-width:70ch}
.doc h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.doc .lede{color:var(--muted);font-size:1.1rem;margin-top:18px}
.doc h2{font-size:1.5rem;margin:46px 0 0}
.doc p{margin:14px 0 0}
.doc ul{margin:14px 0 0;padding-left:18px}
.doc li{margin:8px 0}
.doc strong{font-weight:600}

/* footer */
.ftr{background:var(--ink);color:var(--bone);padding-block:clamp(56px,8vw,92px) 36px;margin-top:auto}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:44px}
.fg h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,243,237,.5);
 margin:0 0 16px;font-weight:500}
.fwm{font-family:"Instrument Serif",Georgia,serif;font-size:2.4rem;line-height:1}
.fg p{color:rgba(246,243,237,.66);max-width:36ch;margin:16px 0 0;font-size:.95rem}
.fg ul{list-style:none;padding:0;margin:0}
.fg li{margin:10px 0}
.fg li a{color:rgba(246,243,237,.72);font-size:.95rem}
.fg li a:hover{color:var(--brass)}
.fend{margin-top:54px;padding-top:22px;border-top:1px solid rgba(246,243,237,.16);
 display:flex;gap:16px;flex-wrap:wrap;color:rgba(246,243,237,.5);font-size:.82rem}
.fend .r{margin-left:auto}

@media (max-width:900px){
  .split{grid-template-columns:1fr}
  .side{position:static}
  .fg{grid-template-columns:1fr 1fr}
  .fg>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  body{font-size:16px}
  .mbtn{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);
   flex-direction:column;align-items:stretch;gap:0;padding:8px clamp(20px,5vw,44px) 18px;display:none}
  #mnu:checked ~ .nav{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .nav .cta{margin-top:14px;text-align:center;border-bottom:0}
  .cols{grid-template-columns:1fr}
  .row{grid-template-columns:34px 1fr;gap:4px 12px}
  .row .lo{grid-column:2}
  .row .tg{grid-column:2;justify-self:start;margin-top:8px}
  .hero-shot{margin-top:-30px}
  .card{grid-template-columns:1fr}
  .card .go{display:none}
  .stats{gap:6px 0}
  .stats div{border-right:0;padding-right:0;margin-right:0;flex:0 0 50%}
  .body p:first-child::first-letter{font-size:2.8rem}
}
