/* Denver Mining Club - Option E "Friendly". Colours and sizes come from the approved design. */
@font-face{font-family:Fraunces;font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/fraunces-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:Fraunces;font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/fraunces-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/nunito-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/nunito-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/nunito-sans-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/nunito-sans-latin-800-normal.woff2') format('woff2')}

:root{
  --bg:#FFF9EE; --band:#FBEFD8; --sun:#FFF1CF; --card:#FFFFFF; --ink:#2A1F17; --muted:#65554A;
  --rule:#EBD9B8; --accent:#B4491A; --gold:#F4B73F; --seal:#F6E7A8; --focus:#1F6B66;
  --serif:Fraunces,Georgia,serif; --sans:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.12;margin:0}
p{margin:0 0 14px}
.wrap{max-width:1160px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(40px,6vw,80px)}
.band{background:var(--band)}
.sun{background:var(--sun)}
.eyebrow{margin:0 0 8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;color:var(--accent)}
.h2{font-size:clamp(1.75rem,4vw,2.625rem);margin:0 0 12px}
.h3{font-size:1.4375rem;line-height:1.2}
.lede{color:var(--muted);max-width:40em;margin:0 0 28px}
.muted{color:var(--muted)}
.prose{max-width:40em}
.prose p{margin:0 0 16px}
.prose h2{font-size:1.75rem;margin:32px 0 10px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:12px 18px;z-index:10;font-weight:800}
.skip:focus{left:8px;top:8px;color:var(--bg)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons and chips: pill-shaped, at least 48px tall */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:2px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:800 1rem var(--sans);text-decoration:none;cursor:pointer;text-align:center}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-lg{min-height:56px;padding:0 30px;font-size:1.0625rem}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.chip{min-height:48px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:800 .9375rem var(--sans);cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.chip[aria-pressed="true"],.chip.on{background:var(--ink);color:var(--bg)}

/* header */
.hdr{background:var(--bg);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 200px;text-decoration:none;color:var(--ink)}
.seal{position:relative;display:block;flex:none;width:50px;height:50px;border-radius:50%;background:var(--seal);border:2px solid var(--gold);overflow:hidden}
.seal img{position:absolute;inset:7%;width:86%;height:86%;mix-blend-mode:multiply}
.brand-txt{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-name{font-family:var(--serif);font-weight:800;font-size:1.375rem}
.brand-tag{font-size:.875rem;color:var(--muted);font-weight:600}
.mainnav{display:flex;align-items:center;flex-wrap:wrap;gap:0 26px;font-weight:700;font-size:1rem}
.mainnav a{color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:3px solid transparent}
.mainnav a:hover{color:var(--accent)}
.mainnav a[aria-current="page"],.mainnav a.here{border-bottom-color:var(--gold)}
.mainnav .sub{display:none}
.hdr-end{display:flex;align-items:center;gap:10px;order:3}
.mainnav{order:2}
@media (min-width:861px){.brand{flex:0 1 auto}}
.hdrcta{min-height:46px;font-size:.9375rem}
.menubtn{display:none;min-width:48px}
@media (max-width:860px){
  .js .menubtn{display:inline-flex}
  .js .mainnav{display:none}
  .mainnav{order:4;flex:1 1 100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--rule);margin-top:4px}
  .js .mainnav.open{display:flex}
  .mainnav a{padding:14px 4px;border-bottom:1px solid var(--rule);font-size:1.0625rem}
  .mainnav a[aria-current="page"],.mainnav a.here{border-bottom-color:var(--rule);color:var(--accent)}
  .mainnav .sub{display:block;padding-left:22px;font-weight:600}
}
@media (max-width:520px){.hdrcta{display:none}}
.subnav{background:var(--sun);border-bottom:1px solid var(--rule)}
.subnav .wrap{display:flex;flex-wrap:wrap;gap:0 26px;font-weight:700}
.subnav a{color:var(--ink);text-decoration:none;padding:13px 0;border-bottom:3px solid transparent}
.subnav a[aria-current="page"]{border-bottom-color:var(--accent)}

/* page heading band for inner pages */
.pagehead{background:linear-gradient(180deg,var(--sun) 0%,var(--bg) 100%)}
.pagehead .wrap{padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(20px,3vw,32px)}
.pagehead h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;margin:0 0 12px}
.pagehead .lede{margin:0;font-size:1.1875rem}
.crumb{font-weight:700;margin:0 0 14px;font-size:1rem}
.crumb a{display:inline-block;padding:10px 0}

/* home hero */
.hero{background:linear-gradient(180deg,var(--sun) 0%,var(--bg) 100%)}
.hero .wrap{padding-top:clamp(36px,6vw,72px);padding-bottom:clamp(40px,5vw,56px)}
.hero-txt{text-align:center;max-width:820px;margin:0 auto}
.pill-note{display:inline-block;margin:0 0 18px;padding:7px 16px;background:var(--card);border:1px solid var(--rule);border-radius:999px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;color:var(--accent)}
.hero h1{font-size:clamp(2.25rem,6vw,4.25rem);line-height:1.05}
.hero .sub{margin:20px auto 28px;font-size:1.25rem;max-width:34em;color:var(--muted)}
.hero .btn-row{justify-content:center;gap:14px}
.hero figure{margin:44px 0 0;position:relative}
.banner{display:block;width:100%;aspect-ratio:20/9;object-fit:cover;border-radius:24px;box-shadow:0 14px 40px rgba(42,31,23,.18);background:#fff}
.hero .imgwrap{position:relative}
.hero .bigseal{position:absolute;left:clamp(14px,3vw,34px);bottom:-48px;width:clamp(84px,10vw,116px);aspect-ratio:1/1;border-radius:50%;background:var(--seal);border:5px solid #fff;box-shadow:0 6px 18px rgba(42,31,23,.2);overflow:hidden}
.hero .bigseal img{position:absolute;inset:7%;width:86%;height:86%;mix-blend-mode:multiply}
.hero figcaption{margin-top:14px;text-align:right;font-size:.9375rem;color:var(--muted);padding-left:clamp(110px,13vw,160px);min-height:44px}
@media (max-width:760px){.banner{aspect-ratio:16/9}.hero figcaption{text-align:left}}

/* cards */
.card{background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:26px;box-shadow:0 6px 20px rgba(42,31,23,.06)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.num{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--ink);font-family:var(--serif);font-weight:800;font-size:1.25rem}
.card h2.h3,.card h3.h3{margin:14px 0 6px}
.card p{margin:0;color:var(--muted)}
.way{display:flex;flex-direction:column;gap:10px;padding:24px}
.way .eyebrow{margin:0;font-size:.75rem}
.way h2,.way h3{margin:0}
.way p{font-size:1rem}
.way .btn,.way form{margin-top:auto}

/* next meeting */
.next{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;background:var(--card);border:1px solid var(--rule);border-left:8px solid var(--gold);border-radius:20px;padding:22px 26px;box-shadow:0 6px 20px rgba(42,31,23,.06)}
.next-date{flex:0 0 auto;text-align:center;line-height:1;background:var(--sun);border-radius:16px;padding:12px 20px}
.next-date .d{font-family:var(--serif);font-weight:800;font-size:2.5rem;margin-top:4px}
.next-body{flex:1 1 280px;min-width:0}
.next-body .eyebrow{margin:0}
.next-title{margin:4px 0 0;font-weight:800;font-size:1.3125rem;line-height:1.3}
.next-title a{color:var(--ink);text-decoration:none}
.next-title a:hover{color:var(--accent);text-decoration:underline}
.next-where{margin:2px 0 0;color:var(--muted);font-size:1rem}

/* visit */
.two{display:flex;flex-wrap:wrap;gap:32px 48px}
.facts{flex:1 1 360px;min-width:0;margin:0;background:var(--card);border:1px solid var(--rule);border-radius:20px;padding:8px 24px;align-self:flex-start}
.facts>div{display:flex;flex-wrap:wrap;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--rule)}
.facts>div:last-child{border-bottom:0}
.facts dt{flex:0 0 84px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8125rem;color:var(--accent);padding-top:3px}
.facts dd{flex:1 1 220px;margin:0}
.steps{flex:1.2 1 400px;min-width:0;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.steps li{display:flex;gap:16px;align-items:flex-start}
.steps b{display:block;font-weight:800}
.steps span.t{color:var(--muted)}

/* talks */
.search{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.search input[type=search]{flex:1 1 260px;min-width:0;min-height:50px;padding:0 18px;font:inherit;background:var(--card);color:var(--ink);border:2px solid var(--ink);border-radius:999px}
.search select{min-height:48px;padding:0 14px;font:700 1rem var(--sans);background:var(--card);color:var(--ink);border:2px solid var(--ink);border-radius:999px}
.talks{list-style:none;margin:0;padding:0}
.talk{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:flex-start;padding:16px 20px;margin-bottom:10px;background:var(--card);border:1px solid var(--rule);border-radius:16px}
.talk time{flex:0 0 150px;font-weight:700;font-size:.9375rem;color:var(--accent);padding-top:3px}
.talk .body{flex:1 1 300px;min-width:0}
.talk h3{margin:0;font-family:var(--sans);font-size:1.125rem;line-height:1.35;font-weight:800}
.talk h3.plain{font-weight:600}
.talk h3 a{color:var(--ink);text-decoration:none;display:inline-block;padding:2px 0}
.talk h3 a:hover{color:var(--accent);text-decoration:underline}
.talk p{margin:2px 0 0;color:var(--muted);font-size:1rem}
.tag{font-weight:800;font-size:.8125rem;padding:4px 12px;border-radius:999px;white-space:nowrap;border:1px solid var(--muted);color:var(--muted)}
.tag.up{background:var(--accent);border-color:var(--accent);color:#fff}
.tag.q{border-style:dashed}
.count{color:var(--muted);margin:0 0 14px;font-weight:600}
.years{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 0}
.years a{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:48px;padding:0 12px;border:1px solid var(--rule);border-radius:12px;background:var(--card);font-weight:700;text-decoration:none;color:var(--ink)}
.years a:hover,.years a[aria-current="page"]{border-color:var(--accent);color:var(--accent)}
.note{background:var(--sun);border:1px solid var(--rule);border-left:6px solid var(--gold);border-radius:14px;padding:14px 18px;margin:0 0 20px;max-width:46em}
.talkpage h1{font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.12}
.talkpage h1.plain{font-size:clamp(1.375rem,3vw,1.875rem);line-height:1.25;font-family:var(--sans)}
.talkpage .who{font-size:1.25rem;color:var(--muted);margin:12px 0 0}
.talkpage .when{font-weight:800;color:var(--accent);margin:0 0 10px;font-size:1.0625rem}
.pn{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:36px}

/* photos */
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px;list-style:none;margin:0;padding:0}
.photo{margin:0;background:var(--card);border-radius:20px;padding:10px 10px 16px;box-shadow:0 8px 24px rgba(42,31,23,.12)}
.photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 12%;border-radius:12px;background:#fff}
.photo figcaption{padding:12px 8px 0;font-size:1rem;line-height:1.4}
.photo figcaption b{display:block;font-weight:800}
.photo figcaption a{color:var(--ink);text-decoration:none;font-weight:700}
.photo figcaption a:hover{text-decoration:underline;color:var(--accent)}
.photo figcaption span{color:var(--muted);display:block;margin-top:4px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.gallery a{display:block;border-radius:14px;overflow:hidden;background:var(--card);box-shadow:0 4px 14px rgba(42,31,23,.1)}
.gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 12%}
.gallery .cap{display:block;padding:8px 4px 0;font-size:.9375rem;line-height:1.35;color:var(--muted)}
.talkphoto{margin:28px 0 0;max-width:760px}
.talkphoto img{display:block;border-radius:20px;box-shadow:0 8px 24px rgba(42,31,23,.12)}
.talkphoto figcaption{margin-top:10px;color:var(--muted);font-size:1rem}

/* about */
.quote{margin:0 0 32px;border-left:5px solid var(--gold);padding-left:18px;font:italic 600 1.4375rem/1.35 var(--serif);max-width:24em}
.quote cite{display:block;margin-top:8px;font:normal 700 .875rem var(--sans);color:var(--muted)}
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.rows li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--rule)}
.rows li span{font-size:.9375rem;color:var(--muted)}
.officers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;list-style:none;margin:0;padding:0}
.officer{display:flex;gap:14px;align-items:center;padding:12px 16px;background:var(--card);border:1px solid var(--rule);border-radius:16px}
.officer .ini{flex:none;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:1.0625rem}
.officer b{display:block;font-weight:800;line-height:1.25}
.officer span.r{font-size:.875rem;color:var(--accent);font-weight:700}

/* events */
.event{margin-bottom:14px}
.event h3{font-family:var(--sans);font-weight:800;font-size:1.1875rem;line-height:1.3;margin:0 0 4px}
.event .when{font-weight:800;color:var(--accent);margin:0 0 6px}
.event p{color:var(--ink)}
.event p.muted{color:var(--muted)}
.event p+p{margin-top:6px}

/* forms */
.form{display:flex;flex-direction:column;gap:14px;max-width:560px}
.form label{font-weight:700;font-size:1rem;display:block;margin-bottom:4px}
.form input,.form select,.form textarea,.way input{width:100%;min-height:48px;padding:10px 14px;font:inherit;background:var(--bg);color:var(--ink);border:2px solid var(--ink);border-radius:12px}
.form textarea{min-height:160px;resize:vertical}
.way form{display:flex;flex-direction:column;gap:8px}
.way label{font-size:.9375rem;font-weight:700}
.hp{position:absolute;left:-9999px}
.formnote{font-weight:700;color:var(--ink);background:var(--sun);border:1px dashed var(--accent);border-radius:12px;padding:10px 14px;margin:0;font-size:.9375rem}

/* footer */
.ft{background:var(--ink);color:var(--bg)}
.ft-in{padding-top:44px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:28px 48px}
.ft p{margin:0;color:#E8DCC6;font-size:1rem}
.ft .name{font-family:var(--serif);font-weight:800;font-size:1.3125rem;color:var(--bg);margin:0 0 12px}
.ft .eyebrow{color:var(--gold);font-size:.75rem}
.ft a{color:var(--bg)}
.ft a:hover{color:var(--gold)}
.ft a:focus-visible{outline-color:var(--gold)}
.ft .c1{flex:1.4 1 300px;min-width:0}
.ft .c2{flex:1 1 220px;min-width:0}
.fnav{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:0 24px;border-top:1px solid rgba(255,249,238,.2);padding-top:12px;font-weight:700}
.fnav a{padding:12px 0;text-decoration:none}
.ft .copy{flex:1 1 100%;color:#CDBFA4;font-size:.875rem}
[hidden]{display:none !important}
