:root{
  --cream: #fbf6f0;
  --white: #ffffff;
  --beige: #f1e6da;
  --rose: #f3d9d9;
  --rose-soft: #f8e8e6;
  --pink-dark: #b5385f;
  --pink-deep: #8f2a4a;
  --yellow: #f5d51e;
  --ink: #26221e;
  --ink-soft: #6b6058;
  --error: #c0392b;
  --success: #2f7a4f;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter', sans-serif;
  background:var(--white);
  color:var(--ink);
  line-height:1.6;
}
h1,h2,h3,.serif{ font-family:'Cormorant Garamond', serif; font-weight:500; }
a{ text-decoration:none; color:inherit; transition:color .2s ease, opacity .2s ease; }
img{ max-width:100%; display:block; }
.container{ max-width:1240px; margin:0 auto; padding:0 32px; }
.uc{ text-transform:uppercase; letter-spacing:1.6px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:16px 34px; font-weight:600; font-size:13px; letter-spacing:1.8px; text-transform:uppercase; transition:background .25s ease, color .25s ease, transform .2s ease, box-shadow .25s ease, border-color .25s ease; border:1.5px solid transparent; cursor:pointer; background:none; font-family:inherit; }
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-primary{ background:var(--yellow); color:var(--ink); }
.btn-primary:hover{ background:var(--ink); color:var(--yellow); box-shadow:0 10px 24px -8px rgba(38,34,30,0.35); }
.btn-dark{ background:var(--ink); color:var(--white); }
.btn-dark:hover{ background:var(--pink-dark); box-shadow:0 10px 24px -8px rgba(181,56,95,0.4); }
.btn-outline{ border-color:var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:var(--white); }
.btn-outline-w{ border-color:var(--white); color:var(--white); }
.btn-outline-w:hover{ background:var(--white); color:var(--ink); }
.btn-block{ display:flex; width:100%; }
.btn[disabled]{ opacity:0.5; cursor:not-allowed; }
.btn[disabled]:hover{ transform:none; box-shadow:none; }

/* ANNOUNCEMENT BAR */
.announce{ background:var(--yellow); color:var(--ink); text-align:center; padding:10px 20px; font-size:12.5px; font-weight:600; letter-spacing:1px; }

/* HEADER */
header{ position:sticky; top:0; z-index:50; background:var(--white); border-bottom:1px solid rgba(0,0,0,0.07); }
.header-top{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:22px 32px; max-width:1240px; margin:0 auto; gap:16px; }
.wordmark{ justify-self:start; display:flex; align-items:center; gap:10px; font-family:'Cormorant Garamond', serif; font-size:26px; letter-spacing:6px; font-weight:600; transition:letter-spacing .3s ease, color .3s ease; }
.wordmark:hover{ letter-spacing:7px; color:var(--pink-dark); }
.wordmark span{ color:var(--ink-soft); font-weight:400; }
.logo-mark{ width:34px; height:34px; border-radius:50%; flex-shrink:0; }
.main-nav ul{ list-style:none; display:flex; justify-content:center; gap:40px; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.nav-account{ display:none; }
.main-nav a{ position:relative; padding-bottom:3px; }
.main-nav a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--pink-dark); transition:width .25s ease; }
.main-nav a:hover::after, .main-nav a.active::after{ width:100%; }
.main-nav a.active{ color:var(--pink-dark); }
.main-nav a:hover{ color:var(--pink-dark); }
.header-icons{ display:flex; align-items:center; gap:18px; justify-self:end; font-size:13px; font-weight:600; letter-spacing:0.5px; }
.header-icons a{ display:flex; align-items:center; gap:6px; }
.header-icons > a:not(.btn):hover{ color:var(--pink-dark); }
.icon-dot{ width:18px; height:18px; border:1.4px solid var(--ink); border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:10px; transition:border-color .2s ease, color .2s ease, transform .2s ease; }
a:hover .icon-dot{ border-color:var(--pink-dark); color:var(--pink-dark); transform:scale(1.08); }

/* USER ACCOUNT MENU (desktop hover dropdown) */
.user-menu{ position:relative; }
.user-trigger{ display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer; font-family:inherit; font-size:13px; font-weight:600; letter-spacing:0.5px; color:var(--ink); padding:8px 2px; }
.user-trigger:hover .icon-dot, .user-menu:hover .icon-dot, .user-menu:focus-within .icon-dot{ border-color:var(--pink-dark); color:var(--pink-dark); }
.user-trigger:hover .label, .user-menu:hover .label, .user-menu:focus-within .label{ color:var(--pink-dark); }
.user-dropdown{ position:absolute; top:100%; right:0; margin-top:14px; width:220px; background:var(--white); border:1px solid rgba(0,0,0,0.08); box-shadow:0 24px 48px -16px rgba(38,34,30,0.25); padding:16px; display:flex; flex-direction:column; gap:10px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease, visibility .2s; z-index:70; }
.user-dropdown::before{ content:''; position:absolute; bottom:100%; right:16px; width:12px; height:12px; background:var(--white); border-left:1px solid rgba(0,0,0,0.08); border-top:1px solid rgba(0,0,0,0.08); transform:rotate(45deg); }
.user-dropdown a:not(.btn){ font-size:13px; font-weight:600; color:var(--ink-soft); text-align:center; }
.user-dropdown a:not(.btn):hover{ color:var(--pink-dark); }
.user-dropdown .btn{ padding:12px 18px; font-size:11.5px; }
.user-menu:hover .user-dropdown, .user-menu:focus-within .user-dropdown{ opacity:1; visibility:visible; transform:translateY(0); }

.menu-toggle{ display:none; flex-direction:column; justify-content:center; gap:5px; width:26px; height:26px; background:none; border:none; cursor:pointer; padding:0; }
.menu-toggle span{ display:block; width:100%; height:2px; background:var(--ink); border-radius:1px; transition:transform .25s ease, opacity .25s ease; }
.menu-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2){ opacity:0; }
.menu-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-backdrop{ display:none; }
@media(max-width:900px){
  .nav-backdrop{ display:block; position:fixed; inset:0; top:0; background:rgba(20,16,14,0.35); z-index:40; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .28s ease, visibility .28s; }
  .nav-backdrop.open{ opacity:1; visibility:visible; pointer-events:auto; }
}

/* PAGE HERO (inner pages) */
.page-hero{ position:relative; overflow:hidden; min-height:400px; display:flex; align-items:center; background:linear-gradient(160deg, var(--rose) 0%, var(--beige) 55%, var(--rose-soft) 100%); padding:90px 0; text-align:center; }
.page-hero-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.page-hero::after{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(20,16,14,0.35) 0%, rgba(20,16,14,0.62) 100%); pointer-events:none; }
.page-hero .container{ position:relative; z-index:2; width:100%; }
.page-hero .uc{ font-size:12px; font-weight:700; color:var(--yellow); display:block; margin-bottom:16px; }
.page-hero h1{ font-size:46px; color:var(--white); }
.page-hero p{ color:rgba(255,255,255,0.85); max-width:520px; margin:16px auto 0; font-size:15.5px; }

/* HERO (home) */
.hero{ position:relative; height:86vh; min-height:560px; max-height:760px; background:linear-gradient(160deg, var(--rose) 0%, var(--beige) 55%, var(--rose-soft) 100%); display:flex; align-items:flex-end; overflow:hidden; }
.hero-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }
.hero::after{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(20,16,14,0.88) 0%, rgba(20,16,14,0.62) 32%, rgba(20,16,14,0.22) 58%, rgba(20,16,14,0.02) 78%), linear-gradient(0deg, rgba(20,16,14,0.45) 0%, transparent 45%); pointer-events:none; }
.hero-inner-wrap{ position:relative; z-index:2; width:100%; padding-bottom:72px; }
.hero-inner{ max-width:600px; }
.hero-inner .uc{ font-size:12px; font-weight:700; color:var(--yellow); margin-bottom:18px; display:block; }
.hero h1{ font-size:56px; line-height:1.05; margin-bottom:22px; color:var(--white); }
.hero p{ font-size:17px; color:rgba(255,255,255,0.9); max-width:460px; margin-bottom:30px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* MARQUEE STRIP */
.marquee{ background:var(--ink); color:var(--white); overflow:hidden; white-space:nowrap; padding:14px 0; }
.marquee-track{ display:inline-block; padding-left:100%; animation:scroll 28s linear infinite; font-size:12.5px; letter-spacing:2px; font-weight:600; }
.marquee-track span{ margin:0 28px; }
@keyframes scroll{ from{ transform:translateX(0);} to{ transform:translateX(-100%);} }

/* STAT STRIP */
.stat-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(0,0,0,0.07); }
.stat-block{ background:var(--cream); padding:32px 24px; text-align:center; transition:background .25s ease; }
.stat-block:hover{ background:var(--rose-soft); }
.stat-block b{ display:block; font-family:'Cormorant Garamond', serif; font-size:42px; color:var(--pink-dark); margin-bottom:10px; transition:transform .25s ease; }
.stat-block:hover b{ transform:scale(1.08); }
.stat-block span{ font-size:12.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.5px; }

/* SECTION HEAD */
.section{ padding:80px 0; }
.section-head{ text-align:center; max-width:900px; margin:0 auto 36px; padding:0 24px; }
.section-head .uc{ font-size:12px; font-weight:700; color:var(--pink-dark); display:block; margin-bottom:12px; }
.section-head h2{ font-size:33px; color:var(--ink); white-space:normal; }
.section-head-wide{ max-width:760px; }
.section-head-wide h2{ font-size:38px; margin-bottom:14px; }
.section-head-wide p{ color:var(--ink-soft); font-size:15.5px; }

/* HANDPICKED CARD ROW */
.card-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:rgba(0,0,0,0.07); }
.card-row-3{ grid-template-columns:repeat(3,1fr); }
.why-card{ background:var(--white); padding:26px 28px; position:relative; transition:background .25s ease, box-shadow .25s ease, transform .25s ease; z-index:1; }
.why-card:hover{ background:var(--cream); transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(38,34,30,0.25); z-index:2; }
.why-card .tag{ position:absolute; top:24px; right:24px; background:var(--yellow); color:var(--ink); font-size:10px; font-weight:700; letter-spacing:1px; padding:5px 10px; text-transform:uppercase; }
.why-card .num{ font-family:'Cormorant Garamond',serif; font-size:44px; color:var(--rose); margin-bottom:10px; display:block; transition:color .25s ease; line-height:44px !important; margin-top:-20px; }
.why-card:hover .num{ color:var(--pink-dark); }
.why-card h3{ font-size:22px; margin-bottom:12px; }
.why-card p{ font-size:14.5px; color:var(--ink-soft); }
.card-icon{ width:38px; height:38px; margin-bottom:16px; color:var(--pink-dark); display:block; }
.card-icon svg{ width:100%; height:100%; }

/* EDITORIAL SPLIT */
.editorial{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.editorial .media{ position:relative; min-height:380px; background:linear-gradient(135deg, var(--beige), var(--rose)); overflow:hidden; }
.editorial .media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.editorial .media:hover img{ transform:scale(1.06); }
.editorial .copy{ display:flex; flex-direction:column; justify-content:center; padding:56px 64px; background:var(--cream); }
.editorial .uc{ font-size:12px; font-weight:700; color:var(--pink-dark); margin-bottom:16px; }
.editorial h2{ font-size:42px; margin-bottom:20px; line-height:1.12; }
.editorial p{ color:var(--ink-soft); font-size:15.5px; margin-bottom:26px; max-width:420px; }
.feature-list{ list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.feature-list li{ font-size:14.5px; display:flex; gap:10px; align-items:flex-start; transition:transform .2s ease; }
.feature-list li:hover{ transform:translateX(4px); }
.feature-list li::before{ content:'—'; color:var(--pink-dark); font-weight:700; }
.editorial.reverse .media{ order:2; }
.editorial.reverse .copy{ order:1; }

/* TESTIMONIALS — homepage teaser: always a carousel (3 per view on desktop).
   With 3 or fewer reviews there is nothing to overflow, so it simply reads as a static row. */
.testi-row{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:none;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
  border-top:1px solid rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.testi-row::-webkit-scrollbar{ display:none; }
.testi-row.dragging{ cursor:grabbing; scroll-snap-type:none; }
.testi-card{ flex:0 0 calc((100% / 3)); padding:44px 40px; border-left:1px solid rgba(0,0,0,0.08); scroll-snap-align:start; transition:background .25s ease; }
.testi-card:hover{ background:var(--cream); }
.testi-card:first-child{ border-left:none; }
.stars{ color:var(--yellow); letter-spacing:2px; margin-bottom:18px; font-size:15px; }
.testi-card p{ font-size:15px; margin-bottom:22px; }
.testi-person b{ display:block; font-size:13.5px; }
.testi-person span{ font-size:12px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.5px; }

.carousel-nav{ display:flex; justify-content:center; gap:16px; padding:28px 0; }
.carousel-arrow{ width:46px; height:46px; border-radius:50%; border:1.5px solid var(--ink); background:var(--white); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink); transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.carousel-arrow svg{ width:18px; height:18px; }
.carousel-arrow:hover{ background:var(--ink); color:var(--white); transform:translateY(-2px); }
.carousel-arrow:disabled{ opacity:0.3; cursor:default; pointer-events:none; }

.review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(0,0,0,0.07); border-top:1px solid rgba(0,0,0,0.08); border-bottom:1px solid rgba(0,0,0,0.08); }
.review-card{ background:var(--white); padding:36px 32px; transition:background .25s ease; }
.review-card:hover{ background:var(--cream); }
.review-card h4{ font-size:17px; margin-bottom:10px; }
.review-card p{ font-size:14.5px; color:var(--ink-soft); margin-bottom:18px; }
.review-card .meta{ font-size:12px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.5px; }
.pending-badge{ background:var(--beige); color:var(--ink-soft); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.6px; padding:3px 9px; margin-left:10px; }

/* FOUNDER QUOTE */
.founder-quote{ max-width:1240px; margin:64px auto; padding:64px 40px; background:var(--pink-deep); color:var(--white); text-align:center; }

/* REGISTER / CTA BAND */
.register-band{ background:var(--pink-deep); color:var(--white); padding:68px 0; text-align:center; }
.register-band .uc{ color:var(--yellow); font-size:12px; font-weight:700; margin-bottom:16px; display:block; }
.register-band h2{ font-size:38px; margin-bottom:14px; }
.register-band p{ color:rgba(255,255,255,0.8); max-width:480px; margin:0 auto 34px; font-size:15px; }
.register-form{ display:flex; max-width:460px; margin:0 auto; border-bottom:1.5px solid rgba(255,255,255,0.6); }
.register-form input{ flex:1; background:transparent; border:none; padding:14px 4px; color:var(--white); font-size:14px; }
.register-form input::placeholder{ color:rgba(255,255,255,0.6); }
.register-form button{ background:none; border:none; color:var(--yellow); text-transform:uppercase; font-weight:700; font-size:12.5px; letter-spacing:1.5px; cursor:pointer; padding:14px 4px; transition:letter-spacing .2s ease, opacity .2s ease; }
.register-form button:hover{ letter-spacing:2.5px; opacity:0.85; }
.register-form{ transition:border-color .25s ease; }
.register-form:focus-within{ border-color:var(--yellow); }

/* FORMS (auth, contact, training, review) */
.form-card{ background:var(--cream); padding:56px; max-width:560px; margin:0 auto; }
.form-card.wide{ max-width:720px; }
.field{ margin-bottom:22px; }
.field label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; color:var(--ink); }
.field input, .field textarea, .field select{ width:100%; padding:13px 16px; border:1.5px solid rgba(0,0,0,0.15); background:var(--white); font-family:inherit; font-size:14.5px; color:var(--ink); transition:border-color .2s ease, box-shadow .2s ease; }
.field input:focus, .field textarea:focus, .field select:focus{ box-shadow:0 0 0 3px rgba(181,56,95,0.1); }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--pink-dark); }
.field textarea{ min-height:130px; resize:vertical; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-foot{ font-size:13.5px; color:var(--ink-soft); margin-top:20px; text-align:center; }
.form-foot a{ color:var(--pink-dark); font-weight:600; }

.alert{ padding:14px 18px; font-size:14px; margin-bottom:24px; border-left:3px solid; }
.alert-success{ background:#eaf6ee; color:var(--success); border-color:var(--success); }
.alert-error{ background:#fdecea; color:var(--error); border-color:var(--error); }

.star-input{ display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:6px; font-size:26px; }
.star-input label{ cursor:pointer; color:rgba(0,0,0,0.2); text-transform:none; font-weight:400; transition:color .15s ease, transform .15s ease; }
.star-input label:hover{ transform:scale(1.15); }
.star-input input{ display:none; }
.star-input input:checked ~ label{ color:var(--yellow); }
.star-input label:hover, .star-input label:hover ~ label{ color:var(--yellow); }

/* ADMIN */
.admin-table-wrap{ width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.admin-table{ width:100%; min-width:720px; border-collapse:collapse; font-size:14px; }
.admin-table th, .admin-table td{ text-align:left; padding:14px 16px; border-bottom:1px solid rgba(0,0,0,0.08); vertical-align:top; }
.admin-table th{ text-transform:uppercase; font-size:11px; letter-spacing:0.8px; color:var(--ink-soft); }
.admin-table tbody tr{ transition:background .2s ease; }
.admin-table tbody tr:hover{ background:var(--cream); }
.status-pill{ font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:4px 10px; }
.status-pending{ background:var(--beige); color:var(--ink-soft); }
.status-approved{ background:#eaf6ee; color:var(--success); }
.status-rejected{ background:#fdecea; color:var(--error); }

/* FOOTER */
footer{ background:var(--cream); padding:72px 0 0; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(0,0,0,0.08); }
.footer-grid h4{ font-size:12px; text-transform:uppercase; letter-spacing:1.2px; margin-bottom:20px; font-weight:700; color:var(--ink); }
.footer-links{ list-style:none; display:flex; flex-direction:column; gap:12px; font-size:14px; color:var(--ink-soft); }
.footer-links a{ display:inline-block; transition:color .2s ease, transform .2s ease; }
.footer-links a:hover{ color:var(--pink-dark); transform:translateX(3px); }
.footer-wordmark{ display:flex; align-items:center; gap:10px; font-family:'Cormorant Garamond',serif; font-size:24px; letter-spacing:4px; margin-bottom:14px; }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:26px 0; font-size:12.5px; color:var(--ink-soft); flex-wrap:wrap; gap:10px; }

.dashboard-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; max-width:1000px; margin:0 auto; }
.dashboard-grid .form-card{ max-width:none; }

.card-row, .stat-strip, .testi-row, .editorial{ max-width:1240px; margin-left:auto; margin-right:auto; }

/* Breathing room between two stacked content blocks with no heading between them */
.editorial + .editorial,
.card-row + .editorial,
.editorial + .card-row,
.stat-strip + .editorial,
.editorial + .stat-strip,
.card-row + .stat-strip,
.stat-strip + .card-row,
.card-row + .register-band,
.testi-row + .register-band,
.editorial + .register-band,
.page-hero + .editorial,
.page-hero + .card-row,
.page-hero + .stat-strip,
.page-hero + .review-grid,
.page-hero + .testi-row{ margin-top:64px; }

@media(min-width:1700px){
  .hero-inner{ max-width:680px; }
}

@media(max-width:1100px) and (min-width:901px){
  .card-row, .stat-strip{ grid-template-columns:repeat(2,1fr); }
}

@media(max-width:900px){
  .dashboard-grid{ grid-template-columns:1fr; }
  .card-row, .stat-strip, .review-grid, .footer-grid, .editorial, .editorial.reverse{ grid-template-columns:1fr; }
  .review-card{ border-top:1px solid rgba(0,0,0,0.08); }
  .review-card:first-child{ border-top:none; }
  .editorial .copy, .editorial.reverse .copy{ order:1; }
  .editorial .media, .editorial.reverse .media{ order:2; }
  .header-top{ grid-template-columns:auto 1fr; }
  .menu-toggle{ display:flex; order:3; margin-left:14px; }
  .main-nav{ position:absolute; top:100%; left:0; right:0; background:var(--white); border-bottom:1px solid rgba(0,0,0,0.08); box-shadow:0 16px 32px -16px rgba(0,0,0,0.18); z-index:60; visibility:hidden; opacity:0; transform:translateY(-12px); pointer-events:none; transition:opacity .28s ease, transform .28s ease, visibility .28s; max-height:80vh; overflow-y:auto; }
  .main-nav.open{ visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
  .main-nav ul{ flex-direction:column; align-items:flex-start; gap:0; padding:8px 24px 4px; }
  .main-nav ul li{ width:100%; }
  .main-nav a{ display:block; padding:14px 0; width:100%; border-bottom:1px solid rgba(0,0,0,0.06); }
  .main-nav a::after{ display:none; }
  .nav-account{ display:flex; flex-direction:column; gap:12px; padding:18px 24px 24px; margin-top:6px; border-top:1px solid rgba(0,0,0,0.08); }
  .nav-account a:not(.btn){ font-size:13px; font-weight:600; color:var(--ink-soft); }
  .nav-account-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .nav-account-row span{ font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1 1 auto; }
  .nav-account-row a{ color:var(--pink-dark) !important; white-space:nowrap; flex-shrink:0; width:auto !important; display:inline-block !important; padding:0 !important; border-bottom:none !important; }
  .nav-account .btn{ padding:14px 20px; font-size:12px; }
  .header-icons{ gap:0; }
  .header-icons > a, .header-icons > .user-menu{ display:none; }
  .testi-person{ display:flex; flex-direction:column; align-items:center; }
  .field-row{ grid-template-columns:1fr; }
  .review-item{ flex-direction:column; }

  /* Homepage reviews carousel — narrower peek-card view on mobile */
  .testi-row{ overflow-y:hidden; scroll-padding-left:24px; padding:0 24px; gap:14px; }
  .testi-card{
    flex:0 0 82%;
    scroll-snap-align:start;
    scroll-snap-stop:normal;
    text-align:center;
    border-left:1px solid rgba(0,0,0,0.08);
    border-radius:2px;
  }
  .testi-card:first-child{ border-left:none; }
}

/* Single consistent mobile breakpoint — all spacing normalised to ~28-40px */
@media(max-width:767px){
  .container{ padding:0 24px; }
  .announce{ font-size:11px; padding:10px 18px; }

  .header-top{ padding:16px 24px; }
  .wordmark{ font-size:21px; letter-spacing:3px; }
  .wordmark:hover{ letter-spacing:4px; }
  .logo-mark{ width:28px; height:28px; }
  .main-nav ul{ gap:14px; font-size:11.5px; }

  .hero{ height:auto; min-height:460px; padding-top:0; align-items:center; }
  .hero::after{ background:linear-gradient(180deg, rgba(20,16,14,0.55) 0%, rgba(20,16,14,0.72) 55%, rgba(20,16,14,0.82) 100%); }
  .hero h1{ font-size:32px; margin-bottom:16px; }
  .hero p{ font-size:15px; margin-bottom:24px; }
  .hero-inner-wrap{ padding-top:40px; padding-bottom:40px; }
  .hero-inner{ max-width:100%; }
  .hero-inner .uc{ margin-bottom:14px; }
  .hero-actions .btn{ padding:14px 24px; font-size:12px; }

  .page-hero{ padding:40px 0; }
  .page-hero::after{ background:linear-gradient(180deg, rgba(20,16,14,0.58) 0%, rgba(20,16,14,0.8) 100%); }
  .page-hero h1{ font-size:28px; }
  .page-hero p{ margin-top:12px; }

  .section{ padding:40px 0; }
  .section-head{ margin-bottom:28px; }
  .section-head-wide{ text-align:left; }
  .section-head-wide h2{ font-size:26px; margin-bottom:12px; }

  .editorial + .editorial,
  .card-row + .editorial,
  .editorial + .card-row,
  .stat-strip + .editorial,
  .editorial + .stat-strip,
  .card-row + .stat-strip,
  .stat-strip + .card-row,
  .card-row + .register-band,
  .testi-row + .register-band,
  .editorial + .register-band,
  .page-hero + .editorial,
  .page-hero + .card-row,
  .page-hero + .stat-strip,
  .page-hero + .review-grid,
  .page-hero + .testi-row{ margin-top:36px; }
  .founder-quote{ margin:36px auto; padding:44px 24px; }
  .section-head h2{ font-size:26px; }

  .why-card{ padding:28px 24px; text-align:left; }
  .why-card .num{ font-size:34px; margin-bottom:8px; }
  .why-card .tag{ position:static; display:inline-block; margin-bottom:12px; }

  .stat-block{ padding:28px 20px; }
  .stat-block b{ font-size:32px; }

  .editorial .copy{ padding:36px 24px; text-align:left; }
  .editorial .media{ min-height:260px; max-height:340px; }
  .editorial h2{ font-size:28px; margin-bottom:14px; }
  .editorial p{ margin-bottom:18px; }

  .feature-list{ margin:0 0 22px; gap:10px; text-align:left; }
  .why-card .feature-list{ margin-top:14px; }

  .register-band{ padding:40px 0; }
  .register-band h2{ font-size:26px; margin-bottom:10px; }
  .register-band p{ margin-bottom:24px; }

  .form-card, .form-card.wide{ padding:28px 22px; }
  .field{ margin-bottom:16px; }

  footer{ padding-top:40px; }
  .footer-grid{ gap:28px; padding-bottom:28px; }
  .footer-bottom{ padding:20px 0; }

  .btn{ padding:14px 24px; font-size:12px; }
  .dashboard-grid{ gap:20px; }
}
