:root{
  --ink:#4A1430;
  --ink-soft:#8A3D5E;
  --cream:#FDF4EF;
  --cream-deep:#FBE4DC;
  --pink:#E34F9B;
  --coral:#F16778;
  --peach:#FBC7B5;
  --night:#330E22;
  --line:rgba(74,20,48,.24);
  --wide:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:'Archivo',system-ui,sans-serif;
  font-variation-settings:'wdth' 100;
  background:var(--cream);
  color:var(--ink);
  line-height:1.55;
  font-size:1.0625rem;
}
::selection{background:var(--peach);color:var(--night)}
a{color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:2px}

.wrap{max-width:var(--wide);margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}

/* Photo placeholders — swap the inner text for <img> tags */
.photo{
  background:var(--cream-deep);
  border:1px solid var(--line);
  display:grid;place-items:center;text-align:center;
  color:var(--ink-soft);font-size:.88rem;padding:1rem;
  overflow:hidden;
}
.photo img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Header ───────────────────────────────────────────── */
header{border-bottom:1px solid var(--line);background:var(--cream)}
.bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem clamp(1.25rem,4vw,3rem);max-width:var(--wide);margin:0 auto;
  gap:1rem;flex-wrap:wrap;
}
.brand{display:block;padding:.2rem 0}
.brand img{height:clamp(44px,6vw,58px);width:auto;display:block}
nav{display:flex;gap:1.4rem;font-size:.95rem;flex-wrap:wrap}
nav a{text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
nav a:hover{border-bottom-color:var(--coral)}

/* ── Hero ─────────────────────────────────────────────── */
.hero{padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem)}
.hero .grid{
  display:grid;grid-template-columns:1.15fr minmax(280px,420px);
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
.kicker{font-size:1.05rem;font-style:italic;color:var(--ink-soft);margin-bottom:1.2rem}
h1{
  font-weight:850;font-variation-settings:'wdth' 122;
  font-size:clamp(2.4rem,6.4vw,4.4rem);
  line-height:1.02;letter-spacing:-.015em;max-width:14ch;
}
h1 em{
  font-style:normal;
  background:linear-gradient(120deg,var(--coral),var(--pink));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--pink);
}
.hero p.intro{max-width:48ch;margin-top:1.5rem;font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--ink-soft)}
.hero p.aka{max-width:48ch;margin-top:.9rem;font-size:.98rem;color:var(--ink-soft)}
.hero p.aka a{color:inherit;font-weight:600}
.actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}
.btn{
  display:inline-block;text-decoration:none;font-weight:700;font-size:1.02rem;
  padding:.95rem 1.7rem;border:2px solid var(--ink);
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn.primary{background:linear-gradient(135deg,var(--coral),var(--pink));border-color:var(--pink);color:#fff}
.btn.primary:hover{background:var(--ink);border-color:var(--ink)}
.btn.secondary:hover{background:var(--ink);color:var(--cream)}
.hero .photo{aspect-ratio:4/5}
@media(max-width:820px){
  .hero .grid{grid-template-columns:1fr}
  .hero .photo{max-width:420px;order:-1}
}

/* Credential strip */
.creds{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--cream-deep);
}
.creds .row{
  display:flex;gap:clamp(1.2rem,3vw,2.6rem);flex-wrap:wrap;
  padding:1.1rem 0;font-size:.95rem;font-weight:600;
}
.creds .row span{color:var(--ink)}

/* ── Sections ─────────────────────────────────────────── */
section{padding:clamp(3rem,7vw,5.2rem) 0}
.heading h2{
  font-weight:850;font-variation-settings:'wdth' 120;
  font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.01em;
}
.heading .sub{
  display:block;font-size:1.05rem;font-weight:400;font-style:italic;
  color:var(--ink-soft);margin-top:.5rem;font-variation-settings:'wdth' 100;
}
.heading{margin-bottom:2.2rem;max-width:60ch}

/* Gallery band */
.gallery{padding:0 0 clamp(3rem,7vw,5.2rem)}
.gallery .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery .photo{aspect-ratio:3/4}
@media(max-width:720px){.gallery .strip{grid-template-columns:1fr 1fr}.gallery .photo:last-child{display:none}}

/* Formats: ruled rows */
.formats ul{list-style:none}
.formats li{
  display:grid;grid-template-columns:minmax(170px,230px) 1fr;
  gap:1.5rem;padding:1.3rem 0;border-top:1px solid var(--line);
}
.formats li:last-child{border-bottom:1px solid var(--line)}
.formats h3{font-weight:800;font-size:1.08rem;font-variation-settings:'wdth' 110}
.formats p{color:var(--ink-soft);max-width:58ch}
@media(max-width:640px){.formats li{grid-template-columns:1fr;gap:.4rem}}

/* Story: photo + prose */
.story{background:var(--cream-deep)}
.story .grid{
  display:grid;grid-template-columns:1fr minmax(260px,380px);
  gap:clamp(2rem,5vw,4rem);align-items:start;
}
.story p{max-width:58ch;margin-bottom:1rem;color:var(--ink-soft)}
.story p strong{color:var(--ink)}
.story .photo{aspect-ratio:3/4;position:sticky;top:2rem}
@media(max-width:820px){
  .story .grid{grid-template-columns:1fr}
  .story .photo{position:static;max-width:380px}
}

/* Where to find me */
.where .spots{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.life .spots{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.spot{border:1px solid var(--line);background:var(--cream);padding:1.6rem 1.5rem}
.spot h3{font-weight:800;font-size:1.15rem;font-variation-settings:'wdth' 112;margin-bottom:.4rem}
.spot .type{font-size:.92rem;color:var(--pink);font-weight:700;margin-bottom:.7rem}
.spot p{font-size:.95rem;color:var(--ink-soft)}
.spot .links{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:.9rem}
.spot .links a{font-size:.9rem;font-weight:700;color:var(--pink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:1px}
.spot .links a:hover{border-bottom-color:var(--coral)}
.where .note{margin-top:1.4rem;font-size:.92rem;font-style:italic;color:var(--ink-soft)}
@media(max-width:820px){.where .spots,.life .spots{grid-template-columns:1fr}}

/* Mentorship cross-link + retreats */
.more .cards{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.card{
  border:2px solid var(--ink);padding:2rem 1.8rem;background:var(--cream);
  display:flex;flex-direction:column;gap:.8rem;align-items:flex-start;
}
.card.featured{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.card .label{font-family:'Pacifico',cursive;font-size:1.25rem;color:var(--pink)}
.card.featured .label{color:var(--peach)}
.card h3{font-weight:850;font-size:1.5rem;font-variation-settings:'wdth' 116;line-height:1.1}
.card p{color:var(--ink-soft);max-width:44ch}
.card.featured p{color:rgba(253,244,239,.78)}
.card .btn{margin-top:.6rem}
.card.featured .btn{border-color:var(--cream);color:var(--cream)}
.card.featured .btn:hover{background:var(--cream);color:var(--ink)}
@media(max-width:780px){.more .cards{grid-template-columns:1fr}}

/* Instagram */
.social{border-top:1px solid var(--line)}
.social .row{display:flex;gap:clamp(1.5rem,4vw,3rem);flex-wrap:wrap;align-items:baseline}
.social .handle{
  font-weight:800;font-size:1.15rem;font-variation-settings:'wdth' 114;
  color:var(--pink);text-decoration:none;
  border-bottom:2px solid transparent;padding-bottom:1px;
}
.social .handle:hover{border-bottom-color:var(--coral)}

/* Final CTA + footer */
.final{background:var(--night);color:var(--cream)}
.final h2{
  font-weight:850;font-variation-settings:'wdth' 122;
  font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;max-width:18ch;
}
.final h2 em{
  font-style:normal;
  background:linear-gradient(120deg,var(--coral),var(--pink));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--coral);
}
.final p{margin-top:1.2rem;max-width:50ch;color:rgba(253,244,239,.75)}
.final .actions{margin-top:2rem}
.final .btn.secondary{border-color:var(--cream);color:var(--cream)}
.final .btn.secondary:hover{background:var(--cream);color:var(--night)}
footer{
  background:var(--night);color:rgba(253,244,239,.6);
  font-size:.9rem;padding:1.6rem 0 2.2rem;border-top:1px solid rgba(253,244,239,.18);
}
footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
footer a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--coral)}
.motto{font-family:'Pacifico',cursive;color:var(--peach)}

/* ── Subpage hero ─────────────────────────────────────── */
.page-hero{padding:clamp(2.5rem,6vw,4.25rem) 0 clamp(1.5rem,3vw,2.25rem)}
.page-hero .kicker{margin-bottom:.9rem}
.page-hero h1{max-width:20ch;font-size:clamp(2.1rem,5.4vw,3.6rem)}
.page-hero p.intro{margin-top:1.25rem}
.page-hero.split .grid{
  display:grid;grid-template-columns:1.15fr minmax(260px,400px);
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
.page-hero.split .photo{aspect-ratio:4/5}
@media(max-width:820px){
  .page-hero.split .grid{grid-template-columns:1fr}
  .page-hero.split .photo{max-width:400px;order:-1}
}

/* ── Home hub cards ───────────────────────────────────── */
.hub .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.hub .card{border-width:1px;gap:.55rem}
.hub .card h3{font-size:1.28rem}
.hub .card p{font-size:.97rem}
.hub .card .go{
  margin-top:auto;padding-top:.7rem;font-weight:800;font-size:.95rem;
  color:var(--pink);text-decoration:none;
}
.hub .card:hover{border-color:var(--pink)}
.hub .card:hover .go{color:var(--ink)}
@media(max-width:900px){.hub .cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hub .cards{grid-template-columns:1fr}}

/* ── Next-page links (bottom of each subpage) ─────────── */
.next{border-top:1px solid var(--line);background:var(--cream-deep)}
.next .cards{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:780px){.next .cards{grid-template-columns:1fr}}

/* ── Footer site map ──────────────────────────────────── */
.sitemap{background:var(--night);color:rgba(253,244,239,.72);padding:2.4rem 0 .4rem}
.sitemap nav{gap:1.1rem 1.6rem;font-size:.93rem}
.sitemap nav a{color:rgba(253,244,239,.82);text-decoration:none;border-bottom:2px solid transparent}
.sitemap nav a:hover{color:var(--cream);border-bottom-color:var(--coral)}

/* Current page marker */
nav a.current{border-bottom-color:var(--pink)}
