/* Angela Goodman theme styles */

:root{
  --green:#3F6B57;
  --gold:#C6A362;
  --cream:#F4EEE8;
  --white:#FFFFFF;
  --ink:#1B1B1B;
  --body-ink:#2C2C33;
  --muted:#6E665E;
  --line:#B9AFA4;

  --display:"Cormorant Garamond", Georgia, serif;
  --script:"Brittany Signature", "Sacramento", "Snell Roundhand", cursive;
  --body:"Jost", "Helvetica Neue", Arial, sans-serif;

  --gutter:clamp(1.25rem, 4.2vw, 4rem);
  --rail:clamp(26px, 4.2vw, 62px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--white);color:var(--body-ink);
  font-family:var(--body);font-weight:300;font-size:19px;line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

h1,h2,h3,h4,h5,h6{font-family:var(--display);font-weight:300;margin:0;line-height:1.18;color:var(--ink)}
.h-uc{text-transform:uppercase;letter-spacing:.005em;font-size:clamp(1.7rem,2.7vw,2.45rem)}
.h-lg{text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.8rem,3vw,2.35rem)}
.h-mixed{font-size:clamp(1.6rem,2.6vw,2.15rem)}
.script{font-family:var(--script);font-weight:400;font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:clamp(3rem,5.4vw,4.4rem);line-height:1;text-transform:none;letter-spacing:0}
/* hand-lettered headings supplied as artwork */
.script--art{line-height:0;color:var(--ink)}
.script--art svg{display:block;height:auto;fill:currentColor}
.script--art.is-hi svg{width:clamp(230px,25vw,370px)}
.script--art.is-become svg{width:clamp(120px,12vw,180px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.eyebrow{font-family:var(--body);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
p{margin:0 0 1.6rem}
.lede{font-size:19px;line-height:1.85}

.btn{
  display:inline-block;font-family:var(--body);font-size:.78rem;font-weight:300;
  letter-spacing:.17em;text-transform:uppercase;text-decoration:none;
  padding:.95rem 2rem;border:1px solid var(--ink);color:var(--ink);background:transparent;
  transition:background .35s ease,color .35s ease,border-color .35s ease;
}
.btn:hover,.btn:focus-visible{background:var(--ink);color:var(--white)}
.btn--light{border-color:var(--white);color:var(--white);font-size:.92rem;letter-spacing:.2em;padding:1.3rem 2.4rem}
.btn--light:hover,.btn--light:focus-visible{background:var(--white);color:var(--ink)}

.rule{height:1px;background:var(--line);border:0;margin:0;flex:1}
.rule--v{width:1px;height:60px;background:var(--line);border:0;margin:1.5rem auto 0}

.vlabel{writing-mode:vertical-rl;font-family:var(--body);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;white-space:nowrap}
.vlabel--up{transform:rotate(180deg)}

/* ---------- announcement ---------- */
.announce{background:var(--green);color:var(--white);display:flex;justify-content:flex-end}
.announce p{
  margin:0;padding:.9rem 2rem;font-family:var(--display);
  font-size:1rem;letter-spacing:.12em;text-transform:uppercase;
}
.announce a{
  background:var(--gold);color:var(--white);text-decoration:none;
  padding:.9rem 2.25rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  display:flex;align-items:center;transition:opacity .3s ease;
}
.announce a:hover{opacity:.88}

/* ---------- header ---------- */
/* Three columns: nav | logo | nav.
   The logo column is sized to the logo, so it always lands on the exact centre
   of the page. Both side columns are equal, and each nav is pushed hard against
   the logo (right-aligned on the left, left-aligned on the right), so the gap
   either side of the wordmark is identical and fixed. Socials are taken out of
   the flow entirely so they cannot push the left nav inward. */
.site-header{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  column-gap:26px;
  padding:22px var(--gutter);
  background:var(--white);
  position:sticky;top:0;z-index:50;
}
.site-header .header__left{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.site-header .header__right{display:flex;align-items:center;justify-content:flex-start;min-width:0}

.socials{
  position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:18px;margin:0;padding:0;
}
.socials a{color:var(--gold);opacity:1;line-height:0;transition:color .3s ease}
.socials a:hover{color:var(--green)}
.socials svg{width:17px;height:17px;fill:currentColor}

.site-nav{display:flex;align-items:center;gap:26px;white-space:nowrap}
.site-nav a{
  font-size:17px;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--ink);
  line-height:1;
  transition:color .3s ease;
}
.site-nav a:hover{color:var(--gold)}

.logo{text-decoration:none;display:block;line-height:0;padding:0}
.logo img{width:240px;height:auto;display:block}

.nav-toggle{display:none;background:none;border:0;font-size:.8rem;letter-spacing:.18em;
  text-transform:uppercase;cursor:pointer;padding:.5rem}

/* narrower desktops: step the type and logo down rather than let anything collide */
@media(max-width:1500px){
  .site-nav a{font-size:15.5px;letter-spacing:.08em}
  .site-nav{gap:22px}
  .logo img{width:215px}
}
@media(max-width:1320px){
  .site-nav a{font-size:14px;letter-spacing:.07em}
  .site-nav{gap:18px}
  .logo img{width:190px}
  .site-header{column-gap:18px}
}

@media(max-width:1200px){
  .site-header{display:flex;justify-content:space-between;column-gap:0}
  .site-nav,.socials{display:none}
  .nav-toggle{display:block}
  .header__left{position:relative}
  .site-nav.is-open{
    display:flex;flex-direction:column;gap:1rem;align-items:center;
    position:absolute;left:0;right:0;top:100%;background:var(--white);
    padding:1.75rem;z-index:20;border-bottom:1px solid var(--cream);min-width:220px;
  }
}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:var(--rail) 1fr var(--rail);align-items:center;background:var(--white)}
.hero__rail{display:flex;justify-content:center;color:var(--gold)}
.hero__rail .vlabel{font-size:.72rem;letter-spacing:.28em}
.hero__frame{position:relative;aspect-ratio:16/9;min-height:430px;display:flex;align-items:center;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media video,.hero__media img{width:100%;height:100%;object-fit:cover}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.5) 0%,rgba(12,12,12,.3) 45%,rgba(12,12,12,.05) 75%)}
.hero__inner{position:relative;z-index:2;color:var(--white);padding:0 clamp(1.5rem,4vw,4.5rem);max-width:min(72%,900px)}
.hero__inner h1{color:var(--white);text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.2rem,4.4vw,3.8rem)}
.hero__inner p{
  font-family:var(--display);font-size:clamp(1.2rem,2.1vw,2.1rem);
  line-height:1.55;margin:1.6rem 0 1.4rem;max-width:19em;color:var(--white);
}
.hero__inner .eyebrow{display:block;margin-bottom:2.5rem;font-size:.88rem;font-weight:500;letter-spacing:.1em}

/* ---------- intro ---------- */
.intro{
  background:var(--cream);
  display:grid;grid-template-columns:1fr 36% auto;
  gap:clamp(1rem,2vw,1.75rem);
  padding:0 clamp(2rem,9vw,9.5rem) clamp(3rem,7vw,6rem) var(--gutter);
  align-items:start;
}
.intro__text{
  text-align:right;max-width:720px;margin:0 0 0 auto;
  padding-top:clamp(3rem,6vw,5.5rem);
}
.intro__text h3{margin-bottom:1.75rem;font-size:clamp(1.5rem,2.35vw,2.2rem)}
/* each sentence holds its own line */
.intro__text h3 span{display:block;white-space:nowrap}
.intro__text .lede{margin-left:auto}
.intro__text .head-row{justify-content:flex-end;margin-bottom:1.75rem}
.intro__text .rule{max-width:160px}
.intro__text .btn-row{display:flex;justify-content:flex-end;margin-top:.5rem}
.head-row{display:flex;align-items:center;gap:1.5rem}

.intro__media{margin-top:clamp(-6rem,-6vw,-2.5rem);position:relative;z-index:3}
.intro__media img{width:100%;aspect-ratio:2/3;object-fit:cover}
.vstack{display:flex;flex-direction:column;align-items:center;gap:1.5rem;height:100%;justify-content:flex-end;padding-bottom:.25rem}
.vstack .tick{width:1px;height:clamp(60px,9vw,130px);background:var(--line)}
.vstack .vlabel{color:var(--ink)}

/* ---------- evolve method ---------- */
.method{
  background:var(--cream);
  display:grid;grid-template-columns:44% 1fr;
  gap:clamp(1.5rem,3vw,3rem);
  padding:clamp(3rem,7vw,6rem) clamp(2rem,9vw,9.5rem) clamp(2rem,4vw,3.5rem) var(--gutter);
  align-items:center;
}
.method__media{position:relative;padding-left:2.6rem;margin-bottom:clamp(-5rem,-5vw,-2rem);z-index:2}
.method__media img{width:100%;aspect-ratio:0.64;object-fit:cover}
.method__rail{
  position:absolute;left:0;top:0;bottom:1.5rem;
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
}
.method__rail .vlabel{color:var(--ink)}
.method__rail .tick{width:1px;flex:1;background:var(--line)}
.method__text{max-width:640px}
.method__text .head-row{margin-left:clamp(-8rem,-8vw,-2rem);margin-bottom:1.5rem}
.method__text .rule{max-width:200px}
.method__text h3{margin-bottom:1.75rem}

/* ---------- meet angela ---------- */
.meet{
  background:var(--white);
  display:grid;grid-template-columns:1fr 34% 22%;
  gap:clamp(1rem,2.5vw,2rem);
  padding:clamp(4rem,8vw,7rem) var(--gutter);
  align-items:center;
}
.meet__text{text-align:right;padding-right:clamp(1rem,3vw,2.5rem)}
.meet__text .lede{margin-left:auto;max-width:46ch}
.meet__text h3{margin:1.25rem 0 1.5rem}
.meet__text .head-row{justify-content:flex-end;margin-bottom:1rem}
.meet__text .rule{max-width:70px}
.meet__figure{margin:0}
.meet__figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.meet__figure--inset{margin-left:-30%;margin-top:6rem;z-index:2}
.meet__figure--inset img{aspect-ratio:4/3;border:8px solid var(--white);box-shadow:0 6px 18px rgba(0,0,0,.16)}

/* ---------- testimonials ---------- */
.quotes{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center;position:relative}
.quotes__inner{max-width:640px;margin:0 auto;position:relative;min-height:220px}
.quote{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;display:flex;flex-direction:column;justify-content:center;align-items:center}
.quote.is-active{opacity:1;visibility:visible}
.quote blockquote{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.45;margin:0 0 1.1rem;max-width:30ch}
.quote cite{font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:.15em;font-size:.72rem;margin-bottom:1rem}
.quotes__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;color:var(--ink);font-size:1.5rem;line-height:1;padding:.5rem 1rem;opacity:.6}
.quotes__nav:hover{opacity:1}
.quotes__nav--prev{left:clamp(.5rem,4vw,4rem)}
.quotes__nav--next{right:clamp(.5rem,4vw,4rem)}

/* ---------- podcast ---------- */
.podcast{background:var(--cream);padding:clamp(4rem,8vw,7rem) var(--gutter);text-align:center}
.podcast__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2.5rem);max-width:1000px;margin:3rem auto}
.episode{text-decoration:none;display:block}
.episode img{width:100%;aspect-ratio:2/3;object-fit:cover;transition:transform .5s ease}
.episode:hover img{transform:translateY(-6px)}
.episode span{display:block;margin-top:1rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* ---------- logos + footer ---------- */
/* ---------- around the web ---------- */
.around{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter) clamp(3rem,6vw,5rem);text-align:center}
.around__marquee{position:relative;overflow:hidden;margin:3rem auto 0;max-width:1250px;
  /* soft fade at both edges so logos ease in and out of view */
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.around__track{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  width:max-content;animation:around-scroll 48s linear infinite}
.around__marquee:hover .around__track,
.around__marquee:focus-within .around__track{animation-play-state:paused}
@keyframes around-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .around__track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}
}
/* every slot is the same width, so the logos keep the even rhythm
   they had in the old static row, just moving */
.around__item{flex:0 0 auto;width:clamp(150px,15vw,210px);
  display:flex;align-items:center;justify-content:center;
  min-height:110px;padding:0 .5rem;text-decoration:none;color:var(--ink);
  transition:opacity .3s ease}
.around__item img{max-width:100%;width:auto;object-fit:contain;opacity:.78;transition:opacity .3s ease}
.around__item:hover img{opacity:1}
.around__item--wide img{max-height:52px}
.around__item--tall img{max-height:66px}
.around__item--square img{max-height:82px}

/* ---------- footer columns ---------- */
.footer-main{
  background:var(--cream);
  /* columns hug their content so the mark sits evenly between the two blocks */
  display:grid;grid-template-columns:auto auto auto;
  justify-content:space-between;
  gap:clamp(2rem,5vw,4rem);
  padding:clamp(3rem,6vw,5rem) var(--gutter);
  align-items:stretch;
}
.footer-nav,.footer-signup{align-self:start}
.footer-main h4{font-size:clamp(1.5rem,2.2vw,2rem);margin-bottom:1.75rem}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:.4rem clamp(1.5rem,4vw,3rem)}
.footer-links a{
  display:block;text-decoration:none;color:var(--gold);
  font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem 0;
  transition:color .3s ease;
}
.footer-links a:hover{color:var(--green)}
.footer-brand{display:flex;align-items:center;justify-content:center;height:100%}
.footer-brand img{width:clamp(150px,16vw,210px);height:auto}
.footer-signup p{max-width:40ch}
.signup-form{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch}
.signup-form input{
  flex:1 1 200px;border:0;border-bottom:1px solid var(--gold);background:transparent;
  padding:.7rem .25rem;font-family:var(--body);font-size:.86rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--body-ink);
}
.signup-form input::placeholder{color:var(--muted);opacity:.8}
.signup-form input:focus{outline:none;border-bottom-color:var(--green)}
.signup-form button{
  background:var(--gold);color:var(--white);border:0;cursor:pointer;
  padding:.7rem 2.5rem;font-family:var(--body);font-size:.86rem;letter-spacing:.14em;
  transition:background .3s ease;
}
.signup-form button:hover{background:var(--green)}

/* ---------- instagram strip ---------- */
.ig-strip{display:grid;grid-template-columns:repeat(6,1fr);background:var(--white)}
.ig-strip a{display:block;overflow:hidden}
.ig-strip img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .6s ease}
.ig-strip a:hover img{transform:scale(1.05)}
.site-footer{background:var(--green);color:var(--white);padding:1.1rem var(--gutter);text-align:center}
.site-footer small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.site-footer a{color:var(--gold);text-decoration:none;transition:opacity .3s ease}
.site-footer a:hover{opacity:.75;text-decoration:underline}

/* ---------- responsive ---------- */
@media(max-width:900px){
  body{font-size:19px}
  .announce{flex-direction:column;text-align:center}
  .announce p{padding:.7rem 1rem;font-size:.85rem}
  .announce a{justify-content:center;padding:.75rem 1rem}
  .hero{grid-template-columns:1fr}
  .hero__rail{display:none}
  .hero__frame{aspect-ratio:auto;min-height:78vh}
  .hero__media::after{background:rgba(12,12,12,.45)}
  .hero__inner{padding:2.5rem var(--gutter)}
  .hero__inner p{max-width:32ch}
  .intro,.method,.meet{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .intro__media{margin-top:0;order:-1}
  .intro__text{padding-top:2.5rem;text-align:left;margin:0}
  .intro__text h3 span{white-space:normal}
  .intro__text .lede{margin-left:0}
  .intro__text .head-row{justify-content:flex-start}
  .intro__text .btn-row{justify-content:flex-start}
  .vstack{display:none}
  .method{padding-top:3rem}
  .method__media{order:-1;padding-left:0;margin-bottom:0}
  .method__rail{display:none}
  .method__text .head-row{margin-left:0}
  .meet__text{text-align:left;padding-right:0}
  .meet__text .lede{margin-left:0}
  .meet__text .head-row{justify-content:flex-start}
  .meet__figure--inset{margin:1rem 0 0;max-width:70%}
  .podcast__grid{grid-template-columns:1fr;max-width:320px}
  .around__item{min-height:88px;padding:0 1.25rem}
  .around__track{animation-duration:32s}
  .footer-main{grid-template-columns:1fr;text-align:center}
  .footer-links{justify-items:center}
  .footer-signup p{margin-left:auto;margin-right:auto}
  .ig-strip{grid-template-columns:repeat(3,1fr)}
  .quotes__nav{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .episode img{transition:none}
}


/* ================= ABOUT PAGE ================= */
.img-slot{
  background:var(--cream);border:1px dashed var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  text-align:center;padding:1rem;
}

/* hero - full bleed, text block over the left side */
.ahero{position:relative;display:flex;align-items:center;overflow:hidden;background:#8A8079}
.ahero__frame{position:relative;width:100%;aspect-ratio:2.06/1;min-height:430px;display:flex;align-items:center}
.ahero__media{position:absolute;inset:0;z-index:0;background:#AA9F97}
/* one photograph, full width */
.ahero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.ahero__inner{position:relative;z-index:2;color:var(--white);width:53%;padding:0 3% 0 6%;text-align:center}
.ahero__inner h1{color:var(--white);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.8rem,3.2vw,2.9rem)}
.ahero__inner p{font-size:clamp(1.05rem,1.5vw,1.45rem);font-family:var(--display);line-height:1.5;margin:1.75rem 0 1.5rem;color:var(--white)}
.ahero__inner .eyebrow{display:block;margin-bottom:2rem;font-size:.74rem;font-weight:500;letter-spacing:.12em}

/* short version - white left, cream right */
.short{
  background:linear-gradient(90deg,var(--white) 0 30%,var(--cream) 30% 100%);
  display:grid;grid-template-columns:13.4% 30% 1fr;
  padding:0 var(--gutter) clamp(3.5rem,7vw,6rem) 0;
  align-items:start;
}
.short__media{grid-column:2;margin-top:clamp(-5rem,-3.6vw,-1.5rem);position:relative;z-index:3}
.short__media img,.short__media .img-slot{width:100%;aspect-ratio:0.69;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.short__text{grid-column:3;text-align:center;max-width:640px;margin:0 auto;padding-top:clamp(4rem,9vw,8rem)}
.short__text h2{margin-bottom:1.5rem}

/* longer version - cream left, white right */
.longer{
  background:linear-gradient(90deg,var(--cream) 0 70%,var(--white) 70% 100%);
  display:grid;grid-template-columns:1fr 30%;
  gap:clamp(2rem,5vw,4rem);
  padding:clamp(3rem,6vw,5rem) 12.5% clamp(4rem,8vw,7rem) var(--gutter);
  align-items:stretch;
}
.longer__text{text-align:center;max-width:620px;margin:0 auto}
.longer__text h2{margin-bottom:1.75rem}
/* photo tracks the height of the copy beside it */
.longer__media{align-self:stretch;display:flex}
.longer__media img,.longer__media .img-slot{width:100%;height:100%;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* never coach around */
.never{position:relative;padding:clamp(5rem,11vw,9rem) var(--gutter);color:var(--white);text-align:center;background:#6E625A}
/* the image holds still while the copy scrolls over it */
.never__media{
  position:absolute;inset:0;z-index:0;
  background-image:var(--never-bg,none);
  background-size:cover;background-position:center;
  background-attachment:fixed;
}
.never__media::after{content:"";position:absolute;inset:0;background:rgba(92,80,70,.55)}
.never__inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.never h2{color:var(--white);margin-bottom:2.5rem}
.never__list{list-style:none;margin:0 0 2.5rem;padding:0;display:grid;gap:1.5rem}
.never__list li{font-size:19px;line-height:1.75;color:var(--white)}
.never__list strong{font-weight:500}
.never .rule--v{background:rgba(255,255,255,.5);margin-bottom:2rem}

/* why this work */
.why{background:var(--cream);padding:clamp(4rem,8vw,6.5rem) var(--gutter);text-align:center}
.why__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  max-width:1050px;margin:3rem auto 0;gap:0;
}
.why__col{padding:0 clamp(1.25rem,3vw,2.5rem);border-left:1px solid var(--line)}
.why__col:first-child{border-left:0}
.why__col h3{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.05rem,1.5vw,1.3rem);margin-bottom:1rem}
.why__col p{margin:0}

/* closing cta - photo left, white right */
.next{background:var(--white);display:grid;grid-template-columns:1fr 1fr;align-items:center}
.next__media{align-self:stretch}
.next__media img,.next__media .img-slot{width:100%;height:100%;aspect-ratio:0.8;object-fit:cover;display:block}
.next__text{text-align:center;padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,4rem);max-width:80%;margin:0 auto}
.next__text .eyebrow{display:block;color:var(--ink);font-weight:500;font-size:.78rem;letter-spacing:.18em;margin-bottom:1.1rem}
.next__text h2{margin-bottom:1.5rem;font-size:clamp(1.6rem,2.7vw,2.5rem);letter-spacing:.02em}
.next__text .lede{margin-bottom:2rem}

@media(max-width:900px){
  .ahero__frame{aspect-ratio:auto;min-height:72vh}
  .ahero__media img{object-position:65% center}
  .ahero__media::after{content:"";position:absolute;inset:0;background:rgba(90,80,72,.35)}
  .ahero__inner{width:100%;padding:2.5rem var(--gutter)}
  .short,.longer,.next{grid-template-columns:1fr;background:var(--cream);padding:2.5rem var(--gutter) 3rem}
  .short__media,.short__text,.longer__text{grid-column:1}
  .short__media{margin-top:0;order:-1}
  .short__text,.longer__text{padding-top:2rem}
  .longer__media{order:-1}
  .longer__media img{height:auto;aspect-ratio:0.87}
  .never__media{background-attachment:scroll}
  .why__grid{grid-template-columns:1fr;gap:2.5rem}
  .why__col{border-left:0;border-top:1px solid var(--line);padding-top:2rem}
  .why__col:first-child{border-top:0;padding-top:0}
  .next{padding:0;background:var(--white)}
  .next__text{max-width:100%;padding:2.5rem var(--gutter) 3.5rem}
  .next__media img{aspect-ratio:4/3}
}



/* ================= SPEAKING PAGE ================= */
.logo-slot{border:1px dashed var(--line);min-height:110px;display:flex;align-items:center;justify-content:center;
  font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--line)}

/* hero */
.shero{position:relative;overflow:hidden;background:#2A2148}
.shero__frame{position:relative;width:100%;aspect-ratio:2.04/1;min-height:440px;display:flex;align-items:center;justify-content:center}
.shero__media{position:absolute;inset:0;z-index:0}
.shero__media img{width:100%;height:100%;object-fit:cover}
.shero__media::after{content:"";position:absolute;inset:0;background:rgba(26,20,48,.42)}
.shero__inner{position:relative;z-index:2;text-align:center;color:var(--white);max-width:960px;padding:0 var(--gutter)}
.shero__inner .eyebrow{display:block;font-weight:500;letter-spacing:.2em;margin-bottom:1.1rem}
.shero__inner h1{color:var(--white);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.5rem,3.5vw,3.1rem);white-space:nowrap}
.shero__inner p{margin:1.4rem auto 2rem;max-width:60ch;color:var(--white);font-size:19px;line-height:1.75}
.shero__btns{display:flex;gap:.9rem;justify-content:center;align-items:stretch;flex-wrap:wrap}
/* both hero buttons share one size, padding and optical centre */
.shero__btns .btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.82rem;letter-spacing:.2em;padding:1.15rem 2.2rem;line-height:1;
}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--white)}
.btn--gold:hover,.btn--gold:focus-visible{background:transparent;border-color:var(--white);color:var(--white)}

/* client logos */
.sp-logos{background:var(--white);padding:clamp(2.5rem,5vw,4rem) var(--gutter)}
.sp-logos__grid{max-width:1250px;margin:0 auto}

/* short version */
.sp-intro{background:var(--white);display:grid;grid-template-columns:34% 1fr;gap:clamp(2rem,5vw,4.5rem);
  padding:clamp(2rem,5vw,4rem) clamp(2rem,8vw,7rem) clamp(3.5rem,7vw,6rem);align-items:center}
/* the direct child is the photo; the script artwork must not be caught by this */
.sp-intro > img{width:100%;aspect-ratio:1;object-fit:cover}
.script--art img,.script--art svg{aspect-ratio:auto;object-fit:contain}
.sp-intro__text .script--art{margin-bottom:.75rem;display:block}
.sp-intro__text .script--art svg{width:clamp(170px,18vw,260px);color:var(--gold)}
.sp-intro__text h2{text-transform:uppercase;font-size:clamp(1.4rem,2.3vw,2rem);margin-bottom:1.25rem;letter-spacing:.01em}
.sp-intro__note{color:var(--gold);font-style:italic;font-size:19px}

/* signature talks */
.talks{background:var(--cream);padding:clamp(3.5rem,7vw,6rem) var(--gutter) clamp(4rem,8vw,7rem);text-align:center}
.talks__sub{max-width:60ch;margin:1rem auto 0}
.talk{display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1150px;margin:clamp(2.5rem,5vw,4rem) auto 0;text-align:left}
.talk__card{background:var(--white);padding:clamp(1.75rem,3.5vw,3rem);z-index:2}
.talk__media{margin:0}
.talk__media img{width:100%;aspect-ratio:0.68;object-fit:cover;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.talk--right .talk__card{grid-column:1;grid-row:1;margin-right:-14%}
.talk--right .talk__media{grid-column:2;grid-row:1}
.talk--left .talk__card{grid-column:2;grid-row:1;margin-left:-14%}
.talk--left .talk__media{grid-column:1;grid-row:1}
.talk__no{display:block;color:var(--gold);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.75rem}
.talk__card h3{text-transform:uppercase;font-size:clamp(1.2rem,1.9vw,1.6rem);margin-bottom:1rem;letter-spacing:.01em}
.talk__best{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.25rem;line-height:1.7}
.talk__best strong{color:var(--ink);font-weight:500}
.talk__best span{color:var(--gold)}
.talk__card p{font-size:19px;line-height:1.8}
.talk__card h4{font-family:var(--body);font-size:.74rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin:1.5rem 0 .75rem}
.talk__card ul{margin:0 0 1.75rem;padding-left:1.1rem;font-size:19px;line-height:1.7}
.talk__card li{margin-bottom:.45rem}
.btn--sm{font-size:.68rem;padding:.75rem 1.4rem}

/* what to expect */
.expect{position:relative;padding:clamp(4rem,9vw,7rem) var(--gutter);color:var(--white);text-align:center;background:#4A403A}
.expect__media{position:absolute;inset:0;z-index:0;background-image:var(--expect-bg,none);
  background-size:cover;background-position:center 35%;background-attachment:scroll}
.expect__media::after{content:"";position:absolute;inset:0;background:rgba(50,42,36,.58)}
.expect__inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.expect h2{color:var(--white);margin-bottom:2.5rem}
.expect__item{margin-bottom:2.25rem}
.expect__item h3{color:var(--white);text-transform:uppercase;font-size:clamp(1.05rem,1.6vw,1.35rem);margin-bottom:.75rem;letter-spacing:.02em}
.expect__item p{margin:0;color:var(--white);font-size:19px;line-height:1.75}

/* ways to serve */
.serve{background:linear-gradient(90deg,var(--cream) 0 22%,var(--white) 22% 100%);
  display:grid;grid-template-columns:36% 1fr;gap:clamp(2rem,5vw,4.5rem);
  padding:clamp(3rem,6vw,5rem) clamp(2rem,7vw,6rem) clamp(3.5rem,7vw,6rem) var(--gutter);align-items:center}
.serve img{width:100%;aspect-ratio:0.85;object-fit:cover}
.serve__list .eyebrow{display:block;color:var(--gold);margin-bottom:1.5rem;letter-spacing:.18em}
.serve__item{margin-bottom:1.75rem}
.serve__item h3{text-transform:uppercase;font-size:clamp(1.05rem,1.6vw,1.35rem);margin-bottom:.4rem;letter-spacing:.01em}
.serve__item p{margin:0;font-size:19px;line-height:1.75}

/* testimonial */
.sp-quote{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center}
.sp-quote blockquote{font-size:19px;font-style:italic;line-height:1.8;max-width:62ch;margin:0 auto;font-family:var(--body)}

/* faq */
.faq{background:var(--cream);padding:clamp(3.5rem,7vw,6rem) var(--gutter)}
.faq__card{background:var(--white);max-width:820px;margin:0 auto;padding:clamp(2rem,4vw,3.5rem)}
.faq h2{text-align:center;margin-bottom:2rem}
.faq details{margin-bottom:.6rem;background:var(--cream)}
.faq details[open]{background:transparent}
.faq summary{
  list-style:none;cursor:pointer;padding:.95rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  font-size:.92rem;letter-spacing:.06em;background:var(--cream);color:var(--ink);transition:background .3s ease,color .3s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.1rem;line-height:1}
.faq details[open] summary{background:var(--green);color:var(--white)}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0;padding:1.1rem 1.2rem 1.5rem;font-size:19px;line-height:1.8}

/* one-sheet */
.onesheet{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center}
.onesheet .eyebrow{display:block;color:var(--gold);margin-bottom:1rem;letter-spacing:.2em}
.onesheet p{max-width:62ch;margin:1.25rem auto 2rem}

/* booking form */
.book{background:var(--white);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(2rem,5vw,4rem);
  padding:0 clamp(2rem,6vw,5rem) clamp(3rem,6vw,5rem) 0}
.book__media{align-self:stretch;display:flex}
.book__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.book__form .script--art{display:block;margin-bottom:.4rem}
.book__form .script--art svg{width:clamp(110px,11vw,150px);color:var(--gold)}
.book__form h2{text-transform:uppercase;font-size:clamp(1.3rem,2.1vw,1.8rem);margin:.5rem 0 1rem}
.book__form > p{font-size:19px;max-width:52ch}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;color:var(--muted)}
.field label .req{color:var(--gold)}
.field input,.field select,.field textarea{
  width:100%;padding:.7rem .8rem;border:1px solid var(--line);background:var(--white);
  font-family:var(--body);font-size:19px;color:var(--body-ink);border-radius:0;
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.book__form button{
  width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);cursor:pointer;
  padding:.9rem 1rem;font-family:var(--body);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  transition:background .3s ease,color .3s ease;
}
.book__form button:hover{background:var(--gold);color:var(--white)}
.book__note{text-align:center;font-style:italic;font-size:19px;margin-top:1rem}

@media(max-width:900px){
  .shero__frame{aspect-ratio:auto;min-height:78vh}
  .shero__inner h1{white-space:normal}
  .sp-logos__grid{grid-template-columns:repeat(2,1fr)}
  .sp-intro,.serve,.book{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .serve{background:var(--white)}
  .talk{grid-template-columns:1fr}
  .talk--right .talk__card,.talk--left .talk__card{grid-column:1;grid-row:2;margin:0}
  .talk--right .talk__media,.talk--left .talk__media{grid-column:1;grid-row:1}
  .expect__media{background-attachment:scroll}
  .field-row{grid-template-columns:1fr}
  .book{padding:0 0 3rem}
  .book__media{padding:0 var(--gutter)}
  .book__form{padding:0 var(--gutter)}
  .book__media img{aspect-ratio:1;height:auto}
}



/* ================= WORK WITH ME ================= */
.img-slot{background:var(--cream);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;padding:1rem}

/* hero */
.whero{background:var(--cream);display:grid;grid-template-columns:14% 30% 1fr;gap:clamp(1.5rem,4vw,3.5rem);
  padding:clamp(3rem,6vw,5rem) clamp(2rem,8vw,8rem) clamp(3rem,6vw,5rem) 0;align-items:center}
.whero__media{grid-column:2}
.whero__media img{width:100%;aspect-ratio:0.72;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.whero__text{grid-column:3;max-width:560px}
.whero__text .eyebrow{display:block;color:var(--gold);letter-spacing:.2em;margin-bottom:1rem}
.whero__text h1{text-transform:uppercase;font-size:clamp(1.15rem,1.85vw,1.65rem);letter-spacing:.01em;margin-bottom:1.25rem}
/* headline holds to three lines */
.whero__text h1 span{display:block;white-space:nowrap}

/* built for */
.built{background:var(--white);display:grid;grid-template-columns:1fr 38%;gap:clamp(2rem,5vw,4.5rem);
  padding:clamp(5rem,10vw,9rem) clamp(2rem,7vw,7rem);align-items:stretch}
.built__text{align-self:center}
.built h2{text-transform:uppercase;font-size:clamp(1.3rem,2.1vw,1.85rem);letter-spacing:.01em;margin-bottom:1.5rem}
.built .script--art{display:block;margin:2rem 0 1.25rem;line-height:0;color:var(--gold)}
.built .script--art svg{width:clamp(230px,26vw,400px);height:auto;fill:currentColor;display:block}
/* photo tracks the height of the copy beside it */
.built__media{align-self:stretch;display:flex}
.built__media img{width:100%;height:100%;object-fit:cover;box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* three ways */
.ways{background:var(--cream);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center}
.ways__grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1050px;margin:2.5rem auto 0;gap:0}
.ways__col{padding:0 clamp(1.25rem,3vw,2.5rem);border-left:1px solid var(--line);display:flex;flex-direction:column}
.ways__col:first-child{border-left:0}
.ways__col h3{text-transform:uppercase;font-size:clamp(1.05rem,1.6vw,1.35rem);margin-bottom:1rem;letter-spacing:.01em}
.ways__col p{flex:1}
.ways__col .btn{align-self:center}
.btn--sm{font-size:.68rem;padding:.75rem 1.4rem}

/* quote band */
.wquote{position:relative;padding:clamp(4rem,9vw,7rem) var(--gutter);color:var(--white);text-align:center;background:#4C5340;overflow:hidden}
.wquote__media{position:absolute;inset:0;z-index:0;background-image:var(--quote-bg,none);background-size:cover;background-position:center}
.wquote__media::after{content:"";position:absolute;inset:0;background:rgba(52,58,44,.42)}
.wquote__inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.wquote h2{color:var(--white);text-transform:uppercase;font-size:clamp(1.5rem,2.8vw,2.4rem);line-height:1.35;letter-spacing:.01em}
/* the emphasised words are hand-lettered artwork sitting on the baseline */
.wquote h2 em{display:inline-block;vertical-align:baseline;line-height:0;font-style:normal;color:var(--white)}
.wquote h2 em svg{display:inline-block;height:auto;fill:currentColor;vertical-align:-0.28em}
.wquote h2 em.is-force svg{width:clamp(200px,20vw,300px)}
.wquote h2 em.is-leader svg{width:clamp(70px,7vw,105px)}
.wquote h2 em.is-running svg{width:clamp(88px,9vw,130px)}
.wquote .rule--v{background:rgba(255,255,255,.6);margin:2rem auto}

/* client love */
.love{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter) clamp(4rem,8vw,7rem);text-align:center}

/* testimonials: one at a time, sliding horizontally */
.love__slider{max-width:900px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;position:relative}
.love__track{position:relative;min-height:260px}
.love__slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;
  transform:translateX(40px);transition:opacity .5s ease,transform .5s ease;
  display:flex;flex-direction:column;justify-content:center;align-items:center}
.love__slide.is-active{opacity:1;visibility:visible;transform:none;position:relative}
.love__slide blockquote{margin:0;font-family:var(--display);font-size:clamp(1.15rem,1.9vw,1.6rem);
  line-height:1.55;color:var(--ink);max-width:44ch}
.love__slide figcaption{margin-top:1.75rem}
.love__slide cite{display:block;font-style:normal;font-size:.8rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold)}
.love__slide figcaption span{display:block;margin-top:.4rem;font-size:.78rem;
  letter-spacing:.08em;color:var(--muted)}

.love__nav{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.25rem}
.love__arrow{background:none;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;
  cursor:pointer;color:var(--ink);font-size:1rem;line-height:1;transition:all .3s ease}
.love__arrow:hover{border-color:var(--gold);color:var(--gold)}
.love__dots{display:flex;gap:.55rem}
.love__dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:var(--line);transition:background .3s ease,transform .3s ease}
.love__dot.is-active{background:var(--gold);transform:scale(1.25)}

@media(max-width:760px){
  .love__track{min-height:330px}
  .love__nav{gap:1rem}
}

/* faq */
.wfaq{background:var(--cream);padding:clamp(3.5rem,7vw,6rem) var(--gutter)}
.wfaq__card{background:var(--white);max-width:820px;margin:0 auto;padding:clamp(2rem,4vw,3.5rem)}
.wfaq h2{text-align:center;margin-bottom:2rem}
.wfaq details{margin-bottom:.6rem}
.wfaq summary{list-style:none;cursor:pointer;padding:.95rem 1.1rem;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;font-size:.95rem;letter-spacing:.05em;background:var(--cream);color:var(--ink);
  transition:background .3s ease,color .3s ease}
.wfaq summary::-webkit-details-marker{display:none}
.wfaq summary::after{content:"+";font-size:1.1rem;line-height:1}
.wfaq details[open] summary{background:var(--green);color:var(--white)}
.wfaq details[open] summary::after{content:"\2013"}
.wfaq details p{margin:0;padding:1.1rem 1.2rem 1.5rem;font-size:19px;line-height:1.8}

/* contact form */
.ready{background:var(--white);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  gap:clamp(2rem,5vw,4rem);padding:0 clamp(2rem,6vw,5rem) clamp(3rem,6vw,5rem) 0}
.ready__media{display:flex}
.ready__media img{width:100%;height:100%;object-fit:cover;display:block}
.ready__form{align-self:center;padding-top:clamp(2rem,5vw,4rem)}
.ready__form .script--art{display:block;width:clamp(150px,15vw,230px);color:var(--gold);margin-bottom:.5rem}
.ready__form .script--art svg{display:block;width:100%;height:auto;fill:currentColor}
.ready__form h2{text-transform:uppercase;font-size:clamp(1.3rem,2.1vw,1.8rem);margin:.4rem 0 1rem}
.ready__form > p{max-width:52ch}
.ready__form button{width:100%;background:transparent;border:1px solid var(--gold);color:var(--gold);cursor:pointer;
  padding:.9rem 1rem;font-family:var(--body);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  transition:background .3s ease,color .3s ease}
.ready__form button:hover{background:var(--gold);color:var(--white)}
.ready__note{text-align:center;font-style:italic;font-size:19px;margin-top:1rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem;color:var(--muted)}
.field label .req{color:var(--gold)}
.field input,.field textarea{width:100%;padding:.7rem .8rem;border:1px solid var(--line);background:var(--white);
  font-family:var(--body);font-size:19px;color:var(--body-ink);border-radius:0}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

@media(max-width:900px){
  .whero{grid-template-columns:1fr;padding:2.5rem var(--gutter) 3rem}
  .whero__text h1 span{white-space:normal;display:inline}
  .whero__media,.whero__text{grid-column:1}
  .built,.ready{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .built__media{order:-1}
  .built__media img{height:auto;aspect-ratio:1.1}
  .ways__grid{grid-template-columns:1fr;gap:2.5rem}
  .ways__col{border-left:0;border-top:1px solid var(--line);padding-top:2rem}
  .ways__col:first-child{border-top:0;padding-top:0}
  .love__item,.love__item--flip .love__text,.love__item--flip   .love__item--flip   .love__item--flip .love__text{grid-row:2}
  .field-row{grid-template-columns:1fr}
  .ready{padding:0 0 3rem}
  .ready__media,.ready__form{padding:0 var(--gutter)}
  .ready__media img{aspect-ratio:1;height:auto}
}



/* ================= PODCAST ================= */
.img-slot{background:var(--cream);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
  font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;padding:1rem}

/* hero */
.phero{position:relative;overflow:hidden;background:#2E4A4E}
.phero__frame{position:relative;width:100%;aspect-ratio:2.03/1;min-height:460px;display:flex;align-items:center}
.phero__media{position:absolute;inset:0;z-index:0}
.phero__media img{width:100%;height:100%;object-fit:cover}
.phero__media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,26,26,.5) 0%,rgba(20,26,26,.28) 42%,rgba(20,26,26,0) 68%)}
.phero__inner{position:relative;z-index:2;color:var(--white);padding:0 clamp(1.5rem,5vw,5rem);max-width:640px}
.phero__inner .script--art{display:block;margin-bottom:.5rem;line-height:0;color:var(--white)}
.phero__inner .script--art svg{width:clamp(110px,11vw,150px);height:auto;fill:currentColor;display:block}
.phero__inner h1{color:var(--white);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.7rem,3.4vw,2.9rem)}
.phero__inner p{color:var(--white);margin:1.25rem 0 1.75rem;max-width:46ch}
.listen-row{display:flex;gap:.7rem;flex-wrap:wrap}
.listen-row .btn{font-size:.68rem;letter-spacing:.16em;padding:.85rem 1.4rem;display:inline-flex;align-items:center;gap:.5rem}

/* host */
.host{background:var(--cream);display:grid;grid-template-columns:6% 44% 1fr;gap:clamp(1.5rem,4vw,3.5rem);
  padding:clamp(3rem,6vw,5rem) clamp(2rem,8vw,8rem) clamp(4rem,7vw,6rem) 0;align-items:center}
.host__media{grid-column:2}
.host__media img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 10px 26px rgba(0,0,0,.14)}
.host__text{grid-column:3;max-width:540px}
.host__text .eyebrow{display:block;color:var(--muted);letter-spacing:.18em;margin-bottom:.9rem}
.host__text h2{text-transform:uppercase;font-size:clamp(1.3rem,2.1vw,1.85rem);letter-spacing:.01em;margin-bottom:1.25rem}

/* favourite episodes */
.eps{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center}
.eps__list{max-width:900px;margin:2.5rem auto 0}
.ep{display:grid;grid-template-columns:170px 1fr;gap:clamp(1.5rem,3vw,2.5rem);
  align-items:center;text-align:left;padding:clamp(1.5rem,3vw,2.25rem) 0;border-top:1px solid var(--cream)}
.ep:first-child{border-top:0}
.ep--flip{grid-template-columns:1fr 170px}
.ep--flip .ep__text{grid-column:1;grid-row:1;text-align:right}
.ep--flip .ep__art{grid-column:2;grid-row:1}
.ep__art img{width:100%;aspect-ratio:0.72;object-fit:cover;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.ep__text h3{font-size:clamp(1.05rem,1.6vw,1.35rem);margin-bottom:.6rem;line-height:1.3}
.ep__text p{margin:0 0 .9rem}
.ep__link{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.ep__link:hover{color:var(--green)}
.eps > .btn{margin-top:2rem}

/* you'll love listening if */
.loves{background:#6E6E6C;color:var(--white);display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4rem);padding:clamp(3.5rem,7vw,6rem) clamp(2rem,7vw,7rem);align-items:center}
.loves__media img,.loves__media .img-slot{width:100%;aspect-ratio:0.72;object-fit:cover}
.loves__list{max-width:520px}
.loves__list .eyebrow{display:block;color:var(--white);opacity:.85;letter-spacing:.18em;margin-bottom:1.5rem}
.loves__row{display:grid;grid-template-columns:52px 1fr;gap:1.25rem;align-items:center;
  padding:1.1rem 0;border-top:1px solid rgba(255,255,255,.28)}
.loves__row:first-of-type{border-top:0}
.loves__num{font-family:var(--display);font-size:2rem;line-height:1;color:var(--white);opacity:.85}
.loves__row h3{color:var(--white);text-transform:uppercase;font-size:clamp(.95rem,1.35vw,1.15rem);
  letter-spacing:.02em;line-height:1.4;margin:0}
.loves__note{margin:1.5rem 0 0;color:var(--white);text-align:center}

/* be a guest */
.guest{background:var(--cream);
  display:grid;grid-template-columns:36% 1fr;gap:clamp(2rem,5vw,4rem);
  padding:clamp(4rem,9vw,7rem) clamp(2rem,8vw,8rem);align-items:center}
.guest__media img,.guest__media .img-slot{width:100%;aspect-ratio:1;object-fit:cover;
  box-shadow:0 10px 30px rgba(0,0,0,.10)}
.guest__text{max-width:640px}
.guest__text .eyebrow{display:block;color:var(--ink);font-weight:500;letter-spacing:.18em;margin-bottom:.9rem}
.guest__text h2{text-transform:uppercase;font-size:clamp(1.6rem,2.9vw,2.6rem);letter-spacing:.02em;margin-bottom:1.75rem}
.guest__text p{margin-bottom:2rem}

/* testimonials */
.pquotes{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center;position:relative}
.pquotes__inner{max-width:640px;margin:0 auto;position:relative;min-height:230px}
.pquote{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease;
  display:flex;flex-direction:column;justify-content:center;align-items:center}
.pquote.is-active{opacity:1;visibility:visible}
.pquote blockquote{font-family:var(--display);font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.45;margin:0 0 1.1rem;max-width:32ch}
.pquote .stars{color:var(--gold);letter-spacing:.15em;font-size:.72rem;margin-bottom:.9rem}
.pquote cite{font-style:normal;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pquotes__nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;
  color:var(--ink);font-size:1.5rem;line-height:1;padding:.5rem 1rem;opacity:.6}
.pquotes__nav:hover{opacity:1}
.pquotes__nav--prev{left:clamp(.5rem,4vw,4rem)}
.pquotes__nav--next{right:clamp(.5rem,4vw,4rem)}

/* come join us */
.join{background:var(--cream);padding:clamp(3rem,6vw,5rem) var(--gutter);text-align:center}
.join .eyebrow{display:block;color:var(--muted);letter-spacing:.2em;margin-bottom:.75rem}
.join .listen-row{justify-content:center;margin-top:1.75rem}

@media(max-width:900px){
  .phero__frame{aspect-ratio:auto;min-height:76vh}
  .phero__media::after{background:rgba(20,26,26,.45)}
  .host,.loves,.guest{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .host{padding-top:2.5rem}
  .host__media,.host__text{grid-column:1}
  .guest{background:var(--cream)}
  .loves__media,.guest__media{order:-1}
  .ep,.ep--flip{grid-template-columns:120px 1fr}
  .ep--flip .ep__text{grid-column:2;grid-row:1;text-align:left}
  .ep--flip .ep__art{grid-column:1;grid-row:1}
  .pquotes__nav{display:none}
}



/* ================= RESOURCES ================= */
.img-slot{background:var(--cream);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;padding:1rem}

/* hero */
.rhero{position:relative;overflow:hidden;background:#8C8279}
.rhero__frame{position:relative;width:100%;aspect-ratio:2.29/1;min-height:400px;display:flex;align-items:center;justify-content:center}
.rhero__media{position:absolute;inset:0;z-index:0}
.rhero__media img{width:100%;height:100%;object-fit:cover}
.rhero__media::after{content:"";position:absolute;inset:0;background:rgba(70,62,55,.34)}
.rhero__inner{position:relative;z-index:2;color:var(--white);text-align:center;max-width:640px;padding:0 var(--gutter)}
.rhero__inner h1{color:var(--white);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.8rem,3.2vw,2.7rem)}
.rhero__inner .eyebrow{display:block;font-weight:500;letter-spacing:.16em;margin:1rem 0 .75rem}
.rhero__inner p{color:var(--white);margin:0 auto;max-width:52ch}
.rhero__inner .btn{display:inline-flex;align-items:center;justify-content:center;
  font-size:.78rem;letter-spacing:.2em;padding:1.05rem 2.2rem;line-height:1}

/* freebies */
.free{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter) clamp(4rem,8vw,7rem);text-align:center;position:relative}
.free__sub{max-width:52ch;margin:.75rem auto 0;color:var(--muted)}
.free__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3.5vw,3rem);
  max-width:1150px;margin:2.5rem auto 0}
.free__item{display:flex;flex-direction:column;align-items:center}
.free__item:nth-child(2),.free__item:nth-child(5){margin-top:-2.5rem}
.free__item img,.free__item .img-slot{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 8px 22px rgba(0,0,0,.10)}
.free__tick{width:1px;height:34px;background:var(--line);margin:0 auto}
/* one size across all six cards */
.free__item h3{text-transform:uppercase;font-size:clamp(.92rem,1.35vw,1.2rem);letter-spacing:.02em;
  margin:.9rem 0 .75rem;min-height:2.6em;display:flex;align-items:center;justify-content:center;text-align:center}
.free__item p{margin-bottom:1.25rem}
.free__band{position:absolute;left:0;right:0;background:var(--cream);z-index:-1}

/* affiliate note */
.affil{background:var(--cream);padding:1.5rem var(--gutter);display:flex;gap:.9rem;
  align-items:center;justify-content:center;text-align:left}
.affil svg{width:26px;height:26px;flex:0 0 26px;color:var(--gold)}
.affil p{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.7;max-width:62ch}

/* favourite resources */
.favs{background:var(--white);padding:clamp(3.5rem,7vw,6rem) var(--gutter);text-align:center}
.favs__list{max-width:900px;margin:2.5rem auto 0}
.fav{display:grid;grid-template-columns:190px 1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:center;
  text-align:left;padding:clamp(1.5rem,3vw,2.25rem) 0;border-top:1px solid var(--cream)}
.fav:first-child{border-top:0}
.fav--flip{grid-template-columns:1fr 190px}
.fav--flip .fav__text{grid-column:1;grid-row:1;text-align:right}
.fav--flip .fav__art{grid-column:2;grid-row:1}
.fav__art img{width:100%;aspect-ratio:1;object-fit:contain;display:block}
.fav__text h3{text-transform:uppercase;font-size:clamp(1.1rem,1.7vw,1.45rem);margin-bottom:.6rem;letter-spacing:.02em}
.fav__text p{margin:0 0 .9rem}
.fav__link{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.fav__link:hover{color:var(--green)}

/* more resources */
.more{background:var(--white);padding:clamp(2rem,4vw,3rem) var(--gutter) clamp(4rem,8vw,6rem);text-align:center}
.more__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:1000px;margin:2.5rem auto 0}
.more__col{padding:0 clamp(1.25rem,3vw,2.5rem);border-left:1px solid var(--cream);display:flex;
  flex-direction:column;align-items:center}
.more__col:first-child{border-left:0}
.more__col img{width:120px;height:120px;object-fit:contain;margin-bottom:1.25rem}
.more__col h3{text-transform:uppercase;font-size:clamp(1rem,1.5vw,1.3rem);margin-bottom:.75rem;letter-spacing:.02em}
.more__col p{flex:1}

/* agency */
.agency{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);
  padding:clamp(3rem,6vw,5rem) clamp(2rem,7vw,7rem);align-items:center}
.agency__media img{width:100%;height:auto;display:block}
.agency__text{max-width:520px;text-align:center;margin:0 auto}
.agency__text .eyebrow{display:block;color:var(--muted);letter-spacing:.2em;margin-bottom:.6rem}
.agency__text h2{text-transform:uppercase;font-size:clamp(1.4rem,2.3vw,2rem);margin-bottom:1.25rem;letter-spacing:.02em}
.agency__text strong{font-weight:500;color:var(--ink)}

@media(max-width:900px){
  .rhero__frame{aspect-ratio:auto;min-height:66vh}
  .free__grid{grid-template-columns:1fr;max-width:360px}
  .free__item:nth-child(2),.free__item:nth-child(5){margin-top:0}
  .fav,.fav--flip{grid-template-columns:120px 1fr}
  .fav--flip .fav__text{grid-column:2;grid-row:1;text-align:left}
  .fav--flip .fav__art{grid-column:1;grid-row:1}
  .more__grid{grid-template-columns:1fr;gap:2.5rem}
  .more__col{border-left:0;border-top:1px solid var(--cream);padding-top:2rem}
  .more__col:first-child{border-top:0;padding-top:0}
  .agency{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .affil{flex-direction:column;text-align:center}
}

.btn--sm{font-size:.68rem;padding:.75rem 1.4rem}
.btn--gold{background:var(--gold);border-color:var(--gold);color:var(--white)}
.btn--gold:hover,.btn--gold:focus-visible{background:transparent;color:var(--gold);border-color:var(--gold)}



/* ================= EVENTS ================= */
.ehero{position:relative;overflow:hidden;background:#2B2320}
.ehero__frame{position:relative;width:100%;aspect-ratio:1.78/1;min-height:440px;
  display:flex;align-items:center;justify-content:center}
.ehero__media{position:absolute;inset:0;z-index:0}
.ehero__media img{width:100%;height:100%;object-fit:cover}
.ehero__media::after{content:"";position:absolute;inset:0;background:rgba(28,22,20,.5)}
.ehero__inner{position:relative;z-index:2;text-align:center;color:var(--white);
  max-width:820px;padding:0 var(--gutter)}
.ehero .eyebrow{display:block;color:var(--white);font-weight:500;letter-spacing:.2em;margin-bottom:1rem;opacity:.9}
.ehero h1{color:var(--white);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.9rem,3.6vw,3rem)}
.ehero p{max-width:56ch;margin:1.5rem auto 2rem;color:var(--white)}
.ehero__btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.ehero__btns .btn{border-color:var(--white);color:var(--white)}
.ehero__btns .btn:hover{background:var(--white);color:var(--ink)}

.event{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);
  padding:clamp(3.5rem,7vw,6rem) clamp(2rem,7vw,7rem);align-items:center}
.event--cream{background:var(--cream)}
.event--white{background:var(--white)}
.event--flip .event__text{grid-column:1;grid-row:1}
.event--flip .event__media{grid-column:2;grid-row:1}
.event__media img,.event__media .img-slot{width:100%;aspect-ratio:1;object-fit:cover}
#evolve .event__media img{aspect-ratio:1.45}
.event__text{max-width:560px}
.event__text .eyebrow{display:block;color:var(--gold);letter-spacing:.2em;margin-bottom:.75rem}
.event__text h2{text-transform:uppercase;font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:.02em;margin-bottom:1rem}
.event__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 1.5rem;padding:0;list-style:none}
.event__meta li{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.event__text .btn{margin-top:.5rem}

.enote{background:var(--green);color:var(--white);padding:clamp(2.5rem,5vw,4rem) var(--gutter);text-align:center}
.enote h2{color:var(--white);text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,1.9rem);margin-bottom:1rem}
.enote p{color:var(--white);max-width:56ch;margin:0 auto 1.75rem}
.enote .btn{border-color:var(--white);color:var(--white)}
.enote .btn:hover{background:var(--white);color:var(--green)}

@media(max-width:900px){
  .ehero__frame{aspect-ratio:auto;min-height:72vh}
  .event,.event--flip{grid-template-columns:1fr;padding-left:var(--gutter);padding-right:var(--gutter)}
  .event--flip .event__text,.event--flip .event__media{grid-column:1}
  .event--flip .event__media{grid-row:1}
  .event--flip .event__text{grid-row:2}
  .event__media{order:-1}
}


/* ---------- mobile image safety net ----------
   Content images are sized with height:100% inside stretched columns on
   desktop. Once those columns stack, the parent height is auto, so the
   height is reset here and the aspect ratio does the work instead.
   Hero layers are absolutely positioned and are deliberately left alone. */
@media(max-width:900px){
  .next__media img, .loves__media img, .guest__media img, .host__media img,
  .meet__figure img, .talk__media img, .agency__media img, .ep__art img,
  .short__media img, .split__media img, .intro__media img, .method__media img,
  .longer__media img, .book__media img, .built__media img, .ready__media img,
  .contact__media img, .whero__media img, .free__item img, .fav__art img,
  .love__media img, .sp-intro img, .serve img{
    height:auto;
    width:100%;
    max-width:100%;
    display:block;
  }
  /* keep the hero frames filled */
  .hero__media img, .ahero__media img, .shero__media img,
  .phero__media img, .rhero__media img,
  .hero__media video{
    height:100%;
    width:100%;
    object-fit:cover;
  }
}


/* ================= CONTACT ================= */
.contact{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,4vw,3rem) clamp(2rem,5vw,4rem) clamp(3rem,6vw,5rem) 0;
  align-items:start}
.contact__media{display:flex}
.contact__media img{width:100%;height:100%;object-fit:cover;display:block}
.contact__form{padding-top:clamp(1.5rem,4vw,3rem);max-width:640px}
.contact__form h1{text-transform:uppercase;font-size:clamp(1.5rem,2.6vw,2.3rem);letter-spacing:.02em;margin-bottom:1.25rem}
.contact__form > p{max-width:54ch;margin-bottom:2rem}
.field{margin-bottom:1.25rem}
.field label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem;color:var(--muted)}
.field label .req{color:#B3453B}
.field input,.field select,.field textarea{width:100%;padding:.75rem .8rem;border:1px solid var(--line);
  background:var(--white);font-family:var(--body);font-size:19px;color:var(--body-ink);border-radius:0}
.field textarea{min-height:210px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.contact__form button{width:100%;background:var(--white);border:1px solid var(--gold);color:var(--gold);
  cursor:pointer;padding:1rem;font-family:var(--body);font-size:.8rem;letter-spacing:.2em;
  text-transform:uppercase;transition:background .3s ease,color .3s ease}
.contact__form button:hover{background:var(--gold);color:var(--white)}
  font-family:var(--display);font-size:clamp(1.05rem,1.6vw,1.35rem);letter-spacing:.06em;
  text-transform:uppercase;transition:color .3s ease}

@media(max-width:900px){
  .contact{grid-template-columns:1fr;padding:0 0 3rem}
  .contact__media img{aspect-ratio:1;height:auto}
  .contact__form{padding:2rem var(--gutter) 0}
  .field-row{grid-template-columns:1fr}
}



/* ---------- global mobile + link colour hardening ---------- */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
a,a:visited,a:active{color:inherit}
/* stop iOS/Chrome auto-linking emails and numbers in default blue */
a[href^="mailto:"],a[href^="tel:"],a[href^="sms:"]{
  color:inherit;text-decoration:none;-webkit-text-fill-color:currentColor;
}
input,select,textarea,button{font-size:16px;max-width:100%}
.btn{text-align:center}

/* links that live inside the mobile menu only */
.only-mobile{display:none}

@media(max-width:1100px){
  .site-nav.is-open .only-mobile{display:block}
}

@media(max-width:760px){
  :root{--gutter:1.15rem}
  .site-header{padding:.9rem var(--gutter)}
  .logo img{width:170px}
  .announce{flex-direction:column;text-align:center}
  .announce p{padding:.6rem 1rem;font-size:.8rem;letter-spacing:.08em}
  .announce a{justify-content:center;padding:.7rem 1rem;font-size:.72rem}
  h1,h2,h3{overflow-wrap:break-word}
  .btn{width:auto;display:inline-block;padding:.9rem 1.5rem;font-size:.72rem;letter-spacing:.15em}
  .listen-row .btn,.shero__btns .btn{width:100%;justify-content:center}
  section{padding-left:var(--gutter);padding-right:var(--gutter)}
  .field-row{grid-template-columns:1fr}
  .footer-links{grid-template-columns:1fr 1fr;gap:.3rem 1rem}
  .ig-strip{grid-template-columns:repeat(2,1fr)}
  .site-footer small{letter-spacing:.1em;line-height:1.8}
}

@media(max-width:420px){
  .ig-strip{grid-template-columns:repeat(2,1fr)}
  .footer-links{grid-template-columns:1fr}
}


/* ---------- mobile image safety net ----------
   Content images are sized with height:100% inside stretched columns on
   desktop. Once those columns stack, the parent height is auto, so the
   height is reset here and the aspect ratio does the work instead.
   Hero layers are absolutely positioned and are deliberately left alone. */
@media(max-width:900px){
  .next__media img, .loves__media img, .guest__media img, .host__media img,
  .meet__figure img, .talk__media img, .agency__media img, .ep__art img,
  .short__media img, .split__media img, .intro__media img, .method__media img,
  .longer__media img, .book__media img, .built__media img, .ready__media img,
  .contact__media img, .whero__media img, .free__item img, .fav__art img,
  .love__media img, .sp-intro img, .serve img{
    height:auto;
    width:100%;
    max-width:100%;
    display:block;
  }
  /* keep the hero frames filled */
  .hero__media img, .ahero__media img, .shero__media img,
  .phero__media img, .rhero__media img,
  .hero__media video{
    height:100%;
    width:100%;
    object-fit:cover;
  }
}


/* hand-lettered headings supplied as SVG assets */
.script--art img{display:block;height:auto}
.is-hi img{width:clamp(230px,25vw,370px)}
.is-become img{width:clamp(120px,12vw,180px)}
.sp-intro__text .script--art img{width:clamp(170px,18vw,260px)}
.book__form .script--art img,.ready__form .script--art img{width:clamp(110px,11vw,150px)}
.built .script--art img{width:clamp(230px,26vw,400px)}
.phero__inner .script--art img{width:clamp(110px,11vw,150px)}
.wquote h2 em img{display:inline-block;vertical-align:-0.28em;height:auto}
.wquote h2 em.is-force img{width:clamp(200px,20vw,300px)}
.wquote h2 em.is-leader img{width:clamp(70px,7vw,105px)}
.wquote h2 em.is-running img{width:clamp(88px,9vw,130px)}
.logo{padding:0 .75rem}
@media(max-width:760px){ .logo img{width:150px} }

/* script artwork: parent controls size, art fills it */
.script--art{display:block;line-height:0}
.script--art img,.script--art svg{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.script--art.is-hi{width:clamp(230px,25vw,370px)}
.script--art.is-become{width:clamp(120px,12vw,180px)}
.sp-intro__text .script--art{width:clamp(170px,18vw,260px)}
.book__form .script--art{width:clamp(110px,11vw,150px)}
.ready__form .script--art{width:clamp(150px,15vw,230px)}
.built .script--art{width:clamp(230px,26vw,400px)}
.phero__inner .script--art{width:clamp(110px,11vw,150px)}
.wquote h2 em{display:inline-block;line-height:0;color:#FFFFFF}
.wquote h2 em img,.wquote h2 em svg{display:inline-block;vertical-align:-0.28em;width:100%;height:auto}
.wquote h2 em.is-force{width:clamp(200px,20vw,300px)}
.wquote h2 em.is-leader{width:clamp(70px,7vw,105px)}
.wquote h2 em.is-running{width:clamp(88px,9vw,130px)}
.sp-intro > img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:760px){
  .around__logos{grid-template-columns:repeat(2,1fr)}
  .around__item{min-height:80px}
}
