/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--mjn3cu-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--mjn3cu-ink, #111); background: var(--mjn3cu-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--mjn3cu-font-display, var(--mjn3cu-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--mjn3cu-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --mjn3cu-primary: #C4683D;
  --mjn3cu-secondary: #7A9A6A;
  --mjn3cu-accent: #7A9A6A;
  --mjn3cu-ink: #1F2B33;
  --mjn3cu-slate: #5B6A73;
  --mjn3cu-mist: #DDE3E6;
  --mjn3cu-border: #E3E6E8;
  --mjn3cu-surface: #FFFFFF;
  --mjn3cu-bg: #FAFAF8;
  --mjn3cu-text: #2F3A41;
  --mjn3cu-font: Charter, 'Sitka Text', Cambria, Georgia, serif;
  --mjn3cu-font-display: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-mjn3cu-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--mjn3cu-border, #e5e7eb); background: var(--mjn3cu-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-mjn3cu-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-mjn3cu-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-mjn3cu-ui="cookie-banner"] a { text-decoration: underline; }
[data-mjn3cu-cs-action], [data-mjn3cu-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--mjn3cu-border, #d1d5db); background: transparent; color: var(--mjn3cu-ink, #111); }
[data-mjn3cu-cs-action="accept-all"], [data-mjn3cu-cs-action="save"], [data-mjn3cu-ag-action="confirm"] { background: var(--mjn3cu-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-mjn3cu-cs-action="reject-all"] { background: var(--mjn3cu-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-mjn3cu-cs-panel] { margin-top: 1rem; border: 1px solid var(--mjn3cu-border, #e5e7eb); background: var(--mjn3cu-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-mjn3cu-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-mjn3cu-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-mjn3cu-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-mjn3cu-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--mjn3cu-surface, #1a1a2e); color: var(--mjn3cu-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-mjn3cu-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-mjn3cu-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* mjn3cu:header */
/* mjn3cu:header */
#header.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250, 250, 248, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--mjn3cu-border);
}
#header .header-inner{
  max-width: 72rem;
  margin: 0 auto;
  padding: 0.9rem clamp(1rem, 2.2vw, 1.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
#header .brand{
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  text-decoration: none;
}
#header .brand-mark{
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-sm);
  border: 1px solid var(--mjn3cu-border);
  color: var(--mjn3cu-primary);
  background: var(--mjn3cu-surface);
  font-size: 1.05rem;
}
#header .brand-text{
  font-family: var(--font-sans);
  color: var(--mjn3cu-ink);
  font-weight: 800;
  letter-spacing: -0.02em;
}
#header .nav{
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
#header .nav-link{
  color: var(--mjn3cu-text);
  text-decoration: none;
  font-weight: 650;
  font-size: 0.98rem;
}
#header .nav-link:focus-visible,
#header .primary-button:focus-visible,
#header .menu-toggle:focus-visible,
#header .text-link:focus-visible{
  outline: 3px solid rgba(196, 104, 61, 0.35);
  outline-offset: 3px;
  border-radius: 10px;
}
#header .header-cta{
  display: flex;
  align-items: center;
  gap: 1rem;
}
#header .primary-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: var(--radius-md);
  background: var(--mjn3cu-primary);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,0);
  white-space: nowrap;
}
#header .primary-button:hover{
  background: #b85e31;
}
#header .text-link{
  color: var(--mjn3cu-secondary);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  font-weight: 750;
  white-space: nowrap;
}
#header .menu-toggle{
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--mjn3cu-border);
  background: var(--mjn3cu-surface);
  color: var(--mjn3cu-ink);
  font-weight: 800;
  min-height: 44px;
}
#header .menu-toggle-label{font-size: 0.98rem;}
#header .menu-toggle-icon{font-size: 1.05rem; color: var(--mjn3cu-primary);}

@media (max-width: 880px){
  #header .nav{display: none;}
  #header .menu-toggle{display: inline-flex;}
  #header .header-cta .text-link{display: none;}
}
@media (max-width: 520px){
  #header .header-cta{gap: 0.65rem;}
  #header .primary-button{padding: 0.7rem 0.85rem; font-size: 0.96rem;}
}

/* Mobile menu behavior without custom JS logic (theme JS handles toggling). */
#header .nav[hidden]{display:none;}

/* mjn3cu:footer */
/* mjn3cu:footer */
#footer{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);border-top:1px solid var(--mjn3cu-border)}
#footer .footer-wrapper{ }
#footer .footer-inner{max-width:72rem;margin:0 auto;padding:3.2rem clamp(1rem,4vw,3rem)}
#footer .footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}
#footer .footer-brand{display:flex;align-items:flex-start;gap:.9rem}
#footer .footer-mjn3cu-b-mark{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--mjn3cu-primary);display:flex;align-items:center;justify-content:center;color:var(--mjn3cu-surface);font-size:.8rem;line-height:1}
#footer .footer-mjn3cu-b-name{font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-weight:800;font-size:1.2rem;letter-spacing:-0.01em;color:var(--mjn3cu-ink)}
#footer .footer-mjn3cu-b-sub{font-size:.95rem;color:var(--mjn3cu-slate);margin-top:.25rem}
#footer .footer-nav-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}
#footer .footer-link{color:var(--mjn3cu-ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:.1rem}
#footer .footer-link:focus-visible{outline:3px solid color-mix(in srgb,var(--mjn3cu-primary) 55%,white);outline-offset:3px;border-radius:8px}
#footer .footer-link:hover{border-bottom-color:var(--mjn3cu-border)}
#footer .footer-grid{display:grid;grid-template-columns:1.2fr 1.1fr .9fr;gap:2rem;align-items:start}
#footer .footer-heading{font-size:1rem;color:var(--mjn3cu-ink);margin:0 0 .9rem;font-weight:800;letter-spacing:-0.01em}
#footer .footer-dl{margin:0;display:flex;flex-direction:column;gap:.7rem}
#footer .footer-row{display:flex;gap:.75rem}
#footer .footer-row dt{width:7.2rem;flex:0 0 auto;color:var(--mjn3cu-slate);font-weight:700;font-size:.88rem}
#footer .footer-row dd{margin:0;color:var(--mjn3cu-text);font-size:.95rem;line-height:1.5}
#footer .footer-para{margin:0;color:var(--mjn3cu-text);line-height:1.65;font-size:.98rem}
#footer .footer-legal{list-style:none;padding:0;margin:.2rem 0 1rem;display:flex;flex-direction:column;gap:.55rem}
#footer .footer-meta{padding-top:.4rem;border-top:1px dashed var(--mjn3cu-border)}
#footer .footer-meta-line{font-size:.92rem;color:var(--mjn3cu-slate);line-height:1.5;margin-top:.35rem}
#footer .footer-meta-label{color:var(--mjn3cu-ink);font-weight:800}
#footer .footer-meta-note{margin-top:.6rem;font-size:.9rem;color:var(--mjn3cu-slate)}
#footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--mjn3cu-border)}
#footer .footer-copyright{color:var(--mjn3cu-slate);font-size:.92rem}
#footer .footer-cta{color:var(--mjn3cu-ink);text-decoration:none;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);padding:.72rem 1rem;border-radius:var(--radius-md);font-weight:800}
#footer .footer-cta:hover{border-color:color-mix(in srgb,var(--mjn3cu-primary) 35%,var(--mjn3cu-border));box-shadow:0 10px 26px color-mix(in srgb,var(--mjn3cu-primary) 12%,transparent)}
#footer .footer-cta:focus-visible{outline:3px solid color-mix(in srgb,var(--mjn3cu-primary) 55%,white);outline-offset:3px}
#footer .footer-year{font-variant-numeric:tabular-nums}
@media (max-width: 900px){#footer .footer-top{flex-direction:column;align-items:flex-start}#footer .footer-nav-list{justify-content:flex-start}#footer .footer-grid{grid-template-columns:1fr;gap:1.4rem}#footer .footer-row{flex-direction:column}#footer .footer-row dt{width:auto}}
@media (prefers-reduced-motion: reduce){#footer .footer-link,#footer .footer-cta{transition:none}}::selection{background:color-mix(in srgb,var(--mjn3cu-primary) 28%,white);color:var(--mjn3cu-ink)}
/* mjn3cu:hero-schedule-first */
/* mjn3cu:hero-schedule-first */
#hero-schedule-first.hero-schedule-first{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.2rem,6vw,5rem) 0;} 
#hero-schedule-first .hero-schedule-first__container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);} 
#hero-schedule-first .hero-schedule-first__grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start;} 
#hero-schedule-first .hero-schedule-first__left{padding-right:0;} 
#hero-schedule-first .hero-schedule-first__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font:700 0.875rem/1.2 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:.14em;color:var(--mjn3cu-secondary);text-transform:uppercase;margin-bottom:.9rem;} 
#hero-schedule-first .hero-schedule-first__title{font:800 clamp(2.1rem,4.8vw,3.3rem)/1.05 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.02em;margin:0 0 .6rem 0;text-wrap:balance;} 
#hero-schedule-first .hero-schedule-first__subhead{margin:0 0 1.15rem 0;font:400 1rem/1.55 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate);max-width:34rem;} 
#hero-schedule-first .hero-schedule-first__bullets{list-style:none;padding:0;margin:0 0 1.35rem 0;display:grid;gap:.55rem;max-width:34rem;} 
#hero-schedule-first .hero-schedule-first__bullet{position:relative;padding-left:1.25rem;font:600 0.98rem/1.4 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-text);} 
#hero-schedule-first .hero-schedule-first__bullet:before{content:"";position:absolute;left:0;top:.55rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--mjn3cu-secondary);} 
#hero-schedule-first .hero-schedule-first__cta-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-bottom:1rem;} 
#hero-schedule-first .hero-schedule-first__primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.15rem;border-radius:var(--mjn3cu-radius-md, 14px);background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);text-decoration:none;font:800 1rem/1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);border:1px solid var(--mjn3cu-primary);box-shadow:0 10px 24px rgba(196,104,61,.18);} 
#hero-schedule-first .hero-schedule-first__primary:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:3px;} 
#hero-schedule-first .hero-schedule-first__primary:hover{filter:brightness(0.99);} 
#hero-schedule-first .hero-schedule-first__link{display:inline-flex;align-items:center;min-height:44px;padding:.65rem .7rem;border-radius:var(--mjn3cu-radius-sm, 10px);text-decoration:underline;text-decoration-color:rgba(122,154,106,.55);text-underline-offset:3px;color:var(--mjn3cu-secondary);font:700 0.98rem/1.2 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 
#hero-schedule-first .hero-schedule-first__link:focus-visible{outline:3px solid rgba(122,154,106,.28);outline-offset:3px;} 
#hero-schedule-first .hero-schedule-first__trust{display:flex;align-items:flex-start;gap:.65rem;background:rgba(255,255,255,.65);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius-lg, 18px);padding:.85rem 1rem;margin-top:1rem;} 
#hero-schedule-first .hero-schedule-first__trust-mark{color:var(--mjn3cu-primary);font:900 1.15rem/1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);margin-top:.1rem;} 
#hero-schedule-first .hero-schedule-first__trust-text{color:var(--mjn3cu-slate);font:600 0.95rem/1.4 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 

#hero-schedule-first .hero-schedule-first__right{display:flex;justify-content:flex-start;} 
#hero-schedule-first .schedule-preview{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius-lg, 18px);width:100%;box-shadow:0 18px 40px rgba(31,43,51,.06);} 
#hero-schedule-first .schedule-preview__header{padding:1.1rem 1.1rem 0 1.1rem;display:flex;flex-direction:column;gap:.7rem;} 
#hero-schedule-first .schedule-preview__title{font:900 1.25rem/1.1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.01em;} 
#hero-schedule-first .schedule-preview__filters{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;} 
#hero-schedule-first .schedule-preview__filter-label{font:700 .9rem/1.2 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate);} 
#hero-schedule-first .schedule-preview__chips{display:flex;gap:.55rem;flex-wrap:wrap;} 
#hero-schedule-first .schedule-preview__chip{appearance:none;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);color:var(--mjn3cu-text);border-radius:999px;min-height:40px;padding:.5rem .8rem;font:800 .92rem/1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);cursor:pointer;transition:background 120ms ease,border-color 120ms ease,color 120ms ease;} 
#hero-schedule-first .schedule-preview__chip:focus-visible{outline:3px solid rgba(122,154,106,.25);outline-offset:3px;} 
#hero-schedule-first .schedule-preview__chip.is-active{background:rgba(122,154,106,.14);border-color:rgba(122,154,106,.55);color:var(--mjn3cu-secondary);} 

#hero-schedule-first .schedule-preview__panel{padding:1rem 1.1rem 1.05rem 1.1rem;display:flex;flex-direction:column;gap:.7rem;} 
#hero-schedule-first .schedule-preview__hint{margin-top:.65rem;color:var(--mjn3cu-slate);font:600 .95rem/1.4 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 

#hero-schedule-first .schedule-row{display:grid;grid-template-columns:92px 1fr 118px 104px;gap:.75rem;align-items:center;padding:.85rem .85rem;border-radius:var(--mjn3cu-radius-md, 14px);border:1px solid var(--mjn3cu-border);background:linear-gradient(0deg, rgba(250,250,248,0.35), rgba(250,250,248,0.35));} 
#hero-schedule-first .schedule-row:hover{transform:translateY(-2px);} 
#hero-schedule-first .schedule-row{transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;} 
#hero-schedule-first .schedule-row:hover{box-shadow:0 14px 30px rgba(31,43,51,.08);border-color:rgba(196,104,61,.25);} 
#hero-schedule-first .schedule-row__time{font:900 .82rem/1.1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;color:var(--mjn3cu-slate);letter-spacing:.02em;} 
#hero-schedule-first .schedule-row__class{font:900 0.98rem/1.2 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-text);} 
#hero-schedule-first .schedule-row__level{display:flex;justify-content:flex-start;} 
#hero-schedule-first .level-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 .7rem;border-radius:999px;font:900 .85rem/1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 
#hero-schedule-first .level-badge--beginner{background:rgba(122,154,106,.16);border:1px solid rgba(122,154,106,.55);color:var(--mjn3cu-secondary);} 
#hero-schedule-first .schedule-row__book{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem .75rem;border-radius:12px;background:var(--mjn3cu-surface);border:1px solid rgba(196,104,61,.45);color:var(--mjn3cu-primary);text-decoration:none;font:900 .95rem/1 var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 
#hero-schedule-first .schedule-row__book:focus-visible{outline:3px solid rgba(196,104,61,.25);outline-offset:3px;} 
#hero-schedule-first .schedule-row__book:hover{background:rgba(196,104,61,.06);} 

@media (min-width: 768px){
  #hero-schedule-first .hero-schedule-first__grid{grid-template-columns:1.05fr .95fr;gap:clamp(1.8rem,3.5vw,3rem);} 
  #hero-schedule-first .hero-schedule-first__left{padding-top:1.2rem;} 
  #hero-schedule-first .schedule-preview__header{padding:1.15rem 1.15rem 0 1.15rem;} 
  #hero-schedule-first .schedule-preview__panel{padding:1rem 1.15rem 1.1rem 1.15rem;} 
}

@media (prefers-reduced-motion: reduce){
  #hero-schedule-first .schedule-row{transition:none;} 
  #hero-schedule-first .schedule-row:hover{transform:none;} 
}

#hero-schedule-first ::selection{background:rgba(196,104,61,.22);}

/* mjn3cu:first-timer-itinerary */
/* mjn3cu:first-timer-itinerary */
#first-timer-itinerary{padding:clamp(2.5rem,6vw,5rem) 0;background:var(--mjn3cu-bg);color:var(--mjn3cu-text);}
#first-timer-itinerary .fti-container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#first-timer-itinerary .fti-head{max-width:52rem;margin-bottom:1.75rem;}
#first-timer-itinerary .fti-eyebrow{display:inline-block;font:700 0.75rem/1.1 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:0.14em;text-transform:uppercase;color:var(--mjn3cu-secondary);margin-bottom:0.75rem;}
#first-timer-itinerary .fti-title{font:800 clamp(1.5rem,3vw,2.2rem)/1.2 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.02em;margin:0 0 0.75rem 0;text-wrap:balance;}
#first-timer-itinerary .fti-subtitle{margin:0;color:var(--mjn3cu-slate);font:400 1rem/1.6 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);max-width:50rem;}

#first-timer-itinerary .fti-steps{list-style:none;padding:0;margin:0;display:grid;gap:1rem;}
#first-timer-itinerary .fti-step{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:1.15rem 1.15rem;display:flex;gap:1rem;align-items:flex-start;}
#first-timer-itinerary .fti-step-index{width:2.2rem;height:2.2rem;border-radius:999px;background:color-mix(in oklab, var(--mjn3cu-primary) 16%, var(--mjn3cu-surface));border:1px solid color-mix(in oklab, var(--mjn3cu-primary) 28%, var(--mjn3cu-border));display:flex;align-items:center;justify-content:center;font:800 1.1rem/1 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-primary);flex:0 0 auto;}
#first-timer-itinerary .fti-step-title{margin:0 0 0.35rem 0;font:800 1.05rem/1.3 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.01em;}
#first-timer-itinerary .fti-step-text{margin:0;color:var(--mjn3cu-slate);font:400 1rem/1.55 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);}
#first-timer-itinerary .fti-step-link{display:inline-block;margin-top:0.55rem;color:var(--mjn3cu-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;font-weight:700;}
#first-timer-itinerary .fti-step-link:focus-visible{outline:3px solid color-mix(in oklab, var(--mjn3cu-primary) 55%, transparent);outline-offset:3px;border-radius:8px;}
#first-timer-itinerary .fti-step-badge{display:inline-flex;margin-top:0.7rem;gap:0.5rem;align-items:center;padding:0.45rem 0.7rem;border-radius:999px;background:color-mix(in oklab, var(--mjn3cu-secondary) 14%, var(--mjn3cu-surface));border:1px solid color-mix(in oklab, var(--mjn3cu-secondary) 35%, var(--mjn3cu-border));color:var(--mjn3cu-secondary);font:700 0.86rem/1 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);}

#first-timer-itinerary .fti-cta-row{margin-top:1.6rem;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
#first-timer-itinerary .fti-cta-text{margin:0;color:var(--mjn3cu-ink);font:500 1rem/1.5 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);}
#first-timer-itinerary .fti-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.75rem 1rem;border-radius:var(--radius-md,14px);background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);font:800 1rem/1 var(--font_family,Charter, 'Sitka Text', Cambria, Georgia, serif);text-decoration:none;white-space:nowrap;}
#first-timer-itinerary .fti-primary:focus-visible{outline:3px solid color-mix(in oklab, var(--mjn3cu-primary) 55%, transparent);outline-offset:3px;}
#first-timer-itinerary .fti-primary:hover{filter:saturate(1.04) brightness(1.02);}
#first-timer-itinerary ::selection{background:color-mix(in oklab, var(--mjn3cu-primary) 25%, var(--mjn3cu-surface));}

@media (min-width:768px){
  #first-timer-itinerary .fti-steps{grid-template-columns:1fr;}
  #first-timer-itinerary .fti-cta-row{padding:1.1rem 1.25rem;}
}

@media (prefers-reduced-motion: reduce){
  #first-timer-itinerary *{scroll-behavior:auto;}
}

/* mjn3cu:new-here-steps */
#new-here-steps{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.5rem,5vw,4.5rem) 0}#new-here-steps .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}#new-here-steps .eyebrow{display:inline-block;font:700 0.875rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);letter-spacing:0.12em;color:var(--mjn3cu-secondary);text-transform:uppercase}#new-here-steps .title{margin:0.6rem 0 0.75rem;font:800 clamp(1.5rem,2.5vw,2.2rem)/1.15 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);letter-spacing:-0.02em;text-wrap:balance}#new-here-steps .lead{margin:0 0 1.7rem;max-width:64ch;color:var(--mjn3cu-slate);font:400 1rem/1.6 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif)}#new-here-steps .steps{list-style:none;margin:0;padding:0;display:grid;gap:0.95rem}#new-here-steps .step{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:1.05rem 1.05rem 1.05rem;display:flex;gap:1rem;align-items:flex-start}#new-here-steps .step-index{width:2.25rem;height:2.25rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--mjn3cu-secondary) 16%, var(--mjn3cu-surface));color:var(--mjn3cu-secondary);font:800 1rem/1 var(--font-mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace);border:1px solid color-mix(in srgb,var(--mjn3cu-secondary) 35%, var(--mjn3cu-border))}#new-here-steps .step-title{margin:0;font:800 1.05rem/1.25 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);letter-spacing:-0.01em}#new-here-steps .step-text{margin:0.35rem 0 0;color:var(--mjn3cu-slate);font:400 0.98rem/1.55 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif)}#new-here-steps .cta-row{margin-top:1.9rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}#new-here-steps .primary-link,#new-here-steps .secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.1rem;border-radius:var(--radius-md,14px);text-decoration:none;font:800 1rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif)}#new-here-steps .primary-link{background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-primary);box-shadow:0 10px 22px color-mix(in srgb,var(--mjn3cu-primary) 22%, transparent)}#new-here-steps .secondary-link{background:transparent;color:var(--mjn3cu-primary);border:2px solid color-mix(in srgb,var(--mjn3cu-primary) 55%, var(--mjn3cu-border));padding-left:1rem;padding-right:1rem}#new-here-steps .primary-link:hover{filter:saturate(1.03)}#new-here-steps .primary-link:active{transform:translateY(1px)}#new-here-steps .secondary-link:hover{background:color-mix(in srgb,var(--mjn3cu-primary) 10%, var(--mjn3cu-surface))}#new-here-steps a:focus-visible{outline:3px solid color-mix(in srgb,var(--mjn3cu-primary) 55%, var(--mjn3cu-ink));outline-offset:2px}#new-here-steps ::selection{background:color-mix(in srgb,var(--mjn3cu-primary) 20%, var(--mjn3cu-ink));color:var(--mjn3cu-ink)}@media (min-width: 768px){#new-here-steps .steps{grid-template-columns:1fr;gap:1rem}#new-here-steps .cta-row{margin-top:2.1rem}}@media (prefers-reduced-motion: reduce){#new-here-steps *{scroll-behavior:auto;transition:none !important;animation:none !important}}
/* mjn3cu:pricing-teaser */
/* mjn3cu:pricing-teaser */
#pricing-teaser.pricing-teaser{background:var(--mjn3cu-bg);padding:clamp(2.25rem,6vw,5rem) 0;color:var(--mjn3cu-ink)}
#pricing-teaser.pricing-teaser .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#pricing-teaser.pricing-teaser .eyebrow{display:inline-block;font-family:var(--font-family-sans,Charter);letter-spacing:.14em;text-transform:uppercase;font-size:.8125rem;color:var(--mjn3cu-secondary);font-weight:700}
#pricing-teaser.pricing-teaser .title{margin:.85rem 0 .75rem;font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.12;letter-spacing:-.02em}
#pricing-teaser.pricing-teaser .lede{margin:0 0 1.5rem;max-width:62ch;color:var(--mjn3cu-slate);font-size:1rem;line-height:1.6}
#pricing-teaser.pricing-teaser .price-teaser-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin:0 0 1.75rem}
#pricing-teaser.pricing-teaser .mini-card{grid-column:span 4;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-md);padding:1.05rem 1.05rem 1rem;box-shadow:0 1px 0 rgba(31,43,51,.04)}
#pricing-teaser.pricing-teaser .mini-name{font-weight:800;color:var(--mjn3cu-ink);font-size:1.05rem;line-height:1.2}
#pricing-teaser.pricing-teaser .mini-details{margin-top:.4rem;color:var(--mjn3cu-slate);font-size:.95rem;line-height:1.4}
#pricing-teaser.pricing-teaser .mini-badge{margin-top:.85rem;display:inline-block;background:rgba(122,154,106,.12);border:1px solid rgba(122,154,106,.25);color:var(--mjn3cu-secondary);border-radius:999px;padding:.42rem .65rem;font-weight:700;font-size:.875rem}
#pricing-teaser.pricing-teaser .cta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.75rem}
#pricing-teaser.pricing-teaser .btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1.15rem;border-radius:var(--radius-md);font-weight:800;text-decoration:none;border:1px solid transparent}
#pricing-teaser.pricing-teaser .btn.primary{background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);border-color:var(--mjn3cu-primary)}
#pricing-teaser.pricing-teaser .btn.primary:hover{filter:brightness(.98)}
#pricing-teaser.pricing-teaser .btn.primary:active{transform:translateY(1px)}
#pricing-teaser.pricing-teaser .link{color:var(--mjn3cu-secondary);font-weight:800;text-decoration:none;border-bottom:1px solid rgba(122,154,106,.35);padding-bottom:2px}
#pricing-teaser.pricing-teaser .link:hover{color:var(--mjn3cu-primary);border-bottom-color:rgba(196,104,61,.45)}
#pricing-teaser.pricing-teaser a:focus-visible,.pricing-teaser button:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px}
#pricing-teaser.pricing-teaser .included{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg);padding:1.15rem 1.15rem 1.05rem}
#pricing-teaser.pricing-teaser .included-title{font-weight:900;color:var(--mjn3cu-ink);margin-bottom:.7rem}
#pricing-teaser.pricing-teaser .included-list{margin:0;padding-left:1.2rem;color:var(--mjn3cu-slate);display:grid;gap:.55rem}
#pricing-teaser.pricing-teaser .included-list li{line-height:1.5}
#pricing-teaser.pricing-teaser ::selection{background:rgba(196,104,61,.22)}
@media (max-width: 900px){#pricing-teaser.pricing-teaser .mini-card{grid-column:span 6}}
@media (max-width: 640px){#pricing-teaser.pricing-teaser .price-teaser-grid{gap:.9rem}#pricing-teaser.pricing-teaser .mini-card{grid-column:span 12}#pricing-teaser.pricing-teaser .cta-row{align-items:flex-start}}
@media (prefers-reduced-motion: reduce){#pricing-teaser.pricing-teaser *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* mjn3cu:testimonials */
/* mjn3cu:testimonials */
#testimonials.testimonials-section{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.5rem,6vw,6rem) 0;}
#testimonials.testimonials-section .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#testimonials.testimonials-section .section-head{margin-bottom:2rem;}
#testimonials.testimonials-section .eyebrow{display:inline-block;letter-spacing:.14em;text-transform:uppercase;font-size:.8125rem;color:var(--mjn3cu-secondary);font-weight:700;margin-bottom:.6rem;}
#testimonials.testimonials-section .title{margin:0;font-family:var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);font-weight:800;font-size:clamp(1.6rem,3.2vw,2.5rem);letter-spacing:-.02em;line-height:1.1;text-wrap:balance;}
#testimonials.testimonials-section .subtitle{margin:.75rem 0 0;max-width:52ch;color:var(--mjn3cu-slate);font-size:1rem;line-height:1.6;}
#testimonials.testimonials-section .quote-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.5rem;}
#testimonials.testimonials-section .quote-card{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:1.25rem 1.25rem 1rem;box-shadow:0 1px 0 rgba(31,43,51,.04);position:relative;overflow:hidden;}
#testimonials.testimonials-section .quote-card::before{content:"";position:absolute;inset:-1px -1px auto -1px;height:3px;background:var(--mjn3cu-secondary);}
#testimonials.testimonials-section .quote-mark{font-family:var(--font-serif,Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif);font-size:2.25rem;color:var(--mjn3cu-secondary);line-height:1;opacity:.95;margin-bottom:.25rem;}
#testimonials.testimonials-section .quote{margin:.1rem 0 .9rem;font-size:1rem;line-height:1.65;color:var(--mjn3cu-ink, var(--mjn3cu-ink));}
#testimonials.testimonials-section .quote-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-top:1px solid var(--mjn3cu-border);padding-top:.85rem;}
#testimonials.testimonials-section .person-name{font-weight:800;color:var(--mjn3cu-text);}
#testimonials.testimonials-section .person-meta{font-size:.875rem;color:var(--mjn3cu-slate);margin-top:.15rem;}
#testimonials.testimonials-section .stars{font-family:var(--font-mono,ui-monospace);color:var(--mjn3cu-secondary);letter-spacing:.06em;}
#testimonials.testimonials-section .cta-strip{margin-top:1.8rem;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:1.25rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
#testimonials.testimonials-section .cta-head{font-weight:900;color:var(--mjn3cu-text);font-size:1.05rem;}
#testimonials.testimonials-section .cta-sub{color:var(--mjn3cu-slate);margin-top:.25rem;line-height:1.5;}
#testimonials.testimonials-section .cta-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end;}
#testimonials.testimonials-section .button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;border-radius:999px;text-decoration:none;font-weight:800;font-size:.95rem;outline:none;white-space:nowrap;}
#testimonials.testimonials-section .button.primary{background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-primary);}
#testimonials.testimonials-section .button.primary:hover{filter:brightness(1.03);} 
#testimonials.testimonials-section .button.link{background:transparent;color:var(--mjn3cu-primary);border:1px solid var(--mjn3cu-border);}
#testimonials.testimonials-section .button.link:hover{border-color:rgba(196,104,61,.55);background:rgba(196,104,61,.06);} 
#testimonials.testimonials-section .button:focus-visible{box-shadow:0 0 0 4px rgba(196,104,61,.25);} 
@media (min-width:640px){
  #testimonials.testimonials-section .quote-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;}
}
@media (max-width:639px){
  #testimonials.testimonials-section .cta-strip{flex-direction:column;align-items:flex-start;}
  #testimonials.testimonials-section .cta-actions{justify-content:flex-start;}
}
#testimonials.testimonials-section ::selection{background:rgba(122,154,106,.35);color:var(--mjn3cu-text);} 
@media (prefers-reduced-motion:reduce){
  #testimonials.testimonials-section .button.primary:hover,#testimonials.testimonials-section .button.link:hover{filter:none;}
}
/* mjn3cu:contacts */
/* mjn3cu:contacts */
#contacts.contacts-wrap{
  background: var(--mjn3cu-bg);
  color: var(--mjn3cu-text);
  padding: clamp(2.5rem, 6vw, 5.5rem) 0;
}
#contacts .contacts-inner{
  max-width: 72rem;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 3rem);
}
#contacts .contacts-header{max-width: 46rem; margin-bottom: clamp(1.5rem, 3.5vw, 2.5rem);} 
#contacts .eyebrow{
  margin: 0 0 .75rem;
  font: 600 0.875rem/1.2 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mjn3cu-secondary);
}
#contacts .contacts-title{
  margin: 0;
  font: 800 clamp(1.6rem, 2.8vw, 2.4rem)/1.12 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  letter-spacing: -0.02em;
  text-wrap: balance;
  color: var(--mjn3cu-ink);
}
#contacts .contacts-lead{
  margin: .9rem 0 0;
  font: 400 1rem/1.6 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  color: var(--mjn3cu-text);
}
#contacts .contacts-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(1.2rem, 3vw, 2rem);
  align-items: start;
}
#contacts .contact-details{display: grid; gap: 1rem;}
#contacts .detail-card,
#contacts .form-card{
  background: var(--mjn3cu-surface);
  border: 1px solid var(--mjn3cu-border);
  border-radius: var(--mjn3cu-radius-lg, 18px);
  padding: clamp(1rem, 2vw, 1.25rem);
}
#contacts .detail-title,
#contacts .form-title{
  margin: 0 0 .75rem;
  font: 700 1.05rem/1.3 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  color: var(--mjn3cu-ink);
}
#contacts .detail-list{list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem;}
#contacts .detail-item{display: grid; gap: .25rem;}
#contacts .detail-label{font: 700 .875rem/1.2 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif); color: var(--mjn3cu-slate);} 
#contacts .detail-link{
  color: var(--mjn3cu-ink);
  text-decoration: none;
  font: 600 1rem/1.4 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
}
#contacts .detail-link:focus-visible,
#contacts .ghost-link:focus-visible,
#contacts input:focus-visible,
#contacts textarea:focus-visible{
  outline: 3px solid rgba(196, 104, 61, .35);
  outline-offset: 2px;
}
#contacts .detail-link:hover{color: var(--mjn3cu-primary);} 
#contacts .detail-value{font: 500 1rem/1.4 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif); color: var(--mjn3cu-text);} 
#contacts .detail-copy{margin: 0; font: 400 1rem/1.6 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);}
#contacts .quick-links{display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem;}
#contacts .ghost-link{
  display: inline-flex;
  align-items: center;
  padding: .6rem .85rem;
  border-radius: var(--mjn3cu-radius-md, 14px);
  border: 1px solid var(--mjn3cu-border);
  background: transparent;
  color: var(--mjn3cu-ink);
  text-decoration: none;
  font: 650 .95rem/1.2 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
}
#contacts .ghost-link:hover{border-color: rgba(196, 104, 61, .55); color: var(--mjn3cu-primary);} 

#contacts .form-sub{margin: .15rem 0 1rem; color: var(--mjn3cu-slate); font: 400 .95rem/1.6 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 
#contacts .contact-form{display: grid; gap: 1rem;}
#contacts .field-row{display: grid; grid-template-columns: 1fr; gap: 1rem;}
#contacts .field{display: grid; gap: .4rem;}
#contacts .label-text{font: 700 .875rem/1.2 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif); color: var(--mjn3cu-slate);} 
#contacts input,
#contacts textarea{
  width: 100%;
  border: 1px solid var(--mjn3cu-border);
  background: var(--mjn3cu-surface);
  border-radius: var(--mjn3cu-radius-md, 14px);
  padding: .8rem .95rem;
  font: 500 1rem/1.4 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  color: var(--mjn3cu-ink);
  transition: border-color 120ms ease;
}
#contacts textarea{resize: vertical; min-height: 140px;}
#contacts input::placeholder,
#contacts textarea::placeholder{color: rgba(31, 43, 51, .55);} 
#contacts input:focus,
#contacts textarea:focus{border-color: rgba(196, 104, 61, .6);} 

#contacts .form-actions{display: grid; gap: .6rem; align-items: start;}
#contacts .primary-btn{
  appearance: none;
  border: 1px solid rgba(196, 104, 61, .55);
  background: var(--mjn3cu-primary);
  color: #fff;
  border-radius: var(--mjn3cu-radius-md, 14px);
  padding: .9rem 1rem;
  font: 800 1rem/1.1 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);
  cursor: pointer;
  min-height: 44px;
  transition: transform 120ms ease, background 120ms ease, border-color 120ms ease;
}
#contacts .primary-btn:hover{transform: translateY(-1px); background: #b75f32; border-color: rgba(196, 104, 61, .8);} 
#contacts .primary-btn:active{transform: translateY(0);} 
#contacts .primary-btn:disabled{opacity: .65; cursor: not-allowed;}
#contacts .fineprint{margin: 0; color: var(--mjn3cu-slate); font: 400 .9rem/1.5 var(--mjn3cu-font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);} 

#contacts .contact-form input[required],
#contacts .contact-form textarea[required]{box-shadow: none;}

#contacts ::selection{background: rgba(196, 104, 61, .25);}

@media (min-width: 900px){
  #contacts .contacts-grid{grid-template-columns: 1fr 1.05fr;}
  #contacts .field-row{grid-template-columns: 1fr 1fr;}
}

@media (prefers-reduced-motion: reduce){
  #contacts .primary-btn{transition: none;}
  #contacts input, #contacts textarea{transition: none;}
}

/* mjn3cu:class-finder */
/* mjn3cu:class-finder */
#class-finder{--r:14px;--shadow:0 10px 30px rgba(31,43,51,.08);--shadow-2:0 14px 40px rgba(31,43,51,.12);padding:clamp(1.5rem,3vw,2.5rem) 0;background:var(--mjn3cu-bg);}
#class-finder .shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#class-finder .section-head{margin-bottom:clamp(1.5rem,3vw,2.2rem);}
#class-finder .eyebrow{display:inline-block;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--mjn3cu-secondary);font-weight:700;}
#class-finder .title{margin:.6rem 0 .5rem;font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1;letter-spacing:-.02em;color:var(--mjn3cu-ink);text-wrap:balance;}
#class-finder .lead{margin:0;max-width:50rem;color:var(--mjn3cu-text);font-size:1rem;line-height:1.6;}
#class-finder .finder-layout{display:grid;grid-template-columns:1fr;gap:clamp(1rem,2.5vw,1.5rem);align-items:start;}
#class-finder .finder-panel,.schedule-panel{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-border-radius,14px);border-radius:var(--mjn3cu-radius,14px);}
#class-finder .finder-panel{padding:1rem;}
#class-finder .filters{display:flex;flex-direction:column;gap:1rem;}
#class-finder .field{border:0;margin:0;padding:0;}
#class-finder .field-legend{font-weight:800;color:var(--mjn3cu-ink);font-size:.95rem;margin:0 0 .6rem;}
#class-finder .chip-row{display:flex;flex-wrap:wrap;gap:.6rem;}
#class-finder .chip{min-height:44px;border-radius:999px;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);color:var(--mjn3cu-text);padding:.55rem .95rem;font-weight:700;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease;}
#class-finder .chip:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#class-finder .chip:hover{border-color:rgba(196,104,61,.55);}
#class-finder .chip.is-selected{background:rgba(122,154,106,.14);border-color:rgba(122,154,106,.55);color:var(--mjn3cu-ink);}
#class-finder .level-lock{display:flex;gap:.9rem;align-items:flex-start;padding:.95rem;border:1px solid rgba(122,154,106,.35);border-radius:var(--mjn3cu-sm,10px);background:rgba(122,154,106,.09);}
#class-finder .level-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:44px;padding:0 .9rem;border-radius:999px;background:rgba(122,154,106,.18);border:1px solid rgba(122,154,106,.55);color:var(--mjn3cu-ink);font-weight:900;letter-spacing:.01em;}
#class-finder .level-title{font-weight:900;color:var(--mjn3cu-ink);margin:0 0 .15rem;font-size:.98rem;}
#class-finder .level-sub{color:var(--mjn3cu-text);font-size:.95rem;line-height:1.45;}
#class-finder .finder-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.2rem;}
#class-finder .primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:var(--mjn3cu-md,14px);background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);font-weight:900;text-decoration:none;border:1px solid var(--mjn3cu-primary);}
#class-finder .primary-link:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#class-finder .primary-link:hover{filter:saturate(1.02);}
#class-finder .ghost-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border-radius:var(--mjn3cu-md,14px);background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);font-weight:900;text-decoration:none;border:1px solid var(--mjn3cu-border);}
#class-finder .ghost-link:focus-visible{outline:3px solid rgba(31,43,51,.18);outline-offset:2px;}
#class-finder .ghost-link:hover{border-color:rgba(31,43,51,.35);}
#class-finder .schedule-panel{padding:1rem;}
#class-finder .schedule-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem;}
#class-finder .schedule-kicker{font-weight:900;color:var(--mjn3cu-secondary);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;}
#class-finder .schedule-summary{margin-top:.35rem;font-weight:900;color:var(--mjn3cu-ink);}
#class-finder .reset-btn{min-height:44px;border-radius:999px;padding:.55rem .95rem;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);font-weight:800;cursor:pointer;}
#class-finder .reset-btn:focus-visible{outline:3px solid rgba(31,43,51,.18);outline-offset:2px;}
#class-finder .schedule-list{display:flex;flex-direction:column;gap:.7rem;}
#class-finder .row-card{display:grid;grid-template-columns:110px 1fr 150px 120px;gap:.8rem;align-items:center;padding:.85rem .9rem;border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-md,14px);background:var(--mjn3cu-surface);box-shadow:0 1px 0 rgba(31,43,51,.04);}
#class-finder .row-card:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#class-finder .row-time{font-weight:900;color:var(--mjn3cu-ink);font-size:.92rem;letter-spacing:.01em;}
#class-finder .row-name{font-weight:900;color:var(--mjn3cu-ink);line-height:1.2;}
#class-finder .beginner-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 .75rem;border-radius:999px;background:rgba(122,154,106,.16);border:1px solid rgba(122,154,106,.55);color:var(--mjn3cu-ink);font-weight:900;}
#class-finder .book-btn{min-height:44px;border-radius:12px;padding:.45rem .85rem;border:1px solid var(--mjn3cu-primary);background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);font-weight:900;cursor:pointer;}
#class-finder .book-btn:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#class-finder .book-btn:hover{filter:brightness(1.03);} 
#class-finder .empty-state{padding:1rem;border:1px dashed var(--mjn3cu-border);border-radius:var(--mjn3cu-md,14px);background:rgba(221,227,230,.18);}
#class-finder .empty-title{font-weight:900;color:var(--mjn3cu-ink);margin-bottom:.25rem;}
#class-finder .empty-text{color:var(--mjn3cu-text);line-height:1.5;}
#class-finder .schedule-note{display:flex;align-items:flex-start;gap:.5rem;margin-top:.9rem;color:var(--mjn3cu-text);}
#class-finder .note-dot{color:var(--mjn3cu-secondary);font-weight:900;font-size:1.2rem;line-height:1;}
#class-finder .note-text{line-height:1.5;}
#class-finder .itinerary{margin-top:clamp(1.3rem,3.5vw,2.4rem);background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-md,14px);padding:1.2rem;}
#class-finder .itinerary-head{margin-bottom:1rem;}
#class-finder .it-title{margin:.45rem 0 0;font-family:Charter,'Sitka Text',Cambria,Georgia,serif;font-size:clamp(1.25rem,2.6vw,1.8rem);color:var(--mjn3cu-ink);letter-spacing:-.01em;}
#class-finder .steps{display:grid;grid-template-columns:1fr;gap:.75rem;}
#class-finder .step-card{display:flex;gap:.85rem;align-items:flex-start;padding:.9rem;border-radius:var(--mjn3cu-md,14px);border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);}
#class-finder .step-num{width:38px;height:38px;border-radius:12px;background:rgba(196,104,61,.12);border:1px solid rgba(196,104,61,.35);display:flex;align-items:center;justify-content:center;font-weight:1000;color:var(--mjn3cu-primary);font-variant-numeric:tabular-nums;}
#class-finder .step-title{font-weight:1000;color:var(--mjn3cu-ink);margin:0 0 .2rem;}
#class-finder .step-desc{color:var(--mjn3cu-text);line-height:1.55;}
@media (min-width: 768px){
  #class-finder .finder-layout{grid-template-columns:420px 1fr;gap:clamp(1.2rem,3vw,1.8rem);} 
  #class-finder .steps{grid-template-columns:repeat(3,1fr);} 
}
@media (prefers-reduced-motion: reduce){
  #class-finder *{transition:none !important;}
}
::selection{background:rgba(196,104,61,.25);}

/* mjn3cu:yoga-pilates-guidance */
/* mjn3cu:yoga-pilates-guidance */
#yoga-pilates-guidance{--ypg-radius:var(--mjn3cu-radius,14px);}
#yoga-pilates-guidance{padding:clamp(2.25rem,4.5vw,4rem) 0;background:var(--mjn3cu-bg);color:var(--mjn3cu-text);font-family:var(--mjn3cu-font,Charter,'Sitka Text',Cambria,Georgia,serif);}
#yoga-pilates-guidance .ypg-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,2rem);}
#yoga-pilates-guidance .ypg-intro{margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#yoga-pilates-guidance .ypg-eyebrow{display:inline-block;letter-spacing:0.08em;text-transform:uppercase;font-size:0.75rem;color:var(--mjn3cu-secondary);font-weight:700;margin-bottom:0.75rem;}
#yoga-pilates-guidance .ypg-title{font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.15;margin:0 0 0.75rem 0;letter-spacing:-0.015em;text-wrap:balance;}
#yoga-pilates-guidance .ypg-lede{margin:0;max-width:60ch;color:var(--mjn3cu-slate);font-size:1rem;line-height:1.6;}
#yoga-pilates-guidance .ypg-two-col{display:grid;grid-template-columns:1fr;gap:clamp(1rem,2.5vw,1.75rem);align-items:start;}
#yoga-pilates-guidance .ypg-card{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius,14px);padding:clamp(1.1rem,2.4vw,1.6rem);box-shadow:0 10px 30px rgba(31,43,51,0.05);}
#yoga-pilates-guidance .ypg-card-alt{border-color:color-mix(in srgb,var(--mjn3cu-secondary) 30%,var(--mjn3cu-border));}
#yoga-pilates-guidance .ypg-card-top{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;margin-bottom:0.85rem;}
#yoga-pilates-guidance .ypg-pill{display:inline-flex;align-items:center;gap:0.5rem;padding:0.45rem 0.7rem;border-radius:999px;background:color-mix(in srgb,var(--mjn3cu-secondary) 14%, var(--mjn3cu-surface));border:1px solid color-mix(in srgb,var(--mjn3cu-secondary) 30%, var(--mjn3cu-border));color:var(--mjn3cu-secondary);font-weight:700;font-size:0.875rem;}
#yoga-pilates-guidance .ypg-pill-alt{background:color-mix(in srgb,var(--mjn3cu-primary) 10%, var(--mjn3cu-surface));border-color:color-mix(in srgb,var(--mjn3cu-primary) 24%, var(--mjn3cu-border));color:color-mix(in srgb,var(--mjn3cu-primary) 70%, var(--mjn3cu-ink));}
#yoga-pilates-guidance .ypg-card-title{margin:0;font-size:1.25rem;line-height:1.25;letter-spacing:-0.01em;}
#yoga-pilates-guidance .ypg-card-body{margin:0 0 0.95rem 0;color:var(--mjn3cu-text);line-height:1.65;}
#yoga-pilates-guidance .ypg-list{list-style:none;margin:0;padding:0;display:grid;gap:0.75rem;}
#yoga-pilates-guidance .ypg-list li{display:grid;grid-template-columns:1.1rem 1fr;gap:0.75rem;align-items:start;}
#yoga-pilates-guidance .ypg-list-bullet{width:1.1rem;height:1.1rem;border-radius:999px;background:color-mix(in srgb,var(--mjn3cu-secondary) 18%, var(--mjn3cu-surface));border:1px solid color-mix(in srgb,var(--mjn3cu-secondary) 35%, var(--mjn3cu-border));display:inline-flex;align-items:center;justify-content:center;color:var(--mjn3cu-secondary);font-weight:800;font-size:0.78rem;}
#yoga-pilates-guidance .ypg-list-text{color:var(--mjn3cu-slate);line-height:1.55;font-size:0.98rem;}
#yoga-pilates-guidance .ypg-callout{margin-top:1.05rem;padding:0.95rem 0.95rem;border-radius:var(--mjn3cu-radius,14px);background:color-mix(in srgb,var(--mjn3cu-mist) 70%, var(--mjn3cu-surface));border:1px solid color-mix(in srgb,var(--mjn3cu-border) 70%, var(--mjn3cu-mist));}
#yoga-pilates-guidance .ypg-callout-title{margin:0 0 0.35rem 0;font-weight:800;color:var(--mjn3cu-ink);font-size:0.95rem;}
#yoga-pilates-guidance .ypg-callout-text{margin:0;color:var(--mjn3cu-slate);line-height:1.6;font-size:0.98rem;}
#yoga-pilates-guidance .ypg-guidance{margin-top:clamp(1.25rem,3vw,2.25rem);}
#yoga-pilates-guidance .ypg-guidance-card{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius,14px);padding:clamp(1.1rem,2.4vw,1.7rem);}
#yoga-pilates-guidance .ypg-guidance-title{margin:0 0 1rem 0;font-size:1.15rem;letter-spacing:-0.01em;}
#yoga-pilates-guidance .ypg-steps{margin:0;padding:0;list-style:none;display:grid;gap:0.85rem;}
#yoga-pilates-guidance .ypg-step{display:grid;grid-template-columns:2rem 1fr;gap:0.85rem;align-items:start;}
#yoga-pilates-guidance .ypg-step-num{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;background:color-mix(in srgb,var(--mjn3cu-primary) 12%, var(--mjn3cu-surface));border:1px solid color-mix(in srgb,var(--mjn3cu-primary) 28%, var(--mjn3cu-border));color:var(--mjn3cu-primary);}
#yoga-pilates-guidance .ypg-step-text{color:var(--mjn3cu-slate);line-height:1.65;}
#yoga-pilates-guidance .ypg-guidance-note{margin:1rem 0 0 0;color:var(--mjn3cu-slate);line-height:1.6;}
#yoga-pilates-guidance .ypg-link{color:var(--mjn3cu-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
#yoga-pilates-guidance .ypg-link:focus-visible{outline:3px solid color-mix(in srgb,var(--mjn3cu-primary) 45%, white);outline-offset:3px;border-radius:6px;}
#yoga-pilates-guidance ::selection{background:color-mix(in srgb,var(--mjn3cu-secondary) 25%, var(--mjn3cu-surface));}
@media (min-width: 768px){
  #yoga-pilates-guidance .ypg-two-col{grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,2.25rem);}
}
@media (prefers-reduced-motion: reduce){
  #yoga-pilates-guidance *{scroll-behavior:auto;}
}

/* mjn3cu:comparison-table */
/* mjn3cu:comparison-table */
#comparison-table.comparison-table{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.2rem,5vw,4rem) 0;}
#comparison-table.comparison-table .comparison-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,1.5rem);}
#comparison-table.comparison-table .eyebrow-wrap{max-width:64ch;}
#comparison-table.comparison-table .eyebrow{display:inline-block;padding:.35rem .75rem;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);border-radius:999px;font:600 0.75rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);letter-spacing:.08em;text-transform:uppercase;color:var(--mjn3cu-secondary);}
#comparison-table.comparison-table .title{margin:1rem 0 .6rem;font:700 clamp(1.6rem,2.7vw,2.2rem)/1.1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);letter-spacing:-.02em;text-wrap:balance;}
#comparison-table.comparison-table .lead{margin:0;max-width:68ch;color:var(--mjn3cu-slate);font:400 1rem/1.7 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);}
#comparison-table.comparison-table .table-wrap{margin-top:1.7rem;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);border-radius:var(--radius-lg);padding:0;overflow:hidden;}
#comparison-table.comparison-table .compare-table{width:100%;border-collapse:separate;border-spacing:0;}
#comparison-table.comparison-table thead th{background:var(--mjn3cu-bg);border-bottom:1px solid var(--mjn3cu-border);padding:1rem 1.1rem;font:700 .95rem/1.2 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-ink);text-align:left;}
#comparison-table.comparison-table thead th.col-option{width:18%;}
#comparison-table.comparison-table thead th.col-includes{width:41%;}
#comparison-table.comparison-table thead th.col-best{width:41%;}
#comparison-table.comparison-table tbody td{padding:1rem 1.1rem;border-bottom:1px solid var(--mjn3cu-border);vertical-align:top;}
#comparison-table.comparison-table tbody tr:last-child td{border-bottom:none;}
#comparison-table.comparison-table .option-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);font:700 .9rem/1.1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-ink);}
#comparison-table.comparison-table .option-yoga{border-color:rgba(122,154,106,.35);background:rgba(122,154,106,.10);color:var(--mjn3cu-secondary);}
#comparison-table.comparison-table .option-pilates{border-color:rgba(196,104,61,.35);background:rgba(196,104,61,.10);color:var(--mjn3cu-primary);}
#comparison-table.comparison-table .option-beginner{border-color:rgba(31,43,51,.18);background:rgba(221,227,230,.35);color:var(--mjn3cu-ink);}
#comparison-table.comparison-table .list{margin:0;padding-left:1.1rem;}
#comparison-table.comparison-table .list li{margin:.45rem 0;}
#comparison-table.comparison-table .row-first-class td{background:linear-gradient(0deg, rgba(221,227,230,.25), rgba(221,227,230,.25));}
#comparison-table.comparison-table .table-aside{display:flex;gap:1rem;align-items:stretch;padding:1rem;}
#comparison-table.comparison-table .aside-card{flex:1;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);border-radius:var(--radius-md);padding:1rem;}
#comparison-table.comparison-table .aside-card.aside-cta{border-color:rgba(196,104,61,.35);}
#comparison-table.comparison-table .aside-title{font:800 .95rem/1.2 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-ink);margin-bottom:.6rem;}
#comparison-table.comparison-table .aside-text{color:var(--mjn3cu-slate);font:400 .95rem/1.55 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);}
#comparison-table.comparison-table .aside-row{display:flex;gap:.6rem;align-items:flex-start;margin:.55rem 0;}
#comparison-table.comparison-table .dot{width:.45rem;height:.45rem;border-radius:50%;margin-top:.55rem;flex:0 0 auto;}
#comparison-table.comparison-table .dot-yoga{background:var(--mjn3cu-secondary);}
#comparison-table.comparison-table .dot-pilates{background:var(--mjn3cu-primary);}
#comparison-table.comparison-table .btn-link{display:inline-block;margin:.6rem .6rem .2rem 0;padding:.7rem 1rem;border:1px solid var(--mjn3cu-border);border-radius:var(--radius-md);background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);font:700 .95rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);text-decoration:none;}
#comparison-table.comparison-table .btn-link.secondary{border-color:rgba(122,154,106,.45);color:var(--mjn3cu-secondary);}
#comparison-table.comparison-table .btn-link:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#comparison-table.comparison-table .btn-link:hover{border-color:rgba(196,104,61,.55);}
#comparison-table.comparison-table .btn-link.secondary:hover{border-color:rgba(122,154,106,.7);}
@media (max-width: 900px){
  #comparison-table.comparison-table .table-aside{flex-direction:column;}
  #comparison-table.comparison-table thead{display:none;}
  #comparison-table.comparison-table .compare-table,.comparison-table tbody,.comparison-table tr,.comparison-table td{display:block;width:100%;}
  #comparison-table.comparison-table tbody td{border-bottom:1px solid var(--mjn3cu-border);}
  #comparison-table.comparison-table tbody tr{margin:0;}
  #comparison-table.comparison-table tbody td.col-option{padding-top:1.1rem;}
  #comparison-table.comparison-table tbody td.col-option:before{content:"Option";display:block;font:700 .8rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-slate);margin-bottom:.5rem;}
  #comparison-table.comparison-table tbody td.col-includes:before{content:"Includes";display:block;font:700 .8rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-slate);margin-bottom:.5rem;}
  #comparison-table.comparison-table tbody td.col-best:before{content:"Best for";display:block;font:700 .8rem/1 var(--font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);color:var(--mjn3cu-slate);margin-bottom:.5rem;}
  #comparison-table.comparison-table .list{padding-left:1.05rem;}
}
@media (prefers-reduced-motion: reduce){
  #comparison-table.comparison-table *{scroll-behavior:auto;}
}
::selection{background:rgba(196,104,61,.25);}

/* mjn3cu:safety-note */
/* mjn3cu:safety-note */
#safety-note.safety-note{background:var(--mjn3cu-bg);padding:clamp(2.5rem,6vw,4.5rem) 0;color:var(--mjn3cu-text)}
#safety-note .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#safety-note .eyebrow{display:inline-flex;align-items:center;gap:.6rem;font:700 0.875rem/1.2 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:.08em;text-transform:uppercase;color:var(--mjn3cu-secondary);margin-bottom:1rem}
#safety-note .title{font:700 clamp(1.6rem,3vw,2.3rem)/1.15 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.01em;margin:0 0 1rem 0;color:var(--mjn3cu-ink);text-wrap:balance}
#safety-note .lead{margin:0 0 1.5rem 0;font:400 1rem/1.7 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate);max-width:62ch}
#safety-note .disclaimer-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;margin-top:1.25rem}
#safety-note .disclaimer-item{grid-column:span 4;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-md, 14px);padding:1.1rem 1.1rem 1.15rem 1.1rem;box-shadow:0 10px 28px rgba(31,43,51,.06)}
#safety-note .disclaimer-title{font:700 1rem/1.35 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-ink);margin-bottom:.5rem}
#safety-note .disclaimer-text{margin:0;font:400 0.95rem/1.6 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate)}
#safety-note .cta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;margin-top:1.5rem}
#safety-note .link-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1rem;border-radius:var(--radius-sm, 10px);border:1px solid var(--mjn3cu-primary);background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);font:700 0.95rem/1 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);text-decoration:none;white-space:nowrap}
#safety-note .link-button:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px}
#safety-note .link-button:hover{background:rgba(196,104,61,.08)}
#safety-note .small{margin:0;color:var(--mjn3cu-slate);font:400 0.92rem/1.6 var(--font-sans, Charter, 'Sitka Text', Cambria, Georgia, serif);max-width:52ch}
#safety-note ::selection{background:rgba(196,104,61,.22)}
@media (max-width:768px){#safety-note .disclaimer-item{grid-column:span 12}#safety-note .cta-row{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){#safety-note *{transition:none !important;animation:none !important}}
/* mjn3cu:schedule-booking-embed */
#schedule-booking-embed { --radius-sm: var(--mjn3cu-radius-sm, 10px); --radius-md: var(--mjn3cu-radius-md, 14px); --radius-lg: var(--mjn3cu-radius-lg, 18px); font-family: var(--mjn3cu-sans, Charter, 'Sitka Text', Cambria, Georgia, serif); }
#schedule-booking-embed { position: relative; background: var(--mjn3cu-bg); color: var(--mjn3cu-text); padding: clamp(2.2rem, 4vw, 3.6rem) 0; }
#schedule-booking-embed .container { max-width: 72rem; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 3rem); }
/* mjn3cu:schedule-booking-embed */
#schedule-booking-embed .section-head { margin-bottom: clamp(1.25rem, 3vw, 2.1rem); }
#schedule-booking-embed .eyebrow { display: inline-flex; align-items: center; gap: .55rem; font-weight: 800; letter-spacing: .14em; font-size: .75rem; text-transform: uppercase; color: var(--mjn3cu-secondary); margin-bottom: .7rem; }
#schedule-booking-embed .title { margin: 0; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.08; letter-spacing: -0.02em; font-weight: 850; text-wrap: balance; }
#schedule-booking-embed .lede { margin: .85rem 0 0; max-width: 55ch; color: var(--mjn3cu-slate); font-size: 1rem; line-height: 1.6; }
#schedule-booking-embed .embed-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(1rem, 2.2vw, 1.8rem); align-items: start; }
#schedule-booking-embed .embed-card { border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); border-radius: var(--mjn3cu-radius-lg, 18px); overflow: hidden; }
#schedule-booking-embed .embed-card-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--mjn3cu-border); }
#schedule-booking-embed .embed-label { font-weight: 800; color: var(--mjn3cu-ink); }
#schedule-booking-embed .embed-status { display: inline-flex; align-items: center; gap: .55rem; color: var(--mjn3cu-slate); font-size: .95rem; }
#schedule-booking-embed .status-dot { width: 10px; height: 10px; border-radius: 999px; background: var(--mjn3cu-secondary); box-shadow: 0 0 0 4px rgba(122,154,106,.18); }
#schedule-booking-embed .widget-wrap { position: relative; background: var(--mjn3cu-bg); min-height: 420px; }
#schedule-booking-embed .widget-iframe { width: 100%; height: 420px; border: 0; display: block; }
#schedule-booking-embed .widget-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 1.5rem; background: rgba(250,250,248,.92); }
#schedule-booking-embed .widget-fallback-inner { border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); border-radius: var(--mjn3cu-radius-md, 14px); padding: 1rem 1.1rem; max-width: 28rem; }
#schedule-booking-embed .widget-fallback-title { font-weight: 900; color: var(--mjn3cu-ink); margin-bottom: .5rem; }
#schedule-booking-embed .widget-fallback-body { color: var(--mjn3cu-slate); line-height: 1.6; }
#schedule-booking-embed .filter-bar { border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); border-radius: var(--mjn3cu-radius-lg, 18px); padding: 1rem; margin-bottom: 1rem; }
#schedule-booking-embed .chip-row { display: flex; flex-wrap: wrap; gap: .6rem; }
#schedule-booking-embed .chip { appearance: none; border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); color: var(--mjn3cu-ink); padding: .62rem .85rem; border-radius: 999px; font-weight: 800; font-size: .95rem; line-height: 1; cursor: pointer; min-height: 44px; }
#schedule-booking-embed .chip.is-selected { border-color: rgba(196,104,61,.55); background: rgba(196,104,61,.10); color: var(--mjn3cu-primary); }
#schedule-booking-embed .chip:focus-visible { outline: 3px solid rgba(196,104,61,.35); outline-offset: 2px; }
#schedule-booking-embed .chip:disabled { opacity: .6; cursor: not-allowed; }
#schedule-booking-embed .note { margin-top: .75rem; color: var(--mjn3cu-slate); font-size: .95rem; }
#schedule-booking-embed .note-value { color: var(--mjn3cu-ink); font-weight: 850; }
#schedule-booking-embed .day-tabs { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; margin: 0 0 .95rem; }
#schedule-booking-embed .day-tab { appearance: none; border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); color: var(--mjn3cu-ink); padding: .6rem .8rem; border-radius: 999px; font-weight: 850; font-size: .95rem; cursor: pointer; min-height: 44px; }
#schedule-booking-embed .day-tab.is-active { border-color: rgba(196,104,61,.65); background: rgba(196,104,61,.10); color: var(--mjn3cu-primary); }
#schedule-booking-embed .day-tab:focus-visible { outline: 3px solid rgba(196,104,61,.35); outline-offset: 2px; }
#schedule-booking-embed .tab-content { border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); border-radius: var(--mjn3cu-radius-lg, 18px); overflow: hidden; }
#schedule-booking-embed .timetable-panel { padding: 0; outline: none; }
#schedule-booking-embed .fallback-table { width: 100%; border-collapse: collapse; }
#schedule-booking-embed .fallback-table th { text-align: left; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mjn3cu-slate); font-weight: 900; padding: .95rem 1.05rem; border-bottom: 1px solid var(--mjn3cu-border); }
#schedule-booking-embed .fallback-table td { padding: .9rem 1.05rem; border-bottom: 1px solid var(--mjn3cu-border); vertical-align: middle; }
#schedule-booking-embed .fallback-table tr:last-child td { border-bottom: 0; }
#schedule-booking-embed .time { font-variant-numeric: tabular-nums; font-weight: 900; color: var(--mjn3cu-ink); font-size: .95rem; }
#schedule-booking-embed .class-name { font-weight: 850; color: var(--mjn3cu-ink); }
#schedule-booking-embed .col-action { width: 110px; text-align: right; }
#schedule-booking-embed .badge { display: inline-flex; align-items: center; padding: .35rem .65rem; border-radius: 999px; font-weight: 900; font-size: .86rem; border: 1px solid var(--mjn3cu-border); }
#schedule-booking-embed .badge-beginner { border-color: rgba(122,154,106,.55); background: rgba(122,154,106,.12); color: var(--mjn3cu-secondary); }
#schedule-booking-embed .badge-optional { border-color: rgba(31,43,51,.18); background: rgba(31,43,51,.05); color: var(--mjn3cu-ink); }
#schedule-booking-embed .book-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .62rem .9rem; border-radius: 999px; border: 1px solid rgba(196,104,61,.65); background: var(--mjn3cu-primary); color: #fff; font-weight: 950; text-decoration: none; }
#schedule-booking-embed .book-btn:hover { filter: brightness(0.98); }
#schedule-booking-embed .book-btn:focus-visible { outline: 3px solid rgba(196,104,61,.35); outline-offset: 2px; }
#schedule-booking-embed .micro-cta { margin-top: 1.2rem; }
#schedule-booking-embed .micro-cta-inner { border: 1px solid var(--mjn3cu-border); background: var(--mjn3cu-surface); border-radius: var(--mjn3cu-radius-lg, 18px); padding: 1.1rem 1.1rem 1.05rem; }
#schedule-booking-embed .micro-title { font-weight: 950; margin-bottom: .4rem; color: var(--mjn3cu-ink); }
#schedule-booking-embed .micro-body { color: var(--mjn3cu-slate); line-height: 1.6; margin-bottom: .75rem; }
#schedule-booking-embed .ghost-link { display: inline-flex; align-items: center; color: var(--mjn3cu-primary); text-decoration: none; font-weight: 900; border: 1px solid rgba(196,104,61,.45); background: rgba(196,104,61,.06); padding: .65rem .9rem; border-radius: 999px; min-height: 44px; }
#schedule-booking-embed .ghost-link:hover { background: rgba(196,104,61,.10); }
#schedule-booking-embed .ghost-link:focus-visible { outline: 3px solid rgba(196,104,61,.35); outline-offset: 2px; }

@media (max-width: 900px) {
  #schedule-booking-embed .embed-grid { grid-template-columns: 1fr; }
  #schedule-booking-embed .widget-wrap { min-height: 360px; }
  #schedule-booking-embed .widget-iframe { height: 360px; }
  #schedule-booking-embed .fallback-table th, #schedule-booking-embed .fallback-table td { padding: .85rem .9rem; }
  #schedule-booking-embed .col-action { width: 96px; }
}

@media (prefers-reduced-motion: reduce) {
  #schedule-booking-embed * { scroll-behavior: auto !important; }
}

#schedule-booking-embed ::selection { background: rgba(196,104,61,.25); }

/* mjn3cu:pricing-cards */
/* mjn3cu:pricing-cards */
#pricing-cards.pricing-cards{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.5rem,5vw,4.5rem) 0;}
#pricing-cards .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.2vw,3rem);}
#pricing-cards .section-head{max-width:54rem;margin-bottom:clamp(1.5rem,3vw,2.2rem);}
#pricing-cards .eyebrow{display:inline-block;font-family:var(--mjn3cu-font-sans,Charter,'Sitka Text',Cambria,Georgia,serif);font-size:0.875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mjn3cu-secondary);margin-bottom:0.75rem;}
#pricing-cards .title{font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.1;margin:0 0 0.6rem 0;letter-spacing:-0.02em;text-wrap:balance;}
#pricing-cards .subtitle{margin:0;max-width:50rem;color:var(--mjn3cu-slate);font-size:1rem;line-height:1.65;}
#pricing-cards .cards{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;align-items:stretch;}
#pricing-cards .price-card{grid-column:span 4;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius-lg,18px);padding:1.25rem 1.25rem 1.1rem;display:flex;flex-direction:column;min-height:100%;}
#pricing-cards .price-card.featured{border-color:color-mix(in srgb, var(--mjn3cu-primary) 35%, var(--mjn3cu-border));box-shadow:0 10px 28px color-mix(in srgb, var(--mjn3cu-primary) 16%, transparent);}
#pricing-cards .badge{display:inline-flex;align-items:center;gap:0.5rem;background:color-mix(in srgb, var(--mjn3cu-accent) 16%, var(--mjn3cu-surface));border:1px solid color-mix(in srgb, var(--mjn3cu-accent) 50%, var(--mjn3cu-border));color:var(--mjn3cu-secondary);padding:0.35rem 0.65rem;border-radius:999px;font-weight:700;font-size:0.875rem;width:max-content;margin-bottom:0.75rem;}
#pricing-cards .price-top{margin-bottom:0.85rem;}
#pricing-cards .plan-name{margin:0 0 0.45rem 0;font-size:1.15rem;letter-spacing:-0.01em;}
#pricing-cards .price-row{display:flex;align-items:baseline;gap:0.35rem;}
#pricing-cards .currency{font-size:0.9rem;color:var(--mjn3cu-slate);font-weight:700;}
#pricing-cards .price{font-variant-numeric:tabular-nums;font-size:2rem;line-height:1;font-weight:900;color:var(--mjn3cu-ink);}
#pricing-cards .per{color:var(--mjn3cu-slate);font-size:0.95rem;font-weight:600;}
#pricing-cards .plan-desc{margin:0 0 0.9rem 0;color:var(--mjn3cu-slate);line-height:1.65;}
#pricing-cards .plan-points{margin:0 0 1.1rem 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.55rem;}
#pricing-cards .plan-points li{padding-left:1.05rem;position:relative;}
#pricing-cards .plan-points li::before{content:"";position:absolute;left:0;top:0.62rem;width:0.55rem;height:0.55rem;border-radius:2px;background:color-mix(in srgb, var(--mjn3cu-primary) 45%, var(--mjn3cu-secondary) 40%);} 
#pricing-cards .btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;border-radius:12px;text-decoration:none;min-height:44px;padding:0.75rem 0.95rem;font-weight:800;font-size:0.98rem;letter-spacing:0.01em;border:1px solid transparent;}
#pricing-cards .btn.primary{background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);border-color:color-mix(in srgb, var(--mjn3cu-primary) 85%, var(--mjn3cu-border));}
#pricing-cards .btn.primary:hover{background:color-mix(in srgb, var(--mjn3cu-primary) 86%, #000 14%);} 
#pricing-cards .btn.ghost{background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);border-color:var(--mjn3cu-border);}
#pricing-cards .btn.ghost:hover{border-color:color-mix(in srgb, var(--mjn3cu-primary) 40%, var(--mjn3cu-border));}
#pricing-cards .price-card .btn{margin-top:auto;}
#pricing-cards .price-card .btn.ghost{margin-top:0.65rem;}
#pricing-cards .btn:focus-visible,.link:focus-visible{outline:3px solid color-mix(in srgb, var(--mjn3cu-primary) 55%, var(--mjn3cu-surface));outline-offset:2px;}
#pricing-cards .what-included{margin-top:clamp(1.5rem,3vw,2.6rem);background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius-lg,18px);padding:1.35rem;}
#pricing-cards .included-title{margin:0 0 1rem 0;font-size:1.25rem;letter-spacing:-0.015em;}
#pricing-cards .included-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;}
#pricing-cards .included-item{grid-column:span 4;padding:0.85rem 0.9rem;border-radius:14px;border:1px solid var(--mjn3cu-border);background:color-mix(in srgb, var(--mjn3cu-bg) 65%, var(--mjn3cu-surface));}
#pricing-cards .included-label{font-weight:900;color:var(--mjn3cu-ink);margin-bottom:0.35rem;}
#pricing-cards .included-text{margin:0;color:var(--mjn3cu-slate);line-height:1.6;}
#pricing-cards .link{display:inline-block;margin-top:1rem;color:var(--mjn3cu-primary);font-weight:900;text-decoration:none;}
#pricing-cards .link:hover{text-decoration:underline;}
#pricing-cards .fine-print{margin-top:1.1rem;color:var(--mjn3cu-slate);font-size:0.95rem;line-height:1.6;}
#pricing-cards ::selection{background:color-mix(in srgb, var(--mjn3cu-primary) 35%, var(--mjn3cu-surface));}
@media (max-width: 900px){#pricing-cards .price-card{grid-column:span 12;}#pricing-cards .included-item{grid-column:span 12;}#pricing-cards .cards{gap:0.9rem;}}
@media (prefers-reduced-motion: reduce){#pricing-cards .btn{transition:none;}}

/* mjn3cu:whats-included */
/* mjn3cu:whats-included */
#whats-included.whats-included{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);padding:clamp(2.5rem,5vw,5rem) 0;}
#whats-included.whats-included .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3vw,3rem);}
#whats-included.whats-included .section-head{margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#whats-included.whats-included .eyebrow{display:inline-flex;align-items:center;gap:.5rem;font:700 0.875rem/1 var(--mjn3cu-sans,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:.12em;text-transform:uppercase;color:var(--mjn3cu-secondary);}
#whats-included.whats-included .title{margin:.6rem 0 .75rem;font:800 clamp(1.4rem,2.6vw,2.2rem)/1.15 var(--mjn3cu-sans,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.02em; text-wrap:balance;}
#whats-included.whats-included .lead{margin:0;max-width:56ch;font:400 1rem/1.65 var(--mjn3cu-serif,Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate);}
#whats-included.whats-included .included-list{display:grid;grid-template-columns:1fr;gap:1rem;}
#whats-included.whats-included .included-item{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--mjn3cu-radius-md,14px);padding:1.1rem 1.1rem;display:flex;gap:1rem;align-items:flex-start;}
#whats-included.whats-included .item-icon{width:44px;height:44px;border-radius:12px;background:rgba(196,104,61,.08);display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;flex:0 0 auto;}
#whats-included.whats-included .item-title{margin:0 0 .35rem;font:800 1.05rem/1.25 var(--mjn3cu-sans,Charter, 'Sitka Text', Cambria, Georgia, serif);letter-spacing:-0.01em;color:var(--mjn3cu-ink);}
#whats-included .item-text{margin:0;font:400 0.98rem/1.6 var(--mjn3cu-serif,Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);color:var(--mjn3cu-slate);}
#whats-included.whats-included .cta-row{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;align-items:center;}
#whats-included.whats-included .primary-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1rem;border-radius:var(--mjn3cu-radius-md,14px);background:var(--mjn3cu-primary);color:var(--mjn3cu-surface);text-decoration:none;font:800 1rem/1 var(--mjn3cu-sans,Charter, 'Sitka Text', Cambria, Georgia, serif);border:1px solid var(--mjn3cu-primary);}
#whats-included.whats-included .primary-link:hover{background:rgba(196,104,61,.92);}
#whats-included.whats-included .primary-link:focus-visible{outline:3px solid rgba(196,104,61,.35);outline-offset:2px;}
#whats-included.whats-included .text-link{display:inline-flex;align-items:center;min-height:44px;padding:.65rem .2rem;border-radius:10px;color:var(--mjn3cu-primary);text-decoration:underline;text-underline-offset:3px;font:700 0.95rem/1 var(--mjn3cu-sans,Charter, 'Sitka Text', Cambria, Georgia, serif);}
#whats-included.whats-included .text-link:hover{color:rgba(196,104,61,.92);}
#whats-included.whats-included .text-link:focus-visible{outline:3px solid rgba(196,104,61,.25);outline-offset:2px;}
#whats-included.whats-included ::selection{background:rgba(196,104,61,.25);}
@media (min-width:768px){
  #whats-included.whats-included .included-list{grid-template-columns:1fr;gap:1.2rem;}
  #whats-included.whats-included .section-head{display:block;}
  #whats-included.whats-included .included-item{padding:1.2rem 1.2rem;}
}
@media (prefers-reduced-motion:reduce){
  #whats-included.whats-included *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}

/* mjn3cu:pricing-comparison-table */
/* mjn3cu:pricing-comparison-table */
#pricing-comparison-table.pricing-comparison-table{padding:clamp(2rem,4.5vw,4.5rem) 0;background:var(--mjn3cu-bg);color:var(--mjn3cu-text);} 
#pricing-comparison-table .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,3rem);} 
#pricing-comparison-table .section-head{margin-bottom:1.25rem;} 
#pricing-comparison-table .eyebrow{display:inline-block;font-size:0.875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--mjn3cu-secondary);font-weight:700;margin-bottom:0.75rem;} 
#pricing-comparison-table .title{font-family:var(--font-family-serif, Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1;margin:0 0 0.5rem;font-weight:800;letter-spacing:-0.02em;text-wrap:balance;} 
#pricing-comparison-table .lead{margin:0;max-width:64ch;color:var(--mjn3cu-slate);font-size:1rem;line-height:1.6;} 
#pricing-comparison-table .table-wrap{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg, 18px);overflow:hidden;} 
#pricing-comparison-table .pricing-table{width:100%;border-collapse:separate;border-spacing:0;} 
#pricing-comparison-table thead th{background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);font-size:0.875rem;text-align:left;padding:1rem 1.1rem;border-bottom:1px solid var(--mjn3cu-border);font-weight:800;letter-spacing:0.02em;} 
#pricing-comparison-table tbody td{padding:1rem 1.1rem;border-bottom:1px solid var(--mjn3cu-border);vertical-align:top;font-size:0.98rem;line-height:1.55;color:var(--mjn3cu-ink);} 
#pricing-comparison-table tbody tr:last-child td{border-bottom:none;} 
#pricing-comparison-table .opt-name{font-weight:900;margin-bottom:0.2rem;} 
#pricing-comparison-table .opt-meta{color:var(--mjn3cu-slate);font-size:0.875rem;margin-bottom:0.35rem;} 
#pricing-comparison-table .highlight td{background:rgba(196,104,61,0.06);} 
#pricing-comparison-table .highlight .opt-name{color:var(--mjn3cu-ink);} 
#pricing-comparison-table .badge{display:inline-flex;align-items:center;gap:0.5rem;margin-top:0.4rem;background:var(--mjn3cu-secondary);color:var(--mjn3cu-surface);font-weight:900;font-size:0.8rem;padding:0.35rem 0.65rem;border-radius:999px;white-space:nowrap;} 
#pricing-comparison-table .note{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:linear-gradient(0deg, rgba(221,227,230,0.15), rgba(221,227,230,0.15));border-top:1px solid var(--mjn3cu-border);} 
#pricing-comparison-table .note-text{margin:0;color:var(--mjn3cu-slate);line-height:1.6;} 
#pricing-comparison-table .link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--mjn3cu-primary);font-weight:800;text-decoration:none;border-radius:var(--radius-sm,10px);padding:0.5rem 0.65rem;border:1px solid transparent;} 
#pricing-comparison-table .link:focus-visible{outline:3px solid rgba(196,104,61,0.35);outline-offset:2px;border-color:var(--mjn3cu-border);} 
#pricing-comparison-table .link:hover{border-color:var(--mjn3cu-border);background:var(--mjn3cu-bg);} 
#pricing-comparison-table .table-mobile{display:none;} 
#pricing-comparison-table .mobile-row{padding:0.9rem 1rem;border-bottom:1px solid var(--mjn3cu-border);} 
#pricing-comparison-table .mobile-row:last-child{border-bottom:none;} 
#pricing-comparison-table .mobile-row.highlight{background:rgba(196,104,61,0.06);} 
#pricing-comparison-table .mobile-col{margin:0 0 0.65rem;} 
#pricing-comparison-table .m-label{font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--mjn3cu-secondary);font-weight:900;margin-bottom:0.25rem;} 
#pricing-comparison-table .m-value{color:var(--mjn3cu-ink);line-height:1.6;font-weight:700;} 

#pricing-comparison-table :where(a){text-underline-offset:3px;} 
#pricing-comparison-table ::selection{background:rgba(122,154,106,0.25);} 
#pricing-comparison-table *{box-sizing:border-box;} 
@media (max-width: 640px){
  #pricing-comparison-table .pricing-table{display:none;}
  #pricing-comparison-table .table-mobile{display:block;}
  #pricing-comparison-table .note{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  #pricing-comparison-table *{scroll-behavior:auto;}
}

/* Design-system variables */
:root{
  --mjn3cu-primary:#C4683D;
  --mjn3cu-secondary:#7A9A6A;
  --mjn3cu-accent:#7A9A6A;
  --mjn3cu-ink:#1F2B33;
  --mjn3cu-slate:#5B6A73;
  --mjn3cu-mist:#DDE3E6;
  --mjn3cu-border:#E3E6E8;
  --mjn3cu-surface:#FFFFFF;
  --mjn3cu-bg:#FAFAF8;
  --mjn3cu-text:#2F3A41;
  --mjn3cu-font: Charter, 'Sitka Text', Cambria, Georgia, serif;
}

.policy-page{background:var(--mjn3cu-bg); color:var(--mjn3cu-text); font-family:var(--mjn3cu-font); padding:24px 16px;}
.policy-wrap{max-width:980px; margin:0 auto; background:var(--mjn3cu-surface); border:1px solid var(--mjn3cu-border); border-radius:14px; padding:24px;}
.policy-header{border-bottom:1px solid var(--mjn3cu-border); padding-bottom:14px; margin-bottom:14px;}
.policy-title{margin:0; font-size:28px; line-height:1.15; color:var(--mjn3cu-ink);}
.policy-lead{margin:10px 0 0 0; color:var(--mjn3cu-slate); font-size:15px; line-height:1.6;}
.policy-section{margin:18px 0;}
.policy-h2{margin:0 0 10px 0; font-size:18px; color:var(--mjn3cu-ink); line-height:1.3;}
.policy-p{margin:10px 0; font-size:15px; line-height:1.7;}
.policy-muted{color:var(--mjn3cu-slate);}
.policy-ul{margin:8px 0 0 18px; padding:0;}
.policy-li{margin:6px 0; font-size:15px; line-height:1.6;}
.policy-box{background:#fff; border:1px solid var(--mjn3cu-border); border-radius:14px; padding:14px; margin-top:10px;}
.policy-box--footer{background:var(--mjn3cu-bg);}
.policy-link{color:var(--mjn3cu-primary); text-decoration:underline; text-underline-offset:2px;}
.policy-footer{border-top:1px solid var(--mjn3cu-border); margin-top:18px; padding-top:12px;}

.cookie-consent{position:fixed; left:0; right:0; bottom:0; z-index:9999; background:rgba(250,250,248,0.96); border-top:1px solid var(--mjn3cu-border);}
.cookie-consent-wrap{max-width:980px; margin:0 auto; padding:14px 16px;}
.cookie-title{margin:0; font-size:16px; color:var(--mjn3cu-ink); font-weight:700;}
.cookie-text{margin:6px 0 0 0; font-size:14px; line-height:1.6; color:var(--mjn3cu-slate);}
.cookie-actions{margin-top:10px;}
.cookie-btn{display:inline-block; border:1px solid var(--mjn3cu-primary); background:var(--mjn3cu-primary); color:#fff; padding:10px 14px; border-radius:10px; cursor:pointer; font-size:14px;}
.cookie-btn--secondary{background:#fff; color:var(--mjn3cu-ink); border-color:var(--mjn3cu-border); margin-left:8px;}
.cookie-text--small{margin-top:10px; font-size:12.5px;}

.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

/* Design system variables */
.policy-page{font-family:var(--mjn3cu-font);color:var(--mjn3cu-text);background:var(--mjn3cu-bg);min-height:100%;}
.policy-wrap{max-width:980px;margin:0 auto;padding:24px 20px 40px 20px;}
.policy-header{padding:8px 0 18px 0;border-bottom:1px solid var(--mjn3cu-border);margin-bottom:18px;}
.policy-title{margin:0 0 10px 0;font-size:34px;line-height:1.2;color:var(--mjn3cu-ink);font-weight:700;}
.policy-lead{margin:0;font-size:16px;line-height:1.6;color:var(--mjn3cu-slate);max-width:70ch;}
.policy-section{margin:18px 0;}
.policy-h2{margin:0 0 10px 0;font-size:20px;line-height:1.35;color:var(--mjn3cu-ink);font-weight:700;}
.policy-p{margin:0 0 10px 0;font-size:15px;line-height:1.65;color:var(--mjn3cu-text);}
.policy-list{margin:0;padding-left:18px;}
.policy-li{margin:8px 0;font-size:15px;line-height:1.65;color:var(--mjn3cu-text);} 
.policy-strong{color:var(--mjn3cu-ink);font-weight:700;}
.policy-footer{margin-top:26px;padding-top:18px;border-top:1px solid var(--mjn3cu-border);}
.policy-footer-inner{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-md, 14px);padding:16px;}
.policy-footer-title{margin:0 0 8px 0;font-weight:700;color:var(--mjn3cu-ink);}

.cookie-consent{position:fixed;left:0;right:0;bottom:0;display:block;z-index:9999;}
.cookie-consent-card{max-width:980px;margin:0 auto 12px auto;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,0.08);}
.cookie-title{margin:0 0 6px 0;font-weight:800;color:var(--mjn3cu-ink);font-size:16px;}
.cookie-text{margin:0 0 10px 0;color:var(--mjn3cu-slate);font-size:14px;line-height:1.5;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.cookie-btn{appearance:none;border:1px solid var(--mjn3cu-border);background:var(--mjn3cu-surface);color:var(--mjn3cu-ink);border-radius:var(--radius-sm,10px);padding:10px 12px;font-size:14px;line-height:1;cursor:pointer;}
.cookie-btn-primary{background:var(--mjn3cu-primary);border-color:var(--mjn3cu-primary);color:#fff;}
.cookie-btn:focus{outline:3px solid rgba(196,104,61,0.25);outline-offset:2px;}
.cookie-legal{margin:10px 0 0 0;color:var(--mjn3cu-slate);font-size:12.5px;line-height:1.4;}

.cookie-manage{position:fixed;inset:0;z-index:10000;background:rgba(31,43,51,0.45);display:block;}
.cookie-manage[hidden]{display:none;}
.cookie-manage-card{max-width:760px;margin:10vh auto 0 auto;background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg,18px);padding:16px;box-shadow:0 12px 40px rgba(0,0,0,0.2);}
.cookie-form{margin:0;}
.cookie-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:var(--mjn3cu-text);font-size:14.5px;line-height:1.4;}
.cookie-check input{margin-top:2px;}

.policy-page{background:var(--mjn3cu-bg);color:var(--mjn3cu-text);font-family:var(--mjn3cu-font);line-height:1.55;min-height:100vh;}
.policy-container{max-width:980px;margin:0 auto;padding:24px 18px 34px 18px;}
.policy-heading{font-size:32px;line-height:1.2;margin:10px 0 14px 0;color:var(--mjn3cu-ink);letter-spacing:-0.2px;}
.policy-lead{margin:0 0 18px 0;color:var(--mjn3cu-text);font-size:16px;}
.policy-section{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg);padding:16px 16px;margin:14px 0;}
.policy-subheading{font-size:18px;margin:0 0 10px 0;color:var(--mjn3cu-ink);}
.policy-text{margin:10px 0;color:var(--mjn3cu-text);font-size:15px;}
.policy-note{color:var(--mjn3cu-ink);background:rgba(221,227,230,0.35);border:1px solid var(--mjn3cu-border);padding:10px 12px;border-radius:var(--radius-md);}
.policy-list{margin:10px 0 0 18px;padding:0;}
.policy-item{margin:6px 0;font-size:15px;}
.policy-strong{color:var(--mjn3cu-ink);font-weight:700;}
.policy-footer{margin-top:18px;}
.policy-footer-inner{background:var(--mjn3cu-surface);border:1px solid var(--mjn3cu-border);border-radius:var(--radius-lg);padding:14px 16px;}
.policy-footer-text{margin:6px 0;color:var(--mjn3cu-slate);font-size:13.5px;}
@media (max-width:560px){.policy-heading{font-size:28px;}.policy-container{padding:18px 14px 28px 14px;}.policy-section{padding:14px 12px;}}

/* Design-system variables */
:root{
  --mjn3cu-primary:#C4683D;
  --mjn3cu-secondary:#7A9A6A;
  --mjn3cu-accent:#7A9A6A;
  --mjn3cu-ink:#1F2B33;
  --mjn3cu-slate:#5B6A73;
  --mjn3cu-mist:#DDE3E6;
  --mjn3cu-border:#E3E6E8;
  --mjn3cu-surface:#FFFFFF;
  --mjn3cu-bg:#FAFAF8;
  --mjn3cu-text:#2F3A41;
  --mjn3cu-font: Charter, 'Sitka Text', Cambria, Georgia, serif;
  --mjn3cu-font-display: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, Georgia, serif;
}

.policy-page{background:var(--mjn3cu-bg); color:var(--mjn3cu-text); min-height:100vh; font-family:var(--mjn3cu-font);}
.policy-wrapper{max-width:920px; margin:0 auto; padding:48px 18px 40px 18px;}
.policy-title{font-family:var(--mjn3cu-font-display); font-size:34px; line-height:1.15; margin:0 0 10px 0; color:var(--mjn3cu-ink); letter-spacing:-0.01em;}
.policy-lead{margin:0 0 18px 0; font-size:16px; line-height:1.65; color:var(--mjn3cu-text);}

.policy-card{background:var(--mjn3cu-surface); border:1px solid var(--mjn3cu-border); border-radius:var(--radius-lg); padding:18px 18px; margin:14px 0;}
.policy-card-title{margin:0 0 10px 0; font-size:18px; line-height:1.35; color:var(--mjn3cu-ink); font-family:var(--mjn3cu-font-display);}
.policy-text{margin:0 0 10px 0; font-size:14.5px; line-height:1.7;}
.policy-text:last-child{margin-bottom:0;}

.policy-list{margin:10px 0 0 18px; padding:0;}
.policy-list-item{margin:6px 0; font-size:14.5px; line-height:1.65;}
.policy-strong{font-weight:700; color:var(--mjn3cu-ink);}

.policy-footer{margin-top:18px; padding:16px 18px; border:1px solid var(--mjn3cu-border); background:var(--mjn3cu-surface); border-radius:var(--radius-lg);}
.policy-footer-title{margin:0 0 12px 0; font-size:16px; font-family:var(--mjn3cu-font-display); color:var(--mjn3cu-ink);}
.policy-footer-grid{display:block;}
.policy-footer-item{margin:10px 0;}
.policy-link{color:var(--mjn3cu-primary); text-decoration:none;}
.policy-link:hover{color:var(--mjn3cu-accent); text-decoration:underline;}
.policy-footnote{margin:10px 0 0 0; font-size:13.5px; color:var(--mjn3cu-slate); line-height:1.6;}

@media (min-width:720px){
  .policy-wrapper{padding:60px 22px 48px 22px;}
  .policy-card{padding:22px 22px;}
  .policy-footer-grid{display:grid; grid-template-columns:1.2fr 0.9fr 0.9fr; gap:14px;}
}

section[data-mjn3cu-hke]:not([data-mjn3cu-hke='header']):not([data-mjn3cu-hke='footer']) { position: relative; }
section[data-mjn3cu-hke]:not([data-mjn3cu-hke='header']):not([data-mjn3cu-hke='footer']) { border-top: 1px solid var(--mjn3cu-border); }
section[data-mjn3cu-hke] h1, section[data-mjn3cu-hke] h2 { letter-spacing: -0.03em; }
section[data-mjn3cu-hke] [class*='rounded'] { border-radius: var(--mjn3cu-radius-sm, 0.25rem); }
:root {
  --mjn3cu-c-content-width: 72rem;
  --mjn3cu-c-gutter: clamp(1rem, 4vw, 3rem);
  --mjn3cu-c-measure: 65ch;
  --mjn3cu-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-mjn3cu-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-mjn3cu-hke] { padding-inline: var(--mjn3cu-c-gutter); }
[data-mjn3cu-dr*='article'], [data-mjn3cu-dr*='review'] { max-width: var(--mjn3cu-c-measure); }
h1 { font-size: var(--mjn3cu-c-heading-display); }
@media (max-width: 768px) { [data-mjn3cu-dr] { min-width: 0; } }