/* Layout concept: a long, single-scroll trail down the mountainside —
   wide photographic clearings (hero, gallery) alternating with
   narrower "campfire" content bands, tied together by a rust trail-blaze
   accent and topo-line dividers. Shared across every page. */
:root{
  --bg:#f6f1e6;
  --surface:#ffffff;
  --surface-2:#eee5d3;
  --ink:#26291f;
  --ink-soft:#56584c;
  --pine:#2f4a3a;
  --pine-deep:#1d3328;
  --rust:#bb5a34;
  --rust-soft:#e0a177;
  --slate:#5c7a93;
  --gold:#c99a3f;
  --line:#ddd2b8;
  --shadow:0 18px 40px -22px rgba(29,51,40,.35);
  color-scheme:light;
  padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#161c17; --surface:#1f261f; --surface-2:#263028; --ink:#ece7d8; --ink-soft:#b9b6a6;
    --pine:#8fb39d; --pine-deep:#dfe9e1; --rust:#e08559; --rust-soft:#c97a4e; --slate:#8fb0c8;
    --gold:#e0b85c; --line:#38412f; --shadow:0 18px 40px -20px rgba(0,0,0,.6); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#161c17; --surface:#1f261f; --surface-2:#263028; --ink:#ece7d8; --ink-soft:#b9b6a6;
  --pine:#8fb39d; --pine-deep:#dfe9e1; --rust:#e08559; --rust-soft:#c97a4e; --slate:#8fb0c8;
  --gold:#e0b85c; --line:#38412f; --shadow:0 18px 40px -20px rgba(0,0,0,.6); color-scheme:dark;
}

*{box-sizing:border-box}
html{color-scheme:light dark}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Karla",system-ui,sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:600;margin:0;text-wrap:balance;color:var(--pine-deep)}
:root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] h4{color:var(--ink)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) h1, :root:not([data-theme="light"]) h2, :root:not([data-theme="light"]) h3, :root:not([data-theme="light"]) h4{color:var(--ink)} }
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(18px,4vw,40px)}
.eyebrow{
  font-family:"JetBrains Mono",monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--rust);
  font-weight:500;
}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"Karla",sans-serif;font-weight:700;font-size:.92rem;
  padding:13px 24px;border-radius:3px;border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .15s ease, background .15s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--rust);color:#fff6ec}
.btn-primary:hover{background:#a24d2a}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .btn-primary:hover{background:#c97140} }
:root[data-theme="dark"] .btn-primary:hover{background:#c97140}
.btn-ghost{background:transparent;border-color:color-mix(in srgb, var(--ink) 25%, transparent);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-light{background:#fff;color:var(--pine-deep)}
.btn-light:hover{background:#f3ead9}

/* ---- nav ---- */
header.nav{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding-block:16px;gap:12px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand-logo{height:46px;width:auto;margin-right:10px;flex-shrink:0}
.brand-logo-dark{display:none}
:root[data-theme="dark"] .brand-logo-light{display:none}
:root[data-theme="dark"] .brand-logo-dark{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .brand-logo-light{display:none}
  :root:not([data-theme="light"]) .brand-logo-dark{display:block}
}
.brand-name{font-family:"Fraunces",serif;font-weight:600;font-size:1.05rem;color:var(--pine-deep);line-height:1.25;display:block}
:root[data-theme="dark"] .brand-name{color:var(--ink)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .brand-name{color:var(--ink)} }
.brand-sub{font-size:.68rem;color:var(--ink-soft);letter-spacing:.04em;display:block}
nav.links{display:flex;gap:22px;font-size:.88rem;font-weight:600}
nav.links a{text-decoration:none;color:var(--ink-soft)}
nav.links a:hover,nav.links a[aria-current="page"]{color:var(--rust)}
.nav-cta{display:flex;align-items:center;gap:10px}
@media (max-width:800px){ nav.links{display:none} }
.nav-back{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;color:var(--ink-soft);text-decoration:none;flex-shrink:0}
.nav-back svg{width:20px;height:20px}
.nav-back:hover{color:var(--rust);background:color-mix(in srgb, var(--ink) 8%, transparent)}
@media (max-width:800px){ .nav-back{display:flex} }

.nav-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;flex-shrink:0;padding:0}
.nav-toggle svg{width:22px;height:22px}
.nav-toggle:hover{color:var(--rust);background:color-mix(in srgb, var(--ink) 8%, transparent)}
@media (max-width:800px){ .nav-toggle{display:flex} }
@media (max-width:800px){
  header.nav.menu-open nav.links{
    display:flex;flex-direction:column;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    padding:6px 0 calc(6px + env(safe-area-inset-bottom,0px));
    max-height:calc(100vh - 100%);overflow-y:auto;
  }
  header.nav.menu-open nav.links a{padding:14px 24px;font-size:1rem;border-top:1px solid var(--line)}
  header.nav.menu-open nav.links a:first-child{border-top:0}
}

/* ---- hero ---- */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-inner{position:relative;padding-block:56px clamp(40px,7vw,76px);width:100%;display:flex;justify-content:flex-end}
.hero-panel{
  color:#fff;
  max-width:640px;
  padding:28px 32px;
  border-radius:14px;
  background:rgba(8,12,9,.46);
  backdrop-filter:blur(10px) saturate(1.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);
  box-shadow:0 8px 32px rgba(0,0,0,.25);
}
.hero-panel .eyebrow{color:var(--gold);font-weight:700;letter-spacing:.09em}
.hero h1{color:#fff;font-weight:700;font-size:clamp(2.1rem,5vw,3.6rem);line-height:1.04;margin-block:14px 16px;max-width:16ch;letter-spacing:-.01em}
.hero p{max-width:46ch;font-size:1.08rem;color:#f5f1e4;margin-bottom:26px;line-height:1.5}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}

/* ---- page header (sub-pages) ---- */
.page-header{padding-block:clamp(44px,7vw,72px) 28px}
.page-header .eyebrow{display:block;margin-bottom:10px}
.page-header h1{font-size:clamp(2rem,4.4vw,3.1rem)}
.page-header p{color:var(--ink-soft);margin-top:14px;max-width:60ch;font-size:1.03rem}

/* ---- section scaffolding ---- */
section{padding-block:clamp(56px,8vw,96px)}
.section-head{max-width:640px;margin-bottom:40px}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-top:10px}
.section-head p{color:var(--ink-soft);margin-top:14px;font-size:1.03rem}
.divider{height:1px;background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px)}

.band-dark{background:#162720;color:#f3efe1}
:root[data-theme="dark"] .band-dark{background:#10150f}
.band-dark h2,.band-dark h3,.band-dark h4{color:#f6f2e4}
.band-dark .eyebrow{color:var(--rust-soft)}
.band-dark .section-head p{color:#cdd3c6}

.band-surface{background:var(--surface)}
.band-2{background:var(--surface-2)}

/* ---- about strip ---- */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:820px){ .about-grid{grid-template-columns:1fr} }
.stat-row{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap}
.stat b{display:block;font-family:"Fraunces",serif;font-size:2rem;color:var(--rust)}
.stat span{font-size:.82rem;color:var(--ink-soft)}
.about-photo{position:relative;border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
.about-photo img{aspect-ratio:4/5;object-fit:cover}

/* ---- gallery carousel (filmstrip) ---- */
.carousel-wrap{position:relative}
.carousel{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  padding-bottom:14px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  scrollbar-color:var(--rust) var(--surface-2);
}
.carousel::-webkit-scrollbar{height:8px}
.carousel::-webkit-scrollbar-track{background:var(--surface-2);border-radius:4px}
.carousel::-webkit-scrollbar-thumb{background:var(--rust);border-radius:4px}
.carousel figure{
  margin:0;flex:none;height:380px;scroll-snap-align:start;
  border-radius:4px;overflow:hidden;background:var(--surface-2);
  box-shadow:var(--shadow);
}
.carousel img{height:100%;width:auto;display:block;object-fit:cover}
.carousel-nav{
  position:absolute;top:calc(50% - 21px);width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:var(--shadow);transition:background .15s ease;
}
.carousel-nav:hover{background:var(--surface-2)}
.carousel-nav.prev{left:-8px}
.carousel-nav.next{right:-8px}
@media (max-width:760px){
  .carousel figure{height:260px}
  .carousel-nav{display:none}
}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-note{
  margin-top:18px;border:1px dashed var(--line);border-radius:4px;
  padding:16px 18px;display:flex;align-items:center;gap:14px;color:var(--ink-soft);font-size:.9rem;
}
.video-note svg{flex:none;color:var(--rust)}

/* ---- teaser cards (home) ---- */
.teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:900px){ .teaser-grid{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .teaser-grid{grid-template-columns:1fr} }
.teaser-card{
  display:block;text-decoration:none;background:var(--surface);border-radius:5px;overflow:hidden;
  box-shadow:var(--shadow);
}
.teaser-card img{aspect-ratio:4/3;object-fit:cover}
.teaser-card .pad{padding:16px 18px 20px}
.teaser-card h3{font-size:1.05rem}
.teaser-card .arrow{font-size:.82rem;color:var(--rust);font-weight:700;margin-top:8px;display:inline-block}

/* ---- lodging cards ---- */
.lodge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){ .lodge-grid{grid-template-columns:1fr 1fr} }
@media (max-width:620px){ .lodge-grid{grid-template-columns:1fr} }
.lodge-card{background:var(--surface);border-radius:5px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s ease}
a.lodge-card:hover{transform:translateY(-2px)}
.lodge-card img{aspect-ratio:4/3;object-fit:cover}
.lodge-card .photo-placeholder{aspect-ratio:4/3}
.lodge-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.lodge-body h3{font-size:1.2rem}
.lodge-rate{font-family:"JetBrains Mono",monospace;font-size:.78rem;color:var(--rust);font-weight:500}
.lodge-body ul{margin:4px 0 0;padding-left:18px;color:var(--ink-soft);font-size:.9rem;display:flex;flex-direction:column;gap:4px}
.lodge-body .see-inside{font-size:.82rem;color:var(--rust);font-weight:700;margin-top:6px;display:inline-block}

/* ---- activity chips ---- */
.activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:860px){ .activity-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .activity-grid{grid-template-columns:1fr} }
.activity-card{background:var(--surface);border-radius:4px;overflow:hidden;box-shadow:var(--shadow)}
.activity-card img{aspect-ratio:5/4;object-fit:cover}
.activity-card .pad{padding:14px 16px 18px}
.activity-card h4{font-size:1rem}
.activity-card .price{font-family:"JetBrains Mono",monospace;font-size:.72rem;color:var(--ink-soft);margin-top:4px;display:block}
.free-list{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.free-list li{
  font-size:.84rem;font-weight:600;padding:8px 14px;border-radius:20px;
  background:var(--surface-2);border:1px solid var(--line);color:var(--pine-deep)
}
:root[data-theme="dark"] .free-list li{color:var(--ink)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .free-list li{color:var(--ink)} }

/* ---- events / rentals ---- */
.event-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.event-tab{
  font-family:"Karla",sans-serif;font-weight:700;font-size:.86rem;
  padding:10px 18px;border-radius:20px;border:1.5px solid var(--line);
  background:transparent;color:var(--ink-soft);cursor:pointer;
}
.event-tab[aria-selected="true"]{background:var(--pine);border-color:var(--pine);color:#f3efe1}
.event-panels{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media (max-width:900px){ .event-panels{grid-template-columns:1fr} }
.event-panel[hidden]{display:none}
.event-panel h3{font-size:1.35rem;margin-bottom:10px}
.event-panel p{color:var(--ink-soft)}
.event-panel ul{margin:16px 0 0;padding-left:20px;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.event-panel .panel-photo{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;margin-bottom:16px;box-shadow:var(--shadow)}
.register-block{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:#162720;color:#fdf7ea;border-radius:8px;padding:26px 30px;margin-bottom:36px;
}
.register-block h3{color:#fff;font-size:1.2rem;margin-bottom:6px}
.register-block p{color:#d8e0d2;font-size:.92rem;max-width:48ch}
.register-block .btn-primary{flex:none;white-space:nowrap}
@media (max-width:600px){ .register-block{padding:22px} }
.notice{
  margin-top:18px;padding:12px 16px;border-left:3px solid var(--rust);
  background:color-mix(in srgb, var(--rust) 10%, transparent);
  font-size:.86rem;color:var(--ink);border-radius:0 3px 3px 0;
}

.form-card{background:var(--surface);border-radius:6px;box-shadow:var(--shadow);padding:clamp(20px,3vw,32px)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-size:.82rem;font-weight:700;color:var(--ink)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){ .two-col{grid-template-columns:1fr} }
input,select,textarea{
  font-family:"Karla",sans-serif;font-size:.95rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:4px;
  padding:10px 12px;width:100%;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--slate);outline-offset:1px}
textarea{resize:vertical;min-height:90px}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;flex-wrap:wrap}
.form-note{font-size:.76rem;color:var(--ink-soft)}
#form-status{font-size:.86rem;font-weight:600;min-height:1.2em}
#form-status.ok{color:var(--pine)}
#form-status.err{color:var(--rust)}

/* ---- calendar ---- */
.cal-grid{display:grid;grid-template-columns:1fr;max-width:640px}
.cal-list{display:flex;flex-direction:column}
.cal-row{
  display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:baseline;
  padding-block:14px;border-top:1px solid var(--line);
}
.cal-row:last-child{border-bottom:1px solid var(--line)}
.cal-date{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--rust);font-weight:500}
.cal-info{display:flex;flex-direction:column;gap:5px}
.cal-name{font-weight:700}
.cal-sub{font-size:.8rem;color:var(--ink-soft)}
.cal-badge{
  align-self:center;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;
}
.booking-steps{display:flex;flex-direction:column;gap:0}
.bstep{display:grid;grid-template-columns:30px 1fr;gap:14px;padding-bottom:26px;position:relative}
.bstep:not(:last-child)::before{
  content:"";position:absolute;left:14px;top:30px;bottom:0;width:1px;background:var(--line);
}
.bstep b.num{
  width:30px;height:30px;border-radius:50%;background:var(--pine);color:#f3efe1;
  display:flex;align-items:center;justify-content:center;font-family:"JetBrains Mono",monospace;font-size:.82rem;font-weight:500;
}
.bstep h4{font-size:.98rem;margin-bottom:4px}
.bstep p{color:var(--ink-soft);font-size:.9rem}

/* ---- history page ---- */
.photo-placeholder{
  border:2px dashed var(--line);border-radius:6px;background:var(--surface-2);
  display:flex;align-items:center;justify-content:center;text-align:center;
  aspect-ratio:4/5;padding:20px;color:var(--ink-soft);font-size:.86rem;
}
.photo-placeholder.wide{aspect-ratio:16/7}
.photo-placeholder span{max-width:22ch}
.framed-photo{border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.framed-photo img{width:100%;display:block}
.history-timeline{display:flex;flex-direction:column;gap:0}
.hstep{display:grid;grid-template-columns:90px 1fr;gap:20px;padding-bottom:36px;position:relative}
.hstep:not(:last-child)::before{
  content:"";position:absolute;left:44px;top:56px;bottom:0;width:1px;background:var(--line);
}
.hstep .year{
  width:88px;height:88px;border-radius:50%;background:var(--pine);color:#f3efe1;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:"JetBrains Mono",monospace;font-size:1rem;font-weight:500;line-height:1.1;flex:none;
}
.hstep .year.empty{background:transparent;border:2px dashed color-mix(in srgb, var(--pine) 55%, transparent)}
.hstep .year-label{
  display:block;font-family:"JetBrains Mono",monospace;font-size:.76rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--rust);margin-bottom:5px;
}
.hstep h4{font-size:1.05rem;margin-bottom:6px}
.hstep p{color:var(--ink-soft);font-size:.92rem}
.placeholder-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media (max-width:760px){ .placeholder-row{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .placeholder-row{grid-template-columns:1fr} }
.sources-note{color:var(--ink-soft);font-size:.78rem;line-height:1.7;border-top:1px solid var(--line);padding-top:18px}
.sources-note a{color:var(--rust);text-decoration:underline;text-underline-offset:2px}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.archive-grid figure{margin:0;border-radius:6px;overflow:hidden;box-shadow:var(--shadow);background:var(--surface-2)}
.archive-grid img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}
@media (max-width:760px){ .archive-grid{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .archive-grid{grid-template-columns:1fr} }

/* ---- lodge floor plans ---- */
.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:8px}
.plan-grid.plan-grid-3{grid-template-columns:repeat(3,1fr)}
.plan-item{margin:0}
.plan-item .framed-photo{border:1px solid var(--line)}
.plan-item img{width:100%;display:block;background:#fff}
.plan-item figcaption{margin-top:10px;font-weight:700;font-size:.9rem;color:var(--ink)}
@media (max-width:760px){ .plan-grid, .plan-grid.plan-grid-3{grid-template-columns:1fr} }

/* ---- contact page ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr} }
.contact-card{background:var(--surface);border-radius:5px;box-shadow:var(--shadow);padding:26px 28px}
.contact-card h3{font-size:1.1rem;margin-bottom:6px}
.contact-card p{color:var(--ink-soft);font-size:.92rem;margin-top:4px}
.contact-card .big{font-family:"JetBrains Mono",monospace;font-size:1rem;color:var(--pine-deep);margin-top:10px;display:flex;align-items:center;gap:10px}
:root[data-theme="dark"] .contact-card .big{color:var(--ink)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .contact-card .big{color:var(--ink)} }

/* ---- staff directory ---- */
.team-list{display:flex;flex-direction:column}
.team-row{display:grid;grid-template-columns:200px 1fr;gap:clamp(24px,4vw,40px);padding-block:30px;border-top:1px solid var(--line);align-items:start}
.team-list .team-row:last-child{border-bottom:1px solid var(--line)}
.team-row .photo-placeholder{aspect-ratio:4/5;width:100%}
.team-photo{border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.team-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
@media (max-width:620px){ .team-row{grid-template-columns:1fr} }
.staff-body{padding:0}
.staff-body h3{font-size:1.1rem}
.staff-role{font-family:"JetBrains Mono",monospace;font-size:.76rem;color:var(--rust);font-weight:500;display:block;margin-top:4px}
.staff-email{font-size:.84rem;color:var(--pine-deep);margin-top:10px;display:block;word-break:break-all}
:root[data-theme="dark"] .staff-email{color:var(--ink)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .staff-email{color:var(--ink)} }
.staff-blurb{margin-top:10px;font-size:.92rem;color:var(--ink-soft);max-width:68ch}

/* ---- footer ---- */
footer{background:#162720;color:#e9e5d4;padding-block:56px 32px}
:root[data-theme="dark"] footer{background:#10150f}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
@media (max-width:760px){ .foot-grid{grid-template-columns:1fr;gap:28px} }
footer h4{color:#f6f2e4;font-size:.95rem;margin-bottom:12px}
footer a{text-decoration:none;color:#cdd3c6;font-size:.9rem}
footer a:hover{color:#fff}
.foot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot-bottom{
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:#a7ad9b;
}
.copy-btn{background:none;border:1px solid rgba(255,255,255,.25);color:#e9e5d4;border-radius:4px;padding:3px 9px;font-size:.72rem;cursor:pointer;margin-left:8px}
.copy-btn.on-light{border-color:var(--line);color:var(--ink)}
