@import url("img-class-in-motion.css");
@import url("img-founders.css");
@import url("img-hero-studio.css");
@import url("img-lifestyle-leaving-studio.css");
@import url("img-reformer-detail.css");
@import url("img-reformer-single-profile.css");
.mcimg{background-position:center;background-size:cover;background-repeat:no-repeat;}
/* =========================================================================
   MC Pilates — design system
   Tokens-first. Warm two-tone + one accent. Fraunces (display) / Inter (body).
   ========================================================================= */

:root {
  /* --- Palette: warm-neutral base + grounding tone + ONE accent --- */
  --cream:      #F8EFE6;   /* page base */
  --sand:       #EFE0D2;   /* section alt / cards */
  --peach:      #F3D9C4;   /* soft warm block */
  --espresso:   #2A1B12;   /* grounding deep tone (text + dark sections) */
  --espresso-2: #3D2A1E;
  --terracotta: #C8623C;   /* THE accent — warm, youthful, confident */
  --terracotta-d:#A94E2D;  /* accent hover */
  --ink:        #2A1B12;   /* body text on light */
  --ink-soft:   #6B5848;   /* muted text */
  --on-dark:    #F8EFE6;   /* text on espresso */
  --on-dark-soft:#D9C4B2;
  --line:       #E0CDB9;   /* hairline borders */

  /* --- Type --- */
  --font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --font-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  /* Fluid type scale (mobile-first, clamp) */
  --fs-mega:  clamp(3.2rem, 11vw, 9.5rem);
  --fs-h1:    clamp(2.6rem, 7vw, 5.5rem);
  --fs-h2:    clamp(2rem, 4.5vw, 3.4rem);
  --fs-h3:    clamp(1.3rem, 2.2vw, 1.7rem);
  --fs-lead:  clamp(1.1rem, 1.6vw, 1.45rem);
  --fs-body:  clamp(1rem, 1.1vw, 1.125rem);
  --fs-small: 0.875rem;
  --fs-eyebrow:0.78rem;

  /* --- Spacing rhythm (8px base) --- */
  --sp-1: 0.5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 6rem;
  --sp-8: 9rem;

  --maxw: 1240px;
  --maxw-narrow: 760px;
  --radius: 14px;
  --radius-lg: 26px;
  --shadow: 0 18px 50px -24px rgba(42, 27, 18, 0.35);
  --shadow-soft: 0 10px 34px -20px rgba(42, 27, 18, 0.28);

  --header-h: 76px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================ Reset ============================ */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; height: auto; }
a { color: inherit; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
ul { list-style: none; padding: 0; }

:focus-visible {
  outline: 3px solid var(--terracotta);
  outline-offset: 3px;
  border-radius: 4px;
}

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 200;
  background: var(--espresso); color: var(--on-dark);
  padding: 0.75rem 1.25rem; border-radius: 0 0 10px 0; font-weight: 600;
}
.skip-link:focus { left: 0; }

/* ============================ Layout helpers ============================ */
.wrap { width: min(100% - 2.5rem, var(--maxw)); margin-inline: auto; }
.wrap-narrow { width: min(100% - 2.5rem, var(--maxw-narrow)); margin-inline: auto; }
.section { padding-block: var(--sp-7); }
@media (min-width: 768px) { .section { padding-block: var(--sp-8); } }

.eyebrow {
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--terracotta);
  display: inline-flex; align-items: center; gap: 0.6rem;
}
.eyebrow::before {
  content: ""; width: 26px; height: 1px; background: currentColor; opacity: 0.7;
}

h1, h2, h3 { font-family: var(--font-display); font-weight: 400; line-height: 1.04; letter-spacing: -0.015em; }
h2 { font-size: var(--fs-h2); font-optical-sizing: auto; }
h3 { font-size: var(--fs-h3); line-height: 1.15; }
.lead { font-size: var(--fs-lead); color: var(--ink-soft); line-height: 1.55; }
em.serif-italic { font-family: var(--font-display); font-style: italic; }

/* ============================ Buttons ============================ */
.btn {
  display: inline-flex; align-items: center; gap: 0.55rem;
  font-weight: 600; font-size: 0.98rem; letter-spacing: 0.01em;
  padding: 0.95rem 1.6rem; border-radius: 100px;
  white-space: nowrap;
  transition: transform 0.4s var(--ease), background-color 0.3s var(--ease), color 0.3s var(--ease), box-shadow 0.4s var(--ease);
}
.btn-primary { background: var(--terracotta); color: #fff; box-shadow: 0 10px 26px -12px var(--terracotta); }
.btn-primary:hover { background: var(--terracotta-d); transform: translateY(-2px); box-shadow: 0 16px 32px -12px var(--terracotta); }
.btn-ghost { background: transparent; color: var(--ink); border: 1.5px solid var(--line); }
.btn-ghost:hover { border-color: var(--espresso); transform: translateY(-2px); }
.btn-ghost.on-dark { color: var(--on-dark); border-color: rgba(248,239,230,0.3); }
.btn-ghost.on-dark:hover { border-color: var(--on-dark); }
.btn .arrow { transition: transform 0.4s var(--ease); }
.btn:hover .arrow { transform: translateX(4px); }

/* ============================ Header / Nav ============================ */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  height: var(--header-h);
  transition: background-color 0.4s var(--ease), box-shadow 0.4s var(--ease), height 0.4s var(--ease);
}
.site-header.scrolled {
  background: rgba(248, 239, 230, 0.86);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 var(--line);
  height: 64px;
}
.header-row {
  height: 100%;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: nowrap;            /* HARD: never wrap */
  gap: 1.5rem; min-width: 0;
}
.brand {
  font-family: var(--font-display); font-weight: 600;
  font-size: 1.45rem; letter-spacing: -0.01em;
  white-space: nowrap;          /* HARD */
  display: inline-flex; align-items: baseline; gap: 0.1rem; flex: 0 0 auto;
}
.brand .dot { color: var(--terracotta); }
.brand b { font-weight: 600; }

.nav-desktop { display: none; }
@media (min-width: 1025px) {
  .nav-desktop {
    display: flex; align-items: center; gap: 2rem;
    flex-wrap: nowrap; min-width: 0; flex: 0 1 auto;
  }
  .nav-links { display: flex; align-items: center; gap: 2rem; flex-wrap: nowrap; }
  .nav-links a {
    white-space: nowrap;        /* HARD */
    text-decoration: none; font-weight: 500; font-size: 0.97rem;
    color: var(--ink); position: relative; padding-block: 0.4rem;
  }
  .nav-links a::after {
    content: ""; position: absolute; left: 0; bottom: 0; height: 1.5px; width: 0;
    background: var(--terracotta); transition: width 0.35s var(--ease);
  }
  .nav-links a:hover::after, .nav-links a:focus-visible::after { width: 100%; }
  .nav-cta { white-space: nowrap; flex: 0 0 auto; }   /* HARD */
}

/* Hamburger */
.nav-toggle {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
  width: 46px; height: 46px; border-radius: 50%; flex: 0 0 auto;
  align-items: center; transition: background-color 0.3s var(--ease);
}
.nav-toggle:hover { background: rgba(42,27,18,0.06); }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform 0.4s var(--ease), opacity 0.3s var(--ease); }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (min-width: 1025px) { .nav-toggle { display: none; } }

/* Mobile menu panel */
.nav-mobile {
  position: fixed; inset: 0; z-index: 99;
  background: var(--cream);
  padding: calc(var(--header-h) + 1.5rem) 1.5rem 2rem;
  display: flex; flex-direction: column;
  transform: translateY(-100%);
  visibility: hidden;
  transition: transform 0.5s var(--ease), visibility 0.5s;
}
.nav-mobile.open { transform: translateY(0); visibility: visible; }
.nav-mobile a {
  text-decoration: none; font-family: var(--font-display);
  font-size: clamp(2rem, 9vw, 3rem); color: var(--ink);
  padding-block: 0.55rem; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
}
.nav-mobile a:last-of-type { border-bottom: none; }
.nav-mobile .btn { margin-top: auto; justify-content: center; font-size: 1.1rem; padding-block: 1.1rem; }
.nav-mobile .m-ig { font-family: var(--font-body); font-size: 1rem; color: var(--ink-soft); text-align: center; margin-top: 1rem; border: none; }
@media (min-width: 1025px) { .nav-mobile { display: none; } }

/* ============================ Hero ============================ */
.hero {
  position: relative; min-height: 100svh;
  display: flex; align-items: center;
  padding-top: var(--header-h);
  overflow: hidden;
  background: var(--cream);
}
#hero-canvas {
  position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: 0; opacity: 0.9;
}
.hero-grain {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: url(data:image/webp;base64,UklGRvgkAABXRUJQVlA4IOwkAABQuQGdASoABgAEPnk8nEskoyKioAgAkA8JaW78fI409Off///a6msvP//9/l/85/f/aK374I//vpn9/91//g6SHWrd2dEHznjA6Bf/9tSwT/vYe3jk8v/Xv/2+HfQBaWych77ZOQzobGeTkPfbJyHwWvQ44n152zdych77ZOQ99snIjve+2T1bgsl2vF1OfzqBt3z3BCADtdOjDeqoFWvcSH8JZ5IcWHuqbFgGIeAjtKB2OapZ2DNAxnHCIL631S2Fqz3OSwgQAG3PP9rxm9uFzP7DT2FmxVYkP4y6WDNUkEh9Dbxlms06+ENr0/bSCCG6CEYwtp/sa0N0N75eLmMtGIV45oqlLTKkw1dyclhw4eCpKEB6KtTRLXkbLnZGQc7AWm3l5lQMZKabIehxN9f3UL7uNtew8c4MMW468T37S1u/3LCiq0K9USgnvVDAr//gcO+szk6LH7Xe0/esKOe8nIm2ONsqNY99aiQOTda+YIivbo34EcOTsheguw+aD3Xf3ZBRnQ5pTwhwMftMtPbHNNOn+X9LtlEsL6erfFYZQ15UKrApn6/ouH820fwkaST9s+USBWY8XZHUzt+5S27rDhBdpURd2f0D+hMrEVl1WqX2gX+neaJFNn2iJ1MBgKXRnIVoaWtEHn4/6zQx919FsUsjD3kxlL1hwgUI+zrd9a67y/F8OmGLlM3oRLzMpyhFBGiQ+PK7c+mr0G+pUTNDQU48ml6GojxRUrmihRODxsw50iWhVxq+GNhItQDtQKxZWrmykB+J7dSdMVUSfQWWQft9uZkcYfHOe3zWgGmlEUWDT/71nLDfL0tyV+d2Xy50/KHehQzcD8R6YKzb98jnr3uSAzCU55GXBswtlDO4S1eyPzSvYZvJwqn3widWvF5mUKgx58+5U90Il0JHWvpK7oFBGHGQMiORxhyzZIiYZY2CKbKx5nu+k/JvbAshHyV7/KCAC1e/Paw4xgc1lMBFMA9+d17U2FFT7sRhIXqCq7OInlWWLiHPhHHih8ijqWLnyjR5XvgvVFFBA5gW1G0ST2zwgappUo1ywWxJ/RyybaQO5i8PQVGPXBI6gan9mLNw/2tMIcfp8H38FWW2EhNROF8iHuIvsjkv06XS3/SoI2hRNR8htnzfXFCKO4MUMjrlPaf5Lrc0Xhf2HtO0Il51N4kSw+N7Knuto2On7/FY/efgdpVpyFvNe1Si0ZCp19SupA94AqxxeC3Q11CV+QRRZqHKX1TCLAopZOk04d3Pyfi8rih9Dhb6qTkJLZpmnIjTJLlbCJcKoKjnjdvpJwlLstFMxFVhYteJRZ/0XLZOeDjts48PR4kpPdZkkkLzOnU1cw9UeplzYe7LCZMvlrg5FEAye5CFP0NjYDQiIkhTSZCNcyicqawtObZ1vvzoOZBzsVmLLOFuuODS5upbw98WqGGuxpw3r1Paj0gIW66M6iqwTXDQP+vEi3jsUsad2+Iqh9P7Hf7oOAAnSFU+dGRUz9pLkbckkTgtYMc+kYX9KrGYUUuC4g1o7cOhKWZ48of2aSKNdXpsR7Op2khcmb9KjYG+2kSFdMxXxyu00RyfD04fYbw9qWMl+qaFGKEmt8r/eqItegbs9IHMObt/VbZCEHjCknHqpYajDyLUZO3JJ6ygN7nB+7n8tvumO3f32HpERDIiyoiIiIh1Do8Ga+VzXhJIS2CVJ4uQ7SxKZWoDhFdtbRkSrzx/FDUbdeeK+LWT1PIeUpeJiq6YkQy6z7ncKCqvfZqU+CyetD+5FWFROiMEpUsUTkJwDu3jDaizOIY5R7cWzNnNhDB5826+2QKIZEUZBGV/othgWIj2FpyJzycehtQJQURAVRgowVXL0payh/BTHKBQUOQHdIcExmIzVubq/XXMp5TAPM0I/Aq6TLq0nqhrYIg9AzyVTydJmdEquXBDLC+T+B7uwgu4mX+tldRxgjOcG6mats4ZDIiiyGCch71AyoEN448U2ndI+n2buGsROeSEz9uge7H2K+hbelV+Zp6MWoEPh6UI05i38pa8z0gmATPKyhCpz2jFhWT9bka7Otehv8qVxtH9weDH8NhSZ0WB46uBdY9V8Mg9e1REyl2BGmCHgcS2REtzPyrFLh+snTa9mcRupQJC/vL65d2jPEolrEI9Ovts5dOcql3Hd/nWo9RGHOmNF6InqvHp0XvNXXC/ugnLIDHoN9o6dotCjfHSbflwRODJ/GEVrwtLCrOqItZSHXcJxtulERDcVwQfBp8KiFGy3iHKc17yJoYgBvYQPdUtwoPzxO9adi+NKUl0kphBf9iv04bxW5niUjZKZwmaeUWnhryLs6JTBK2+Bz9Kb+6TlFEwPKNUCCY1my6xFMPga+sZMV5InYVA8yCBbYREREQ6kpDykGAyvn2Grun2axrZHlczXT2wybZ8L4RyaEDzwhug0DB21pKGIv9zb8uvrXcVMEO/WxG4QIfWSk2N9EQPuYA9+hyQA95yd8vjsRjE4tJ3yCznwzeTGwhd94OtXS9UERERMWw9IKWp/h8C4vnZETGVM82mG2b5Q30sM4wiPZ9y8yK+X6WPi+lLvfEJwDr6WlrcX3JsSlHV+UL/0b0ptXeCH0sG9+vb/9l6xL9EG0916CG52DgSpkwI5VO+ikWlWhZSl0CRH8ZyLVaACKkbqQgCa9nLF11d5vDmVUtO33MQ4uq1KscaYmu0+Ax9LfV8OacYsYgQGXLo4Nv1j4YLcWWT0pcqA+qs6UCOsslt0N3npADx27iKLw6PIr1OV8sMvXBOJ+YYLUI2wJJwPj+pLxWKPDMlcfT/Bw6IjDQEtajwnIqC838JC+p8tXF/EF1zyng7Z9mx+vB7wNqpijGbStFMMthei6BLBtUKzDex6lQOOq8Yyd82ARd4IgDF6Dnn3I7jcHvHaGiM69j4lPsW+BkNKIP1WSEMNxyNkDlH7cfWTUtbCtWCddqjdANx45lA7eAR/u3WLuFE5Q5k6RjNonryhH+Kq4RdOPfogv8qMGKhUDeaN4tkRzrUxEsLTUmuEup547makc/c5mgv3G64DNQMXdMPrhLUynq8yL/ZbFM1C/Q/ByNZbWfBWVB2S3XfgSKlAsmRgLlpzrL9/LzMpuxfXzyrqdT3wyp7Z734wn3rvEEQkpnZHuzBbtQTGLDvt03CPv7xR0sGwwTKZubLE97f8SdqKdSYGWQzUqyEKT79rzmu9TYiBUPBH1qdRdaGD+XxlJysl6/sjghMG8+sAU1QX/VABJp9zlwxVK+QPSnkNHmEKRZElDKYofeCbhvIb1Z2Dl8+iSIHEmxrj4wWdqBDoYG+LR1dzKAbiiH0ZlVcshPn69nHdDob51Mq2QOBpJN4L96O5OJ463RgL/37UDbtY13zyjTdC8ARsNcFIM08NgTxW/gyEtPrgH0frLykVXFew0lRAkkBIKwoQWmMh/wDdKTNVExxFtvurel2vb1uhzB8w1O0t8vGbMJC3S37Qf0xzokmE1mtIxff+hPabyak6LQqmytFG7HkHIszUjJ4pgr3eGy3QZ7gNSsEcXQxxAtZ3xtDcULX4ehy18VGus3A/hDX7nquAELcf1NqcuDtWyBq/pivJmhXA3UBG0SBnzSomlTJsYqn96zt4mlRFAzF+IQLIi0uqgE7u1UZe3Oqy6UuqK7zdV1UpVFjBkEhepD9P5SCnGUaL077aVFq2fBjNpzP6lI23jQeiOj0f41Gg46Rwy46hwNzYe6kJqnFUvRXVXzIcfVR9WEf39Lumc96YnHPNucBBnRQwElm/NHOsSLpej7i36zBhKT/mEFdTGwZ7tadZSPMWrQWN7Nln2y6+4dHlfFAridRf6y0NgKSnOb4kCDbc6jSRwdkK1CBYolkQAemCRdBzFOpw/bscxIrRS62YSXFzh0upOVa+KTUp6N3ty+R0OvvkVtCZ4ZrKrd9B6xjyXitkhdgeTF5cRcprnZ0w1cXQEpoyUkoGysymx9zbjlVJXjKReRmfCIxjzc3NFQI1veaygOx+9c8EDVddigEhKIauUUmSQqiTALmzPycHQBzcIUHvtk9NLX8DHQbCDzQze00JG8ScL9ISTE2iHXbKcS6Go+qUYyZOycEQxinHU9aEsg3m1Tp6IxRPhmVmaCb7ZBIM/gns/wE0GiIzJgYSdu2gmDBYkz0e4FN4pHph6+fw7qiCgAENkyPpzP1ypq147wICrwcTav9cLixr2Nchf8iVUIerHqJy4ihw1DSs9pHCIMECdO3LHQS9C1I7naMkIZeAsT9eRBSDITth4AEkkFnVC1UHJy3vzSolMCVfELgsnpVcSwH/2tGcyu4kDkx3sFJ8mqCBewQLIsrdENyEOfwLrxeNNss8oHquA/rj0sgCBCjnyhAQGM0C5hfi0SeHftBxvymE3iGdWbp9+poUlzv1z3COhnAeUaHppNz0MY0tTi8KrsLCplgWSnpGjfjkxV3YZRq0XMghJhC0QH/brf9EnV7QLjifuIePIskXjDuPHR1wJkALc4cBTSHn9h8VVA7voP0FqNMlkD3SYbxkGCs0IpRLihoUx4c4AkvejIYb6x7t7UgHFvXY4+KqzbDf0WwJ6OSsiaZbvUaB5ICK4XTPUUR2R8oxVNAUEUD2BGGa8ovVP9iFE5VTsoWFJJklk/OrORbDarrPjow1HQwgXm9JnFpDE6cJPgCTk2wDpWOjJH4PkcZprIGcTHhlqMeWGV8q1kq9cQ2vhlPvDqT/upQAAD+8Eyf/EX+7P+7Pkb+rfhj4YvZSNKZZLGfkWlPHGgrFUQcBOabu+51gO5RnTRRjyWQxe3xr+tsdNyTrqJXrAuSBid6fyjzpzf+z32b5WZZa8Weo7iirNcsloy7LWdmr317jruteXvrq94VvjeFuaXaBTDgTx+B8S9OTrYDbtJuXO5+1JUL8sHo/OArHMo9sLQ3KHa7Ig3juMo6pK+aesgMIPMqK5woIj9r3fTF1sOUPpMOlrHPQKC/VBLZiPim5t33z3J+dpHQPGj8rTjQVcQnE9uGgOcuzRKz5Ea3gsD56HQhwkbcV9zEQ34YBGiLq49OxuiFAZTimOURxHXNzHzogSo9KACIcG0ElX8yXM4BzQtV1jqPVP61CxtTwdjxO8+CpHkb0mONaVD2w8c8w7KCq8Sc9xATMA5Mg5Dmr/48iDP/Nd+t7n8TlyLbXnxeFDA0t6HbajkzzaVM5IjbPnZfzjks61ncQ+W3e/csBuT92V/hmLp/rPBXIjo+4KB06rigsqZXoLbk8HrACfkpMBwJ6zTeXf1aEXjYKTL3pCJ6tJ0mBe6PPhULJm3y93sKVvlM+xV+oFs57BDXFV9VRfeuTpzBhp2JelgXW3xG+ABBirEvvhUmgAlXcgsWT+92fU1FfKHAJ5wPPWQg734HhjwSkIMxUokXOXEWsdVjitVtie5JkEmddYCx6h79bOxpOSQW04qWFQCYJQS6MSw1vPx4Q8TW+PVOGVUzlOltY/rmnvoCCMPWTw3urEN1Z2U9KhglT/Lu1A9PtElVMHxf1cejuMQ7odwoTXjo5LXoClAQ6Oiv5KfpfH1ryHXExrMl+8gTzPhMeq2qcoyRwORQ61zw+E5NJ5/xGWJltmsZxFg7B9p75zZ15s42sL5JwQk+pSBljD+adwQw9BSU+IYIEg8HHX1zTs3O6zwHPHr+rM7BjMRABDtwAVDfHH9lMHKIpM7A2NHcSToM/qzndRgEkTYVPSjA1O2kl4uTRobOO5PK2kMf7iXStqKHxaqFcZMEOw+C16f0r2QAAA/eSwKNrnD4H2jM7zGDvemVuun0dVv29YFvaqF5pwTPLQgK27eOyQRQ3DryO9h7V9kd6yyiC5huZ9ugBa7ybr3fudYQq3Hp9nKPGKgAyD/oZOsi6wJ5wgczJ55DcNNzG9jhqd/FnJdexN/ufb+88G1NEqEGPwzj23tas9jXXP17oBAZKDnmvqE9U7rlE/MkVDFSsCMAwG2xyj32qs3johDgytEJr7JSC+960Z4xtlD0EyrmShkveUDJPBWFKB7umhScV8jc2PFVlmZ5EzvWsyCmJThNFU0w7PbUn9eGEBH78H5hq3RHeBVtczSxHsOW/Ztf80yWRkLDAOKzsYZR4jSaDrHCIbcpWegQ2lsAQELmNMYphKDMRqwyX2nrAjA6agrgjwgsUAMjjgmX/9UdNFh/ReExDArgvI3UHX6r2i7GlXO8jh/eP2RllGhPAtIHubrblL4PKS/h3BUC1QZxPoqv6G5be91SYcyKS3uSDAhAybOiM4EMYHNxCIrh3QZqgg5Eahpk6zcmyZwmpU07FmnAlvWk/Og7D6Z5kCEmjZzSjnwtLI/OM8KI/KCz+yJcOcsphlp/gTQNvs/GG1FpRjStXrXRtGGIAFhSUw5yRG9d3bVTJBq1HJWBW1z1bS4wGnF/VS/l8Y5vpR+ALAcoxim06AKKn+H/86EVTMaw9pPlHRdHXwo7W2CccZxshdYbkmnoOiinmxIrd7IaPvuN4Gh2YOnpKzeaH3ZZ+OKLGIB8DlbF+gnQJtZexq/zIKyU3sQqvfdOKecaztUzY+nQKzbgoDLljqoGLexsJ/GMJiHo2jurnSJzYobXUcc9v3Itb2lrYCeP9HL3loJtbTzjbgXUhw9R5sliP7Y4uKYmAPZXv8pCNRnwPitZEgjRO+FqkNE+MnAFaSS2zf7Sc5eX09rLDpbBb7sqJGAebTvyGQuNhzrK4ub76z5LHeDrYSts8AcG/8OGxW6DDT7VtF05G+swEVvy4e1epjssEsomTB9qZEDL3JPLCNK+y2mYloPd08HUKLmDRIzMmnSt4ttJVQUp7JKdGoMPEcd2YAUa0PS4aRa/PaJsez6wnJfCxZljVpf7+QR8C7FznBteRTw6gqYG0oDzUUR5wksApRTdinxCRpvuoxUXT8kNSXLHVLWxj4HEdtSqDSA65bGU8jpHdMMO0TFeCgkhotr7ffOS4FX5+3Z1p9LG5/6Kfw2digGxpRqhADt7PXxAawwESEAPrZCAvFoVdLxMSdEgt2oE3L1wZSZD/sUnC0r3OCHnr8npdt24XjTJL+Ru44FQVwdopWTItVwLgV5UMYRkITlvifuxlxd2KWGoTSTgBk/mVNqcdLQHTJV5FtJ5Dcll1UF0WrdXnSppZLHIcGAZAhzDa0PHFLlvCk3rDUU4wGJEe3RrVjgupvtroE8UEwMqsjdhB9BRCd1+txhV+TDcCXjhIxDO9Lv4+ZlPHH59nKWgtkrUH1EBwKRklPkPDNrLk9mJNI4LTRUZNEhyK7k9sbNs3tzdBVlKv8Quu3/YgAuZGxwATLJoNdtGhYKFEF4RusSkhECM0pPzONOZjbcUKkLIdIyi52xe4M6hs7YxTJ3lfpzfIzBbBo4PMyrfeNr5V14BcLZuEzc+FCAeIfrrIGD+jAAE8tSUM8kmy+OMHfhuUQEXk9MHskN1r5KLMqHmbwi104NBEvGfLA1jhPnCledlccu1+NCcNjaRST/+k7iP9kRkFADwMTnoQAASYkYdy/cGVcEbqA/Q61KRMtphrPzuTYuRz988Y/GwWGSbm6FXjymxDqCLjMcqiOlyK2QkHnvO2bwnMBIRGWAvK5MPYeq8umz6yH0LPAAdT+orlVOvg/5D7Bo7ZEIS09DN7pdQoS4M5olXbozfNZQxDT5bFD1Qtm0kX9sJ3pq+b3UkamT3C9p+O8OpHJnzDmlIT0L2ekT4dxIzTpamqIhoaJ4L4qRgmhPkFTfz/qIR2qLVpspoWVXrfiU/nbKsYx37z140YxCEZmkG1IboVTi/mF5Dms+pOkKVzF64STTiqnLfmBUqaUEUuDVWc4AEzSbyhLp+Pf3g4BVrmkHVJbHgkHR3XODu29ToU4uyhfZ4xWOxdRWKbHVnzsAzBU5CaOqJC59ZLaQ/cJBep/pi5rD3zDJBsiWeWcmnw2EWIlhAI6EE/zFGsJcmJwrQCdT2670XTIw8PpQ6tPMMEzB0zpVW7tT+BsPxck416UbZYlEyl/IlvVdCpffTYHcNs5FotKlz/FrU6jYYkN5FQDG/Nc2Aomyl9AtHzNU3jOB2Y7FLHNl7oDJjlATHRd2DKNyakwHQWvdO+wtSDEa50PSNj5bmTztelLHc0GNp1XTdHyFd50XfZMU+ivOWn8USp9ch0v3PhgoSgnFataLecpjkLiNigxTQTdXRKNTwIrWth7SaXM5mlbB8rssOGBx+NzU9o1EcFLbqXBgqVEiDTY7Jfst1Mg4jcAqZluH96KJL2L30X0TzEfpTqQ2I1mhYXkQPCq0hBftKhvqi5XfMszNtADM4n993Ho4BVaebuSCb8HhwWR7C5WES/N8hGtmFpONvSucruQZIBnAy/Ia0AwtybBVeoTvxSOpAITS39c2KqQ2qlVl93Zh/w6Zjio9N90SdjosSJYl3jA6CMtlvW4AN+wvj1qsZ9TkbluC2+Eua9iNexF5LezeLBouJXFXih7xMl2xAXs4TBBzD/74zs30t8u9Ui4ylgoIda+Gb4EJQa0k/uMJYILSIYoVM6lanjK5MQtO+JVlLWGwMd0nWxGONr7WwgOdXT6fqpzdywYTqCIutrSzDpusq8pC4SdA8V4iuWDP+L9h8AWvO9fFmX+2KFPV2ppFpy1kEAApx1UBH+ST9QcZRYC5oaCcl7LfFXG7fA2SqFoZJ4M5UzzsP7r9oIEgwt1aIDJa/FqGRay2KazZ5oGo0qkvS/hYIlM6jWdurIxIsDVQwicw8AvDzGN42X7MS4SJJzneHd4WqRsrq63+iUNtvRtndaY6/N140jXo3H8EpkJ/hh1QlktU31qgSxZYC6twwjBLfxfRf2J+JZOdSuH6AmTZW1MjGArrnEW/F2AjX/r0tT9yVFbY64pxiXVBkGCfi9Dh3yrqhY7TCAu9bi2vpQyx7E7PqtgIyy5UVqLNCTO4wROUdb1q/Sf7698bqGs+rwPeDnQoj0aFXfNFQGXk5J/UOk51Wsr97t1qe6RNMpZ4MWWVFWXYTGQtvp6CJIWZrM/wtI9s+YVO0EmUYrJCsB8zKMcPqwDubVYXjpHPoTEFcardlx+Qg750m5EKBD280cM456uII2ewcx4fs9pvK5fqAhs8lGGbL2yhm4voskOnyJRMsYAucFYiHOA5AM3QPqQyDvIknUcTN/NhAVesUqRdSo3qPvsFLlb3KnjDF+W7lQ+RROqp5/d6C7ZFWsH3LqBUgf8hErYCLtAYIH2ART0cu2GY5bU3RQyQVC8QERm2QTFHi/Rpn7sKMrBB8yulIJ8lI+5KOdZiQSDlT3VLFXf85CljEB5wZmEliyJtYcEUbYG17XhLjCuJYTF7Ykqe2jXOXx3mk938ljB0SgOPCSeUnEp//qftwR0OBGwzR2VdzfnFcRw6WMengbifWZn5D8OxfBIHcxjzHBPL7hZY1AlMzlYO7Vk4wdT/OV4+OGbVVJ3B76XtYoB56gJMTCgs7ghppxerev22ZjrTeYhMHQ6/8kT0ENBlmm8z5wotFs+EGNemMSt0dJ7ajifqTEn6UrjB2YqbDAq/k/6vYvqGbWEG4ufJm7unmiPwZke+lQFuw/C3ZTxp53igAAzeK0xLX5c91+aLMCwr8OBZK7ySgTE34QP1ol46/YmFrstK5XETEEpoad4UOjKWdjRiuMyC6TlgnTzfbKqrbzkXsRzz7gLXq+bkzWHFLwiL/yc79V7Dan3xZ57sCnR4WSncuCD/7/wSuzZiFpUN9dsMS8Ykz+oaYlDjOF/LyK1uKwM5rKmz54KWmjeghH6SgmuVf2v1sHNp2GSx702AXHzgjhS+c7RXpjfjt+VoyKD6t+o5QvzjT3lhUrMCWBjakyq6zP018KatISs3KBYfoXnZbU0i1XDY3c6Chb602bI0GY+d2L6PPSHKVfJPr0SJ26TvH3Rxz9dC83x2tfC037+8cAqMUhPxuWpg2DlmEaOOyM4b4YqgZQ/V8D4MuPLS6oUY++YXMPSR3DlaJud7Ql409qBY53gkF/Ki4d7aLRP9zLYDBCr3E6Mwj8xz/EPiDxwJ0i+lJ0GzVzVd4dci7YGJ/Ssry7aMtHqtOUm7dBRhLpHgaoIptUKKfdtRom5wjCvaS8QtvMEvlIIXi1wm0ikqk1Lj5XHNEd+wQ6LwvbBIsbQBGdjVB2EK6aP4a1wvHfkOGdOC11ADpMjj8sbhHVSirE2Vr7LhlVmtAryPQFYfubNxrVseoXI7XGyMqKArFmXtNTlzsXq4mwlLbR/KRHVnSLqBGrYeAqpmPLLQkhpIa5/jIqC26n7o6gvOFHOckAggfsCYCbcdOLPq9+BKWCGq+rbkE813TtLUFU7xmdnDQjOGrsx0W3c5kgg/pCkJ69BufcInvNbXy8N84xjiCeUFy93ACioa/PbuNA1Y4cTOxI9IyOatOf6/ZarZR2tDZbDPehqgSFVzJDNfFLuB4p/2pxy8HzvXvOdSAxXkfROcyJE/nAOjQrt+ch1E5/ZoLnvT8teumoEC5vLNHifw5LOcp+tF3pDz881EVk86KQQ56izYRkXtvw54rvkSotg1fziLzbg3a7gODg92Nzy/nclOanvSV4VlQlRcDwUADVt917g9NCom8fJ3J25O2dRECp/GbLiD3CiEJraSOwg8aFerKG4GBeOxKNIFFdIOG3gdNuTx3KmJ6+Qq//kqqtwYEi/odnfhos10t7CJK/+3N5Mv6AE5k9X4ttywD9t7MuzKbZ71M/AiNbuJDI8NgbrDsGUTvmn5UrMJOtJckIUsvlvhqDMaV4ZRKCMcC2ZnnIGAFGLT+VE3xoNwTn5XHCLXjojsdfIl+yLG6nkMuB0uVXtApIudOsfWU6BnwqjT9jsMYsCdXdzLeLE2kCehpVZVEt1Y+f1833cdjemXf/G4u8uUpyksEqj5tLFcIROYGiwlXuxgMwwdIhcPfuuB9Z62wXEr3yAcKAzoKPuCy0kSgLlydYFeGdwM4pf9/5YpsSVqyBX0/jZztIKCM2uKA9oIofzMW/+boMs9j1qPGZ6dXKU2dfajhXrUWW+P7k0jCdTlrfzGBr6wLPwHZIiPFVnb0d6++Vr462PHED7P/SuRPjKb629wsC8tVEZMNJRsK444LsGrFfEZxKFShH9hb5AhzFF9zmjlE+2hZ5RyUsDG7Yqlchrd2snLxcyuJTWh4Ofj5T0hgrKUoTI4IGqcbbgseFXI70A0pf7f2nVdo7GazXuAUz4eDFjGbVpuYLzixLvWR1IwVMJbfw6KxaylNWpXkj/isEvtld8ctncx6NxXA6DmQB+YH0um4Y76fPwq1LzsBswDKfeEVysLMoFD0E61Xgkz8jibYh1s2lHtpVduaN4SG2x19FzYsjnYfIpDaOejt+a/670RC5uAr2Yw1y8MTxgqh/XItjMlpdL/qj/8Izf0hdDF5yIxok1wGjrj61YZtAmozn6o0XRDnOjxZcsgHXksuV3TuxmAIJ0XcUVLLJz3pKVcj9M4yU0j3Ihl7srYkECSHGLYvqeeOFBRgEjVFHiacefws+lGlxtrOJluwy8jthLr+j6UmDkFvWd1wwsw8Da57Tipj+XRzn3Kk2lTUB55vQFfw0xhfjcEgG7PXtLcXiwuprpQZBAbaUkq0xykSzn7ui7ew3xLzDmmc7rSuYHFHcyEaWBJwT2XGpc9dg0LvfVcJVPSldMOf6hJAbzdFdYqvkGHxPVL3OwCFOjlwBM8NZjSRoUkXF8mbh4u4qpeFylEkYO6Pf87p6vhIv3oNyc/AgLlFu7RRYNc4qo0yMO1go/eUAVNLqbAoBU3F73hu3o2cHMxLIgCFSuTVwA6zubeTNYmTYzJKLBe5dpXl9kHIDvypXVva9I192m2/9iUZQxsJ6FFgOUcNjpcrYjklcRmJTQ4NMcSTnf61PKjbrcacugf/FPBh2FC81yXhTU0xyuyfuff1rgpD8Dn2lc/xV8U+dmYoQbORktaK9RPfaasNzNq0YjnE/2905b1VlstUN5ZKBlsguytknWXi9311hw0SV7hXzX1qUwbkylrHdDd9rEAaIVBocusS9lPbcQWbULuM34w+0RSkb3JZiZxPLCmhZprhFHJZzBDDEVMSQ+npqCzcgGsJ+KK1nfQwJmZC6vVpSU9GyzpLgxSjhLMX03yt2gCI1Tk8L1Oi4uhDQzTLwi4PTgejebsJnTSdJQ/vSMrAEdreBaZasuMcOqdwuSBCfWyrFoYrng0JpmEmWaRC2IDky+Kw5+Ls95fThOPOTcLdfyhX+pjCgskS0mge74VZYz7V9clbwVne2byxOCAa5yPSJUSgAp+LVTa8aMc5E2Vt/GbfKYGeESzOBiEkcaHzPF0VcxYdRyQt5PqYYcCnGf9qoybUPUkqxQyFDIiHIq1/VRpw/Lt51ywrB2imgNooIQRFb082PD2qbbWhmN4Cd+Acj5scMSmNG1mXK5cjLkkMRy1fdbI/jLtYLw6dag0cnbWbjbR6F7fyW+2+5QYnNnJZT6QDyU2S/GnXMD4IuZVb42YA8V3t4E4j/sg4k+4mPEe5WLd1Pw58symRhWst8CrprRPbXhby68lcEnIxQ04yu2aZYEQRVlft8JACTOYMT6KmvlUyybnE81J9Ji5cXpcVtgfWCMIP8N2Ch0yPrxME0vVdO95wAA==);
  background-size: cover; background-position: center;
  mix-blend-mode: multiply; opacity: 0.28;
}
.hero-inner { position: relative; z-index: 3; }
.hero-grid { display: grid; gap: var(--sp-4); }
@media (min-width: 1000px) {
  .hero-grid { grid-template-columns: 1.35fr 0.95fr; align-items: center; gap: var(--sp-6); }
}
.hero h1 {
  font-size: var(--fs-h1);
  font-optical-sizing: auto;
  margin-bottom: var(--sp-3);
}
.hero h1 .hl { color: var(--terracotta); font-style: italic; }
.hero h1 .line { display: block; overflow: hidden; }
.hero h1 .line > span { display: block; }
.hero .lead { max-width: 34ch; margin-bottom: var(--sp-4); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.85rem; align-items: center; }
.hero-meta {
  margin-top: var(--sp-5); display: flex; flex-wrap: wrap; gap: 1.2rem 2rem;
  font-size: var(--fs-small); color: var(--ink-soft);
}
.hero-meta span { display: inline-flex; align-items: center; gap: 0.5rem; }
.hero-meta b { color: var(--ink); font-weight: 600; }
.hero-meta .pip { width: 7px; height: 7px; border-radius: 50%; background: var(--terracotta); }

.hero-figure {
  position: relative; border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow); aspect-ratio: 3 / 3.6;
}
.hero-figure img { width: 100%; height: 100%; object-fit: cover; }
.hero-figure .tag {
  position: absolute; left: 1rem; bottom: 1rem;
  background: rgba(248,239,230,0.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 0.6rem 1rem; border-radius: 100px; font-size: var(--fs-small); font-weight: 600;
  display: inline-flex; align-items: center; gap: 0.5rem;
}
.hero-figure .tag .pip { width: 8px; height: 8px; border-radius: 50%; background: var(--terracotta); }
@media (max-width: 999px) { .hero-figure { aspect-ratio: 4 / 3; max-height: 46vh; } }

/* Marquee strip under hero */
.marquee {
  background: var(--espresso); color: var(--on-dark);
  overflow: hidden; white-space: nowrap; padding-block: 1rem;
  border-block: 1px solid var(--espresso-2);
}
.marquee-track { display: inline-flex; gap: 3rem; padding-left: 3rem; will-change: transform; animation: marquee 32s linear infinite; }
.marquee-track span { font-family: var(--font-display); font-style: italic; font-size: 1.35rem; display: inline-flex; align-items: center; gap: 3rem; }
.marquee-track span::after { content: "✶"; color: var(--terracotta); font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

/* ============================ Experience ============================ */
.experience { background: var(--cream); }
.exp-grid { display: grid; gap: var(--sp-5); }
@media (min-width: 900px) { .exp-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: var(--sp-6); } }
.exp-figure { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); aspect-ratio: 3/2; }
.exp-figure img { width: 100%; height: 100%; object-fit: cover; }
.exp-copy h2 { margin-bottom: var(--sp-3); }
.exp-copy .lead { margin-bottom: var(--sp-4); }
.exp-steps { display: grid; gap: var(--sp-2); margin-top: var(--sp-3); }
.exp-step { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.2rem; background: var(--sand); border-radius: var(--radius); }
.exp-step .n { font-family: var(--font-display); font-size: 1.4rem; color: var(--terracotta); line-height: 1; flex: 0 0 auto; }
.exp-step b { display: block; margin-bottom: 0.15rem; }
.exp-step p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* ============================ Why MC (dark band) ============================ */
.why { background: var(--espresso); color: var(--on-dark); }
.why h2 { margin-bottom: var(--sp-4); max-width: 18ch; }
.why h2 em { color: var(--terracotta); }
.why .lead { color: var(--on-dark-soft); max-width: 52ch; margin-bottom: var(--sp-5); }
.why-grid { display: grid; gap: var(--sp-3); }
@media (min-width: 760px) { .why-grid { grid-template-columns: repeat(3, 1fr); } }
.why-card { padding: var(--sp-4); border: 1px solid var(--espresso-2); border-radius: var(--radius); background: var(--espresso-2); }
.why-card .ic { width: 44px; height: 44px; border-radius: 12px; background: rgba(200,98,60,0.18); display: grid; place-items: center; margin-bottom: var(--sp-2); color: var(--terracotta); }
.why-card h3 { margin-bottom: 0.5rem; }
.why-card p { color: var(--on-dark-soft); font-size: var(--fs-small); margin: 0; }

/* ============================ Classes ============================ */
.classes { background: var(--sand); }
.classes-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.classes-head h2 { max-width: 16ch; }
.classes-head p { max-width: 38ch; color: var(--ink-soft); }
.class-cards { display: grid; gap: var(--sp-3); }
@media (min-width: 760px) { .class-cards { grid-template-columns: repeat(3, 1fr); } }
.class-card {
  background: var(--cream); border-radius: var(--radius-lg); overflow: hidden;
  box-shadow: var(--shadow-soft); display: flex; flex-direction: column;
  transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
}
.class-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.class-card .ph { aspect-ratio: 4/3; overflow: hidden; }
.class-card .ph img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.class-card:hover .ph img { transform: scale(1.05); }
.class-card .body { padding: var(--sp-3) var(--sp-3) var(--sp-4); }
.class-card .lvl { font-size: var(--fs-eyebrow); letter-spacing: 0.14em; text-transform: uppercase; color: var(--terracotta); font-weight: 600; }
.class-card h3 { margin: 0.5rem 0 0.5rem; }
.class-card p { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* ============================ Founding member / pricing tease ============================ */
.founding { background: var(--peach); position: relative; overflow: hidden; }
.founding-card {
  background: var(--espresso); color: var(--on-dark);
  border-radius: var(--radius-lg); padding: clamp(2rem, 5vw, 4rem);
  display: grid; gap: var(--sp-4); box-shadow: var(--shadow);
}
@media (min-width: 880px) { .founding-card { grid-template-columns: 1.1fr 0.9fr; align-items: center; gap: var(--sp-6); } }
.founding-card .eyebrow { color: var(--terracotta); }
.founding-card h2 { margin: var(--sp-2) 0 var(--sp-3); }
.founding-card h2 em { color: var(--terracotta); }
.founding-card p { color: var(--on-dark-soft); }
.perk-list { display: grid; gap: 0.9rem; margin: var(--sp-3) 0; }
.perk-list li { display: flex; gap: 0.75rem; align-items: flex-start; color: var(--on-dark); }
.perk-list .check { color: var(--terracotta); flex: 0 0 auto; margin-top: 2px; }
.price-tease {
  background: var(--espresso-2); border-radius: var(--radius); padding: var(--sp-4); text-align: center;
}
.price-tease .note { font-size: var(--fs-eyebrow); letter-spacing: 0.14em; text-transform: uppercase; color: var(--on-dark-soft); }
.price-tease .amt { font-family: var(--font-display); font-size: clamp(3rem, 7vw, 4.5rem); line-height: 1; margin: 0.5rem 0; }
.price-tease .amt em { font-style: italic; color: var(--terracotta); }
.price-tease .sub { color: var(--on-dark-soft); font-size: var(--fs-small); }
.price-tease .tba { display: inline-block; margin-top: 1rem; font-size: 0.75rem; color: var(--on-dark-soft); border: 1px solid var(--espresso); background: rgba(248,239,230,0.06); padding: 0.4rem 0.8rem; border-radius: 100px; }
.price-tease .btn { margin-top: 1.4rem; width: 100%; justify-content: center; }

/* ============================ Founders ============================ */
.founders { background: var(--cream); }
.founders-grid { display: grid; gap: var(--sp-5); }
@media (min-width: 900px) { .founders-grid { grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: var(--sp-6); } }
.founders-figure { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow); aspect-ratio: 3/4; position: relative; }
.founders-figure img { width: 100%; height: 100%; object-fit: cover; }
.founders-figure .names {
  position: absolute; left: 1rem; bottom: 1rem; right: 1rem;
  background: rgba(248,239,230,0.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: 0.7rem 1.1rem; border-radius: 14px; font-family: var(--font-display); font-size: 1.1rem;
}
.founders-copy h2 { margin-bottom: var(--sp-3); }
.founders-copy h2 em { font-style: italic; color: var(--terracotta); }
.founders-copy p + p { margin-top: var(--sp-2); }
.founders-copy .lead { margin-bottom: var(--sp-3); }
.founders-sign { margin-top: var(--sp-4); font-family: var(--font-display); font-style: italic; font-size: 1.5rem; color: var(--terracotta); }

/* ============================ Location ============================ */
.location { background: var(--sand); }
.loc-grid { display: grid; gap: var(--sp-5); }
@media (min-width: 900px) { .loc-grid { grid-template-columns: 1fr 1fr; align-items: center; gap: var(--sp-6); } }
.loc-figure { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); aspect-ratio: 3/2; }
.loc-figure img { width: 100%; height: 100%; object-fit: cover; }
.loc-copy h2 { margin-bottom: var(--sp-3); }
.loc-copy h2 em { font-style: italic; color: var(--terracotta); }
.loc-pin { display: inline-flex; align-items: center; gap: 0.6rem; background: var(--cream); border: 1px solid var(--line); padding: 0.7rem 1.1rem; border-radius: 100px; font-weight: 600; margin-bottom: var(--sp-3); }
.loc-pin svg { color: var(--terracotta); }
.loc-copy p { color: var(--ink-soft); max-width: 46ch; }

/* ============================ FAQ ============================ */
.faq { background: var(--cream); }
.faq-grid { display: grid; gap: var(--sp-5); }
@media (min-width: 900px) { .faq-grid { grid-template-columns: 0.7fr 1.3fr; gap: var(--sp-6); align-items: start; } }
.faq-intro h2 { margin-bottom: var(--sp-2); }
.faq-intro p { color: var(--ink-soft); }
.faq-list { display: grid; gap: 0; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-q {
  width: 100%; text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.4rem 0; font-family: var(--font-display); font-size: clamp(1.15rem, 2vw, 1.45rem); color: var(--ink);
}
.faq-q .ico { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; transition: transform 0.4s var(--ease), background-color 0.3s, border-color 0.3s, color 0.3s; position: relative; }
.faq-q .ico::before, .faq-q .ico::after { content: ""; position: absolute; background: currentColor; border-radius: 2px; }
.faq-q .ico::before { width: 12px; height: 2px; }
.faq-q .ico::after { width: 2px; height: 12px; transition: transform 0.4s var(--ease); }
.faq-q[aria-expanded="true"] .ico { background: var(--terracotta); border-color: var(--terracotta); color: #fff; }
.faq-q[aria-expanded="true"] .ico::after { transform: scaleY(0); }
.faq-a { overflow: hidden; height: 0; transition: height 0.45s var(--ease); }
.faq-a-inner { padding: 0 0 1.5rem; color: var(--ink-soft); max-width: 60ch; }

/* ============================ Waitlist capture ============================ */
.waitlist { background: var(--espresso); color: var(--on-dark); position: relative; overflow: hidden; }
.waitlist-grid { display: grid; gap: var(--sp-5); position: relative; z-index: 2; }
@media (min-width: 900px) { .waitlist-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-6); align-items: center; } }
.waitlist .eyebrow { color: var(--terracotta); }
.waitlist h2 { margin: var(--sp-2) 0 var(--sp-3); max-width: 14ch; }
.waitlist h2 em { font-style: italic; color: var(--terracotta); }
.waitlist .lead { color: var(--on-dark-soft); max-width: 42ch; }
.waitlist-form { background: var(--cream); color: var(--ink); border-radius: var(--radius-lg); padding: clamp(1.6rem, 4vw, 2.6rem); box-shadow: var(--shadow); }
.field { margin-bottom: var(--sp-3); }
.field label { display: block; font-weight: 600; font-size: var(--fs-small); margin-bottom: 0.45rem; }
.field label .opt { color: var(--ink-soft); font-weight: 400; }
.field input {
  width: 100%; padding: 0.95rem 1.1rem; border: 1.5px solid var(--line); border-radius: 12px;
  background: #fff; font: inherit; color: var(--ink); transition: border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.field input:focus-visible { outline: none; border-color: var(--terracotta); box-shadow: 0 0 0 3px rgba(200,98,60,0.18); }
.field input[aria-invalid="true"] { border-color: #C0392B; }
.field .err { display: none; color: #C0392B; font-size: var(--fs-small); margin-top: 0.4rem; }
.field input[aria-invalid="true"] ~ .err { display: block; }
.waitlist-form .btn { width: 100%; justify-content: center; margin-top: var(--sp-1); }
.form-note { font-size: var(--fs-small); color: var(--ink-soft); margin-top: var(--sp-2); text-align: center; }
.form-success { display: none; text-align: center; padding: var(--sp-3) 0; }
.form-success.show { display: block; }
.form-success .tick { width: 64px; height: 64px; border-radius: 50%; background: var(--terracotta); color: #fff; display: grid; place-items: center; margin: 0 auto var(--sp-3); }
.form-success h3 { color: var(--ink); margin-bottom: 0.5rem; }
.form-success p { color: var(--ink-soft); }
form.submitted .waitlist-form-fields { display: none; }

/* ============================ Footer ============================ */
.site-footer { background: var(--espresso-2); color: var(--on-dark-soft); padding-block: var(--sp-6) var(--sp-4); }
.footer-top { display: grid; gap: var(--sp-4); align-items: center; padding-bottom: var(--sp-5); border-bottom: 1px solid var(--espresso); }
@media (min-width: 760px) { .footer-top { grid-template-columns: 1fr auto; } }
.footer-brand { font-family: var(--font-display); font-size: clamp(2.5rem, 6vw, 4rem); color: var(--on-dark); line-height: 1; }
.footer-brand .dot { color: var(--terracotta); }
.footer-cta { display: flex; flex-direction: column; gap: 0.8rem; align-items: flex-start; }
@media (min-width: 760px) { .footer-cta { align-items: flex-end; } }
.footer-links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: var(--sp-4); font-size: var(--fs-small); }
.footer-links a { text-decoration: none; color: var(--on-dark-soft); transition: color 0.3s; }
.footer-links a:hover { color: var(--on-dark); }
.footer-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: var(--sp-4); font-size: var(--fs-small); color: var(--on-dark-soft); }

/* ============================ Scroll reveal ============================ */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.reveal.in { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay: 0.08s; }
.reveal[data-delay="2"] { transition-delay: 0.16s; }
.reveal[data-delay="3"] { transition-delay: 0.24s; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}
.no-js .reveal { opacity: 1; transform: none; }