/* generated by build.py from site.css: fonts + tokens + header + footer only */
@font-face{ font-family:'PP Editorial Old'; src:url('fonts/PPEditorialOld-Ultralight.woff2') format('woff2'); font-weight:200; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Editorial Old'; src:url('fonts/PPEditorialOld-UltralightItalic.woff2') format('woff2'); font-weight:200; font-style:italic; font-display:swap; }
@font-face{ font-family:'PP Editorial Old'; src:url('fonts/PPEditorialOld-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Editorial Old'; src:url('fonts/PPEditorialOld-Italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:'PP Neue Montreal'; src:url('fonts/PPNeueMontreal-Book.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:'PP Neue Montreal'; src:url('fonts/PPNeueMontreal-Italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:'PP Neue Montreal'; src:url('fonts/PPNeueMontreal-Medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
:root{
  --cream:#F5EFE6; --cream-2:#ECE3D4; --cream-3:#F9F5EE; --sand:#ECE3D4;
  --charcoal:#1A1A1A; --charcoal-soft:#2A2A2A;
  --burgundy:#7B2D26; --burgundy-soft:#9C3F36; --burgundy-deep:#5E1F1A;
  --gold:#C9A961; --sage:#7A8B6E; --clay:#DE7356;
  --rule:rgba(26,26,26,0.14); --rule-strong:rgba(26,26,26,0.38); --rule-light:rgba(245,239,230,0.18);
  --muted:rgba(26,26,26,0.62);
  --nav-h:76px;
  --display:'PP Editorial Old','Instrument Serif','Times New Roman',Times,serif;
  --serif:var(--display);
  --sans:'PP Neue Montreal','Instrument Sans',-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --wrap:1380px;
}
.gold-star{ color:var(--gold); }
/* ── header: port of learnaiwithmariah.com's home-header ── */
:root{ --nav-h:84px; }
.nav{ position:sticky; top:0; z-index:1100; height:var(--nav-h); background:var(--cream); border-bottom:1px solid rgba(123,45,38,.16); transition:background 180ms ease, box-shadow 180ms ease; }
.nav__inner{ width:min(100% - 48px, 1440px); height:100%; margin:0 auto; display:grid; grid-template-columns:minmax(180px,.8fr) auto minmax(240px,.8fr); align-items:center; gap:30px; }
.nav__brand{ font-family:var(--display); font-weight:400; font-size:1.55rem; letter-spacing:-.01em; text-transform:none; text-decoration:none; white-space:nowrap; color:var(--burgundy); display:inline-flex; align-items:baseline; gap:.28em; line-height:1; }
.nav__brand em{ font-style:italic; font-weight:300; }
.nav__brand .gold-star{ font-size:.62em; color:var(--gold); }
.nav__links{ display:flex; align-items:center; justify-content:center; gap:clamp(16px,2vw,34px); margin:0; padding:0; list-style:none; }
.nav__links a,.nav__dd-trigger{ font-family:var(--sans); font-size:.71rem; font-weight:500; line-height:1.2; letter-spacing:.105em; text-transform:uppercase; color:var(--charcoal); text-decoration:none; white-space:nowrap; background:none; border:0; cursor:pointer; padding:0; }
.nav__links a:hover,.nav__links a[aria-current="page"],.nav__dd-trigger:hover{ color:var(--burgundy); }
.nav__dd{ position:relative; }
.nav__dd-trigger .caret{ margin-left:.25em; font-size:.7em; display:inline-block; }
.nav__dd-menu{ display:none; position:absolute; top:calc(100% + 20px); right:0; min-width:280px; padding:.5rem 0; margin:0; list-style:none; background:var(--cream); border:1.5px solid rgba(26,26,26,.12); border-radius:8px; box-shadow:0 12px 32px rgba(26,26,26,.18); z-index:1101; }
.nav__dd-menu::before{ content:""; position:absolute; right:0; bottom:100%; width:100%; height:24px; }
.nav__dd:hover .nav__dd-menu,.nav__dd:focus-within .nav__dd-menu{ display:block; }
.nav__dd-menu a{ display:block; padding:.7rem 1.2rem; font-family:var(--sans); font-size:.88rem; font-weight:500; color:var(--charcoal); text-transform:none; letter-spacing:.01em; white-space:normal; }
.nav__dd-menu a:hover{ background:rgba(123,45,38,.06); color:var(--burgundy); }
.nav__dd-menu li.featured{ margin-bottom:.35rem; padding-bottom:.35rem; border-bottom:1px solid rgba(26,26,26,.12); }
.nav__dd-menu li.featured a{ color:var(--burgundy); font-weight:600; }
.nav__right{ display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.nav__social{ width:30px; height:30px; display:grid; place-items:center; color:var(--burgundy); text-decoration:none; }
.nav__social svg{ width:16px; height:16px; fill:currentColor; }
.nav__cta{ display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 24px; margin-left:7px; border-radius:999px; background:var(--burgundy); color:var(--cream) !important; text-decoration:none; font-family:var(--sans); font-size:.78rem; font-weight:500; line-height:1; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.nav__cta:hover{ background:var(--charcoal); }
.nav.is-scrolled{ background:var(--burgundy); box-shadow:0 10px 28px rgba(26,26,26,.13); border-bottom-color:transparent; }
.nav.is-scrolled .nav__brand,.nav.is-scrolled .nav__links a,.nav.is-scrolled .nav__dd-trigger,.nav.is-scrolled .nav__social{ color:var(--cream); }
.nav.is-scrolled .nav__brand .gold-star{ color:var(--gold); }
.nav.is-scrolled .nav__cta{ background:var(--cream); color:var(--burgundy) !important; }
.nav.is-scrolled .nav__dd-menu a{ color:var(--charcoal); }
.nav__burger{ display:none; width:44px; height:44px; margin-left:2px; padding:0; border:0; background:none; cursor:pointer; color:var(--burgundy); flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.nav__burger span{ display:block; width:22px; height:1.5px; background:currentColor; transition:transform .22s ease, opacity .18s ease; }
.nav.is-scrolled .nav__burger{ color:var(--cream); }
.nav.is-open .nav__burger span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav.is-open .nav__burger span:nth-child(2){ opacity:0; }
.nav.is-open .nav__burger span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
.nav.is-open .nav__links a,.nav.is-open .nav__dd-trigger{ color:var(--charcoal); }
.nav__panel-social{ display:none; }
html.nav-open{ overflow:hidden; }
.nav.is-open{ position:fixed; top:0; left:0; right:0; } /* sticky stops working once the scroll lock is on (klubas/verslui set overflow-x on body), so the open header is fixed */
@media (max-width:1100px){ .nav__dd-menu::before{ display:none; } }
@media (max-width:900px){
  :root{ --nav-h:72px; }
  .nav__inner{ grid-template-columns:auto auto; justify-content:space-between; gap:14px; width:calc(100% - 32px); }
  .nav__burger{ display:flex; }
  .nav__links{ display:none; }
  .nav.is-open .nav__links{ display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; position:fixed; top:var(--nav-h); left:0; right:0; bottom:0; padding:8px 24px 48px; background:var(--cream); overflow-y:auto; -webkit-overflow-scrolling:touch; z-index:1099; border-top:1px solid rgba(123,45,38,.16); }
  .nav__links li{ border-bottom:1px solid rgba(26,26,26,.1); }
  .nav__links a,.nav__dd-trigger{ display:block; padding:18px 0; font-family:var(--display); font-weight:300; font-size:1.9rem; line-height:1.1; letter-spacing:0; text-transform:none; white-space:normal; }
  .nav__links .hide-sm{ display:block; }
  .nav__dd-trigger .caret{ display:none; }
  .nav__dd-menu{ display:block; position:static; min-width:0; padding:0 0 14px; border:0; border-radius:0; box-shadow:none; background:none; }
  .nav__dd-menu li,.nav__dd-menu li.featured{ border:0; margin:0; padding:0; }
  .nav__dd-menu a{ padding:9px 0 9px 18px; font-family:var(--sans); font-size:1rem; font-weight:400; line-height:1.3; }
  .nav.is-open .nav__dd-menu li.featured a{ font-weight:500; color:var(--burgundy); }
  .nav__panel-social{ display:flex; gap:22px; padding:26px 0 0; border-bottom:0; }
  .nav__panel-social a{ display:inline-flex; align-items:center; gap:8px; padding:0; font-family:var(--sans); font-size:.78rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--burgundy); }
  .nav__panel-social svg{ width:16px; height:16px; fill:currentColor; }
  .nav__social{ display:none; }
  .nav__cta{ min-height:40px; padding:0 16px; font-size:.66rem; margin-left:0; }
  .nav__brand{ font-size:1.25rem; }
}

/* ── footer: port of her home-footer (4 columns · wordmark · bottom line), used on every page ── */
.site-footer{ padding:clamp(60px,8vw,110px) clamp(24px,5vw,78px) 26px; background:var(--charcoal); color:var(--cream); text-align:left; }
.site-footer__grid{ display:grid; grid-template-columns:.8fr 1.15fr .8fr 1.3fr; gap:clamp(28px,5vw,80px); padding:0 0 65px; }
.site-footer__grid > div{ display:flex; flex-direction:column; align-items:flex-start; }
.site-footer__label{ margin:0 0 18px; color:var(--gold); font-family:var(--sans); font-size:.7rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; }
.site-footer a,.site-footer span{ color:var(--cream); font-family:var(--sans); font-size:.88rem; line-height:1.9; text-decoration:none; }
.site-footer a:hover{ color:var(--gold); }
.site-footer__cta p:not(.site-footer__label){ margin:0 0 18px; font-family:var(--display); font-style:italic; font-weight:300; font-size:1.7rem; line-height:1.2; color:var(--cream); }
.site-footer__cta a{ display:inline-flex; min-height:46px; align-items:center; padding:0 22px; border-radius:999px; background:var(--cream); color:var(--burgundy); font-family:var(--sans); font-size:.75rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase; line-height:1; }
.site-footer__cta a:hover{ background:var(--gold); color:var(--charcoal); }
.site-footer__brand{ padding:48px 0 55px; border-top:1px solid rgba(245,239,230,.25); font-family:var(--display); font-weight:400; font-size:clamp(3.2rem,8vw,9.6rem); line-height:.88; letter-spacing:-.005em; text-transform:uppercase; white-space:nowrap; color:var(--cream); }
.site-footer__brand em{ font-style:italic; font-weight:300; font-size:.82em; text-transform:none; color:var(--gold); }
.site-footer__bottom{ display:flex; justify-content:space-between; gap:30px; padding-top:22px; border-top:1px solid rgba(245,239,230,.25); }
.site-footer__bottom span{ font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:760px){
  .site-footer__brand{ font-size:clamp(4rem,19vw,6rem); white-space:normal; }
  .site-footer__grid{ grid-template-columns:1fr 1fr; }
  .site-footer__cta{ grid-column:1 / -1; }
  .site-footer__bottom{ flex-direction:column; gap:5px; }
}

