/*
 * Aimee 2026 — Homepage deck mechanics (loaded only on the home template).
 * Default state = slides stacked vertically (no-JS / mobile / reduced-motion).
 * `body.aimee-deck` (added by JS on desktop) upgrades to the full-screen deck.
 * All scoped under .aimee-2026.
 */

/* ---- Slides: default = natural vertical flow ---- */
.aimee-2026 .aimee-slide{
  position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;padding:7rem 2rem;text-align:center;
}
.aimee-2026 .aimee-slide__inner{ position:relative;z-index:2;max-width:820px;margin:0 auto; }

/* Slide content typography */
.aimee-2026 .aimee-slide__eyebrow{ font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--aimee-accent,var(--aimee-gold));margin-bottom:1.8rem;font-weight:500;text-shadow:0 0 20px rgba(var(--aimee-accent-rgb,249,234,159),.35); }
.aimee-2026 .aimee-slide__title{ font-family:var(--aimee-font-display);font-size:clamp(2.8rem,5.2vw,4.4rem);font-weight:300;line-height:1.05;margin-bottom:1.1rem;color:var(--aimee-accent,var(--aimee-text)); }
.aimee-2026 .aimee-slide__italic{ font-family:var(--aimee-font-display);font-size:1.2rem;font-style:italic;font-weight:300;color:rgba(255,255,255,.62);margin-bottom:1.8rem; }
.aimee-2026 .aimee-slide__body{ font-size:0.82rem;line-height:2.1;color:rgba(255,255,255,.72);max-width:540px;margin:0 auto 2.2rem; }

/* ---- Deck upgrade (desktop + JS) ---- */
.aimee-deck{ overflow:hidden; }
.aimee-deck #aimee-scroller{ position:fixed;inset:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease; }
.aimee-deck #aimee-scroller.is-visible{ opacity:1; }
.aimee-deck .aimee-slide{ position:absolute;inset:0;min-height:0;transform:translateY(100vh);transition:transform .72s cubic-bezier(.77,0,.18,1);will-change:transform;padding:2rem; }
.aimee-deck .aimee-slide.active{ transform:translateY(0); }
.aimee-deck .aimee-slide.exit-up{ transform:translateY(-100vh); }
.aimee-deck .aimee-slide.exit-down{ transform:translateY(100vh); }

/* Accent underline bar at slide foot */
.aimee-2026 .aimee-slide__bar{ position:absolute;bottom:0;left:0;right:0;height:1px;opacity:.25;background:linear-gradient(to right,transparent,var(--aimee-accent,var(--aimee-gold)),transparent); }

/* ---- Nav reveal (deck only; visible by default otherwise) ---- */
.aimee-deck .aimee-nav{ opacity:0;transition:opacity 1s ease; }
.aimee-deck .aimee-nav.is-visible{ opacity:1; }
.aimee-2026 .aimee-nav__logo{ position:relative;height:52px;width:auto;flex-shrink:0; }
.aimee-2026 .aimee-nav__logo img{ position:absolute;top:0;left:0;transition:opacity .7s ease; }
.aimee-2026 .aimee-nav__logo img.fade{ opacity:0; }

/* ---- Entry splash (deck only) ---- */
#aimee-entry{ display:none; }
.aimee-deck #aimee-entry{
  display:flex;position:fixed;inset:0;background:#000;z-index:8000;
  flex-direction:column;align-items:center;justify-content:center;
  transition:opacity 1.4s cubic-bezier(.4,0,.2,1);
}
.aimee-deck #aimee-entry.is-out{ opacity:0;pointer-events:none; }
#aimee-entry canvas{ position:absolute;inset:0; }
.aimee-entry__cursor{ position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(242,220,113,.1) 0%,transparent 70%);pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:screen; }
.aimee-entry__content{ position:relative;z-index:2;text-align:center; }
.aimee-entry__phrases{ height:clamp(2rem,3.8vw,3rem);overflow:hidden;margin-bottom:2.5rem;position:relative; }
.aimee-entry__phrase{ font-family:var(--aimee-font-display);font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:300;color:rgba(255,255,255,.5);position:absolute;width:100%;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s; }
.aimee-entry__phrase.show{ opacity:1;transform:none; }
.aimee-entry__phrase.hide{ opacity:0;transform:translateY(-18px); }
.aimee-entry__logo img{ height:88px;filter:drop-shadow(0 0 18px rgba(242,220,113,.55)) drop-shadow(0 0 40px rgba(242,220,113,.22));display:block;margin:0 auto 2.5rem; }
.aimee-entry__cta{
  font-size:.72rem;letter-spacing:0.3em;text-transform:uppercase;
  border:1px solid rgba(242,220,113,.45);color:rgba(242,220,113,.75);
  padding:1.2rem 3.8rem;background:none;font-family:var(--aimee-font-body);cursor:pointer;transition:all .5s;font-weight:400;
}
.aimee-entry__cta:hover{ border-color:var(--aimee-gold);color:var(--aimee-text);background:rgba(242,220,113,.08);box-shadow:0 0 28px 4px rgba(242,220,113,.18),inset 0 0 20px rgba(242,220,113,.06); }

/* ---- Matrix transition canvas ---- */
#aimee-matrix{ position:fixed;inset:0;z-index:4000;pointer-events:none;opacity:0; }

/* ---- Deck chrome: counter, dots, scroll hint, sound ---- */
#aimee-counter{ position:fixed;bottom:1.8rem;right:2.2rem;z-index:600;font-size:0.58rem;letter-spacing:0.14em;color:rgba(255,255,255,.32); }
#aimee-dots{ position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:600;display:flex;flex-direction:column;gap:.6rem; }
.aimee-dot{ width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;border:1px solid transparent;padding:0;transition:all .35s; }
.aimee-dot.active{ background:var(--aimee-accent,var(--aimee-gold));box-shadow:0 0 8px 2px rgba(var(--aimee-accent-rgb,249,234,159),.5);transform:scale(1.3); }
#aimee-scroll-hint{ position:fixed;bottom:1.8rem;left:50%;transform:translateX(-50%);z-index:600;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.48rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,.35); }
#aimee-scroll-hint .line{ width:1px;height:30px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:aimeePulse 2.2s ease-in-out infinite; }
@keyframes aimeePulse{ 0%,100%{opacity:.3;} 50%{opacity:1;} }
#aimee-sound{ position:fixed;bottom:1.8rem;right:1.8rem;z-index:5500;background:none;border:1px solid rgba(var(--aimee-accent-rgb,249,234,159),.2);color:rgba(var(--aimee-accent-rgb,249,234,159),.5);font-family:var(--aimee-font-body);font-size:.46rem;letter-spacing:0.22em;text-transform:uppercase;padding:.5rem .9rem;cursor:pointer;transition:all .3s;display:none; }
.aimee-deck.aimee-entered #aimee-sound{ display:block; }
#aimee-counter,#aimee-dots,#aimee-scroll-hint{ opacity:0;transition:opacity .6s ease; }
.aimee-deck.aimee-entered #aimee-counter,
.aimee-deck.aimee-entered #aimee-dots,
.aimee-deck.aimee-entered #aimee-scroll-hint{ opacity:1; }
/* Non-deck: no fixed chrome */
.aimee-2026:not(.aimee-deck) #aimee-counter,
.aimee-2026:not(.aimee-deck) #aimee-dots,
.aimee-2026:not(.aimee-deck) #aimee-scroll-hint,
.aimee-2026:not(.aimee-deck) #aimee-matrix{ display:none; }

/* ---- Hero service quick-links strip ---- */
.aimee-2026 .aimee-svc-strip{ display:flex;gap:1.8rem;justify-content:center;flex-wrap:wrap;margin-top:1rem; }
.aimee-2026 .aimee-svc{ display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;opacity:.62;transition:opacity .4s,transform .4s;text-decoration:none; }
.aimee-2026 .aimee-svc:hover{ opacity:1;transform:translateY(-5px); }
.aimee-2026 .aimee-svc__ic{ width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);transition:all .4s; }
.aimee-2026 .aimee-svc:hover .aimee-svc__ic{ border-color:var(--aimee-accent,var(--aimee-gold));background:rgba(var(--aimee-accent-rgb,249,234,159),.1);box-shadow:0 0 18px 4px rgba(var(--aimee-accent-rgb,249,234,159),.22); }
.aimee-2026 .aimee-svc__lbl{ font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,.82);font-weight:500; }

@media (max-width:820px){
  .aimee-2026 .aimee-slide{ min-height:auto;padding:5rem 1.5rem; }
}


/* ===== Components & accent themes (merged from temp patch) ===== */
/* AIMEE-2026 TEMP PATCH — folded into child theme at final delivery */
.aimee-2026 .aimee-slide.is-gold{--slide-accent:var(--aimee-gold);}.aimee-2026 .aimee-slide.is-cyan{--slide-accent:var(--aimee-cyan);}.aimee-2026 .aimee-slide.is-green{--slide-accent:var(--aimee-green);}.aimee-2026 .aimee-slide.is-fuchsia{--slide-accent:var(--aimee-fuchsia);}.aimee-2026 .aimee-slide.is-purple{--slide-accent:var(--aimee-purple);}.aimee-2026 .aimee-slide.is-pink{--slide-accent:var(--aimee-pink);}.aimee-2026 .aimee-slide .aimee-slide__title,.aimee-2026 .aimee-slide h2{color:var(--slide-accent,var(--aimee-gold));}.aimee-2026 .aimee-slide .aimee-slide__eyebrow{color:var(--slide-accent,var(--aimee-gold));}.aimee-2026 .aimee-slide__bar{background:linear-gradient(to right,transparent,var(--slide-accent,var(--aimee-gold)),transparent);}.aimee-2026 .aimee-slide__title--sm{font-size:clamp(2rem,3.6vw,3rem);}.aimee-2026 .aimee-slide__inner--wide{max-width:1080px;}.aimee-2026 .aimee-minigrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:2rem 0 1.2rem;text-align:left;}.aimee-2026 .aimee-minigrid.cols-2{grid-template-columns:repeat(2,1fr);}.aimee-2026 .aimee-minicard{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);padding:1.5rem;transition:background .3s,border-color .3s;}.aimee-2026 .aimee-minicard:hover{background:rgba(255,255,255,.045);border-color:rgba(var(--aimee-accent-rgb,249,234,159),.35);}.aimee-2026 .aimee-minicard h4{font-family:var(--aimee-font-display);font-size:1.2rem;font-weight:400;margin:0 0 .5rem;color:var(--aimee-text);}.aimee-2026 .aimee-minicard p{font-size:0.72rem;line-height:1.85;color:rgba(255,255,255,.68);margin:0;}.aimee-2026 .aimee-minicard .num{display:block;font-family:var(--aimee-font-display);font-size:1.05rem;color:var(--slide-accent,var(--aimee-gold));margin-bottom:.4rem;}.aimee-2026 .aimee-loop{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:2rem 0 1.4rem;text-align:left;}.aimee-2026 .aimee-loop-stage{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.07);padding:1.4rem 1.1rem;}.aimee-2026 .aimee-loop-stage .n{width:26px;height:26px;border-radius:50%;border:1px solid var(--slide-accent,var(--aimee-gold));color:var(--slide-accent,var(--aimee-gold));display:flex;align-items:center;justify-content:center;font-size:0.58rem;margin-bottom:.7rem;}.aimee-2026 .aimee-loop-stage h4{font-family:var(--aimee-font-display);font-size:1.05rem;font-weight:400;margin:0 0 .35rem;color:var(--aimee-text);}.aimee-2026 .aimee-loop-stage p{font-size:.72rem;line-height:1.75;color:rgba(255,255,255,.62);margin:0;}.aimee-2026 .aimee-tags{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1.6rem 0 2rem;}.aimee-2026 .aimee-tags .pill{font-size:.58rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.16);padding:.5rem 1rem;}.aimee-2026 .aimee-tags .pill:hover{border-color:var(--slide-accent,var(--aimee-gold));color:var(--aimee-text);}.aimee-2026 .aimee-why{list-style:none;text-align:left;max-width:620px;margin:1.6rem auto 2.2rem;padding:0;}.aimee-2026 .aimee-why li{font-size:.82rem;color:rgba(255,255,255,.75);padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:flex-start;gap:1rem;}.aimee-2026 .aimee-why li::before{content:'';width:20px;height:1px;background:var(--slide-accent,var(--aimee-gold));flex-shrink:0;margin-top:.6rem;}.aimee-2026 .aimee-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2rem 0 1.4rem;text-align:left;}.aimee-2026 .aimee-case{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);display:flex;flex-direction:column;transition:border-color .4s,transform .4s;}.aimee-2026 .aimee-case:hover{border-color:rgba(var(--aimee-accent-rgb,249,234,159),.45);transform:translateY(-4px);}.aimee-2026 .aimee-case__img{aspect-ratio:16/10;background:#0d0d0c;border-bottom:1px dashed rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;position:relative;}.aimee-2026 .aimee-case__img img{width:100%;height:100%;object-fit:cover;display:block;}.aimee-2026 .aimee-case__img .ph{font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,.28);text-align:center;padding:0 1rem;}.aimee-2026 .aimee-case__body{padding:1.2rem 1.3rem 1.4rem;}.aimee-2026 .aimee-case__meta{font-size:0.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--slide-accent,var(--aimee-gold));margin-bottom:.5rem;}.aimee-2026 .aimee-case__h{font-family:var(--aimee-font-display);font-size:1.2rem;font-weight:400;line-height:1.15;margin:0 0 .8rem;color:var(--aimee-text);}.aimee-2026 .aimee-case__row{display:flex;gap:.7rem;font-size:.72rem;line-height:1.6;margin-bottom:.45rem;}.aimee-2026 .aimee-case__row b{font-weight:500;font-size:.46rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,.42);min-width:58px;flex-shrink:0;padding-top:.2rem;}.aimee-2026 .aimee-case__row span{color:rgba(255,255,255,.76);}.aimee-2026 .aimee-case__status{font-family:var(--aimee-font-display);font-size:.95rem;color:var(--slide-accent,var(--aimee-gold));margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08);}.aimee-2026 .aimee-case__status small{display:block;font-family:var(--aimee-font-body);font-size:.44rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.25rem;}.aimee-2026 .aimee-slide--footer{background:#050504;}.aimee-2026 .aimee-footer-logo{height:50px;width:auto;margin:0 auto 2rem;display:block;}.aimee-2026 .aimee-footer-contact{font-size:.72rem;color:var(--aimee-text-dim);line-height:2.2;margin-bottom:1.8rem;}.aimee-2026 .aimee-footer-contact a{color:var(--aimee-text-dim);text-decoration:none;}.aimee-2026 .aimee-footer-contact a:hover{color:var(--aimee-gold);}.aimee-2026 .aimee-btn-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem;}.aimee-2026 .aimee-trust{font-size:0.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:1.6rem;}@media (max-width:980px){.aimee-2026 .aimee-minigrid,.aimee-2026 .aimee-loop,.aimee-2026 .aimee-cases{grid-template-columns:1fr 1fr;}}@media (max-width:640px){.aimee-2026 .aimee-minigrid,.aimee-2026 .aimee-loop,.aimee-2026 .aimee-cases{grid-template-columns:1fr;}}


/* ==== FIX PACK 1 =========================================================
   1) accent RGB companions   2) even grid rows   3) accent-matched buttons
   4) labelled bar rail + fisheye   5) nav logo sizing
   ======================================================================== */

/* 1) RGB companion for each accent (needed for rgba glows) */
.aimee-2026 .aimee-slide.is-gold   { --slide-accent:#f2dc71; --slide-accent-rgb:242,220,113; }
.aimee-2026 .aimee-slide.is-cyan   { --slide-accent:#00b4d8; --slide-accent-rgb:0,180,216; }
.aimee-2026 .aimee-slide.is-green  { --slide-accent:#00c850; --slide-accent-rgb:0,200,80; }
.aimee-2026 .aimee-slide.is-fuchsia{ --slide-accent:#e91e8c; --slide-accent-rgb:233,30,140; }
.aimee-2026 .aimee-slide.is-purple { --slide-accent:#9b6dd4; --slide-accent-rgb:155,109,212; }
.aimee-2026 .aimee-slide.is-pink   { --slide-accent:#f06292; --slide-accent-rgb:240,98,146; }

/* 2) Even rows: WordPress block-gap adds margin-top to every sibling but the
      first, which knocks grid items out of alignment. Neutralise inside grids. */
.aimee-2026 .aimee-minigrid > *,
.aimee-2026 .aimee-loop > *,
.aimee-2026 .aimee-cases > *,
.aimee-2026 .aimee-tags > *{
  margin-top:0!important; margin-block-start:0!important; margin-bottom:0!important;
}
.aimee-2026 .aimee-minigrid,
.aimee-2026 .aimee-loop,
.aimee-2026 .aimee-cases{ align-items:stretch; }

/* 3) Primary buttons adopt the slide's accent instead of always gold */
.aimee-2026 .aimee-slide .wp-block-button.aimee-btn--gold > .wp-block-button__link{
  border-color:rgba(var(--slide-accent-rgb,249,234,159),.65);
  color:var(--slide-accent,#f9ea9f);
  box-shadow:0 0 18px 3px rgba(var(--slide-accent-rgb,249,234,159),.18),
             inset 0 0 12px rgba(var(--slide-accent-rgb,249,234,159),.06);
}
.aimee-2026 .aimee-slide .wp-block-button.aimee-btn--gold > .wp-block-button__link:hover{
  background:rgba(var(--slide-accent-rgb,249,234,159),.1);
  border-color:var(--slide-accent,#f9ea9f);
  box-shadow:0 0 30px 6px rgba(var(--slide-accent-rgb,249,234,159),.3),
             inset 0 0 20px rgba(var(--slide-accent-rgb,249,234,159),.1);
  color:var(--aimee-text);
}
/* secondary button picks up a subtle accent edge on hover too */
.aimee-2026 .aimee-slide .wp-block-button.aimee-btn:not(.aimee-btn--gold) > .wp-block-button__link:hover{
  border-color:var(--slide-accent,var(--aimee-text));
}

/* 4) Bar rail with labels + fisheye proximity zoom (replaces plain dots) */
#aimee-dots{ right:1rem; align-items:flex-end; gap:.75rem; }
.aimee-bar{
  display:flex;align-items:center;justify-content:flex-end;gap:.7rem;
  cursor:pointer;height:13px;background:none;border:0;padding:0;
}
.aimee-bar .bl{
  font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(255,255,255,.9);opacity:0;transform:translateX(6px);
  transition:opacity .3s,transform .3s;white-space:nowrap;pointer-events:none;
  background:rgba(10,10,9,.82);
  border:1px solid rgba(var(--aimee-accent-rgb,249,234,159),.28);
  padding:.32rem .6rem;
}
.aimee-bar .bk{
  width:16px;height:2px;background:rgba(255,255,255,.28);flex-shrink:0;
  transition:width .18s cubic-bezier(.4,0,.2,1),background .18s;
}
.aimee-bar:hover .bl,.aimee-bar.active .bl{ opacity:1;transform:none; }
.aimee-bar.active .bl{ color:var(--aimee-accent);border-color:rgba(var(--aimee-accent-rgb),.5); }
.aimee-bar.active .bk{
  width:34px;background:var(--aimee-accent);
  box-shadow:0 0 8px 2px rgba(var(--aimee-accent-rgb),.55);
}

/* 5) Nav logo: both images were absolutely positioned, leaving the anchor with
      zero intrinsic width. Keep the first in flow to size it; overlay the second. */
.aimee-2026 .aimee-nav__logo{ display:inline-block;position:relative;height:52px;line-height:0; }
.aimee-2026 .aimee-nav__logo img{ height:52px;width:auto;display:block;position:static; }
.aimee-2026 .aimee-nav__logo img + img{ position:absolute;top:0;left:0; }
.aimee-2026 .aimee-entry__logo img{ height:88px;width:auto; }


/* ==== FIX PACK 2 =========================================================
   Apply the block-gap neutraliser to EVERY design-system grid (the first
   fix only covered the homepage grids; .aimee-cards/.aimee-stats on inner
   pages showed the same 24px first-child offset).
   ======================================================================== */
.aimee-2026 .aimee-cards > *,
.aimee-2026 .aimee-stats > *,
.aimee-2026 .aimee-two-col > *,
.aimee-2026 .aimee-btn-row > *{
  margin-top:0!important; margin-block-start:0!important; margin-bottom:0!important;
}
.aimee-2026 .aimee-cards,
.aimee-2026 .aimee-stats{ align-items:stretch; }

/* Gutenberg columns already handle their own gap — stop the theme grid gap
   doubling up, and keep the two-column editorial layout aligned to the top. */
.aimee-2026 .wp-block-columns.aimee-two-col{ align-items:flex-start;gap:5rem; }
.aimee-2026 .wp-block-columns.aimee-two-col > .wp-block-column{ margin:0; }


/* ==== FIX PACK 4 =========================================================
   Matched back to the source design:
   1) entry phrase no longer crops descenders
   2) cards read as separate blocks (0.9rem gap, 2 cols) not fused columns
   3) growth loop uses the original flex row
   4) section headings share one size (hero stays large)
   ======================================================================== */

/* 1) Entry splash: the wrap was shorter than the type, clipping descenders
      (the "y" in "Amplify"). Give it real line height and room to breathe. */
.aimee-entry__phrases{
  height:auto; min-height:clamp(3rem,5.2vw,4.2rem);
  overflow:visible; display:flex; align-items:center; justify-content:center;
}
.aimee-entry__phrase{
  font-size:clamp(1.5rem,3.2vw,2.6rem);
  line-height:1.35; padding-bottom:.18em;
}

/* 2) Cards as individual blocks: real gap, two columns (source: .mg-4) */
.aimee-2026 .aimee-minigrid{ grid-template-columns:repeat(2,1fr); gap:.9rem; margin-top:1.5rem; }
.aimee-2026 .aimee-minicard{ padding:1.25rem 1.35rem; }
.aimee-2026 .aimee-cards{ gap:.9rem; }
.aimee-2026 .aimee-cases{ gap:1.2rem; }

/* 3) Growth loop: flexible row of stages, as in the source (.loop) */
.aimee-2026 .aimee-loop{
  display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap;
  margin-top:1.6rem; grid-template-columns:none;
}
.aimee-2026 .aimee-loop-stage{ flex:1; min-width:118px; max-width:180px; padding:1.1rem .85rem; }

/* 4) Consistent section headings. The hero (h1) keeps the display size;
      every other slide heading uses the smaller scale from the source. */
.aimee-2026 .aimee-slide h2.aimee-slide__title,
.aimee-2026 .aimee-slide h2{
  font-size:clamp(1.8rem,3.2vw,2.8rem);
  line-height:1.05; margin-bottom:.5rem;
}
.aimee-2026 .aimee-slide h1.aimee-slide__title{
  font-size:clamp(2.4rem,5.2vw,4.2rem); line-height:1.05;
}
/* supporting italic line, scaled to match */
.aimee-2026 .aimee-slide__italic{ font-size:.95rem; margin-bottom:1.4rem; }

@media (max-width:640px){
  .aimee-2026 .aimee-minigrid{ grid-template-columns:1fr; }
}


/* ==== FIX PACK 5 =========================================================
   The entry column is centred by a flex parent, so it shrank to the width of
   its widest in-flow child (~334px) and long phrases wrapped to two lines —
   which the old overflow:hidden simply clipped. Give it a real measure.
   ======================================================================== */
.aimee-entry__content{ width:min(92vw,760px); }
.aimee-entry__phrases{ width:100%; }
.aimee-entry__phrase{ width:100%; left:0; }


/* ==== RESPONSIVE PASS ====================================================
   Goal: the deck reads correctly at ANY width. The right-hand bar rail is
   the main offender — it sits over the content once the viewport narrows.
   Strategy: reserve space for the rail while it is shown, shrink it on
   mid-widths, and retire it entirely below tablet where flow mode takes over.
   ======================================================================== */

/* Fluid slide padding: always clear the fixed rail on the right. */
.aimee-2026 .aimee-slide{
  padding-left:clamp(1.25rem,4vw,3rem);
  padding-right:clamp(1.25rem,4vw,3rem);
}
.aimee-deck .aimee-slide{
  /* extra right gutter so text never runs under the rail */
  padding-right:clamp(3.5rem,7vw,7rem);
  padding-left:clamp(1.5rem,5vw,7rem);
}

/* Inner measure scales with the viewport rather than a fixed max. */
.aimee-2026 .aimee-slide__inner{ max-width:min(820px,100%); }
.aimee-2026 .aimee-slide__inner--wide{ max-width:min(1080px,100%); }

/* ---- Large desktop: full rail with labels ---- */
@media (min-width:1281px){
  #aimee-dots{ right:1.25rem; }
}

/* ---- Small desktop / large tablet: compact rail, labels on hover only ---- */
@media (max-width:1280px) and (min-width:1025px){
  #aimee-dots{ right:.75rem; gap:.6rem; }
  .aimee-bar .bk{ width:14px; }
  .aimee-bar.active .bk{ width:26px; }
  .aimee-bar .bl{ font-size:.46rem; padding:.28rem .5rem; }
  .aimee-deck .aimee-slide{ padding-right:clamp(3rem,6vw,5rem); }
}

/* ---- Tablet: rail and counter would crowd the content — retire them ---- */
@media (max-width:1024px){
  #aimee-dots{ display:none; }
  #aimee-counter{ right:1rem; bottom:1rem; font-size:.48rem; }
  .aimee-deck .aimee-slide{ padding-left:clamp(1.5rem,5vw,3rem); padding-right:clamp(1.5rem,5vw,3rem); }
  .aimee-2026 .aimee-minigrid{ gap:.75rem; }
  .aimee-2026 .aimee-cases{ grid-template-columns:repeat(2,1fr); }
}

/* ---- Narrow tablet / large phone ---- */
@media (max-width:860px){
  .aimee-2026 .aimee-cases{ grid-template-columns:1fr; }
  .aimee-2026 .aimee-loop-stage{ min-width:104px; max-width:none; flex:1 1 140px; }
  #aimee-sound{ bottom:1rem; right:1rem; }
}

/* ---- Phones: single column everywhere, comfortable rhythm ---- */
@media (max-width:640px){
  .aimee-2026 .aimee-slide{ padding:4.5rem 1.25rem; min-height:auto; }
  .aimee-2026 .aimee-minigrid,
  .aimee-2026 .aimee-cards,
  .aimee-2026 .aimee-stats{ grid-template-columns:1fr; gap:.75rem; }
  .aimee-2026 .aimee-loop{ flex-direction:column; align-items:stretch; }
  .aimee-2026 .aimee-loop-stage{ max-width:none;width:100%; }
  .aimee-2026 .aimee-tags{ gap:.45rem; }
  .aimee-2026 .aimee-tags .pill{ font-size:0.58rem;padding:.42rem .8rem; }
  .aimee-2026 .aimee-btn-row{ flex-direction:column; align-items:center; gap:.6rem; }
  .aimee-2026 .aimee-btn-row .wp-block-button{ width:100%;max-width:320px; }
  .aimee-2026 .aimee-btn-row .wp-block-button__link{ display:block;text-align:center; }
  #aimee-counter,#aimee-scroll-hint{ display:none; }
  .aimee-2026 .aimee-slide__body,
  .aimee-2026 .aimee-slide__italic{ max-width:100%; }
}

/* ---- Very small phones ---- */
@media (max-width:380px){
  .aimee-2026 .aimee-slide{ padding:4rem 1rem; }
  .aimee-entry__cta{ padding:1rem 2.2rem;font-size:0.58rem;letter-spacing:.3em; }
}

/* ---- Short viewports (landscape phone / small laptop): stop clipping ---- */
@media (max-height:700px) and (min-width:821px){
  .aimee-deck .aimee-slide{ padding-top:5.5rem;padding-bottom:3rem; }
  .aimee-deck .aimee-slide__inner{ max-height:100vh;overflow-y:auto;scrollbar-width:thin; }
  .aimee-2026 .aimee-slide h2.aimee-slide__title{ font-size:clamp(1.5rem,2.6vw,2.2rem); }
}

/* Never allow a horizontal scrollbar at any width */
.aimee-2026{ overflow-x:hidden; }
.aimee-2026 img,.aimee-2026 canvas{ max-width:100%; }


/* ==== RAIL LABEL OUT OF FLOW ============================================
   The bar labels were inline, so the rail reserved their full width even
   while invisible — pushing the collision boundary deep into the content.
   Float them instead: the rail is now only as wide as the bars themselves.
   ======================================================================== */
#aimee-dots{ width:auto; }
.aimee-bar{ position:relative; justify-content:flex-end; }
.aimee-bar .bl{
  position:absolute; right:calc(100% + .7rem); top:50%;
  transform:translateY(-50%) translateX(6px);
}
.aimee-bar:hover .bl,
.aimee-bar.active .bl{ transform:translateY(-50%) translateX(0); }

/* With the rail slimmed down, the deck only needs a modest right gutter. */
.aimee-deck .aimee-slide{ padding-right:clamp(2.5rem,5vw,4.5rem); }
@media (max-width:1280px) and (min-width:1025px){
  .aimee-deck .aimee-slide{ padding-right:clamp(2.25rem,4.5vw,3.5rem); }
}


/* ==== SYMMETRY GUARD ====================================================
   The deck's right gutter (for the bar rail) must not survive below the
   breakpoint where the rail is hidden, or small screens get lopsided padding.
   ======================================================================== */
@media (max-width:1024px){
  .aimee-deck .aimee-slide,
  .aimee-2026 .aimee-slide{
    padding-left:clamp(1.25rem,4vw,2.5rem)!important;
    padding-right:clamp(1.25rem,4vw,2.5rem)!important;
  }
}
@media (max-width:640px){
  .aimee-deck .aimee-slide,
  .aimee-2026 .aimee-slide{
    padding-left:1.25rem!important; padding-right:1.25rem!important;
    padding-top:4.5rem!important; padding-bottom:4.5rem!important;
  }
}
