/* Ben’s Bed & Breakfast - Minimal, performance-focused styles */
:root{
  --bg:#ffffff;
  --text:#1E3538;        /* deep teal/charcoal from old palette */
  --heading:#1E2A33;     /* darker heading color */
  --muted:#6d7685;       /* muted text */
  --brand:#7785A8;       /* soft slate blue */
  --brand-2:#331D16;     /* accent brown */
  --ink:#00102E;         /* footer/nav dark */
  --surface:#F4F5F7;     /* light gray */
  --accent:#DDE1E1;      /* soft gray-green */
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block;border-radius:12px}

.container{width:min(1120px, 92vw);margin-inline:auto}
.stack > * + *{margin-top:1rem}
.section{padding: clamp(3rem, 6vw, 6rem) 0}
.section--split{background:linear-gradient(180deg, #fff 0, #fff 60%, var(--surface) 100%)}
.section--accent{background:var(--surface)}

/* Header */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;background:#000;color:#fff;padding:.5rem 1rem;border-radius:8px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,16,46,.9);backdrop-filter:saturate(120%) blur(10px)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none}
.brand__logo{border-radius:8px}
.brand__name{font-weight:700;letter-spacing:.3px}

.nav__menu ul{display:flex;align-items:center;gap:1rem;list-style:none;margin:0;padding:0}
.nav__menu a{color:#fff;text-decoration:none;padding:.5rem .75rem;border-radius:10px}
.nav__menu a:hover{background:rgba(255,255,255,.08)}
.btn{display:inline-block;padding:.75rem 1rem;border-radius:999px;text-decoration:none;font-weight:600}
.btn--primary{background:var(--brand);color:#fff}
.btn--primary:hover{background:#65759d}
.btn--ghost{border:2px solid rgba(255,255,255,.7);color:#fff;background:transparent}
.btn--ghost:hover{background:rgba(255,255,255,.08)}
.btn--inverse{background:#fff;color:var(--ink)}

/* Mobile nav */
.nav__toggle{display:none;flex-direction:column;gap:4px;background:transparent;border:0}
.nav__toggle-bar{width:28px;height:3px;background:#fff;border-radius:2px}
.sr-only{position:absolute;left:-9999px}

@media (max-width:900px){
  .nav__toggle{display:flex}
  .nav__menu{position:fixed;inset:64px 0 auto 0;background:var(--ink);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.2s ease;padding:1rem}
  .nav__menu[data-open="true"]{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav__menu ul{flex-direction:column;align-items:flex-start}
}

/* Hero */
.hero{position:relative;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-1}
.hero__image{width:100%;height:70vh;object-fit:cover;filter:brightness(.75)}
.hero__content{padding-top:clamp(4rem, 12vw, 12rem);padding-bottom:clamp(3rem, 10vw, 8rem);color:#fff}
.hero__title{font-size:clamp(1.8rem, 3.5vw, 3rem);line-height:1.15;margin:0 0 1rem}
.hero__subtitle{max-width:60ch;margin:0 0 1.5rem;color:#e7ecf7}
.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Grid */
.grid{display:grid;gap:clamp(1rem, 3vw, 2rem);align-items:center}
.grid--2{grid-template-columns:1.1fr .9fr}
@media (max-width:900px){.grid--2{grid-template-columns:1fr}}

.card-img{box-shadow:var(--shadow)}
.card-img--tall{max-height:560px;object-fit:cover;width:100%}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{display:flex;align-items:flex-start;gap:.5rem}
.checklist li::before{content:"✓";color:var(--brand);font-weight:700;margin-top:.2rem}

/* Events accent block */
.section--accent .stack h2{color:var(--heading)}
.section--accent .stack p{color:var(--text)}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery figure{margin:0}
.gallery img{width:100%;height:100%;object-fit:cover}
.gallery figure:nth-child(1){grid-column:span 7}
.gallery figure:nth-child(2){grid-column:span 5}
.gallery figure:nth-child(3){grid-column:span 12;max-height:420px}
@media (max-width:900px){
  .gallery{grid-template-columns:1fr}
  .gallery figure:nth-child(n){grid-column:1}
}

/* CTA */
.cta{background:linear-gradient(135deg, var(--brand), #4c5b85);color:#fff;padding: clamp(2.5rem, 6vw, 4rem) 0}
.cta__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}

/* Footer */
.site-footer{background:var(--ink);color:#fff;padding:1rem 0}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer__inner a{color:#fff}
.to-top{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);text-decoration:none}
.to-top:hover{background:rgba(255,255,255,.2)}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease, transform .5s ease}
.reveal.is-visible{opacity:1;transform:none}

/* Utility */
.muted{color:var(--muted)}
.actions{display:flex;gap:.75rem;flex-wrap:wrap}
