:root {
  --base: #F5E6D3;
  --ink: #2B2F36;
  --accent: #C47A3A;
  --surface: #FFFFFF;
  --surface-2: #FAF1E6;
  --muted: #6B7280;
  --border: rgba(43,47,54,0.14);
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 10px 30px rgba(0,0,0,.10);
  --shadow-sm: 0 6px 18px rgba(0,0,0,.08);
  --container: 1120px;
  --gutter: 20px;
  --h1: clamp(2rem, 2.8vw, 3.25rem);
  --h2: clamp(1.35rem, 1.6vw, 1.75rem);
  --lh: 1.55;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(1100px 600px at 12% 0%, rgba(196,122,58,.18), transparent 60%),
              radial-gradient(900px 520px at 88% 8%, rgba(43,47,54,.12), transparent 60%),
              var(--base);
  color: var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height: var(--lh);
}
a { color: inherit; text-underline-offset: .18em; text-decoration-thickness: 2px; }
a:hover { text-decoration-thickness: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(43,47,54,.85);
  outline-offset: 3px;
  border-radius: 10px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.skip-link { position:absolute; left:-999px; top:10px; padding:12px 14px; background:var(--surface); border:1px solid var(--border); border-radius:12px; }
.skip-link:focus { left:10px; z-index:9999; }
.container { width:min(var(--container), calc(100% - 2*var(--gutter))); margin:0 auto; }

.topbar { background: rgba(245,230,211,.65); backdrop-filter: blur(10px); border-bottom:1px solid var(--border); }
.topbar-inner { display:flex; align-items:center; justify-content:space-between; padding:14px 0; gap:16px; position:relative; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { width:42px; height:42px; border-radius:14px; background:var(--surface); border:1px solid var(--border); box-shadow: var(--shadow-sm); display:grid; place-items:center; overflow:hidden; }
.brand-mark img { width:44px; height:44px; object-fit:contain; }
.brand-name { display:grid; line-height:1.1; }
.brand-name strong { font-size:1.02rem; }
.brand-name span { font-size:.86rem; color: rgba(43,47,54,.75); }

.nav { display:flex; align-items:center; gap:14px; }
.nav a { text-decoration:none; padding:10px 10px; border-radius:12px; }
.nav a[aria-current="page"] { background: rgba(196,122,58,.16); border:1px solid rgba(196,122,58,.28); }
.nav a:hover { background: rgba(43,47,54,.06); }
.nav-cta { display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius:14px; background:var(--accent); color:#000; font-weight:800; border:1px solid rgba(0,0,0,.22); box-shadow: var(--shadow-sm); text-decoration:none; }
.mobile-toggle { display:none; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:10px 12px; }
@media (max-width: 920px) {
  .nav { display:none; }
  .mobile-toggle { display:inline-flex; }
  .nav.open {
    display:grid;
    position:absolute;
    top:70px;
    right:0;
    width:min(420px, calc(100vw - 2*var(--gutter)));
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border:1px solid var(--border);
    border-radius:18px;
    padding:10px;
    box-shadow: var(--shadow);
    z-index:50;
  }
  .nav.open a { padding:12px; }
}

.card { background: rgba(255,255,255,.78); border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.hero { padding:46px 0 20px; }
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; align-items:stretch; }
@media (max-width: 920px) { .hero-grid { grid-template-columns: 1fr; } }
.hero-main { padding:26px; position:relative; overflow:hidden; }
.hero-main:before {
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(700px 400px at 18% 15%, rgba(196,122,58,.26), transparent 55%),
    radial-gradient(900px 520px at 82% 0%, rgba(43,47,54,.15), transparent 60%);
  z-index:0;
}
.hero-main > * { position:relative; z-index:1; }
.kicker { display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border-radius:999px; background: rgba(196,122,58,.14); border:1px solid rgba(196,122,58,.22); font-weight:800; }
.kicker-dot { width:10px; height:10px; border-radius:999px; background: var(--accent); border:1px solid rgba(0,0,0,.25); }
h1 { font-size: var(--h1); line-height:1.08; margin: 14px 0 10px; }
.lead { font-size:1.06rem; color: rgba(43,47,54,.86); max-width: 62ch; }
.hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top: 16px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:12px 14px; border-radius:16px; border:1px solid var(--border); background:var(--surface); box-shadow: var(--shadow-sm); text-decoration:none; font-weight:800; }
.btn.primary { background: var(--accent); color:#000; border-color: rgba(0,0,0,.18); }
.hr { height:1px; background: var(--border); margin:16px 0; }

.hero-side { padding:18px; display:grid; gap:12px; }
.quick { background: rgba(245,230,211,.55); border:1px solid rgba(43,47,54,.10); border-radius:16px; padding:14px; }
.quick strong { display:block; }
.quick small { color: rgba(43,47,54,.72); }
.notice { padding:16px; background: rgba(43,47,54,.04); border:1px solid rgba(43,47,54,.12); border-radius:16px; }

.section { padding:18px 0; }
.section-header { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-bottom:10px; }
.section-header h2 { font-size: var(--h2); margin:0; }
.section-header p { margin:0; color: rgba(43,47,54,.75); max-width:70ch; }

.grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
@media (max-width: 980px) { .grid-3 { grid-template-columns: 1fr; } }
.item { padding:16px; }
.badge { display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border-radius:999px; border:1px solid rgba(43,47,54,.14); background: rgba(43,47,54,.04); font-weight:800; font-size:.88rem; }
.badge .dot { width:10px; height:10px; border-radius:999px; background: var(--accent); border:1px solid rgba(0,0,0,.25); }
.item h3 { margin:10px 0 6px; font-size:1.05rem; }
.item p { margin:0; color: rgba(43,47,54,.82); }
.meta { margin-top:10px; display:flex; gap:10px; flex-wrap:wrap; color: rgba(43,47,54,.72); font-size:.92rem; }
.meta a { text-decoration:none; border-bottom:2px solid rgba(196,122,58,.45); }
.meta a:hover { border-bottom-color: rgba(196,122,58,.85); }
.split { display:grid; grid-template-columns: 1fr 1fr; gap:14px; }
@media (max-width: 980px) { .split { grid-template-columns: 1fr; } }

.page { padding:22px 0 28px; }
.prose { background: rgba(255,255,255,.78); border:1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding:18px; }
.footer { padding:26px 0 30px; border-top:1px solid var(--border); background: rgba(245,230,211,.55); }
.footer-grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap:14px; }
@media (max-width: 980px) { .footer-grid { grid-template-columns: 1fr; } }
.fineprint { margin-top:14px; color: rgba(43,47,54,.72); font-size:.92rem; }

.copy-row { display:flex; flex-wrap:wrap; gap:10px; }
.copy-chip { display:inline-flex; align-items:center; gap:10px; padding:10px 12px; border-radius:999px; border:1px solid rgba(43,47,54,.16); background: rgba(255,255,255,.76); box-shadow: var(--shadow-sm); }
.copy-chip code { font-weight:900; letter-spacing:.3px; }
.copy-chip button { border:1px solid rgba(0,0,0,.18); background: var(--accent); color:#000; font-weight:900; padding:8px 10px; border-radius:999px; cursor:pointer; }

.cookie {
  position: fixed; left: 14px; right: 14px; bottom: 14px;
  max-width: 920px; margin: 0 auto;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(43,47,54,.18);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 12px;
  display: none;
  z-index: 200;
}
.cookie.open { display:block; }
.cookie .row { display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.cookie p { margin:0; color: rgba(43,47,54,.85); }
.cookie .actions { display:flex; gap:10px; flex-wrap:wrap; }
.cookie .actions button { border:1px solid rgba(43,47,54,.18); background: var(--surface); padding:10px 12px; border-radius:14px; font-weight:900; cursor:pointer; }
.cookie .actions button.primary { background: var(--accent); color:#000; border-color: rgba(0,0,0,.18); }

.map-shell { border-radius:18px; overflow:hidden; border:1px solid var(--border); background: rgba(245,230,211,.45); }
.map-placeholder { padding:16px; }
.map-placeholder button { margin-top:10px; border:1px solid rgba(0,0,0,.18); background: var(--accent); color:#000; font-weight:900; padding:10px 12px; border-radius:14px; cursor:pointer; }


/* === Photo modules (v4) === */
.hero-figure {
  margin: 16px 0 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.65);
}
.hero-figure picture, .media picture { display:block; }
.hero-figure img, .media img {
  width: 100%;
  height: auto;
  display: block;
}
.hero-figure figcaption, .media figcaption {
  padding: 10px 12px;
  font-size: .92rem;
  color: rgba(43,47,54,.78);
  background: rgba(245,230,211,.55);
  border-top: 1px solid rgba(43,47,54,.10);
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 980px) { .media-grid { grid-template-columns: 1fr; } }
.media {
  border-radius: 18px;
  overflow: hidden;
}


/* === v6: Full-width header photo hero === */
.hero { padding: 0; }
.hero-photo { position: relative; margin-top: 0; }
.hero-media {
  position: relative;
  height: clamp(360px, 46vw, 560px);
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05);
  transform: scale(1.02);
}
.hero-media::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg,
    rgba(43,47,54,.78) 0%,
    rgba(43,47,54,.34) 46%,
    rgba(43,47,54,.06) 72%,
    rgba(43,47,54,0) 100%);
}
.hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 28px 0;
}
.hero-panel {
  max-width: 720px;
  padding: 22px;
  background: rgba(245,230,211,.92);
  border: 1px solid rgba(43,47,54,.18);
  border-radius: 22px;
  box-shadow: var(--shadow);
}
.hero-panel .kicker {
  background: rgba(196,122,58,.18);
  border-color: rgba(196,122,58,.28);
}
.hero-panel h1 { margin-top: 10px; }
.hero-panel .lead { margin-top: 8px; }

.hero-below {
  margin-top: -18px;
  padding-bottom: 18px;
}
.hero-below .quick {
  background: rgba(255,255,255,.78);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 920px){
  .hero-content { padding: 18px 0; }
  .hero-panel { padding: 18px; }
  .hero-media { height: clamp(340px, 70vw, 520px); }
}

/* v6: hide palette chips */
.copy-row{display:none !important;}
