/* Raising Truth Tellers. Editorial coastal.
   Reference set: Kori Meloy, Vessel Village, All Swell Surf, Wild + Free.
   Common pattern: transparent minimal nav, full-bleed hero, editorial serif centered,
   ivory paper page, no rounded brand-in-a-box buttons.
*/

:root{
  --ivory:#F1E8D8;
  --ivory-warm:#F7EEDF;
  --paper:#EFE4D0;
  --parchment:#EFE6D2;
  --cream:#F5EBD6;

  /* Palette v2 (Sep 1) */
  --deep-teal:#173D3C;
  --bone:#F4F0EA;
  --bone-soft:#EDE9E1;
  --warm-taupe:#D6CCBF;
  --seafoam:#C8D7CF;
  --blush:#E2B2A7;
  --cool-taupe:#A69F95;
  --soft-charcoal:#484B4A;
  --ink:#211E19;
  --ink-soft:#5A5147;
  --clay:#B96A48;
  --clay-deep:#8F4E33;
  --terracotta:#C67555;
  --ochre:#C08A3E;
  --ochre-deep:#976A28;
  /* legacy aliases kept so existing rules using --coral still render */
  --coral:var(--clay);
  --coral-deep:var(--clay-deep);
  --blush:#E5B594;
  --teal:#1F4E4B;
  --teal-deep:#153836;
  --gold:var(--ochre);
  --taupe:#B9A487;
  --rule:#D7C6AE;

  --font-display:'DM Serif Display', Georgia, serif;
  --font-stamp:'Marcellus', 'DM Serif Display', Georgia, serif;
  --font-hero-body:'EB Garamond', Georgia, serif;
  --font-body:'Source Sans 3', system-ui, sans-serif;

  --measure:34rem;
  --wide:82rem;
  --gutter:clamp(1.5rem, 5vw, 4.5rem);
  --section-y:clamp(2.5rem, 6vw, 5rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--ink);color:var(--ivory);padding:.6rem 1rem;border-radius:0}

:focus-visible{outline:2px solid var(--coral);outline-offset:3px}

/* ---------- shared type ---------- */

h1,h2,h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.005em;margin:0}
h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;text-wrap:balance}
h1 em{font-style:italic;color:inherit}
h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1}
h3{font-family:var(--font-body);font-weight:600;font-size:1.0625rem;line-height:1.35;letter-spacing:.06em; text-transform:uppercase}

.eyebrow,.section-label,.side-label{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.28em;
  font-weight:500;color:var(--coral-deep);margin:0 0 1.6rem;
}

p{margin:0 0 1.15rem}
p:last-child{margin-bottom:0}

/* Link CTA in the reference style: text + hairline underline, no button box */
.link-cta{
  display:inline-flex; align-items:center; gap:.7rem;
  font-family:var(--font-body); font-size:.78rem; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase; text-decoration:none;
  color:var(--ivory-warm); padding-bottom:.55rem;
  border-bottom:1px solid rgba(247,238,223,.6);
  transition:border-color .25s ease, color .25s ease;
}
.link-cta::after{content:"→"; letter-spacing:0; font-size:.9rem; transform:translateY(-1px)}
.link-cta:hover{border-color:var(--ivory-warm); color:#FFEDD5}

.link-cta.dark{color:var(--ink); border-color:var(--ink)}
.link-cta.dark:hover{color:var(--coral-deep); border-color:var(--coral-deep)}

/* ---------- HERO ---------- */

.hero-shell{
  position:relative;
  height:78vh;
  min-height:520px;
  max-height:760px;
  margin-top:-72px;    /* pull hero up so it starts under the sticky nav */
  padding-top:72px;    /* keep the copy in the same visual position */
  background:
    linear-gradient(180deg,
      rgba(21,56,54,.45) 0%,
      rgba(21,56,54,.18) 28%,
      rgba(21,56,54,.05) 55%,
      rgba(21,56,54,.35) 100%),
    url('assets/hero-ocean.webp') center center / cover no-repeat;
  color:var(--ivory-warm);
  display:flex; flex-direction:column;
  overflow:hidden;
}
@media (max-width: 900px){
  .hero-shell{
    background-image:
      linear-gradient(180deg, rgba(21,56,54,.5), rgba(21,56,54,.1) 45%, rgba(21,56,54,.4)),
      url('assets/hero-ocean-1600.webp');
    background-position: center center;
  }
}

/* Reference-style nav: sticky white nav, transparent over hero, tinted after scroll */
.site-head{
  position:sticky; top:0; z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  padding:1.25rem var(--gutter);
  color:#FFFFFF;
  background:transparent;
  transition:background .3s ease, backdrop-filter .3s ease, padding .3s ease, box-shadow .3s ease;
}
.site-head.is-scrolled{
  background:var(--deep-teal);
  padding:.85rem var(--gutter);
  box-shadow:0 1px 0 rgba(0,0,0,.12);
}
.brand{
  display:inline-flex; align-items:center; gap:.7rem;
  text-decoration:none; color:#FFFFFF;
  font-family:var(--font-body); font-weight:500;
  font-size:.82rem; letter-spacing:.32em; text-transform:uppercase;
}
.brand-mark{
  width:34px; height:34px; display:block;
  -webkit-mask:url('assets/mark-star.svg') no-repeat center / contain;
          mask:url('assets/mark-star.svg') no-repeat center / contain;
  background-color:#FFFFFF;
}
@media (min-width: 720px){ .brand-mark{ width:38px; height:38px } }
.brand-word-img{
  display:block; height:14px; width:auto;
  /* mask-image approach: SVG defines shape, background-color fills it */
  -webkit-mask:url('assets/wordmark-horizontal.svg') no-repeat center / contain;
          mask:url('assets/wordmark-horizontal.svg') no-repeat center / contain;
  background-color:#FFFFFF;
}
@media (min-width: 720px){ .brand-word-img{ height:16px; width:200px } }
@media (max-width: 719px){ .brand-word-img{ width:172px } }

.site-head nav{display:flex;align-items:center;gap:2.4rem}
.site-head nav a{
  color:#FFFFFF; text-decoration:none;
  font-family:var(--font-body); font-size:.78rem; font-weight:500;
  letter-spacing:.26em; text-transform:uppercase;
  opacity:.95; transition:opacity .2s ease;
}
.site-head nav a:hover,.site-head nav a:focus-visible{opacity:1}
@media (max-width: 720px){
  .site-head{padding-top:1.1rem}
  .site-head nav{gap:1.3rem}
  .site-head nav a{font-size:.65rem; letter-spacing:.22em}
  .brand{font-size:.72rem; letter-spacing:.26em}
}

/* hero copy — centered, editorial */
.hero-copy{
  position:relative; z-index:1;
  flex:1; display:flex; align-items:center; justify-content:center;
  padding:0 var(--gutter) 5rem;
  text-align:center;
}
/* Soft radial scrim so the copy has contrast without a hard box */
.hero-copy::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(ellipse at center,
    rgba(21,56,54,.68) 0%,
    rgba(21,56,54,.56) 32%,
    rgba(21,56,54,.28) 62%,
    rgba(21,56,54,0) 80%);
  pointer-events:none;
  z-index:-1;
}
.hero-copy .inner{max-width: 54rem; position:relative}
.hero-copy h1{
  font-family:var(--font-hero-body);
  color:#FFFFFF;
  text-shadow:0 2px 24px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.45);
  font-weight:400;
  font-size:clamp(1.9rem, 3.4vw, 3.1rem);
  line-height:1.3;
  margin:0 0 2.4rem;
}
.hero-copy h1 .hero-tag{
  display:inline-block; white-space:nowrap;
  font-family:var(--font-stamp);
  font-size:clamp(1.55rem, 3.5vw, 3.15rem);
  letter-spacing:.10em;
  /* tracking adds trailing space after the last cap, pull it back so the line stays optically centered */
  margin-right:-.10em;
  line-height:1.05;
  margin-bottom:.55em;
}
/* the tracked caps line is too wide to hold on one line on a phone, let it break */
@media (max-width: 680px){
  .hero-copy h1 .hero-tag{ white-space:normal; line-height:1.2 }
}
.hero-copy h1 em{
  color:#FFFFFF; font-style:italic;
  /* sized to sit on one line at desktop widths, wraps on its own below that */
  display:block;
  font-size:clamp(1.05rem, 2.05vw, 1.85rem);
  line-height:1.45;
  margin-top:.5rem;
}
.hero-copy .lede{
  color:#F3EDDF; font-size:clamp(1rem,1.3vw,1.13rem);
  line-height:1.65; margin:1.8rem auto 2.4rem; max-width:32rem;
  text-shadow:0 2px 16px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.35);
}

/* Hero outlined button */
.btn-hero{
  display:inline-block;
  padding:.95rem 2rem;
  border:1px solid rgba(255,255,255,.75);
  color:#FFFFFF;
  background:transparent;
  font-family:var(--font-body); font-weight:500;
  font-size:.78rem; letter-spacing:.26em; text-transform:uppercase;
  text-decoration:none;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-hero:hover,.btn-hero:focus-visible{
  background:#FFFFFF; color:var(--teal-deep); border-color:#FFFFFF;
}

.btn-solid{
  display:inline-block;
  padding:.95rem 2.4rem;
  border:1px solid var(--deep-teal);
  color:var(--ivory-warm);
  background:var(--deep-teal);
  font-family:var(--font-body); font-weight:500;
  font-size:.78rem; letter-spacing:.26em; text-transform:uppercase;
  text-decoration:none;
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.btn-solid:hover,.btn-solid:focus-visible{
  background:transparent; color:var(--deep-teal);
}
.offer .btn-solid-wrap{margin-top:2rem}

/* ---------- PAGE FRAMEWORK ---------- */

.wrap{max-width:var(--wide); margin:0 auto; padding:0 var(--gutter)}

/* Post-hero: quiet, single-column, generous whitespace, like Vessel post-hero */

.prose-section{
  max-width:44rem;
  margin:0 auto;
  padding:var(--section-y) var(--gutter);
  text-align:center;
}
.prose-section .section-label{color:var(--coral-deep)}
.prose{
  max-width:var(--measure);
  margin:0 auto;
  font-size:1.13rem;
  line-height:1.75;
  color:var(--ink);
  text-align:left;
}
.prose p{margin:0 0 1.4rem}
.prose .first::first-letter{
  font-family:var(--font-display); font-size:3.4rem; float:left; line-height:.9;
  padding:.35rem .6rem 0 0; color:var(--coral); font-style:italic;
}

.pull{
  margin: clamp(3rem, 6vw, 4.5rem) auto 0;
  max-width:38rem;
  padding: 2rem 0 0;
  border-top:1px solid var(--rule);
  text-align:center;
}
.pull p{
  font-family:var(--font-display); font-style:italic;
  font-size:clamp(1.4rem, 2.4vw, 1.85rem);
  line-height:1.32; color:var(--teal-deep); margin:0;
}
.pull cite{
  display:block; margin-top:1.2rem;
  font-style:normal; font-size:.72rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--ink-soft); font-weight:500;
}

/* ---------- LOCKUP MOMENT: full logo image gets its own quiet moment ---------- */

.lockup-moment{
  background:var(--paper);
  padding: clamp(4rem, 9vw, 7rem) var(--gutter);
  text-align:center;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.lockup-moment img{
  max-width:min(28rem, 78vw);
  margin:0 auto;
  mix-blend-mode:multiply;
}

/* ---------- The practice ---------- */

.work{
  max-width:var(--wide); margin:0 auto;
  padding:var(--section-y) var(--gutter);
}
.work-head{max-width:38rem; margin:0 auto clamp(3rem, 6vw, 4.5rem); text-align:center}
.work-head h2{color:var(--teal-deep)}
.work-intro{color:var(--ink-soft); max-width:36rem; margin:1.4rem auto 0}
.steps{list-style:none; margin:0; padding:0; display:grid; gap:3.5rem}
@media (min-width: 780px){.steps{grid-template-columns:repeat(3, 1fr); gap:4rem}}
.steps li{position:relative; padding-top:0; text-align:center}
.num{
  display:block;
  font-family:var(--font-display); font-style:italic;
  font-size:2.2rem; line-height:1;
  color:var(--coral);
  margin-bottom:1.4rem;
}
.steps h3{
  margin:0 0 1rem; color:var(--teal-deep);
  font-family:var(--font-body); font-weight:600;
  font-size:.78rem; letter-spacing:.24em; text-transform:uppercase;
}
.steps p{color:var(--ink-soft); font-size:1rem; max-width:22rem; margin:0 auto}

/* ---------- BAND (image + copy) ---------- */

.band{
  max-width:var(--wide); margin:0 auto;
  padding:var(--section-y) var(--gutter);
  display:grid; grid-template-columns:1fr; gap:clamp(2rem, 4vw, 3.5rem);
}
@media (min-width: 900px){
  .band{grid-template-columns:1fr 1fr; align-items:center; gap:6rem}
}
.band-img img{border-radius:0; box-shadow:0 20px 50px -30px rgba(21,56,54,.35)}
.band-copy{max-width:34rem}
.band-copy h2{color:var(--teal-deep); margin-bottom:1.4rem}
.band-copy p{color:var(--ink-soft)}

/* ---------- WHO ---------- */

.who{
  background:var(--warm-taupe);
  padding:var(--section-y) var(--gutter);
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.who .section-label{color:var(--deep-teal)}
.offer .section-label{color:var(--deep-teal)}
.who-inner{max-width:var(--wide); margin:0 auto}
.who-head{max-width:38rem; margin:0 auto clamp(3rem, 6vw, 4rem); text-align:center}
.who-head h2{color:var(--deep-teal)}
.who-intro{color:var(--ink-soft); margin-top:1.4rem}
.seasons{list-style:none; margin:0; padding:0; display:grid; gap:1.6rem}
@media (min-width: 780px){.seasons{grid-template-columns:repeat(2,1fr); gap:1.8rem}}
@media (min-width: 1080px){.seasons{grid-template-columns:repeat(3,1fr); gap:2rem}}
.seasons li{
  background:var(--bone); border:1px solid rgba(0,0,0,.06);
  padding:2rem 1.9rem; border-radius:0;
  position:relative;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.seasons li::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--blush);
}
.seasons li:nth-child(3n+2)::before{background:var(--seafoam)}
.seasons li:nth-child(3n+3)::before{background:var(--soft-charcoal)}
.seasons h3{
  color:var(--deep-teal); font-family:var(--font-display); font-weight:400;
  font-size:1.25rem; letter-spacing:0; text-transform:none;
  margin-bottom:.6rem;
}
.seasons p{color:var(--ink-soft); font-size:.98rem; margin:0}

/* ---------- OFFER ---------- */

.offer{
  background:var(--bone-soft);
  padding:var(--section-y) var(--gutter);
}
.offer > .offer-copy,
.offer > .offer-img{max-width:var(--wide); margin:0 auto; width:100%}
.offer{display:grid; grid-template-columns:1fr; gap:clamp(2rem, 4vw, 3.5rem)}
@media (min-width: 900px){
  .offer.offer--with-image{display:block}
  .offer.offer--with-image > .offer-inner{max-width:var(--wide); margin:0 auto; display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:6rem}
}
/* Single-column variant when offer has no image */
.offer.offer--no-image > .offer-copy{max-width:52rem; text-align:left}
.offer-img img{border-radius:0; box-shadow:0 20px 50px -30px rgba(21,56,54,.35)}
.offer-copy h2{color:var(--soft-charcoal); margin-bottom:1.4rem}
.offer-copy h2.offer-title-sm{font-size:clamp(1.35rem, 1.9vw, 1.85rem); line-height:1.2; white-space:nowrap; overflow:visible}
@media (max-width: 900px){.offer-copy h2.offer-title-sm{white-space:normal; font-size:1.5rem}}
.facts{
  margin:2.4rem 0 1.4rem; padding:0;
  border-top:1px solid var(--rule);
}
.facts > div{
  display:grid; grid-template-columns:9rem 1fr; gap:1.4rem;
  padding:1rem 0; border-bottom:1px solid var(--rule);
}
.facts dt{
  font-size:.7rem; text-transform:uppercase; letter-spacing:.24em;
  color:var(--coral-deep); font-weight:500; padding-top:.2rem;
}
.facts dd{margin:0; color:var(--ink)}
.offer .facts dt{color:var(--deep-teal)}
.offer .facts dd{color:var(--soft-charcoal)}
.fineprint{font-size:.92rem; color:var(--ink-soft); margin-top:1rem}
.fineprint a{color:var(--coral-deep); text-underline-offset:3px}

/* ---------- MELISSA ---------- */

.melissa{
  max-width:var(--wide); margin:0 auto;
  padding:var(--section-y) var(--gutter);
}
.melissa .section-label{text-align:center}
.melissa h2{color:var(--teal-deep); text-align:center; margin-bottom:3rem}
.melissa-body{display:grid; grid-template-columns:1fr; gap:clamp(2.5rem, 5vw, 4rem)}
@media (min-width: 900px){
  .melissa-body{grid-template-columns:1fr 22rem; gap:5rem; align-items:start}
}
.melissa-main{max-width:34rem}
.melissa-main p{color:var(--ink-soft)}
.identity-block{
  margin: 2.4rem 0 0; padding:2rem 0 0;
  border-top:1px solid var(--rule);
}
.identity-label{font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; color:var(--coral-deep); font-weight:500; margin-bottom:1rem}
.identity{
  font-family:var(--font-display); font-style:italic;
  font-size:clamp(1.3rem, 2.1vw, 1.6rem); line-height:1.38;
  color:var(--teal-deep); margin:0;
}
.melissa-creds{
  background:var(--paper); border:1px solid var(--rule);
  padding:1.8rem 1.9rem; border-radius:0;
  margin-top:2.5rem; max-width:26rem;
}
.melissa-creds .side-label{margin-bottom:1rem}
.melissa-creds ul{list-style:none; margin:0; padding:0}
.melissa-creds li{padding:.7rem 0; font-size:.95rem; color:var(--ink)}
.melissa-creds li + li{border-top:1px solid var(--rule)}

.melissa-photo{margin:0}
.melissa-photo img{border-radius:0; box-shadow:0 20px 50px -30px rgba(21,56,54,.35)}
.melissa-photo figcaption{font-size:.85rem; color:var(--ink-soft); margin-top:1rem; font-style:italic; text-align:center}

/* ---------- INVITATION ---------- */

.invite{
  background:var(--teal);
  color:var(--ivory-warm);
  text-align:center;
  padding:var(--section-y) var(--gutter);
}
.invite .section-label{color:#EEC7A5; margin-bottom:1.4rem}
.invite h2{color:var(--ivory-warm); margin-bottom:1.6rem}
.invite p{color:#E9D6BC; max-width:36rem; margin:0 auto 2.4rem}
.invite .link-cta{color:var(--ivory-warm); border-color:rgba(247,238,223,.6)}
.invite .link-cta:hover{border-color:var(--ivory-warm)}
.invite-alt{margin-top:1.6rem; font-size:.9rem; color:#BFB19A; letter-spacing:.08em}

/* ---------- FOOTER ---------- */

.site-foot{
  background:var(--deep-teal); color:#B9B0A0;
  padding:3rem var(--gutter);
}
.foot-inner{
  max-width:var(--wide); margin:0 auto;
  display:grid; grid-template-columns:1fr; gap:2.4rem; align-items:center;
}
@media (min-width: 800px){
  .foot-inner{grid-template-columns:1fr auto; gap:3rem}
}
.foot-left{display:grid; gap:1.2rem}
.foot-brand{
  font-family:var(--font-body); font-weight:500;
  font-size:.78rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--ivory-warm);
}
.foot-nav{display:flex;flex-wrap:wrap;gap:2rem;margin:.2rem 0}
.foot-nav a{
  color:#B9B0A0; text-decoration:none;
  font-family:var(--font-body); font-size:.7rem;
  letter-spacing:.26em; text-transform:uppercase;
}
.foot-nav a:hover,.foot-nav a:focus-visible{color:var(--coral)}
.foot-meta{font-size:.82rem; max-width:44rem; margin:0; color:#8A8172; letter-spacing:.04em}
.site-foot a{color:var(--coral); text-underline-offset:3px}

/* Logo lockup — right side of footer. SVG mark + wordmark on dark teal. */
.foot-lockup{
  justify-self:start;
  display:flex; flex-direction:column; align-items:center; gap:1.1rem;
  color:var(--ivory-warm);
}
@media (min-width: 800px){ .foot-lockup{justify-self:end; align-items:center} }
.foot-mark{
  display:block;
  width:112px; height:112px;
  -webkit-mask:url('assets/mark-star.svg') no-repeat center / contain;
          mask:url('assets/mark-star.svg') no-repeat center / contain;
  background-color:var(--ivory-warm);
}
@media (min-width: 1100px){ .foot-mark{width:128px; height:128px} }
.foot-word-img{
  display:block; width:220px; height:60px;
  -webkit-mask:url('assets/wordmark-stacked.svg') no-repeat center / contain;
          mask:url('assets/wordmark-stacked.svg') no-repeat center / contain;
  background-color:var(--ivory-warm);
}
@media (min-width: 1100px){ .foot-word-img{ width:260px; height:72px } }

.foot-word{
  font-family:var(--font-display); font-size:1.15rem; letter-spacing:.02em;
  color:var(--ivory-warm);
}

/* ---------- SUBPAGE (About) ---------- */

.page-about{background:var(--ivory)}
.page-about .site-head{ /* subpages: nav sits on its own tinted band, no hero underneath */
  background:rgba(21,56,54,.92);
  color:#FFFFFF;
}

.about-hero{
  background:var(--teal);
  color:var(--ivory-warm);
  padding:clamp(6rem, 12vw, 9rem) var(--gutter) clamp(4rem, 8vw, 6rem);
  text-align:center;
  border-bottom:none;
}
.about-hero-inner{max-width:44rem; margin:0 auto}
.about-hero .section-label{color:#EEC7A5; margin-bottom:1.4rem}
.about-hero h1{
  color:var(--ivory-warm); font-family:var(--font-display); font-weight:400;
  font-size:clamp(2.6rem, 5.5vw, 4.2rem); line-height:1.05;
}
.about-lede{
  color:#E9D6BC; font-size:clamp(1.05rem, 1.4vw, 1.2rem);
  line-height:1.65; margin:1.6rem auto 0; max-width:36rem;
}

.about-body{padding-top:clamp(4rem, 8vw, 6rem)}

/* ---------- REGISTER ---------- */

.register-body{
  max-width:52rem; margin:0 auto;
  padding:clamp(3rem, 6vw, 5rem) var(--gutter) clamp(4rem, 8vw, 6rem);
}
.register-inner{text-align:left}
.register-body .facts{margin-top:0; margin-bottom:2.4rem}
.stripe-mount{
  margin:2rem 0;
  min-height:200px;
}
.checkout-loading,
.checkout-error{
  text-align:center; color:var(--soft-charcoal);
  font-family:var(--font-body); padding:2rem 0;
}
.checkout-error a{color:var(--deep-teal); text-underline-offset:3px}
.register-body .fineprint{text-align:center; margin-top:2rem}
.register-body .fineprint a{color:var(--deep-teal); text-underline-offset:3px}
.about-body .melissa-body{max-width:var(--wide); margin:0 auto}

/* ---------- MOTION ---------- */

.reveal{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none;transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
}
