/* ══════════════════════════════════════════════════════════════════════
   B|DnA — shared neumorphic stylesheet (sage on light greige)
   Used by every page. Page-specific styles live inline in each page.
   ══════════════════════════════════════════════════════════════════════ */
:root{
  --bg:#ECE8E2; --ink:#3F4D49; --gray:#847F78; --accent:#56716A; --accent-dim:#3F5650;
  --soft:rgba(86,113,106,.22); --track:#DCD6CD; --line:#DDD7CF;
  --amber:#C08A5F; --ochre:#B39B5C; --red:#C0614F; --blue:#6E8FA0;
  --radius:30px;
  --raised:10px 10px 22px rgba(178,168,155,.55),-10px -10px 22px rgba(255,255,255,.95);
  --raised-lg:18px 18px 40px rgba(178,168,155,.55),-16px -16px 36px rgba(255,255,255,.95);
  --raised-sm:5px 5px 11px rgba(178,168,155,.55),-5px -5px 11px rgba(255,255,255,.95);
  --inset:inset 5px 5px 10px rgba(178,168,155,.55),inset -5px -5px 10px rgba(255,255,255,.95);
  --inset-sm:inset 3px 3px 6px rgba(178,168,155,.55),inset -3px -3px 6px rgba(255,255,255,.95);
  --font:'Jost',system-ui,sans-serif;
  /* legacy names used in older inline styles */
  --white:var(--ink); --black:var(--bg); --surface:var(--bg); --surface2:var(--bg);
  --font-display:var(--font); --font-body:var(--font);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html,body{background:var(--bg);}
body{font-family:var(--font);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;}
img{max-width:100%;display:block;}
a{color:inherit;}
button,input,textarea,select{font-family:inherit;color:inherit;}
.mdi:before{line-height:1;}
::selection{background:var(--soft);}

/* ── nav ─────────────────────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:1rem;
    padding:1rem 2rem;background:rgba(236,232,226,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    box-shadow:0 6px 18px rgba(178,168,155,.35);}
.nav-logo{font-size:20px;font-weight:600;letter-spacing:.04em;color:var(--ink);text-decoration:none;}
.nav-logo span{color:var(--accent);}
.nav-right{display:flex;align-items:center;gap:1.5rem;}
.nav-links{display:flex;gap:1.6rem;}
.nav-links a{font-size:12px;font-weight:500;color:var(--gray);text-decoration:none;letter-spacing:.22em;text-transform:uppercase;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-links a.active{border-bottom:2px solid var(--accent);padding-bottom:3px;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:var(--bg);border:none;cursor:pointer;padding:10px 9px;border-radius:12px;
  z-index:1001;box-shadow:var(--raised-sm);-webkit-tap-highlight-color:transparent;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;transform-origin:center;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
#mob-nav{display:none;position:fixed;inset:0;background:var(--bg);z-index:1000;flex-direction:column;justify-content:center;align-items:center;gap:6px;}
#mob-nav.open{display:flex;}
#mob-nav a{font-size:20px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gray);text-decoration:none;padding:1rem 0;width:80%;text-align:center;border-radius:18px;}
#mob-nav a.active{color:var(--accent);box-shadow:var(--inset);}

/* ── layout ──────────────────────────────────────────────────────────── */
.wrap{max-width:1240px;margin:0 auto;padding:0 2rem;}
section{padding:5rem 0;}
.section-label{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;}
.section-label::before{content:'';width:28px;height:2px;border-radius:2px;background:var(--accent);}
.section-title{font-size:clamp(34px,5vw,60px);font-weight:500;line-height:1.05;letter-spacing:-.01em;color:var(--ink);margin-bottom:1.4rem;}
.section-title em{font-style:normal;color:var(--accent);}
.section-body{font-size:18px;line-height:1.7;color:var(--gray);max-width:620px;}

/* ── cards ───────────────────────────────────────────────────────────── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:3rem;}
.card{background:var(--bg);border-radius:var(--radius);box-shadow:var(--raised);padding:30px 28px;display:flex;flex-direction:column;}
.card-num{font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
.card h3{font-size:24px;font-weight:500;line-height:1.2;margin-bottom:.8rem;color:var(--ink);}
.card p{font-size:15px;color:var(--gray);line-height:1.65;}
.card .card-cta{margin-top:auto;padding-top:1.6rem;}
.icon-well{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:var(--accent);box-shadow:var(--inset-sm);margin-bottom:1.4rem;}

/* ── buttons ─────────────────────────────────────────────────────────── */
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:20px;font-size:12px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:box-shadow .2s,transform .2s;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:6px 6px 14px rgba(63,86,80,.35),-6px -6px 14px rgba(255,255,255,.9);}
.btn-primary:active{box-shadow:inset 3px 3px 7px rgba(30,45,41,.45);}
.btn-ghost{background:var(--bg);color:var(--accent);box-shadow:var(--raised-sm);}
.btn-ghost:active{box-shadow:var(--inset-sm);}
.btn-sm{padding:11px 20px;font-size:11px;}

/* ── chips / pills ───────────────────────────────────────────────────── */
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:16px;box-shadow:var(--inset-sm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);white-space:nowrap;}
.chip .mdi{font-size:16px;color:var(--accent);}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ── recessed frame (images, video, maps) ────────────────────────────── */
.frame{position:relative;border-radius:var(--radius);padding:12px;box-shadow:var(--inset);}
.frame img,.frame video,.frame iframe{width:100%;height:100%;object-fit:cover;border-radius:20px;display:block;}

/* ── footer ──────────────────────────────────────────────────────────── */
footer{border-top:1px solid var(--line);padding:2.5rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.4rem;}
footer .logo{font-size:18px;font-weight:600;letter-spacing:.04em;}
footer .logo span{color:var(--accent);}
footer p,footer span{font-size:13px;color:var(--gray);}
footer a{font-size:13px;color:var(--gray);text-decoration:none;letter-spacing:.06em;}
footer a:hover{color:var(--accent);}

/* ── reveal on scroll ────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* ── mobile ──────────────────────────────────────────────────────────── */
@media(max-width:700px){
  .nav-hamburger{display:flex;}.nav-links,#desk-nav{display:none!important;}
  nav{padding:.9rem 1rem;}
  .wrap{padding:0 1rem;}
  section{padding:3.5rem 0;}
  .card-grid{gap:22px;margin-top:2rem;}
  .card{padding:24px 22px;}
  .section-body{font-size:16px;}
  footer{padding:2rem 1rem;}
}
