/* Shaolin Arts Center — shared stylesheet
   Palette derived from the organization's emblem. */
:root{
  --ink:#14100C; --ink-2:#1B120C; --paper:#FBF8F3; --card:#FFFFFF;
  --flame:#E14100; --flame-dk:#A83308; --gold:#E4B45A;
  --muted:#6B6259; --line:#EAE1D4; --alt:#F6F1E8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important}}
body{font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;background:var(--paper);
     color:var(--ink);line-height:1.65;font-size:1.05rem;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.15}
a{color:var(--flame-dk)}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:1020px;margin:0 auto;padding:0 1.6rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:100;background:var(--paper);color:var(--ink);padding:.7rem 1.2rem}

/* Nav */
nav{background:var(--ink);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(228,180,90,.18)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding:.7rem 1.6rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:40px;height:40px;filter:drop-shadow(0 0 10px rgba(225,65,0,.45))}
.brand span{font-family:'Marcellus',serif;color:var(--paper);font-size:1.08rem;letter-spacing:.05em;line-height:1.1}
nav ul{display:flex;gap:1.3rem;list-style:none;flex-wrap:wrap;align-items:center}
nav ul a{color:#CFC6B8;text-decoration:none;font-size:.83rem;letter-spacing:.09em;
         text-transform:uppercase;transition:color .2s;padding-bottom:2px}
nav ul a:hover{color:var(--gold)}
nav ul a[aria-current="page"]{color:var(--gold);border-bottom:2px solid var(--flame)}
.nav-give{background:var(--flame-dk);color:#fff!important;padding:.45rem 1rem;border-radius:2px}
.nav-give:hover{background:#8C2905;color:#fff!important}

/* Hero (home) */
.hero{background:radial-gradient(circle at 78% 45%,rgba(225,65,0,.20),transparent 55%),
      linear-gradient(180deg,#14100C 0%,#1B120C 100%);color:var(--paper);
      padding:5.5rem 0 5rem;overflow:hidden}
.hero .wrap{display:flex;gap:3.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hero-text{flex:1 1 440px;max-width:600px}
.hero h1{font-size:clamp(2.15rem,5vw,3.5rem);margin-bottom:1.25rem}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p{color:#B9AF9F;max-width:52ch;margin-bottom:2.1rem;font-size:1.1rem}
.emblem{flex:0 0 auto;width:min(300px,60vw)}
.emblem img{width:100%;filter:drop-shadow(0 14px 40px rgba(225,65,0,.35))}

/* Page header (interior pages) */
.pagehead{background:linear-gradient(180deg,#14100C 0%,#1B120C 100%);color:var(--paper);
          padding:3.4rem 0 3rem;border-bottom:2px solid var(--flame)}
.pagehead h1{font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:.7rem}
.pagehead p{color:#B9AF9F;max-width:62ch}

.eyebrow{display:block;color:var(--gold);font-size:.78rem;letter-spacing:.24em;
         text-transform:uppercase;margin-bottom:1.1rem}
section .eyebrow{color:var(--flame-dk)}

/* Buttons */
.btn{display:inline-block;background:var(--flame-dk);color:#fff;text-decoration:none;
     padding:.85rem 1.8rem;font-size:1rem;font-weight:600;border:1px solid var(--flame-dk);
     border-radius:2px;transition:background .2s,transform .2s}
.btn:hover{background:#8C2905;transform:translateY(-1px)}
.btn.ghost{background:transparent;border-color:rgba(228,180,90,.55);color:var(--gold);margin-left:.7rem}
.btn.ghost:hover{background:rgba(228,180,90,.12)}
.btn.dark{border-color:var(--ink);background:transparent;color:var(--ink);margin-left:.7rem}
.btn.dark:hover{background:var(--ink);color:var(--paper)}

/* Sections */
section{padding:4.2rem 0;border-bottom:1px solid var(--line)}
section h2{font-size:clamp(1.65rem,3.5vw,2.1rem);margin-bottom:1.1rem}
section h2::after{content:"";display:block;width:52px;height:2px;background:var(--gold);margin-top:1rem}
section h3{font-size:1.2rem;margin:1.9rem 0 .5rem}
.lead{max-width:66ch}
.lead + .lead{margin-top:1rem}
.alt{background:var(--alt)}
p.note{color:var(--muted);font-size:.95rem;max-width:66ch;margin-top:1rem}

.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin-top:2.2rem}
.card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--flame);
      padding:1.7rem;border-radius:2px;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(20,16,12,.09)}
.card h3{font-size:1.2rem;margin:0 0 .55rem}
.card p{color:var(--muted);font-size:.97rem}

/* Schedule table */
.sched{width:100%;border-collapse:collapse;margin-top:2rem;background:var(--card);
       border:1px solid var(--line)}
.sched caption{text-align:left;color:var(--muted);font-size:.95rem;padding-bottom:.7rem}
.sched th,.sched td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.sched thead th{background:var(--ink);color:var(--paper);font-family:'Source Sans 3',sans-serif;
                font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.sched tbody tr:last-child td{border-bottom:none}
.sched td.time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}

/* Definition lists */
dl.facts{margin-top:1.8rem;display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem}
dl.facts dt{font-weight:700;font-size:.88rem;letter-spacing:.05em;text-transform:uppercase}
dl.facts dd{color:var(--muted)}

/* Legal / policy text */
.policy p,.policy li{color:var(--muted);font-size:.96rem;max-width:72ch}
.policy ul{padding-left:1.3rem;margin-top:.4rem}
.policy li{margin-bottom:.3rem}

/* Footer */
footer{background:var(--ink);color:#ADA394;padding:3rem 0 2.4rem;font-size:.92rem;text-align:center}
footer img{width:56px;height:56px;margin:0 auto 1.1rem;opacity:.95}
footer .name{font-family:'Marcellus',serif;color:var(--paper);font-size:1.15rem;
             letter-spacing:.05em;margin-bottom:.7rem}
footer p{margin:.35rem 0}
footer a{color:var(--gold)}
footer nav{background:none;position:static;border:none;margin:.9rem 0 1.1rem}
footer nav ul{justify-content:center;gap:1.1rem}
.fine{font-size:.81rem;color:#847B6D;max-width:64ch;margin:.5rem auto 0}

@media (max-width:700px){
  .hero{padding:3.2rem 0 3.5rem}
  .hero .wrap{flex-direction:column-reverse;gap:2.2rem;text-align:center}
  .hero p{margin-left:auto;margin-right:auto}
  .emblem{width:min(210px,55vw)}
  .btn{display:block;text-align:center}
  .btn.ghost,.btn.dark{margin-left:0;margin-top:.7rem}
  dl.facts{grid-template-columns:1fr;gap:.15rem}
  dl.facts dt{margin-top:.9rem}
  nav ul{gap:.85rem}
  .sched th,.sched td{padding:.7rem .6rem;font-size:.93rem}
}
