/* ============================================================
   AMI — shared design system
   joinami.io ............ index.html        <body class="page-home">
   RESET & CONNECT ....... reset-connect.html <body class="page-event">

   Palette: the original joinami.io mix with #5E9991 as the brand
   teal. #5E9991 is a mid-tone (3.15:1 against off-white), so it
   never carries text — it does frames, blobs, rules and tints,
   while --teal-deep carries buttons, chips and panels with text.

   Structure:
     1. Shared — tokens, reset, type, buttons, form fields, and
        every component both pages use. Edit here to change both.
     2. .page-home — rules only joinami.io uses.
     3. .page-event — rules only the event page uses.

   The page classes exist so the two pages can differ where they
   genuinely do (hero proportions, display headline size, footer
   treatment) without one leaking into the other. A few values in
   sections 2 and 3 are near-duplicates that drifted apart —
   section padding (110 vs 100), nav height (80 vs 78), h2/h3
   sizes. They are left as-is so both pages render exactly as
   approved; unify them here when you want one scale.
   ============================================================ */

/* ======================= 1. SHARED ======================= */

*{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;overflow-x:hidden;color:var(--ink);background:var(--cream);
  font-family:"Lato",sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

button,input,textarea{font:inherit}

a{color:inherit;text-decoration:none}

img{display:block;max-width:100%}

.container{width:min(1160px,calc(100% - 40px));margin:0 auto}

h1,h2,h3{margin-top:0;font-family:"Playfair Display",serif;line-height:1.05}

p{margin-top:0}

.eyebrow{
  display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;
  color:var(--green-dark);font-size:.82rem;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase;
}

.eyebrow::before{width:28px;height:2px;background:currentColor;content:""}

.section-intro{max-width:680px;margin-bottom:48px;color:var(--muted);font-size:1.12rem}

.button{
  display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:8px;
  padding:0 25px;border:1px solid var(--green);border-radius:999px;
  background:var(--green);color:var(--white);cursor:pointer;font-weight:900;
  transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease;
}

.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(40,48,44,.18)}

.button.secondary{border-color:var(--border);background:rgba(255,255,255,.65);color:var(--green-dark)}

/* ---------- announcement ---------- */
.announcement{
  padding:10px 20px;background:var(--green);color:var(--white);
  text-align:center;font-size:.9rem;font-weight:700;
}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:40;
  border-bottom:1px solid var(--border);
  background:rgba(249,248,246,.9);backdrop-filter:blur(16px);
}

.nav-links a:not(.button):hover{color:var(--green-dark)}

.nav-links .button{min-height:44px;padding:0 20px}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important}
}

/* =================== 2. JOINAMI.IO HOME ================== */

:root{
  /* ---- Base palette: the original joinami.io mix, with #5E9991 as the brand teal.
     #5E9991 is a mid-tone, so it can't carry light text (3.15:1 against off-white).
     It does the decorative work — frames, blobs, rules, tints — while --teal-deep
     carries anything with text on it. --teal-soft is a 20% tint of #5E9991, which
     lands within a hair of the original site's sage-soft. ---- */
  --teal:#5E9991;
  --teal-deep:#46645A;
  --teal-darker:#3C564C;
  --teal-soft:#DCE7E2;
  --teal-mist:#EAF0EB;

  --sun:#DCB264;   --sun-soft:#F0E3C6;
  --coral:#D98A78; --coral-deep:#BC6A52; --coral-ink:#A3512F; --coral-soft:#EFD7CE;
  --blush:#E3B3A6; --blush-soft:#F4E4DD;

  --cream:#F2F1E9; --paper:#F8F7F1; --paper-2:#FCFBF6;
  --ink:#28302C;   --brown:#4F4034; --muted:#63675F; --faint:#9AA09A;

  /* ---- Role aliases used through the stylesheet ---- */
  --green:var(--teal-deep);
  --green-dark:var(--teal-darker);
  --white:var(--paper-2);
  --border:rgba(70,100,90,.16);
  --shadow:0 24px 70px rgba(40,48,44,.11);
  --radius:28px;
}

.page-home section{padding:110px 0}

.page-home h1{max-width:760px;margin-bottom:24px;font-size:clamp(3rem,6.4vw,5.9rem);letter-spacing:-.05em}

.page-home h2{margin-bottom:20px;font-size:clamp(2.4rem,4.6vw,4.1rem);letter-spacing:-.04em}

.page-home h3{margin-bottom:10px;font-size:1.55rem}

.page-home .button:disabled{opacity:.6;cursor:progress;transform:none}

.page-home .announcement a{text-decoration:underline;text-underline-offset:3px}

.page-home nav{display:flex;min-height:80px;align-items:center;justify-content:space-between;gap:28px}

.page-home .logo{
  display:inline-flex;align-items:center;flex:none;
}

.page-home .logo img{width:auto;height:44px}

.page-home .nav-links{display:flex;align-items:center;gap:28px;font-size:.92rem;font-weight:700}

/* ---------- hero ---------- */
.page-home .hero{position:relative;overflow:hidden;padding:76px 0 100px}

.page-home .hero::before{
  position:absolute;top:-180px;right:-150px;width:560px;height:560px;
  border-radius:50%;background:var(--blush);content:"";opacity:.62;
}

.page-home .hero::after{
  position:absolute;bottom:-190px;left:42%;width:390px;height:390px;
  border-radius:50%;background:var(--teal);content:"";opacity:.2;
}

.page-home .hero-grid{
  position:relative;z-index:1;display:grid;align-items:center;gap:72px;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
}

.page-home .hero-copy h1 em{color:var(--green-dark);font-weight:600}

.page-home .hero-copy > p.hero-sub{max-width:610px;margin-bottom:30px;color:var(--muted);font-size:1.18rem}

.page-home .launch-note{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:.92rem;font-weight:700}

.page-home .launch-mark{
  width:10px;height:10px;border-radius:50%;background:var(--coral);
  box-shadow:0 0 0 7px rgba(242,131,128,.17);flex:none;
}

/* ---------- phone ---------- */
.page-home .phone-wrap{position:relative;display:flex;min-height:570px;align-items:center;justify-content:center}

.page-home .phone-orbit{
  position:absolute;width:440px;height:440px;
  border:1px solid rgba(94,153,145,.4);border-radius:50%;
}

.page-home .phone-orbit::before, .page-home .phone-orbit::after{position:absolute;border-radius:50%;content:""}

.page-home .phone-orbit::before{top:28px;right:38px;width:60px;height:60px;background:var(--sun)}

.page-home .phone-orbit::after{bottom:30px;left:22px;width:82px;height:82px;background:var(--coral)}

/* The preview image is a finished device mockup — it carries its own bezel and
   rounded corners, so no CSS frame here. drop-shadow (not box-shadow) so the
   shadow follows the phone silhouette rather than a rectangle. */
.page-home .phone{
  position:relative;z-index:2;width:272px;
  transform:rotate(3deg);
  filter:drop-shadow(0 28px 52px rgba(40,48,44,.26));
}

.page-home .phone img{width:100%;display:block}

/* ---------- waitlist ---------- */
.page-home .waitlist-strip{position:relative;z-index:3;margin-top:-45px}

.page-home .waitlist-card{
  display:grid;align-items:start;gap:45px;padding:42px;
  border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);
  grid-template-columns:.75fr 1.25fr;
}

.page-home .waitlist-card h2{margin-bottom:12px;font-size:clamp(2.1rem,3.6vw,3.4rem)}

.page-home .waitlist-card p{color:var(--muted)}

.page-home .waitlist-perks{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}

.page-home .waitlist-perks li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted)}

.page-home .waitlist-perks .tick{
  flex:none;width:20px;height:20px;border-radius:50%;background:var(--teal-soft);color:var(--green-dark);
  display:grid;place-items:center;font-size:.66rem;font-weight:900;margin-top:3px;
}

.page-home .waitlist-form{display:grid;gap:15px;grid-template-columns:1fr 1fr}

.page-home .form-field{display:flex;flex-direction:column;gap:7px}

.page-home .form-field.full{grid-column:1 / -1}

.page-home label, .page-home legend{color:var(--brown);font-size:.84rem;font-weight:900}

input[type=text],input[type=email],textarea{
  width:100%;min-height:52px;padding:14px 17px;
  border:1px solid var(--border);border-radius:14px;outline:none;
  background:var(--cream);color:var(--brown);
}

textarea{min-height:100px;resize:vertical}

.page-home input:focus, .page-home textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(94,153,145,.14)}

.page-home fieldset{margin:0;padding:0;border:0}

.page-home legend{margin-bottom:10px}

.page-home .checkbox-grid{display:flex;flex-wrap:wrap;gap:9px}

.page-home .checkbox-option{position:relative}

.page-home .checkbox-option input{position:absolute;opacity:0;pointer-events:none}

.page-home .checkbox-option span{
  display:inline-flex;min-height:42px;align-items:center;padding:0 15px;
  border:1px solid var(--border);border-radius:999px;background:var(--cream);
  cursor:pointer;font-size:.86rem;font-weight:700;transition:160ms ease;
}

.page-home .checkbox-option input:checked + span{border-color:var(--green);background:var(--green);color:var(--white)}

.page-home .checkbox-option input:focus-visible + span{outline:3px solid rgba(94,153,145,.3);outline-offset:2px}

.page-home .consent-row{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:.78rem;line-height:1.45}

.page-home .consent-row input{margin-top:4px;accent-color:var(--green);flex:none;width:16px;height:16px}

.page-home .waitlist-form .button{width:100%}

.page-home .form-note{margin:0;color:var(--muted);font-size:.76rem}

.page-home .form-message{
  display:none;margin:12px 0 0;padding:14px 16px;border-radius:12px;
  background:rgba(94,153,145,.16);color:var(--green-dark);font-size:.9rem;font-weight:700;
}

.page-home .form-message.show{display:block}

.page-home .form-message.error{background:rgba(217,138,120,.2);color:var(--coral-ink)}

.page-home .form-success{display:none;padding:14px 0}

.page-home .form-success.show{display:block}

.page-home .form-success .mark{
  width:54px;height:54px;border-radius:50%;background:var(--teal-soft);color:var(--green-dark);
  display:grid;place-items:center;font-size:1.4rem;font-weight:900;margin-bottom:18px;
}

.page-home .form-success h3{font-size:1.9rem;margin-bottom:8px}

.page-home .form-success p{color:var(--muted);max-width:46ch}

/* ---------- minimized / quotes ---------- */
.page-home .minimized-section{background:var(--white)}

.page-home .minimized-lines{
  display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px;padding:0;list-style:none;
}

.page-home .minimized-lines li{
  padding:9px 18px;border:1px solid var(--border);border-radius:999px;
  background:var(--cream);font-family:"Playfair Display",serif;font-style:italic;
  font-size:1.05rem;color:var(--muted);
}

.page-home .quote-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}

.page-home .quote-card{
  padding:26px;border-radius:22px;background:var(--cream);border:1px solid var(--border);
}

.page-home .quote-card:nth-child(2){background:var(--teal-soft);border-color:transparent}

.page-home .quote-card:nth-child(3){background:var(--sun-soft);border-color:transparent}

.page-home .quote-card p{
  margin:0 0 12px;font-family:"Playfair Display",serif;font-style:italic;
  font-size:1.16rem;line-height:1.35;color:var(--ink);
}

.page-home .quote-card small{font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- app ---------- */
.page-home .app-section{background:var(--brown);color:var(--white)}

.page-home .app-section .eyebrow{color:var(--sun)}

.page-home .app-section .section-intro{color:rgba(255,255,255,.72)}

.page-home .feature-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}

.page-home .feature-card{
  min-height:280px;padding:28px;border:1px solid rgba(255,255,255,.12);
  border-radius:24px;background:rgba(255,255,255,.06);
}

.page-home .feature-number{
  display:grid;width:42px;height:42px;margin-bottom:50px;place-items:center;
  border-radius:50%;background:var(--teal-soft);color:var(--ink);font-weight:900;
}

.page-home .feature-card p{margin-bottom:0;color:rgba(255,255,255,.68);font-size:.94rem}

.page-home .booking-callout{
  display:flex;align-items:center;gap:30px;margin-top:16px;padding:30px 34px;
  border:1px solid rgba(220,178,100,.4);border-radius:24px;background:rgba(220,178,100,.14);
}

.page-home .booking-callout .booking-tag{
  flex:0 0 auto;display:inline-flex;align-items:center;padding:8px 14px;
  border-radius:999px;background:var(--sun);color:var(--ink);
  font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
}

.page-home .booking-callout h3{margin-bottom:6px;color:var(--white);font-size:1.5rem}

.page-home .booking-callout p{margin-bottom:0;color:rgba(255,255,255,.72);font-size:.96rem;max-width:64ch}

@media (max-width:900px){
.page-home .booking-callout{align-items:flex-start;flex-direction:column;gap:18px}
}

/* ---------- experiences ---------- */
.page-home .experience-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}

.page-home .experience-card{
  display:flex;min-height:390px;flex-direction:column;justify-content:space-between;
  gap:24px; /* floor under space-between, so the status pill never crowds the body */
  padding:32px;border:1px solid var(--border);border-radius:28px;background:var(--white);
  transition:transform 180ms ease,box-shadow 180ms ease;
}

.page-home .experience-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}

.page-home .experience-card:nth-child(2){background:var(--green);color:var(--white);border-color:transparent}

.page-home .experience-card:nth-child(3){background:var(--blush);border-color:transparent}

.page-home .experience-card:nth-child(4){background:var(--sun);border-color:transparent}

.page-home .experience-status{
  display:inline-flex;width:fit-content;padding:7px 12px;
  border:1px solid currentColor;border-radius:999px;
  font-size:.74rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
}

.page-home .experience-type{margin-bottom:16px;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

.page-home .experience-card h3{max-width:400px;margin-bottom:14px;font-size:clamp(1.9rem,2.8vw,2.8rem)}

.page-home .experience-card p{max-width:460px;opacity:.82}

.page-home .experience-card .button{width:fit-content;min-height:46px;margin-top:24px;padding:0 19px;font-size:.88rem}

.page-home .experience-card:nth-child(2) .button{border-color:var(--white);background:var(--white);color:var(--green-dark)}

.page-home .community-note{
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  margin-top:28px;padding:30px 34px;border-radius:22px;background:var(--brown);color:var(--white);
}

.page-home .community-note p{max-width:700px;margin:0}

.page-home .community-note .button{flex:0 0 auto;border-color:var(--sun);background:var(--sun);color:var(--brown)}

/* ---------- trust ---------- */
.page-home .trust-section{background:var(--white)}

.page-home .trust-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}

.page-home .trust-card{padding:30px;border-top:3px solid var(--teal);background:var(--cream)}

.page-home .trust-card:nth-child(2){border-color:var(--coral)}

.page-home .trust-card:nth-child(3){border-color:var(--sun)}

.page-home .trust-card p{margin-bottom:0;color:var(--muted)}

.page-home .care-note{
  margin-top:26px;padding:24px 28px;border:1px dashed var(--border);border-radius:20px;
  color:var(--muted);font-size:.92rem;
}

/* ---------- team ---------- */
.page-home .team-section{background:var(--cream)}

.page-home .team-group{margin-bottom:72px}

.page-home .team-group:last-child{margin-bottom:0}

.page-home .team-group-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:34px}

.page-home .team-group-header h2{margin-bottom:0}

.page-home .team-group-header p{max-width:480px;margin-bottom:0;color:var(--muted)}

.page-home .team-photo-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}

.page-home .advisor-photo-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}

.page-home .photo-card{
  overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--white);
  transition:transform 180ms ease,box-shadow 180ms ease;
}

.page-home .photo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

.page-home .photo-card img{width:100%;height:360px;object-fit:cover;object-position:center top;background:var(--teal-soft)}

.page-home .advisor-photo-grid .photo-card img{height:430px}

.page-home .photo-card-content{padding:24px}

.page-home .photo-card h3{margin-bottom:6px;font-size:1.55rem}

.page-home .person-role{
  display:block;margin-bottom:12px;color:var(--green-dark);
  font-size:.87rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
}

.page-home .person-quote{
  margin-bottom:10px;font-family:"Playfair Display",serif;font-style:italic;
  font-size:1.05rem;color:var(--brown);
}

.page-home .photo-card p:last-child{margin-bottom:0;color:var(--muted);font-size:.92rem}

/* ---------- final cta ---------- */
.page-home .final-cta{padding-top:40px}

.page-home .final-box{
  position:relative;overflow:hidden;padding:74px 40px;border-radius:34px;
  background:var(--green);color:var(--white);text-align:center;
}

.page-home .final-box::before, .page-home .final-box::after{position:absolute;border-radius:50%;content:"";opacity:.55}

.page-home .final-box::before{top:-80px;left:-50px;width:210px;height:210px;background:var(--blush)}

.page-home .final-box::after{right:-60px;bottom:-90px;width:230px;height:230px;background:var(--sun)}

.page-home .final-box > *{position:relative;z-index:1}

.page-home .final-box h2{max-width:700px;margin-right:auto;margin-left:auto}

.page-home .final-box p{max-width:570px;margin:0 auto 28px;color:rgba(255,255,255,.82)}

.page-home .final-box .button{border-color:var(--white);background:var(--white);color:var(--green-dark)}

/* ---------- footer ---------- */
.page-home footer{padding:42px 0;border-top:1px solid var(--border)}

.page-home .footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:50px}

.page-home .footer-copy{max-width:640px;color:var(--muted);font-size:.78rem}

.page-home .footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:.86rem;font-weight:700}

.page-home .footer-links a:hover{color:var(--green-dark)}

/* ---------- responsive ---------- */
@media (max-width:900px){
.page-home .nav-links a:not(.button){display:none}
.page-home .hero-grid, .page-home .waitlist-card{grid-template-columns:1fr}
.page-home .hero-copy{text-align:center}
.page-home .hero-copy h1, .page-home .hero-copy > p.hero-sub{margin-right:auto;margin-left:auto}
.page-home .hero-actions, .page-home .launch-note{justify-content:center}
.page-home .feature-grid{grid-template-columns:1fr 1fr}
.page-home .quote-grid, .page-home .trust-grid{grid-template-columns:1fr}
.page-home .team-photo-grid{grid-template-columns:repeat(2,1fr)}
.page-home .team-group-header{align-items:flex-start;flex-direction:column}
.page-home .community-note{align-items:flex-start;flex-direction:column}
}

@media (max-width:650px){
.page-home .container{width:min(100% - 28px,1160px)}
.page-home nav{min-height:70px}
.page-home .nav-links .button{min-height:40px;padding:0 15px;font-size:.82rem}
.page-home h1{font-size:clamp(2.7rem,13vw,4.4rem)}
.page-home section{padding:80px 0}
.page-home .phone-orbit{width:340px;height:340px}
.page-home .phone{width:246px;transform:rotate(0)}
.page-home .waitlist-card{padding:26px 20px}
.page-home .waitlist-form, .page-home .feature-grid, .page-home .experience-grid, .page-home .team-photo-grid, .page-home .advisor-photo-grid{grid-template-columns:1fr}
.page-home .experience-card{min-height:340px;padding:26px}
.page-home .photo-card img, .page-home .advisor-photo-grid .photo-card img{height:390px}
.page-home .community-note{padding:26px}
.page-home .final-box{padding:58px 22px}
.page-home .footer-grid{flex-direction:column}
}

/* ============== 3. RESET & CONNECT EVENT PAGE ============= */

/* ============================================================
   Same design system as joinami.io — tokens, type scale and
   components are shared so the two pages read as one brand.
   ============================================================ */
:root{
  --teal:#5E9991;
  --teal-deep:#46645A;
  --teal-darker:#3C564C;
  --teal-soft:#DCE7E2;
  --teal-mist:#EAF0EB;

  --sun:#DCB264;   --sun-soft:#F0E3C6;
  --coral:#D98A78; --coral-deep:#BC6A52; --coral-ink:#A3512F; --coral-soft:#EFD7CE;
  --blush:#E3B3A6; --blush-soft:#F4E4DD;

  --cream:#F2F1E9; --paper:#F8F7F1; --paper-2:#FCFBF6;
  --ink:#28302C;   --brown:#4F4034; --muted:#63675F; --faint:#9AA09A;

  --green:var(--teal-deep);
  --green-dark:var(--teal-darker);
  --white:var(--paper-2);
  --border:rgba(70,100,90,.16);
  --shadow:0 24px 70px rgba(40,48,44,.11);
  --radius:28px;
}

.page-event section{padding:100px 0}

.page-event h1{margin-bottom:24px;font-size:clamp(3rem,7.6vw,6.4rem);letter-spacing:-.05em}

.page-event h2{margin-bottom:20px;font-size:clamp(2.2rem,4.4vw,3.8rem);letter-spacing:-.04em}

.page-event h3{margin-bottom:10px;font-size:1.5rem}

.page-event .button.on-dark{border-color:var(--white);background:var(--white);color:var(--green-dark)}

.page-event nav{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:24px}

.page-event .lockup{display:flex;align-items:center;gap:10px;min-width:0}

.page-event .logo{
  display:inline-flex;align-items:center;flex:none;line-height:1;
}

.page-event .logo img{width:auto;height:40px}

.page-event .lockup .partner{
  font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.02em;white-space:nowrap;
}

.page-event .nav-links{display:flex;align-items:center;gap:24px;font-size:.9rem;font-weight:700}

@media(max-width:820px){
.page-event .lockup .partner{display:none}
.page-event .nav-links a:not(.button){display:none}
}

/* ---------- hero ---------- */
.page-event .hero{position:relative;overflow:hidden;padding:80px 0 90px}

.page-event .hero::before{
  position:absolute;top:-170px;right:-140px;width:540px;height:540px;
  border-radius:50%;background:var(--blush);content:"";opacity:.6;
}

.page-event .hero::after{
  position:absolute;bottom:-200px;left:38%;width:420px;height:420px;
  border-radius:50%;background:var(--teal);content:"";opacity:.2;
}

.page-event .hero-in{position:relative;z-index:1;max-width:820px}

.page-event .hero h1{line-height:.94}

/* teal-deep, not --teal: the bright teal only reaches 2.88:1 on cream,
   under the 3:1 floor even at display size */
.page-event .hero h1 .amp{color:var(--teal-deep);font-style:italic}

.page-event .hero-sub{max-width:600px;margin-bottom:30px;color:var(--muted);font-size:1.18rem}

/* event facts */
.page-event .facts{
  position:relative;z-index:1;margin-top:46px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--border);border-radius:24px;overflow:hidden;
  background:var(--paper-2);box-shadow:var(--shadow);
}

.page-event .fact{padding:26px 24px;border-right:1px solid var(--border)}

.page-event .fact:last-child{border-right:0}

.page-event .fact .k{
  display:block;margin-bottom:8px;font-size:.66rem;font-weight:900;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}

.page-event .fact .v{font-family:"Playfair Display",serif;font-size:1.5rem;line-height:1.15;color:var(--ink)}

.page-event .fact .s{margin-top:4px;font-size:.88rem;color:var(--muted)}

.page-event .fact.accent{background:var(--sun-soft)}

@media(max-width:860px){
.page-event .facts{grid-template-columns:1fr 1fr}
.page-event .fact:nth-child(2){border-right:0}
.page-event .fact:nth-child(1), .page-event .fact:nth-child(2){border-bottom:1px solid var(--border)}
}

@media(max-width:520px){
.page-event .facts{grid-template-columns:1fr}
.page-event .fact{border-right:0;border-bottom:1px solid var(--border)}
.page-event .fact:last-child{border-bottom:0}
}

/* ---------- bands ---------- */
.page-event .band-paper{background:var(--paper-2)}

.page-event .band-dark{background:var(--green);color:var(--white)}

.page-event .band-dark h2, .page-event .band-dark h3{color:var(--white)}

.page-event .band-dark .eyebrow{color:var(--sun-soft)}

.page-event .band-dark .section-intro, .page-event .band-dark p{color:rgba(252,251,246,.86)}

/* ---------- intro / tags ---------- */
.page-event .tagrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

.page-event .tag{
  padding:9px 18px;border-radius:999px;border:1px solid var(--border);
  background:var(--cream);font-size:.88rem;font-weight:700;color:var(--green-dark);
}

/* ---------- host ---------- */
.page-event .host-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,64px);align-items:center}

@media(max-width:900px){
.page-event .host-grid{grid-template-columns:1fr;gap:34px}
}

.page-event .host-logo{
  padding:38px 34px;border-radius:24px;
  background:rgba(252,251,246,.08);border:1px solid rgba(252,251,246,.16);
  display:flex;align-items:center;justify-content:center;
}

.page-event .host-logo img{width:min(260px,72%)}

.page-event .host-points{display:grid;gap:18px;margin:30px 0 0}

.page-event .host-point{display:flex;gap:16px;align-items:flex-start}

.page-event .host-point .dot{
  flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:rgba(252,251,246,.14);color:var(--white);
  font-size:.72rem;font-weight:900;letter-spacing:.04em;
}

.page-event .host-point h3{font-size:1.06rem;margin-bottom:4px}

.page-event .host-point p{margin:0;font-size:.94rem}

/* ---------- circuit cards ---------- */
.page-event .circuit{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}

@media(max-width:760px){
.page-event .circuit{grid-template-columns:1fr}
}

.page-event .circuit-card{
  display:flex;flex-direction:column;min-height:280px;padding:32px;
  border:1px solid var(--border);border-radius:28px;background:var(--paper-2);
  transition:transform 180ms ease,box-shadow 180ms ease;
}

.page-event .circuit-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}

.page-event .circuit-card:nth-child(2){background:var(--green);color:var(--white);border-color:transparent}

.page-event .circuit-card:nth-child(3){background:var(--blush);border-color:transparent}

.page-event .circuit-card:nth-child(4){background:var(--sun);border-color:transparent}

.page-event .circuit-card .glyph{
  width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  margin-bottom:22px;font-family:"Playfair Display",serif;font-size:1.3rem;
  background:var(--teal-soft);color:var(--green-dark);
}

.page-event .circuit-card:nth-child(2) .glyph{background:rgba(252,251,246,.16);color:var(--white)}

.page-event .circuit-card:nth-child(3) .glyph, .page-event .circuit-card:nth-child(4) .glyph{background:rgba(255,255,255,.55);color:var(--ink)}

.page-event .circuit-card h3{font-size:1.75rem;margin-bottom:12px}

.page-event .circuit-card p{margin:0 0 20px;opacity:.84}

.page-event .circuit-card .meta{
  margin-top:auto;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.72;
}

/* ---------- includes ---------- */
.page-event .includes{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}

@media(max-width:900px){
.page-event .includes{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
.page-event .includes{grid-template-columns:1fr}
}

.page-event .include{
  display:flex;gap:14px;align-items:flex-start;
  padding:24px;border-radius:20px;background:var(--cream);border:1px solid var(--border);
}

.page-event .include .tick{
  flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal-soft);
  color:var(--green-dark);display:grid;place-items:center;font-size:.74rem;font-weight:900;margin-top:2px;
}

.page-event .include h3{font-size:1.02rem;margin-bottom:5px}

.page-event .include p{margin:0;font-size:.9rem;color:var(--muted)}

/* ---------- timeline ---------- */
.page-event .flow{display:grid;gap:0;max-width:760px;margin-top:8px}

.page-event .flow-row{
  display:grid;grid-template-columns:130px 1fr;gap:28px;align-items:baseline;
  padding:26px 0;border-bottom:1px solid var(--border);
}

.page-event .flow-row:last-child{border-bottom:0}

.page-event .flow-time{
  font-family:"Playfair Display",serif;font-size:2rem;color:var(--teal-deep);line-height:1;
  font-variant-numeric:tabular-nums;
}

.page-event .flow-what{font-size:1.1rem;font-weight:700}

@media(max-width:560px){
.page-event .flow-row{grid-template-columns:1fr;gap:6px}
.page-event .flow-time{font-size:1.6rem}
}

/* ---------- faq ---------- */
/* Two columns, reading left-to-right in pairs. align-items:start so an open
   answer grows on its own instead of stretching the item beside it. */
.page-event .faq{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}

@media(max-width:780px){
.page-event .faq{grid-template-columns:1fr;gap:12px}
}

.page-event .faq details{
  border:1px solid var(--border);border-radius:18px;background:var(--cream);
  overflow:hidden;
}

.page-event .faq summary{
  list-style:none;cursor:pointer;padding:20px 54px 20px 24px;position:relative;
  font-weight:700;font-size:1.04rem;
}

.page-event .faq summary::-webkit-details-marker{display:none}

.page-event .faq summary::after{
  content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);
  font-size:1.4rem;line-height:1;color:var(--teal);font-weight:400;
}

.page-event .faq details[open] summary::after{content:"–"}

.page-event .faq summary:focus-visible{outline:3px solid var(--teal-soft);outline-offset:-3px}

.page-event .faq .answer{padding:0 24px 22px;color:var(--muted);font-size:.98rem}

/* ---------- booking ---------- */
.page-event .book-box{
  position:relative;overflow:hidden;padding:clamp(48px,6vw,78px) clamp(24px,4vw,44px);
  border-radius:34px;background:var(--green);color:var(--white);text-align:center;
}

.page-event .book-box::before, .page-event .book-box::after{position:absolute;border-radius:50%;content:"";opacity:.55}

.page-event .book-box::before{top:-80px;left:-50px;width:210px;height:210px;background:var(--blush)}

.page-event .book-box::after{right:-60px;bottom:-90px;width:230px;height:230px;background:var(--sun)}

.page-event .book-box > *{position:relative;z-index:1}

.page-event .book-when{
  font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(252,251,246,.84);margin:0 0 18px;
}

.page-event .book-box h2{max-width:640px;margin-inline:auto}

.page-event .book-box p.lede{max-width:520px;margin:0 auto 26px;color:rgba(252,251,246,.82)}

.page-event .price{
  font-family:"Playfair Display",serif;font-size:clamp(2.4rem,5vw,3.4rem);
  line-height:1;margin-bottom:8px;
}

.page-event .price small{display:block;margin-top:10px;font-family:"Lato",sans-serif;font-size:.86rem;font-weight:700;letter-spacing:.06em;color:rgba(252,251,246,.84)}

.page-event .book-note{margin:22px auto 0;max-width:480px;font-size:.82rem;color:rgba(252,251,246,.84)}

.page-event .book-note a{text-decoration:underline;text-underline-offset:3px}

/* ---------- footer ---------- */
.page-event footer{padding:44px 0;border-top:1px solid var(--border);background:var(--cream)}

.page-event .foot{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}

.page-event .foot .who{font-family:"Playfair Display",serif;font-size:1.3rem}

.page-event .foot p{margin:0;font-size:.82rem;color:var(--muted);max-width:52ch}

.page-event .foot a{font-size:.84rem;font-weight:700;color:var(--green-dark)}

.page-event .foot a:hover{text-decoration:underline}
