/* Letheia — hand-built site. No Squarespace runtime. */
:root{
  --accent:hsl(269,25%,39%);
  --dark-accent:hsl(355,65%,65%);
  --light-accent:hsl(226,70%,69%);
  --hero:#ae97c7;
  --dark:#3e324f;
  --coral:#d2818c;
  --quote:#6f7fd0;
  --ink:#fff;
  --heading:"Quicksand",system-ui,-apple-system,sans-serif;
  --body:"Josefin Sans",system-ui,-apple-system,sans-serif;
  --meta:"Josefin Sans",system-ui,-apple-system,sans-serif;
  --divider:6vw;
  --gutter:clamp(1.25rem,5vw,4rem);
  --maxw:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--dark);color:var(--ink);font-family:var(--body);
  font-size:clamp(17px,1.15vw,21px);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--heading);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0}
p{margin:0 0 1.1em}
section{position:relative}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:3}
.wrap.narrow{max-width:820px}
/* watercolour highlight. painted on the element so each wrapped line gets its own. */
mark{background:none;color:inherit;padding:.42em .72em;margin:0 -.42em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  background-repeat:no-repeat;background-position:center;background-size:100% 100%}
mark.hl-coral{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%2060'%20preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter%20id='b'%20x='-25%'%20y='-60%'%20width='150%'%20height='220%'%3E%3CfeGaussianBlur%20stdDeviation='9'/%3E%3C/filter%3E%3C/defs%3E%3Cpath%20filter='url(%23b)'%20fill='rgba(233,151,159,.94)'%20d='M8,31%20C8,15%2034,10%2076,9%20C150,6%20264,6%20336,9%20C378,11%20394,17%20393,30%20C392,44%20374,51%20334,53%20C254,57%20136,57%2068,53%20C28,51%208,45%208,31%20Z'/%3E%3Cpath%20filter='url(%23b)'%20fill='rgba(233,151,159,.55)'%20d='M52,36%20C52,26%2092,22%20150,21%20C218,20%20304,21%20346,25%20C370,27%20376,33%20362,39%20C346,46%20252,49%20170,48%20C100,47%2052,44%2052,36%20Z'/%3E%3C/svg%3E")}
mark.hl-blue{background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%2060'%20preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter%20id='b'%20x='-25%'%20y='-60%'%20width='150%'%20height='220%'%3E%3CfeGaussianBlur%20stdDeviation='9'/%3E%3C/filter%3E%3C/defs%3E%3Cpath%20filter='url(%23b)'%20fill='rgba(70,90,163,.95)'%20d='M8,31%20C8,15%2034,10%2076,9%20C150,6%20264,6%20336,9%20C378,11%20394,17%20393,30%20C392,44%20374,51%20334,53%20C254,57%20136,57%2068,53%20C28,51%208,45%208,31%20Z'/%3E%3Cpath%20filter='url(%23b)'%20fill='rgba(90,112,196,.6)'%20d='M52,36%20C52,26%2092,22%20150,21%20C218,20%20304,21%20346,25%20C370,27%20376,33%20362,39%20C346,46%20252,49%20170,48%20C100,47%2052,44%2052,36%20Z'/%3E%3C/svg%3E")}

/* ---------- header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;
  justify-content:space-between;padding:1.4rem var(--gutter)}
.site-header .logo{display:inline-flex;align-items:flex-start;text-decoration:none}
.site-header .logo img{width:170px;height:auto}
.site-header .logo .rmark{font-family:var(--meta);font-weight:400;font-size:.72rem;line-height:1;
  color:#e9c56b;margin:3px 0 0 -8px;letter-spacing:0}
.site-header nav{display:flex;gap:1.9rem;font-family:var(--meta);font-size:1.06rem;letter-spacing:.01em}
.site-header nav a{text-decoration:none;opacity:.92}
.site-header nav a:hover{opacity:1;text-decoration:underline}
.burger{display:none;background:none;border:0;padding:.4rem;cursor:pointer}
.burger span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}

/* ---------- animated backgrounds ---------- */
.fx{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.glow{position:absolute;width:62%;height:62%;left:19%;top:24%;
  background:
    radial-gradient(closest-side at 50% 50%, #e9979f 0%, rgba(233,151,159,.72) 46%, rgba(233,151,159,0) 78%),
    radial-gradient(closest-side at 26% 34%, rgba(174,151,199,.75), rgba(174,151,199,0) 72%);
  filter:blur(34px);animation:drift 17s ease-in-out infinite alternate}
@keyframes drift{
  0%{transform:translate3d(-16%,-9%,0) scale(.86)}
  50%{transform:translate3d(13%,7%,0) scale(1.16)}
  100%{transform:translate3d(-9%,14%,0) scale(.94)}}
/* Contour bands: a repeating radial ramp sampled from the original, swept slowly.
   The nine stops run from the coral down to #362c46, the dark purple above. */
.contours{position:absolute;inset:-85%;filter:blur(9px);
  background:repeating-radial-gradient(circle at 18% 116%,
    #d0818b 0 4.1%, #bb7682 4.1% 8.2%, #a76a79 8.2% 12.3%, #925f70 12.3% 16.4%,
    #7f5468 16.4% 20.5%, #6c4a5f 20.5% 24.6%, #593f56 24.6% 28.7%,
    #47354e 28.7% 32.8%, #362c46 32.8% 36.9%);
  animation:sweep 26s ease-in-out infinite alternate}
@keyframes sweep{
  0%{transform:translate(-9%,7%) rotate(0deg) scale(1)}
  30%{transform:translate(5%,-4%) rotate(9deg) scale(1.22)}
  60%{transform:translate(11%,-11%) rotate(-7deg) scale(1.52)}
  100%{transform:translate(-6%,9%) rotate(16deg) scale(1.86)}}
.pause{position:absolute;right:var(--gutter);bottom:calc(var(--divider) + 1.6rem);z-index:6;
  width:44px;height:44px;border:0;border-radius:50%;background:rgba(30,25,40,.7);cursor:pointer;
  display:grid;place-items:center}
.pause::before{content:"";width:12px;height:14px;border-left:4px solid #fff;border-right:4px solid #fff}
.pause.is-paused::before{width:0;border-left:12px solid #fff;border-right:0;border-top:8px solid transparent;
  border-bottom:8px solid transparent;height:0}
body.anim-paused .glow,body.anim-paused .contours,body.anim-paused .arc{animation-play-state:paused}

/* ---------- wavy section dividers ---------- */
.divider{position:absolute;top:0;left:0;right:0;height:var(--divider);z-index:4;pointer-events:none}
.divider.bottom{top:auto;bottom:0}
.works>.divider.bottom{bottom:-2px}
.divider svg{display:block;width:100%;height:100%}
.divider .line{fill:none;stroke:var(--light-accent);stroke-width:2;vector-effect:non-scaling-stroke}
.divider .tint{position:absolute;inset:0;pointer-events:none;clip-path:url(#waveTopClip);
  -webkit-clip-path:url(#waveTopClip)}
.works>.divider .tint{background:linear-gradient(to top,rgba(146,95,112,.4),rgba(146,95,112,0));
  background-size:100% 11rem;background-position:bottom;background-repeat:no-repeat}

/* ---------- hero ---------- */
.hero{background:var(--hero);padding:8rem 0 calc(var(--divider) + 3rem)}
.hero-grid{display:grid;grid-template-columns:auto auto;justify-content:start;
  gap:clamp(.75rem,1.8vw,2rem);align-items:stretch}
.hero-copy{max-width:34em}
.hero-shot{display:flex;align-items:center;justify-content:flex-start}
.hero h1{font-size:clamp(1.9rem,3vw,2.7rem);font-weight:700;margin-bottom:1.3rem}
.lede{max-width:46ch;font-size:1.03em;opacity:.95}
.free{font-family:var(--meta);font-weight:700;font-size:1.02em;text-align:center;margin:3rem 0 1.3rem}
.badges{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.badges.left{justify-content:flex-start;margin-top:2rem}
.hero-award{display:flex;flex-direction:column;align-items:center;gap:.7rem;
  margin:2.2rem auto 0;text-decoration:none;color:inherit;width:fit-content}
.hero-award-label{font-family:var(--body);font-weight:700;text-align:center;
  letter-spacing:.01em;line-height:1.5;
  /* one line always: the mark's negative margins make intrinsic width differ
     between engines, so nowrap + a shrinkable size instead of relying on fit */
  white-space:nowrap;font-size:clamp(.68rem,3.9vw,.88em)}
.hero-award img{display:block;width:clamp(155px,13.5vw,200px);height:auto;border-radius:4px;
  transition:transform .3s ease}
.hero-award:hover img{transform:scale(1.04)}
.badges img{height:clamp(54px,4.6vw,72px);width:auto}
.phones{width:auto;height:auto;max-width:clamp(220px,24vw,340px);max-height:100%;
  margin:0;object-fit:contain}

/* ---------- intro ---------- */
.intro{background:var(--dark);margin-top:calc(-1 * var(--divider));z-index:1;position:relative;
  padding:calc(var(--divider) + 4.5rem) 0 calc(var(--divider) + 4.5rem)}
.intro::before,.intro::after{content:"";position:absolute;left:0;right:0;height:11rem;
  pointer-events:none;z-index:0}
.intro::before{top:0;background:linear-gradient(to bottom,rgba(174,151,199,.42),rgba(174,151,199,0))}
.intro::after{bottom:0;background:linear-gradient(to top,rgba(146,95,112,.4),rgba(146,95,112,0))}
.intro p{max-width:56ch;font-size:1.06em;position:relative;z-index:2}
.intro p.no-bs{text-align:center;margin-top:2.2rem}
.intro .strong{font-weight:700}

/* ---------- how it works ---------- */
.works{background:#925f70;margin-top:calc(-1 * var(--divider));z-index:2;
  padding:calc(var(--divider) + 3.5rem) 0 calc(var(--divider) + 5rem)}
.wavy{text-align:center;font-weight:700;font-size:clamp(1.25rem,2.4vw,1.8rem);line-height:1.5;
  text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:.38em}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:2.6rem;
  grid-auto-rows:1fr;margin:4rem 0 1rem;padding:0;text-align:center}
.steps li{display:flex;flex-direction:column;align-items:center}
.steps .n{font-family:var(--heading);font-weight:700;font-size:clamp(2rem,3.4vw,2.9rem);
  color:var(--light-accent);display:block;line-height:1}
.steps h3{font-size:1.28rem;font-weight:700;margin:1.1rem 0 .75rem;min-height:1.32em}
.steps p{font-size:.95em;margin:0;opacity:.96;line-height:1.5;max-width:30ch}

/* ---------- testimonials ---------- */
.voices{background:var(--quote);background-image:linear-gradient(120deg,#7d8ad8,#6a63b4);
  margin-top:calc(-1 * var(--divider));z-index:1;padding:calc(var(--divider) + 5rem) 0 5rem;overflow:hidden}
.carousel{position:relative;display:grid;align-items:start}
.quote{margin:0;grid-area:1/1;opacity:0;transition:opacity .55s ease;pointer-events:none}
.quote.is-active{opacity:1;pointer-events:auto}
@media (prefers-reduced-motion:reduce){.quote{transition:none}}
.quote blockquote{margin:0;font-family:var(--heading);font-size:clamp(1.5rem,3.2vw,2.5rem);line-height:1.25}
.quote figcaption{margin-top:1.2rem;font-family:var(--meta);font-weight:700;font-size:.9em;
  opacity:.95;text-align:right}
.controls{display:flex;gap:1.4rem;justify-content:space-between;align-items:center;margin-top:2rem}
.arrows{display:flex;gap:.9rem}
.arrows button{width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;font-size:1.1rem;
  font-family:var(--meta);background:rgba(58,44,86,.45);color:#fff}
.arrows button:hover{background:rgba(58,44,86,.7)}
.dots{display:flex;gap:.85rem;align-items:center}
.dots button{width:11px;height:11px;padding:0;border:0;border-radius:999px;cursor:pointer;
  background:rgba(58,44,86,.45);position:relative;
  transition:width .35s ease,background .35s ease}
.dots button::after{content:"";position:absolute;inset:-15px -6px}
.dots button:hover{background:rgba(58,44,86,.72)}
.dots button.is-on{width:40px}
.dots .fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;
  background:rgba(255,255,255,.9)}
.dots button.is-on .fill{animation:dotfill var(--dot-dur,5000ms) linear forwards}
.voices.is-paused .dots button.is-on .fill{animation-play-state:paused}
@keyframes dotfill{from{width:0}to{width:100%}}
@media (prefers-reduced-motion:reduce){.dots button.is-on .fill{animation:none;width:100%}}

/* ---------- curved scrolling marquee ---------- */
.marquee-wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.marquee{overflow:hidden;margin:0 0 .6rem;pointer-events:none}
.marquee .arc{display:block;width:120%;height:auto;animation:scroll 30s linear infinite}
.marquee text{font-family:var(--heading);fill:#fff}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- why / team / faq ---------- */
.why{background:var(--hero);padding:2.5rem 0 4.5rem;color:#fff}
.why .wavy.centered{text-align:center;margin-bottom:2.6rem;font-size:clamp(1.5rem,3vw,2.2rem)}
.cards{display:grid;gap:2rem;grid-auto-rows:auto}
.card{background:hsl(252,34%,66%);border:2px solid hsl(269,28%,34%);border-radius:16px;
  padding:clamp(1.6rem,3vw,2.4rem)}
.card h3{font-family:var(--heading);font-weight:700;font-size:clamp(1.2rem,2.5vw,1.75rem);
  line-height:1.25;margin-bottom:1.1rem;letter-spacing:0}
.card p{font-size:1em;margin-bottom:.9em}
.card p:last-child{margin-bottom:0}
.card ul{padding-left:1.2rem;margin:.6em 0 0;font-size:1em}
.card li{margin:.55em 0}
.closing{margin:3.4rem auto 0;max-width:40ch;text-align:center;font-family:var(--heading);
  font-weight:700;color:hsl(269,32%,26%);font-size:clamp(1.25rem,2.7vw,1.85rem);line-height:1.35;
  text-decoration:underline;text-decoration-color:#fff;text-underline-offset:.22em;text-decoration-thickness:2px}

.team{background:var(--accent);padding:4rem 0 5rem}
.team h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:2.5rem}
/* ---------- team grid ---------- */
.members{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 2.4rem;align-items:start}
.member{display:flex;flex-direction:column}
.shot{width:100%;max-width:210px;aspect-ratio:1;overflow:hidden;margin-bottom:1.5rem;
  transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.member{--tilt:-3deg}
.member:nth-child(2){--tilt:3.5deg}
.member:nth-child(3){--tilt:-2.5deg}
.member:nth-child(4){--tilt:4deg}
.member:nth-child(5){--tilt:3deg}
.member:nth-child(6){--tilt:-3.5deg}
.member:nth-child(7){--tilt:2.5deg}
.member:hover .shot,.member:focus-within .shot{transform:rotate(var(--tilt)) scale(1.05)}
.member:hover .shot img,.member:focus-within .shot img{transform:scale(1.14)}
.member h3{font-size:1.1rem;font-weight:700;margin-bottom:.45rem;letter-spacing:-.01em}
.member .role{font-family:var(--meta);font-weight:500;font-size:.76em;opacity:.9;
  margin:0 0 1.1em;color:#e9c56b}
.member .bio{font-weight:300;font-size:.84em;margin:0;opacity:.96}
@media (prefers-reduced-motion:reduce){.shot,.shot img{transition:none}}
@media (max-width:1000px){.members{grid-template-columns:repeat(3,1fr);gap:2.6rem 2rem}}
@media (max-width:760px){.members{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.members{grid-template-columns:1fr;gap:2.6rem}
  .shot{max-width:180px}}

.faq{background:#465aa3;padding:4.5rem 0 calc(var(--divider) + 4.5rem)}
.faq h2{margin-bottom:2.2rem}
.faq details{border-top:1px solid rgba(255,255,255,.5)}
.faq details:last-of-type{border-bottom:1px solid rgba(255,255,255,.5)}
.faq summary{list-style:none;cursor:pointer;padding:1.1rem 2.5rem 1.1rem 0;position:relative;
  font-family:var(--meta);font-size:.96em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:18px;height:2px;background:#fff;
  transform:translateY(-50%)}
.faq summary::before{content:"";position:absolute;right:calc(.4rem + 8px);top:50%;width:2px;height:18px;background:#fff;
  transform:translateY(-50%);transition:opacity .2s}
.faq details[open] summary::before{opacity:0}
.faq .answer{padding:0 0 1.4rem;font-size:.95em}
.faq .answer ul{padding-left:1.1rem;margin:.6em 0}

/* ---------- cta / award / signup / footer ---------- */
.award{background:#b9a6d4;color:#2e2340;margin-top:calc(-1 * var(--divider));z-index:1;
  padding:calc(var(--divider) + 3rem) 0 4rem}
.pill{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;
  padding:.45rem 1.6rem;font-family:var(--meta);font-size:.72em;margin-bottom:1.2rem}
.award h2{font-family:var(--heading);font-weight:700;font-size:clamp(1.5rem,3.6vw,2.6rem);margin-bottom:1.6rem}
.award .sub{font-size:1em;margin-bottom:2rem}
.award-card{background:#fff;border-radius:22px;padding:1.5rem 1.8rem;max-width:480px;
  display:inline-block;line-height:0}
.signup{background:#e68c95;color:#3a2430;margin-top:calc(-1 * var(--divider));z-index:1;
  padding:calc(var(--divider) + 4rem) 0 4.5rem}
.signup .wavy.centered{text-align:center;color:#fff;margin-bottom:2.4rem;
  font-size:clamp(1.2rem,2.6vw,1.9rem)}
.subscribe{font-family:var(--meta)}
.group-label{font-size:.78em;margin:0 0 .7rem;color:#fff}
.subscribe label{display:block;font-size:.68em;margin-bottom:1.1rem;color:#4a2c38}
.subscribe .req{opacity:.7;font-size:.9em}
.subscribe .row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.subscribe input[type=text],.subscribe input[type=email]{display:block;width:100%;margin-top:.45rem;
  padding:.85rem 1.1rem;border:1px solid #4a2c38;border-radius:999px;font:inherit;font-size:1.05em;
  background:#fae8ea;color:#2e2029}
.subscribe input:focus{outline:2px solid var(--accent);outline-offset:1px}
.subscribe .check{display:flex;align-items:center;gap:.7rem;margin:.2rem 0 1.6rem;cursor:pointer}
.subscribe .check input{appearance:none;-webkit-appearance:none;width:26px;height:26px;flex:0 0 26px;
  border:1px solid #4a2c38;border-radius:50%;background:#fae8ea;margin:0;cursor:pointer;position:relative}
.subscribe .check input:checked::after{content:"";position:absolute;inset:6px;border-radius:50%;
  background:var(--accent)}
.subscribe .check span{font-size:.68em;color:#4a2c38}
.actions{display:flex;justify-content:flex-end}
.subscribe button{padding:.85rem 2.4rem;border:0;border-radius:999px;cursor:pointer;
  background:var(--accent);color:#fff;font-family:var(--meta);font-weight:400;font-size:.72em}
.subscribe button:hover{filter:brightness(1.12)}
.form-note{margin-top:1rem;font-size:.7em;color:#4a2c38;text-align:right}
.site-footer{background:hsl(60,3%,7%);text-align:center;padding:2.2rem var(--gutter);font-size:.78em}
.site-footer a{text-decoration:underline}
.site-footer .copy{opacity:.7;margin:0}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-copy{max-width:none}
  .hero h1{font-size:clamp(2.2rem,5.4vw,3.4rem)}
  .hero-shot{display:flex;justify-content:center;align-items:center}
  .phones{height:auto;width:auto;margin:0 auto;max-width:min(64%,340px);max-height:none}
  .hero{padding:7.5rem 0 calc(var(--divider) + 3rem)}
}
@media (max-width:900px){
  .steps{grid-template-columns:1fr 1fr;gap:2.6rem}

  .lede{max-width:none}
}
@media (max-width:640px){
  .marquee .arc{width:230%}
  :root{--divider:11vw}
  .site-header nav{display:none}
  .site-header nav.is-open{display:flex;position:absolute;top:100%;right:var(--gutter);
    flex-direction:column;gap:1rem;background:rgba(40,32,58,.96);padding:1.2rem 1.6rem;border-radius:12px}
  .burger{display:block}
  .hero{padding:7rem 0 calc(var(--divider) + 3rem)}
  .steps{grid-template-columns:1fr;gap:2.4rem;text-align:center}
  .closing{max-width:none}


  .controls{justify-content:center;gap:1.1rem}
  .badges{justify-content:center}
  .badges.left{justify-content:center}
  .phones{max-width:74%}
  .card{padding:1.5rem 1.35rem}
  .cards{gap:1.6rem}
  .steps li{padding:0 .4rem}
}
@media (max-width:430px){
  .subscribe .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .glow,.contours,.arc{animation:none!important}
  html{scroll-behavior:auto}
}

/* ---------- legal pages ---------- */
.legal-page{background:var(--dark)}
.legal{background:var(--dark);padding:9rem 0 5rem;color:#fff}
.legal h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;margin-bottom:2rem}
.legal h2{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:700;margin:2.6rem 0 .9rem}
.legal h3{font-size:1.05rem;font-weight:700;margin:1.8rem 0 .7rem}
.legal p{font-size:.86em;line-height:1.7;margin:0 0 1em;opacity:.95}
.legal ul{font-size:.86em;line-height:1.7;padding-left:1.2rem;margin:0 0 1.2em}
.legal li{margin:.4em 0}
.legal-page .site-header{position:static;background:var(--dark);padding-top:1.6rem}
.legal-page .site-header nav{display:flex}
.legal-page .legal{padding-top:3rem}

/* ---------- inner pages (team, business) ---------- */
body.inner{background:var(--accent)}
body.inner .site-header{position:static;background:var(--accent);padding-top:1.6rem}
.inner-page{padding:3.5rem 0 5rem}
/* ---------- about page ---------- */
.about-page .inner-page{padding:0}
.band{position:relative}
.band-head{background:var(--accent);padding:1rem 0 calc(var(--divider) + .35rem)}
.band-mission{background:var(--dark);margin-top:calc(-1 * var(--divider));z-index:1;
  padding:calc(var(--divider) * .28 + 1.6rem) 0 calc(var(--divider) + .5rem)}
.band-story{background:#465aa3;margin-top:calc(-1 * var(--divider));z-index:2;
  padding:calc(var(--divider) * .33 + 1.6rem) 0 calc(var(--divider) + .5rem)}
.band-team{background:var(--accent);margin-top:calc(-1 * var(--divider));z-index:3;
  padding:calc(var(--divider) * .47 + 1.25rem) 0 5rem}

.band h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:700;margin-bottom:1.6rem}
.band .reg{font-size:.34em;vertical-align:super;letter-spacing:0;font-weight:400}
.band h2{font-size:clamp(1.5rem,2.9vw,2.15rem);font-weight:700;margin-bottom:1.9rem}
.band h2 .reg{font-size:.4em}
.about-lead{font-family:var(--body);font-weight:400;letter-spacing:-.01em;line-height:1.34;
  font-size:clamp(1.4rem,2.85vw,2.3rem);max-width:none;margin:0}

/* roomy measure and leading so the prose never reads as a slab */
.band-mission .wrap.narrow,.band-story .wrap.narrow{max-width:864px}
.band-mission p,.band-story p{font-weight:300;font-size:1em;line-height:1.78;max-width:82ch;margin:0 0 1.5em}
.band-mission p:last-child,.band-story p:last-child{margin-bottom:0}
.band .key{font-weight:300;font-size:1.1em;line-height:1.55;max-width:72ch;margin-bottom:1.7em}
.band .triad{font-family:var(--meta);font-weight:500;color:#e9c56b;
  font-size:1.02em;line-height:1.65;margin:2.1em 0;max-width:none}
.band .beat{font-weight:400;font-size:1.2em;text-align:center;margin:1.1em 0}
.band .close-line{font-weight:600;font-size:1.1em;line-height:1.55;max-width:74ch;margin-top:2.1em}
.band-team h2{margin-bottom:clamp(2.6rem,4.4vw,3.4rem)}
/* the wave eats more of a narrow band, so headings need a bigger floor there */
@media (max-width:900px){
  .band-mission,.band-story,.band-team{padding-top:calc(var(--divider) * .6 + 1.4rem)}
}
@media (max-width:640px){
  .band .beat{text-align:left}
  .band-mission,.band-story{padding-left:0;padding-right:0}
}
.business{background:var(--accent);color:#fff;min-height:60vh}
.business h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;margin-bottom:1rem}
.biz-lede{font-size:1.05em;max-width:46ch;margin-bottom:2.4rem;opacity:.95}
.biz-placeholder{border:2px dashed rgba(255,255,255,.45);border-radius:16px;
  padding:clamp(1.5rem,3vw,2.4rem);max-width:60ch}
.biz-placeholder p{font-size:.9em;margin:0 0 .8em}
.biz-placeholder p:last-child{margin:0}
.biz-cta{display:inline-block;margin-top:2.4rem;padding:.8rem 2rem;border-radius:999px;
  background:var(--light-accent);color:#22203a;font-weight:700;text-decoration:none}
