/* Traditional “Rooted” — teal, sand, copper. Body is Atkinson Hyperlegible. */
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Lora-500-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Lora-500-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/Lora-600-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/Lora-600-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-400-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-400-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-700-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/AtkinsonHyperlegible-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --hf:"Lora",Georgia,serif;
  --bf:"Atkinson Hyperlegible","Source Sans 3",system-ui,sans-serif;
  --bg:#fff;
  --alt:#f6f1ea;
  --card:#fff;
  --ink:#1d2b2c;
  --head:#104547;
  --muted:#3e4c4d;
  --acc:#7a4a22;
  --acc2:#104547;
  --onacc:#fff;
  --link:#0c3a3c;
  --line:#e5ddd2;
  --r:10px;
  --sh:0 8px 24px -14px rgba(16,69,71,.35);
  --hdrbg:rgba(255,255,255,.96);
  --ftr:#104547;
  --ftrink:#f6f1ea;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--bf);font-size:1.125rem;line-height:1.75;letter-spacing:.01em;word-spacing:.05em;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--acc);outline-offset:3px}
h1,h2,h3{font-family:var(--hf);line-height:1.2;color:var(--head);margin:0 0 .55em;font-weight:600}
h1{font-size:clamp(2.15rem,5vw,3.25rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.35rem}
p{margin:0 0 1.05em;max-width:68ch}
.w{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:1rem;top:1rem;background:#fff;color:#111;padding:.6rem 1rem;z-index:100;border-radius:8px}
.preview{background:#ffe08a;color:#111;text-align:center;font:700 .95rem/1.45 var(--bf);padding:.55rem 1rem}
.preview a{color:#111}
.hdr{position:sticky;top:0;z-index:20;background:var(--hdrbg);border-bottom:1px solid var(--line)}
.hrow{display:flex;align-items:center;gap:.75rem;min-height:76px}
.logo img{width:85px;height:auto}
.nav{display:none;list-style:none;margin:0 auto;padding:0;gap:1.15rem}
.nav a,.mnav a{text-decoration:none;color:var(--ink);font-size:1.05rem}
.nav a[aria-current="page"],.mnav a[aria-current="page"]{color:var(--acc);font-weight:700;text-decoration:underline;text-underline-offset:.25em}
.mnav{margin-left:auto}
.mnav summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:1.55rem;padding:.2rem .7rem;border:2px solid var(--line);border-radius:10px;background:#fff}
.mnav summary::-webkit-details-marker{display:none}
.mnav ul{position:absolute;left:0;right:0;top:100%;background:var(--bg);list-style:none;margin:0;padding:.4rem 1.25rem 1rem;border-bottom:1px solid var(--line);box-shadow:var(--sh)}
.mnav li{padding:.15rem 0}
.mnav a{display:block;padding:.7rem 0;min-height:44px}
.tools{display:flex;gap:.55rem;align-items:center;flex-shrink:0}
.lang{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;background:#fff}
.lang a{padding:.4rem .6rem;min-height:44px;display:flex;align-items:center;text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:700}
.lang a[aria-current="true"]{background:var(--acc2);color:var(--onacc)}
.lang a:hover,.lang a:focus-visible{background:#f6f1ea}
.lang a[aria-current="true"]:hover,.lang a[aria-current="true"]:focus-visible{background:var(--acc2)}
.mnav .lang-row{display:flex;gap:.5rem;padding:.7rem 0;align-items:center;flex-wrap:wrap}
.mnav .lang-row > span{font-weight:700;margin-right:.25rem}
.mnav .lang-row a{display:inline-flex;min-height:44px;min-width:44px;align-items:center;justify-content:center;padding:.4rem .7rem;border:1px solid var(--line);border-radius:99px;text-decoration:none;color:var(--ink);font-weight:700}
.mnav .lang-row a[aria-current="true"]{background:var(--acc2);color:var(--onacc);border-color:var(--acc2)}
@media(min-width:1080px){
  .nav{display:flex}
  .mnav{display:none}
}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--acc2);color:var(--onacc);border:2px solid var(--acc2);padding:.75rem 1.3rem;border-radius:var(--r);text-decoration:none;font:700 1.05rem var(--bf);cursor:pointer;margin:.3rem .45rem .3rem 0}
.btn:hover{background:#0c3a3c}
.btn.ghost{background:transparent;color:var(--acc2)}
.btn.ghost:hover{background:#f6f1ea}
.btn[disabled],button.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.sm{min-height:44px;padding:.5rem 1rem;font-size:1rem}
.sec{padding:clamp(2.8rem,6vw,5rem) 0}
.sec.alt{background:var(--alt)}
.phead{padding:clamp(2.4rem,5vw,4rem) 0 1.2rem}
.lead{font-size:1.28rem;color:var(--muted);max-width:62ch}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.84rem;color:var(--acc);font-weight:700;margin-bottom:.4rem}
.two{display:grid;gap:2rem;align-items:center}
@media(min-width:860px){.two{grid-template-columns:1.05fr .95fr}}
.grid{display:grid;gap:1.4rem}
@media(min-width:720px){.g3{grid-template-columns:repeat(2,1fr)}.gbooks{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.g3{grid-template-columns:repeat(3,1fr)}.gbooks{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.cb{padding:1.2rem 1.25rem 1.35rem}
.card.ev{display:grid;margin-bottom:1.15rem}
@media(min-width:760px){.card.ev{grid-template-columns:280px 1fr}}
.evimg{width:100%;height:100%;object-fit:contain;background:var(--alt);aspect-ratio:4/3}
.date{color:var(--acc);font-weight:700;font-size:1rem;margin-bottom:.25rem}
.meta{color:var(--muted);font-size:1rem}
.small,.note{font-size:1rem;color:var(--muted);max-width:70ch}
.note{border-left:3px solid var(--acc);padding:.2rem 0 .2rem .9rem}
.tbd{color:#7a4a22}
.cover{width:100%;aspect-ratio:2/3;object-fit:contain;background:#f3efe8;padding:.35rem}
.cover.big{max-width:420px;width:100%;box-shadow:0 24px 50px -28px rgba(0,0,0,.45);background:#fff}
.book h3 a{color:var(--head);text-decoration:none}
.book h3 a:hover{text-decoration:underline}
.subtitle{font-size:1.05rem}
.pgrid{display:grid;gap:2rem}
@media(min-width:860px){.pgrid{grid-template-columns:minmax(240px,380px) 1fr;align-items:start}}
.bio{display:grid;gap:2rem}
@media(min-width:860px){.bio{grid-template-columns:minmax(240px,460px) 1fr;align-items:start}}
.portrait{width:100%;height:auto;border-radius:12px;box-shadow:var(--sh)}
.pimg{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;background:var(--alt)}
.pimg.square{aspect-ratio:1/1;object-position:center 22%}
.role{font-weight:700;color:var(--acc);margin:0 0 .35rem}
.lnk{font-weight:700}
.rimg{border-radius:12px;width:100%;height:auto}
.soa-trio{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top;background:transparent;border-radius:12px}
.gallery{display:grid;gap:1rem 1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
@media(min-width:700px){.gallery.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery.g2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.gallery.g3{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gallery figure{margin:0;display:flex;flex-direction:column;min-width:0}
.gallery img,.gallery figure img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center 22%;border-radius:12px;background:var(--alt)}
.gallery figcaption{margin:.5rem .1rem 0;font-size:.95rem;color:var(--muted);font-weight:600;line-height:1.35;min-height:2.7em}
.banner-photo{width:100%;max-height:640px;object-fit:cover;object-position:center 30%;border-radius:0}
.svcs{list-style:none;padding:0;margin:0}
.svc{padding:1.4rem 1.3rem;font-family:var(--hf);font-size:1.3rem;color:var(--head)}
.svc .n{display:block;font:700 .85rem var(--bf);color:var(--acc);margin-bottom:.45rem;letter-spacing:.08em}
.quote{margin:0;padding:1.35rem 1.3rem;background:var(--card);border-radius:var(--r);border:1px solid var(--line)}
.quote blockquote{margin:0 0 1rem;font-family:var(--hf);font-size:1.18rem;line-height:1.45}
.quote figcaption{display:flex;align-items:center;gap:.75rem;font-weight:700}
.av{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:center 20%}
.partners{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;align-items:center}
.partners a{display:flex;align-items:center;min-height:48px}
.partners img{max-height:72px;width:auto;max-width:180px}
ul.clean{padding-left:1.2rem}
ul.clean li{margin:.4rem 0;max-width:68ch}
label{display:block;font-weight:700;margin-bottom:.9rem}
input,textarea{display:block;width:100%;font:inherit;padding:.75rem;border:2px solid #cfc4b6;border-radius:8px;background:#fff;color:#111;margin-top:.35rem}
.chk{font-weight:400;display:flex;gap:.6rem;align-items:flex-start}
.chk input{width:auto;margin-top:.35rem}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem}
.facts dt{font-weight:700;color:var(--acc)}
.facts dd{margin:0}
.ticket{display:flex;margin-bottom:1rem}
.stub{background:var(--acc2);color:var(--onacc);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.2rem;min-width:96px;font-family:var(--hf)}
.stub .dd{font-size:2.6rem;line-height:1}
.stub .m,.stub .yy{font:700 .8rem var(--bf);letter-spacing:.14em}
.cal{margin-top:1.4rem;max-width:360px}
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:.5rem}
.cg span{text-align:center;padding:.4rem .1rem;border-radius:6px;font-size:.95rem}
.cg .hit{background:var(--acc2);color:#fff;font-weight:700}
.hero{background:linear-gradient(180deg,#f6f1ea,#fff);padding:2.4rem 0 0;overflow:hidden}
.hgrid{display:grid;gap:1.6rem;align-items:center}
@media(min-width:900px){.hgrid{grid-template-columns:1fr 1fr}}
.heroimg{border-radius:12px;box-shadow:var(--sh);width:100%;height:auto}
.strip-wrap{overflow:hidden;margin-top:2.2rem}
.strip{display:flex;gap:1rem;width:max-content;animation:drift 70s linear infinite}
.strip img{height:200px;width:280px;object-fit:cover;object-position:center 28%;border-radius:10px;flex:0 0 auto}
@keyframes drift{to{transform:translateX(-50%)}}
.ftr{background:var(--ftr);color:var(--ftrink);padding:2.8rem 0 1.2rem}
.ftr a{color:var(--ftrink)}
.ftr h2{color:var(--ftrink);font-size:1.2rem}
.fgrid{display:grid;gap:1.6rem}
@media(min-width:760px){.fgrid{grid-template-columns:repeat(3,1fr)}}
.ftr img{width:85px;height:auto;filter:brightness(0) invert(1)}
.cta{text-align:center}
.cta p{margin-left:auto;margin-right:auto}
.status{min-height:1.4em}
.formats{list-style:none;padding:0}
.formats li{margin:.45rem 0}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .strip{width:auto;flex-wrap:wrap;padding-bottom:1.5rem}
  .strip img:nth-child(n+7){display:none}
}
@media(max-width:719px){
  .ticket{flex-direction:column}
  .stub{flex-direction:row;gap:.8rem;min-height:64px}
}

/* Watch & Listen media cards — placeholders now; click-to-load embeds later */
.media-card .media-frame{position:relative;aspect-ratio:16/9;background:linear-gradient(160deg,#e8e0d4,#f6f1ea);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.media-card .media-frame.is-soon{color:var(--muted)}
.media-card .media-soon-label{font:700 1.05rem var(--bf);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:.6rem 1rem;border:2px dashed #cfc4b6;border-radius:8px;background:rgba(255,255,255,.7)}
.media-card .media-load{position:absolute;inset:auto auto 1rem 50%;transform:translateX(-50%);z-index:2}
.media-card .media-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media-card .media-frame.is-loaded .media-load,
.media-card .media-frame.is-loaded .media-soon-label{display:none}
.media-card.is-soon .media-load{display:none}
.teaser-media{text-align:left}
.teaser-media .lead{margin-bottom:1.1rem}

.legal-body{max-width:72ch}
.legal-body h2{margin-top:1.8rem}
.legal-body strong{font-weight:700}

.gallery.person-shots img{object-position:center 18%}
.gallery.person-shots{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}

/* v2 rewrite components */
.nav a.nav-cta,.mnav a.nav-cta{background:var(--acc2);color:var(--onacc)!important;border-radius:var(--r);padding:.45rem .9rem;text-decoration:none!important;font-weight:700}
.nav a.nav-cta:hover{background:#0c3a3c}
.need-grid{display:grid;gap:1.25rem}
@media(min-width:860px){.need-grid{grid-template-columns:repeat(3,1fr)}}
.need-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.25rem 1.3rem;box-shadow:var(--sh)}
.need-card .need{font-weight:700;color:var(--head);margin:0 0 .7rem;max-width:none}
.need-card .help{color:var(--muted);margin:0;max-width:none}
.ways{display:grid;gap:1.15rem}
@media(min-width:760px){.ways{grid-template-columns:repeat(2,1fr)}}
.way{display:flex;flex-direction:column;height:100%}
.way .cb{flex:1;display:flex;flex-direction:column}
.way .best{font-size:.95rem;color:var(--muted);margin:0 0 .55rem}
.way .lnk{margin-top:auto}
.gestalt-box{background:#fff;border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:var(--r);padding:1.2rem 1.35rem;margin:1.2rem 0}
.gestalt-box h3{margin-top:0}
.faq details{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:.85rem 1.1rem;margin:0 0 .7rem}
.faq summary{cursor:pointer;font-weight:700;color:var(--head);font-family:var(--hf);font-size:1.15rem}
.faq details[open] summary{margin-bottom:.55rem}
.past-more{margin-top:1rem}
.svc p{max-width:none;margin:.35rem 0 0;color:var(--muted);font-size:1.05rem;font-family:var(--bf);font-weight:400}
.cta .lead{margin:0 auto 1rem}
.closing-line{font-size:1.15rem;color:var(--muted);max-width:62ch;margin:1.2rem 0 0}

.next-strip{background:var(--alt);border-bottom:1px solid var(--line);padding:.85rem 0}
.next-strip p{margin:0;max-width:none;font-size:1.05rem}
.next-strip a{font-weight:700}
.session-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:var(--r);padding:1.1rem 1.25rem;margin:0 0 .9rem}
.session-card .date{color:var(--acc);font-weight:700;font-size:.95rem;margin:0 0 .25rem}
.session-card h3{margin:.15rem 0 .4rem;font-size:1.2rem}
.session-card p{margin:0;color:var(--muted);max-width:none}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0 1.5rem}
.facts li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem;font-size:.95rem;font-weight:700;color:var(--head)}

.soa-hero{position:relative;color:#f6f1ea;background:#050505 url("/images/soa-spotlight.webp") center bottom/cover no-repeat;min-height:min(72vh,640px);display:flex;align-items:flex-start;padding:clamp(2.6rem,7vw,4.2rem) 0 clamp(5.5rem,14vw,8rem);overflow:hidden}
.soa-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,.28) 68%,rgba(0,0,0,.12) 100%),linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.28) 55%,rgba(0,0,0,.08) 100%)}
.soa-hero-inner{position:relative;z-index:1;max-width:40rem}
.soa-hero .eyebrow{color:#e8c4a0}
.soa-hero h1{color:#fff;margin-bottom:.45rem;text-shadow:0 2px 22px rgba(0,0,0,.55)}
.soa-hero-dates{color:#f0e6da;font-weight:700;font-size:1.08rem;margin:0 0 1rem;max-width:none;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.soa-hero .facts{margin:0 0 1.35rem}
.soa-hero .facts li{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(3px)}
.soa-hero .btn{background:#fff;color:var(--acc2);border-color:#fff;box-shadow:0 8px 28px -10px rgba(0,0,0,.55)}
.soa-hero .btn:hover{background:#f6f1ea}
.soa-intro .lead{margin:0}
@media(max-width:700px){
  .soa-hero{min-height:min(78vh,580px);background-position:center bottom;align-items:flex-start;padding:2.2rem 0 5.5rem}
  .soa-hero-inner{max-width:none}
}
