:root{
  --slate:#2B3A55;
  --slate-soft:#5A6880;
  --amber:#E8A33D;
  --amber-deep:#C9862A;
  --blush:#F7ECE3;
  --blush-deep:#EFDFD1;
  --plum:#6B4570;
  --paper:#FFFFFF;
  --line:#D9C9BA;
  --wrap:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--blush);
  color:var(--slate);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
}
img{max-width:100%}
a{color:var(--slate)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* ---------- masthead: single row + one continuous amber bar ---------- */
.masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.masthead-row{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:78px;flex-wrap:wrap;
}
.wordmark{
  font-family:"Petrona",Georgia,serif;
  font-size:1.6rem;font-weight:600;letter-spacing:.01em;
  text-decoration:none;color:var(--slate);line-height:1;
}
.wordmark span{color:var(--plum);font-weight:400;font-style:italic}
.mainnav{display:flex;flex-wrap:wrap;gap:26px}
.mainnav a{
  text-decoration:none;color:var(--slate-soft);
  font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  padding:6px 0;
}
.mainnav a:hover{color:var(--slate)}
.mainnav a.is-current{color:var(--plum)}
.amber-rule{height:8px;background:var(--amber);width:100%}

/* ---------- folder-tab device ---------- */
.panel{position:relative}
.tab{
  position:absolute;top:-22px;left:0;
  display:inline-block;
  background:var(--amber);color:#2B2416;
  font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 18px 5px;
  border-radius:5px 5px 0 0;
  white-space:nowrap;
}
.tab-plum{background:var(--plum);color:#fff}

/* ---------- hero ---------- */
main{display:block}
.hero{
  max-width:var(--wrap);margin:56px auto 0;padding:0 24px;
}
.hero .tab{left:24px;top:-22px}
.hero-copy{
  background:var(--paper);
  border:1px solid var(--line);
  padding:44px 44px 40px;
}
.hero h1{
  font-family:"Petrona",Georgia,serif;
  font-weight:500;font-size:clamp(2.1rem,4.6vw,3.3rem);
  line-height:1.14;margin:0 0 18px;max-width:20ch;
}
.hero h1 em{font-style:italic;color:var(--plum)}
.home .hero h1{border-bottom:6px solid var(--amber);display:inline-block;padding-bottom:8px}
.standfirst{
  margin:0;max-width:62ch;font-size:1.09rem;color:var(--slate-soft);
}
.photo-slot{
  position:relative;margin:0;
  aspect-ratio:16/9;
  background:#141416;
  border:1px solid var(--line);border-top:none;
  overflow:hidden;
}
.photo-slot img{
  width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;
}

/* ---------- intro strip ---------- */
.intro-strip{background:var(--slate);color:#F4EFE9;margin-top:64px;padding:26px 0}
.intro-strip p{margin:0;max-width:74ch;font-size:1.03rem}

/* ---------- sections ---------- */
.section{padding:72px 24px 8px}
.section-head{
  font-family:"Petrona",Georgia,serif;font-weight:500;
  font-size:1.6rem;margin:0 0 40px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
}

/* ---------- category selectors ---------- */
.selector-row{
  display:grid;grid-template-columns:repeat(4,1fr);gap:26px;
}
.selector{
  text-decoration:none;color:inherit;display:block;
}
.selector-body{
  background:var(--paper);border:1px solid var(--line);
  padding:28px 24px 24px;height:100%;
  display:flex;flex-direction:column;
}
.selector:hover .selector-body{border-color:var(--slate)}
.selector:hover .tab{background:var(--amber-deep)}
.selector h3{
  font-family:"Petrona",Georgia,serif;font-weight:600;font-size:1.24rem;margin:0 0 12px;
}
.selector p{margin:0 0 20px;font-size:.95rem;color:var(--slate-soft)}
.go{
  margin-top:auto;font-size:.76rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--plum);
}

/* ---------- trust ---------- */
.trust{padding-bottom:80px}
.trust-lines{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:80ch}
.trust-lines li{
  padding-left:22px;position:relative;color:var(--slate-soft);
}
.trust-lines li::before{
  content:"";position:absolute;left:0;top:.72em;width:10px;height:3px;background:var(--amber);
}

/* ---------- hotel entries: even grid of folder-tab cards ---------- */
.entry-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:56px 34px;
  padding-bottom:88px;
}
.entry-body{
  background:var(--paper);border:1px solid var(--line);
  padding:30px 30px 26px;height:100%;
  display:flex;flex-direction:column;
}
.entry h3{
  font-family:"Petrona",Georgia,serif;font-weight:600;
  font-size:1.5rem;margin:0 0 4px;line-height:1.2;
}
.place{
  margin:0 0 18px;font-size:.78rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--plum);
}
.entry p{margin:0 0 22px}
.chips{
  list-style:none;margin:auto 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px;
}
.chips li{
  border:1px solid var(--slate);color:var(--slate);
  font-size:.76rem;padding:4px 11px;border-radius:2px;
}

/* ---------- plain pages ---------- */
.page-copy{padding-top:72px;padding-bottom:88px;max-width:760px}
.page-copy h1{
  font-family:"Petrona",Georgia,serif;font-weight:500;
  font-size:clamp(2rem,4vw,2.7rem);margin:0 0 28px;line-height:1.15;
}
.page-copy h2{
  font-family:"Petrona",Georgia,serif;font-weight:600;
  font-size:1.3rem;margin:40px 0 12px;
}
.page-copy p{margin:0 0 18px}
.page-copy a{color:var(--plum)}

/* ---------- footer: minimal centred single column ---------- */
.siteftr{
  background:var(--paper);border-top:1px solid var(--line);
  padding:64px 0 56px;text-align:center;
}
.ftr-mark{
  font-family:"Petrona",Georgia,serif;font-weight:500;
  font-size:2.2rem;margin:0 0 10px;
}
.ftr-line{margin:0 0 30px;color:var(--slate-soft);font-size:.98rem}
.ftr-links{
  margin:0 0 26px;display:flex;flex-wrap:wrap;justify-content:center;
  align-items:center;gap:12px;font-size:.85rem;
}
.ftr-links a{color:var(--slate);text-decoration:none}
.ftr-links a:hover{color:var(--plum);text-decoration:underline}
.ftr-links .divider{color:var(--line)}
.ftr-fine{margin:0;font-size:.78rem;color:var(--slate-soft)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .selector-row{grid-template-columns:repeat(2,1fr)}
  .entry-grid{grid-template-columns:1fr;gap:50px}
}
@media (max-width:640px){
  body{font-size:16px}
  .masthead-row{min-height:0;padding-top:16px;padding-bottom:14px;align-items:flex-start;flex-direction:column}
  .mainnav{gap:16px}
  .hero{margin-top:44px}
  .hero-copy{padding:30px 22px 28px}
  .selector-row{grid-template-columns:1fr}
  .section{padding-top:56px}
}
