:root{
  --mulberry:#c65a72; --stone:#cbd5e1; --paper:#f7f5f2; --teal:#0d9488; --ink:#0b1f3a;
}
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"IBM Plex Serif",ui-serif,Georgia,serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  font-family:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  font-weight:700;
}
code,kbd,pre{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}
.text-mulberry{color:var(--mulberry);}
.text-trust{color:rgba(11,31,58,.78);}
.offer-note{ font-size:0.7em; }

/* Top chrome */
.top-panel-shell{ display:none; }

/* Brand mark */
.brand-mark{
  position:fixed;top:16px;left:16px;display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:12px;line-height:0;-webkit-tap-highlight-color:transparent;z-index:10;
}
.brand-mark img{width:32px;height:32px;display:block}
.brand-mark::before{
  content:"";position:absolute;inset:0;border-radius:12px;background:rgba(198,90,114,.18);opacity:0;transition:opacity .15s ease-in-out;pointer-events:none;
}
.brand-mark:hover::before{opacity:1}
.brand-mark:active::before{opacity:.10}
.brand-mark:focus-visible{outline:2px solid var(--mulberry);outline-offset:4px;border-radius:12px}

/* Hero */
.hero{
  background:
    linear-gradient(135deg, rgba(198,90,114,.12) 0%, rgba(198,90,114,.06) 40%, rgba(198,90,114,0) 70%),
    var(--paper);
  width:100vw;
  max-width:100%;
  min-height:100vh; min-height:100svh; min-height:100dvh;
  display:flex; align-items:center; justify-content:center;
  padding:calc(env(safe-area-inset-top,0px) + clamp(4px,0.93vh,11.2px)) clamp(16px,3.72vw,29.8px) clamp(11.2px,3.72vh,29.8px);
  margin-top:0; position:relative;
  overflow-x:clip;
}
@media (min-width:1440px){
  .hero{
    padding-left:clamp(12px, 1.86vw, 24px);
    padding-right:clamp(12px, 1.86vw, 24px);
  }
}
.hero--specialist{
  background:
    linear-gradient(140deg,
      rgba(11,31,58,.12) 0%,
      rgba(11,31,58,0) 45%),
    linear-gradient(to top left,
      rgba(198,90,114,.41) 0%,
      rgba(198,90,114,0) 65%),
    linear-gradient(135deg,
      rgba(198,90,114,.15) 0%,
      rgba(198,90,114,0) 48%),
    var(--paper);
}
.hero-inner{
  max-width:1240px;
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:32px;
  align-items:flex-start;
}
@media (min-width:960px){
  .hero-inner{
    grid-template-columns:minmax(0,1.3fr) minmax(0,0.7fr);
    gap:64px;
  }
}
.hero-left{
  --copy-measure:min(100%, 62ch);
  color:var(--ink);
  position:relative;
  padding-bottom:clamp(96px, 14vh, 148px);
}
@media (max-width:959px){
  .hero{
    min-height:auto;
    height:auto;
    align-items:flex-start;
    padding:clamp(48px, 10vh, 92px) clamp(20px, 5vw, 40px) clamp(60px, 12vh, 112px);
  }
  .hero-left{
    padding-bottom:clamp(64px, 10vh, 108px);
  }
}
@media (max-width:700px){ .hero-left{ margin-top:clamp(12px,4vh,32px); padding-top:88px; } }

.section-fit{
  background:var(--paper);
}
.section-fit h2{
  margin:0;
  font-size:clamp(32px,4.6vw,42px);
  letter-spacing:-.012em;
  line-height:1.08;
}
.fit-intro{
  margin:18px 0 24px;
  font-size:clamp(18px,2.8vw,21px);
  line-height:1.6;
}
.fit-grid{
  display:grid;
  gap:28px;
  align-items:start;
}
@media (min-width:820px){
  .fit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px;
  }
}
.fit-group h3{
  margin:0 0 12px;
  font-size:clamp(20px,2.8vw,26px);
  letter-spacing:-.012em;
}
.fit-group .bullets{
  margin:0;
  padding-left:24px;
  font-size:clamp(18px,2.8vw,20px);
  line-height:1.6;
}
.fit-footnote{
  margin:28px 0 0;
  font-size:15px;
  color:rgba(11,31,58,.78);
}
.fit-footnote-marker{
  margin-left:4px;
  font-size:0.85em;
  vertical-align:super;
}
.testimonials-grid{
  margin:32px 0 0;
  display:grid;
  gap:28px;
}
.testimonials-grid .hero-testimonial{
  width:100%;
}
.hero-testimonial__quote.quote-simple{
  margin:12px 0 0;
  padding-left:18px;
  border-left-width:3px;
  font-style:italic;
  font-size:clamp(16.7px,2.42vw,20.5px);
}
.quote-simple--compact p:last-child{
  margin-bottom:0;
}
.guarantee-offer{
  max-width:min(100%, 62ch);
  display:flex;
  flex-direction:column;
  gap:18px;
  color:var(--ink);
}
.guarantee-offer h2{
  margin:0;
  font-size:clamp(32px,4.8vw,42px);
  letter-spacing:-.012em;
  line-height:1.1;
}
.guarantee-offer .bullets{
  margin:0;
  padding-left:26px;
}
.guarantee-offer p{
  margin:0;
  line-height:1.65;
  font-size:clamp(18px,2.7vw,20px);
}
.guarantee-offer .bullets li{ font-size:clamp(18px,2.7vw,20px); }
.guarantee-offer p:last-child{ margin-bottom:0; }

/* Heading + underline */
.hero-title{ margin:0 0 14.9px 0; font-size:calc(clamp(33.5px,5.58vw,55.8px) - 5.58px); line-height:1.04; letter-spacing:-.011em; }
.hero-guarantee-banner{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-weight:600;
  font-size:inherit;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--mulberry);
  position:relative;
  display:inline;
}
.hero-testimonial{
  width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:18px 20px;
  border-radius:16px;
  background:rgba(247,245,242,.9);
  border:1px solid rgba(11,31,58,.08);
  box-shadow:0 11.2px 26px rgba(11,31,58,.056);
}
.hero-testimonial__header{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
}
.hero-testimonial__media{
  width:74px;
  height:74px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  box-shadow:0 4.8px 12px rgba(11,31,58,.12);
}
.hero-testimonial__name{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-weight:600;
  font-size:19.5px;
  letter-spacing:.04em;
  color:rgba(11,31,58,.72);
}
.hero-testimonial__quote{
  margin:0;
  font-family:"IBM Plex Serif",ui-serif,Georgia,serif;
  font-size:clamp(16.7px,2.42vw,20.5px);
  line-height:1.47;
  color:rgba(11,31,58,.88);
}
.hero-testimonial__quote p{
  margin:0;
}
.hero-testimonial__quote p + p{
  margin-top:12px;
}
.u-underline{ position:relative; display:inline-block; z-index:0; }
.u-underline::after{
  content:""; position:absolute;
  left:-6%; right:-6%; bottom:-1.05em; height:1.8em;
  background:url('/assets/underline.avif') left bottom/100% 100% no-repeat;
  opacity:.76;
  z-index:-1; pointer-events:none;
}

/* Subtext, proof, CTA */
.hero-proof-list{
  margin:0 0 32px 0;
  padding:0;
  list-style:none;
  max-width:100%;
  width:100%;
  max-width:var(--copy-measure, 62ch);
}
.hero-proof-item{
  margin:0;
  padding-left:28px;
  color:rgba(11,31,58,.75);
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-weight:500;
  font-size:clamp(18px,2.6vw,22px);
  letter-spacing:.03em;
  line-height:1.65;
  position:relative;
  white-space:normal;
}
.hero-proof-item + .hero-proof-item{ margin-top:16px; }
.hero-proof-item::before{
  content:"";
  position:absolute;
  left:0;
  top:0.68em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(11,31,58,.55);
}
.hero-proof-item .hero-guarantee-banner{ display:inline-block; }
.hero-proof-item .hero-sub{
  display:block;
  margin:0;
}
.hero-proof-item .trust-hook{
  display:block;
  margin:0;
}
.hero-sub{
  margin:0 0 34px 0;
  font-family:"IBM Plex Serif",ui-serif,Georgia,serif;
  font-weight:400;
  font-size:clamp(20px,2.4vw,24px);
  letter-spacing:0;
  color:rgba(11,31,58,.84);
  max-width:52ch;
}
.trust-hook{
  margin:0 0 28px 0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-weight:600;
  font-size:clamp(18px,2.6vw,22px);
  letter-spacing:.04em;
  color:rgba(11,31,58,.78);
  max-width:var(--copy-measure);
}
.cta-sub{ font-size:15px; color:var(--ink); font-weight:600; }
.cta-ensemble{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:28px;
  margin:24px 0 0;
  position:relative;
  width:100%;
}
.testimonial-cta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  width:100%;
  max-width:none;
  align-self:stretch;
}
.testimonial-cta{
  margin-top:-16px;
}
.testimonial-cta .hero-testimonial__media{
  width:49px;
  height:49px;
}
.testimonial-cta .hero-testimonial{ margin:0; }
.testimonial-cta .cta{
  margin-top:-6px;
  align-self:center;
  flex-direction:column;
  align-items:center;
  width:100%;
}
.cta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin:0;
  width:100%;
}
.cta .btn-primary{
  align-self:center;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:18px 48px;
  font-size:19px;
  border-radius:18px;
  text-align:center;
  box-sizing:border-box;
}
.cta-sub{
  align-self:center;
  text-align:center;
}

.cta-offer{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:min(420px, var(--copy-measure, 72ch));
  border-radius:22px;
  background:var(--stone);
  color:rgba(11,31,58,.84);
  box-shadow:0 16px 32px rgba(11,31,58,.12);
  overflow:hidden;
  align-self:flex-start;
}

.cta-offer-stack{
  display:flex;
  flex-direction:column;
  max-width:min(420px, var(--copy-measure, 72ch));
  border-radius:22px;
  box-shadow:0 16px 32px rgba(11,31,58,.12);
  overflow:hidden;
  justify-self:end;
}
.cta-offer-stack .cta-offer{
  max-width:100%;
  border-radius:22px 22px 0 0;
  box-shadow:none;
  align-self:stretch;
  margin:0;
}
.cta-offer-stack .cta-offer__timer[aria-hidden="true"]{
  border-top:1px solid rgba(11,31,58,.08);
}

.cta-offer-floating{
  position:fixed;
  left:var(--cta-floating-left, auto);
  right:var(--cta-floating-right, clamp(16px, 5vw, 44px));
  bottom:calc(var(--cta-floating-bottom, clamp(16px, 5vh, 48px)) + env(safe-area-inset-bottom, 0px));
  top:auto;
  display:flex;
  flex-direction:column;
  width:var(--cta-floating-width, min(320px, 85vw));
  border-radius:22px;
  background:var(--stone);
  color:rgba(11,31,58,.84);
  box-shadow:0 18px 36px rgba(11,31,58,.12);
  overflow:hidden;
  z-index:25;
}
.cta-offer__timer{
  display:grid;
  place-items:center;
  padding:14px 18px;
  background:#bcc4d0;
  border-top:1px solid rgba(11,31,58,.08);
  min-height:56px;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.page-cs .cta-offer .cta-offer__timer::before{
  content:"24:00:00";
  font-family:"IBM Plex Mono",ui-monospace,sans-serif;
  font-weight:600;
  font-size:clamp(22px, 2.4vw, 28px);
  letter-spacing:.08em;
  display:block;
  width:80%;
  margin:0 auto;
  text-align:center;
  opacity:0;
  pointer-events:none;
}
.cta-offer__countdown{
  font-family:"IBM Plex Mono",ui-monospace,sans-serif;
  font-weight:600;
  font-size:clamp(22px, 2.4vw, 28px);
  letter-spacing:.08em;
  color:var(--ink);
  display:block;
  width:80%;
  text-align:center;
}
.cta-offer__timer.cta-offer__timer--mobile{
  display:none;
  margin:0;
  border-radius:0 0 22px 22px;
  border:1px solid #a8b2c0;
  border-top:0;
  background:#bcc4d0;
  padding:14px 20px;
  width:100%;
}
.cta-offer__timer--mobile .cta-offer__countdown{
  width:100%;
}
@media (max-width:720px){
  .cta-offer__timer.cta-offer__timer--mobile{
    display:grid;
    place-items:center;
  }
  .cta-offer__timer--mobile .cta-offer__countdown{
    width:100%;
  }
  .cta-offer-stack .cta-offer{
    border-radius:22px 22px 0 0;
  }
}
.cta-offer__countdown.is-expired,
.hero-availability__timer.is-expired{
  text-decoration:line-through;
}
.cta-offer__body{
  padding:18px 22px 22px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.cta-offer__eyebrow{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-size:15px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(11,31,58,.68);
}
.cta-offer__copy{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-size:15px;
  line-height:1.5;
  letter-spacing:.02em;
}
.cta-offer-floating .cta-offer__arrow{
  position:absolute;
  top:32px;
  left:-152px;
  width:172px;
  height:6px;
  background:var(--mulberry);
  border-radius:999px;
  transform-origin:right center;
  transform:rotate(-28deg);
  box-shadow:0 16px 32px rgba(11,31,58,.18);
  pointer-events:none;
}
.cta-offer-floating .cta-offer__arrow::after{
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  width:0;
  height:0;
  border-top:11px solid transparent;
  border-bottom:11px solid transparent;
  border-left:20px solid var(--mulberry);
  transform:translateY(-50%);
}

@media (max-width:1100px){
  .cta-offer-floating .cta-offer__arrow{
    left:-128px;
    width:148px;
    transform:rotate(-24deg);
  }
}

@media (max-width:900px){
  .cta-offer-floating .cta-offer__arrow{
    left:-108px;
    width:132px;
    transform:rotate(-18deg);
  }
}

@media (min-width:900px){
  .page-cs .hero{
    align-items:flex-start;
    padding-block-start:48px;
  }

  .page-cs .hero-inner{
    align-items:flex-start;
  }

  .page-cs .hero-left{
    padding-top:12px;
    padding-bottom:clamp(96px, 14vh, 148px);
    position:static;
  }

  .page-cs .cta-ensemble{
    gap:32px;
    padding-right:clamp(16px, 5vw, 44px);
    position:static;
  }

  .page-cs .cta{
    margin-top:-4px;
  }

  .page-cs .cta .btn-primary{
    width:150%;
    max-width:600px;
  }

  .page-cs .cta-offer{
    position:relative;
    bottom:auto;
    right:auto;
    width:100%;
    max-width:min(420px, var(--copy-measure, 72ch));
    z-index:auto;
  }
  .page-cs .cta-offer .cta-offer__timer[aria-hidden="true"]{
    display:none;
  }

  .page-cs .cta-offer .cta-offer__timer{
    min-height:64px;
  }
  .page-cs .cta-offer__timer.cta-offer__timer--mobile{
    display:grid;
  }
  .page-cs .cta-offer-floating{
    display:none;
  }
}

@media (min-width:960px){
  .page-cs .hero-inner{
    position:relative;
    padding-right:20px;
  }
  .testimonial-cta{
    max-width:var(--copy-measure, 62ch);
    align-self:flex-start;
    width:100%;
  }
  .testimonial-cta .cta .btn-primary{
    width:95%;
    max-width:95%;
  }
  .page-cs .cta-offer-stack{
    position:absolute;
    top:auto;
    right:20px;
    width:min(360px, 28vw);
    max-width:360px;
    bottom:var(--cta-offer-bottom, clamp(16px, 5vh, 48px));
    z-index:3;
  }
  .page-cs .cta-offer-stack .cta-offer{
    border-radius:22px 22px 0 0;
  }
  .page-cs .hero-right picture{
    justify-content:flex-end;
  }
  .page-cs .hero-right img{
    width:100%;
  }
}

/* Primary button */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:12px;background:var(--mulberry);color:var(--paper);
  border:0;text-decoration:none;font-family:"IBM Plex Sans",ui-sans-serif;font-weight:700;letter-spacing:.01em;
  box-shadow:0 12px 28px rgba(198,90,114,.18);
  transition:transform .1s ease, box-shadow .15s ease;
}
.btn-primary:hover{ transform:translateY(1px); box-shadow:0 8px 20px rgba(198,90,114,.16) }
.btn-primary:active{ transform:translateY(2px); box-shadow:0 5px 12px rgba(198,90,114,.22) }
.btn-primary:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; border-radius:12px; }

.scroll-cue{
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%);
  width:36px; height:36px; display:grid; place-items:center;
  border-radius:999px; background:rgba(247,245,242,.85); border:1px solid rgba(11,31,58,.12);
  box-shadow:0 6px 16px rgba(11,31,58,.10); cursor:pointer; -webkit-tap-highlight-color:transparent;
}
.scroll-cue svg{ display:block; width:18px; height:18px; fill:var(--ink); opacity:.9 }
.scroll-cue:hover svg{ opacity:1 }
.scroll-cue:focus-visible{ outline:2px solid var(--mulberry); outline-offset:3px }
/* Media & image */
.hero-right{
  justify-self:end;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:18px;
  position:relative;
}
.hero-availability{
  position:absolute;
  top:0;
  right:clamp(-8px, 1.6vw, 24px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  text-align:right;
}
.hero-availability__label{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(11,31,58,.68);
  flex-shrink:0;
}
.hero-availability__header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.hero-availability__timer{
  display:none;
}
.hero-availability__bar{
  width:clamp(180px, 24vw, 240px);
  height:18px;
  border-radius:999px;
  border:2px solid var(--ink);
  background:rgba(247,245,242,.88);
  position:relative;
  overflow:hidden;
}
.hero-availability__fill{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:10%;
  background-color:var(--mulberry);
  background-image:linear-gradient(135deg,
    transparent 0%,
    transparent 45%,
    rgba(255,255,255,.6) 45%,
    rgba(255,255,255,.6) 55%,
    transparent 55%,
    transparent 100%);
  background-size:12.6px 12.6px;
  background-position:0 0;
  border-radius:999px;
  box-shadow:0 6px 14px rgba(198,90,114,.24);
  animation:hero-availability-flow 1s linear infinite;
  will-change:background-position;
}
.hero-availability__caption{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-size:14px;
  letter-spacing:.01em;
  color:rgba(11,31,58,.75);
  max-width:260px;
}
.hero-availability__count{
  font-weight:700;
  color:var(--ink);
}
@keyframes hero-availability-flow{
  0%{ background-position:0 0; }
  100%{ background-position:12.6px 0; }
}
.hero-portrait{
  margin:clamp(82px, 12vh, 156px) 0 clamp(28px, 6vh, 80px);
  display:flex;
  flex-direction:column;
  align-items:center;
  align-self:flex-end;
  gap:6px;
}
.hero-portrait picture{ width:auto; display:flex; justify-content:center; }
.hero-portrait__caption{
  margin:0;
  font-family:"IBM Plex Sans",ui-sans-serif;
  font-size:14px;
  letter-spacing:.04em;
  color:rgba(11,31,58,.72);
  text-align:center;
  align-self:center;
}
.hero-right picture{ width:100%; display:flex; justify-content:center; }
@media (min-width:1100px){
  .hero-right{
    transform:none;
    margin-left:8px;
  }
}
.hero-right img{
  width:85%;
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 28px rgba(11,31,58,.08));
}

@media (max-width:959px){
  .hero-right{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:20px;
    width:100%;
  }
  .hero-portrait{
    margin:48px 0 12px;
    align-self:center;
  }
  .hero-right picture{
    justify-content:center;
    width:100%;
  }
  .hero-right img{
    width:min(100%, 520px);
  }
  .hero-availability{
    position:static;
    align-items:center;
    text-align:center;
    gap:6px;
  }
  .hero-availability__header{
    justify-content:center;
  }
  .hero-availability__caption{
    max-width:320px;
    white-space:normal;
  }
}

@media (min-width:960px){
  .hero-availability{
    position:fixed;
    top:calc(env(safe-area-inset-top,0px) + clamp(24px, 6vh, 64px));
    right:clamp(16px, 5vw, 44px);
    width:min(336px, 84vw);
    padding:12px 18px 14px;
    border-radius:28px;
    background:rgba(247,245,242,.72);
    border:1px solid rgba(11,31,58,.16);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    box-shadow:0 12px 28px rgba(11,31,58,.16);
    z-index:32;
    --hero-availability-label-size:12px;
    --hero-availability-timer-pad:calc((var(--hero-availability-label-size) + 4px - var(--hero-availability-label-size)) / 2);
  }
  .hero-availability__timer{
    display:flex;
    align-items:center;
    justify-content:center;
    height:calc(var(--hero-availability-label-size) + 4px);
    padding:0 calc(var(--hero-availability-timer-pad) + 6px);
    border-radius:calc((var(--hero-availability-label-size) + 4px) / 2);
    background:var(--stone);
    border:1px solid rgba(11,31,58,.16);
    font-family:"IBM Plex Sans",ui-sans-serif;
    font-weight:700;
    font-size:var(--hero-availability-label-size);
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ink);
    font-variant-numeric:tabular-nums;
    line-height:1;
    white-space:nowrap;
    margin-right:auto;
  }
  .hero-availability__bar{
    width:100%;
  }
  .hero-availability__caption{
    max-width:none;
    white-space:nowrap;
  }
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .btn-primary{ transition:none }
  .btn-primary:hover,.btn-primary:active{ transform:none }
}

/* ===== Mobile hero refinements ===== */
@media (max-width: 720px){
  .hero{
    min-height:auto;
    height:auto;
    align-items:flex-start;
    padding:clamp(48px, 12vh, 88px) clamp(20px, 6vw, 32px) clamp(44px, 14vh, 96px);
  }

  .hero-inner{
    display:flex;
    flex-direction:column;
    gap:32px;
    padding:0;
  }

  .hero-left{
    margin-top:0 !important;
    padding:0;
  }

  .track-overline{ font-size:15px; margin:0 0 8px; }
  .hero-title{ font-size:clamp(30px, 7.6vw, 48px); margin-bottom:18px; }
  .hero-proof-list{
    margin:0 0 28px 0;
    padding-left:0;
    width:100%;
  }
  .hero-proof-item{
    padding-left:24px;
    font-size:clamp(18px, 5vw, 22px);
    letter-spacing:.028em;
    white-space:normal;
  }
  .hero-proof-item::before{ top:0.6em; }
  .hero-proof-item .hero-sub{
    font-size:clamp(19px, 5.2vw, 23px);
  }
  .hero-proof-item + .hero-proof-item{ margin-top:12px; }

  .cta-ensemble{
    display:flex;
    margin:12px 0 0;
    flex-direction:column;
    align-items:stretch;
    gap:24px;
    width:100%;
  }

  .testimonial-cta{
    width:100%;
    gap:16px;
  }

  .testimonial-cta .cta{
    margin-top:0;
    width:100%;
  }

  .cta{
    align-items:stretch;
    gap:12px;
  }

  .cta .btn-primary{
    width:100%;
    max-width:100%;
    min-width:0;
    text-align:center;
    font-size:18px;
    padding:16px 28px;
  }
  .testimonial-cta .cta .btn-primary{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  .cta-sub{
    font-size:14px;
    text-align:left;
    color:var(--ink);
    font-weight:600;
  }

  .trust-hook{
    font-size:clamp(17.6px, 2.55vw, 21.5px);
  }

  .cta-offer-stack,
  .cta-offer,
  .cta-offer-floating{
    position:static;
    width:100%;
    max-width:none;
  }

  .cta-offer-floating{
    position:static;
    margin:0;
    box-shadow:0 12px 24px rgba(11,31,58,.08);
    text-align:left;
  }

  .cta-offer__timer{
    padding:12px 18px;
    letter-spacing:.12em;
  }

  .cta-offer-floating .cta-offer__arrow{ display:none; }

  .hero-availability{
    position:static;
    align-items:flex-start;
    text-align:left;
    gap:8px;
    width:100%;
  }

  .hero-availability__bar{ width:100%; max-width:320px; }
  .hero-availability__caption{ max-width:none; }

  .hero-right{
    align-items:center;
    gap:16px;
    width:100%;
  }

  .hero-availability{
    position:static;
    align-items:flex-start;
    text-align:left;
    gap:8px;
    width:100%;
  }

  .hero-availability__bar{ width:100%; max-width:320px; }
  .hero-availability__caption{ max-width:none; }

  .hero-portrait{
    margin:12px 0 8px;
    align-items:center;
    align-self:center;
  }

  .hero-right picture{ justify-content:center; width:100%; }

  .hero-right img{
    width:100%;
    max-width:320px;
    max-height:none;
    object-fit:contain;
  }

  .scroll-cue{ display:none; }
}

@media (max-width:700px){
  .top-panel-shell{
    display:block;
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:calc(env(safe-area-inset-top,0px) + 80px);
    background:rgba(247,245,242,.72);
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(11,31,58,.16);
    border-bottom-left-radius:22px;
    border-bottom-right-radius:22px;
    box-shadow:0 10px 30px rgba(11,31,58,.12);
    z-index:8;
    pointer-events:none;
  }

  .hero-availability{
    position:fixed;
    top:calc(env(safe-area-inset-top,0px) + 16px);
    right:clamp(12px, 4.5vw, 28px);
    width:min(60vw, 240px);
    --hero-availability-label-size:11px;
    --hero-availability-timer-pad:calc((var(--hero-availability-label-size) + 4px - var(--hero-availability-label-size)) / 2);
    padding:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    align-items:flex-end;
    text-align:right;
    gap:8px;
    z-index:26;
  }

  .hero-availability__header{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
  }

  .hero-availability__timer{
    display:flex;
    align-items:center;
    justify-content:center;
    height:calc(var(--hero-availability-label-size) + 4px);
    padding:0 calc(var(--hero-availability-timer-pad) + 6px);
    border-radius:calc((var(--hero-availability-label-size) + 4px) / 2);
    background:var(--stone);
    border:1px solid rgba(11,31,58,.16);
    font-family:"IBM Plex Sans",ui-sans-serif;
    font-weight:700;
    font-size:var(--hero-availability-label-size);
    letter-spacing:.16em;
    color:var(--ink);
    text-transform:uppercase;
    font-variant-numeric:tabular-nums;
    line-height:1;
    white-space:nowrap;
    margin-right:auto;
  }

  .hero-availability__label{
    font-size:var(--hero-availability-label-size);
    letter-spacing:.16em;
    line-height:1;
  }

  .hero-availability__bar{
    width:100%;
    height:14px;
    border-width:1.5px;
  }

  .hero-availability__caption{
    max-width:none;
    text-align:right;
    font-size:11px;
  }
  .hero-availability__count{
    font-size:inherit;
  }

  .hero-availability__fill{ box-shadow:0 4px 12px rgba(198,90,114,.24); }

  .cta-offer__timer,
  .cta-offer-floating{
    display:none;
  }
}
.track-overline{
  margin:26px 0 16px 0;
  font-family:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  font-weight:600;
  font-size:16px;
  letter-spacing:.05em;
  text-transform:none;
  color:rgba(11,31,58,.6);
}
.hero-left .track-overline{ margin:0 0 16px 0; }
.page-cs .track-overline{ color:rgba(11,31,58,.7); }

/* Core content stack */
.section{ padding:56px 0; }
.section-tight{ padding:40px 0; }
#core-content{ display:block; padding-bottom:128px; }
.container{ max-width:1120px; margin:0 auto; padding:0 20px; }
.case-story{ font-size:1em; }
.case-story p{ line-height:1.7; }
@media (min-width:900px){
  .case-story{ font-size:0.68em; line-height:1.65; }
  .case-story .bullets{ font-size:inherit; }
  .case-story__carousel{ margin:44px auto; }
  .case-story__carousel-viewport{ height:clamp(400px, 58vh, 720px); border-radius:26px; }
  .case-story__carousel-nav{ width:60px; height:60px; font-size:34px; }
}
.case-story__wrap{ position:relative; margin-top:4px; }
.case-story__collapse{
  position:relative;
  --story-collapsed-height:120px;
  max-height:var(--story-collapsed-height);
  overflow:hidden;
  transition:max-height .45s ease;
}
.case-story__section{ margin:24px 0; }
.case-story__section:first-child{ margin-top:0; }
.case-story__section:last-child{ margin-bottom:0; }
.case-story__section-title{
  margin:0 0 12px;
  font-size:1.12em;
  font-weight:600;
  color:var(--ink);
  letter-spacing:-0.01em;
}
.case-story__collapse > :first-child{ margin-top:0; }
.case-story__collapse::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:72px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(247,245,242,0) 0%, rgba(247,245,242,.86) 70%, var(--paper) 100%);
  transition:opacity .3s ease;
}
.case-story__collapse > :last-child{ margin-bottom:0; }
@media (max-width:740px){
  .case-story__collapse{ --story-collapsed-height:220px; }
}
.case-story__carousel{
  position:relative;
  margin:48px auto;
  max-width:min(1120px, 90vw);
}
.case-story__carousel-viewport{
  width:100%;
  height:clamp(320px, 62vh, 640px);
  overflow:hidden;
  position:relative;
  border-radius:22px;
  box-shadow:0 22px 50px rgba(11,31,58,.18);
  background:var(--ink);
}
.case-story__carousel-viewport:focus{
  outline:2px solid var(--mulberry);
  outline-offset:6px;
}
.case-story__carousel-track{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  width:100%;
  height:100%;
  transition:transform .6s ease;
}
.case-story__carousel-slide{
  min-width:100%;
  height:100%;
}
.case-story__carousel-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  pointer-events:none;
  user-select:none;
}
.case-story__carousel-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  border:0;
  background:rgba(247,245,242,.9);
  color:var(--mulberry);
  font-size:32px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(11,31,58,.18);
  transition:background .2s ease, transform .2s ease;
  z-index:2;
}
.case-story__carousel-nav:hover{
  background:rgba(247,245,242,1);
  transform:translateY(-50%) scale(1.05);
}
.case-story__carousel-nav:focus-visible{
  outline:2px solid var(--mulberry);
  outline-offset:4px;
}
.case-story__carousel-nav--prev{ left:-22px; }
.case-story__carousel-nav--next{ right:-22px; }
@media (max-width:1200px){
  .case-story__carousel-nav--prev{ left:clamp(-12px, -6vw, -24px); }
  .case-story__carousel-nav--next{ right:clamp(-12px, -6vw, -24px); }
}
.case-story__carousel-caption{
  margin:18px auto 0;
  max-width:60ch;
  font-size:0.95rem;
  color:rgba(11,31,58,.78);
  text-align:center;
  line-height:1.6;
}
@media (max-width:740px){
  .case-story__carousel{ margin:28px auto; max-width:min(96vw, 720px); }
  .case-story__carousel-viewport{
    height:clamp(220px, 54vh, 480px);
    border-radius:18px;
  }
  .case-story__carousel-nav{
    width:44px;
    height:44px;
    font-size:28px;
  }
}
.case-story__wrap.is-expanded .case-story__collapse{
  max-height:999px;
  overflow:visible;
}
.case-story__wrap.is-expanded .case-story__collapse::after{ opacity:0; }
.case-story__toggle{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  background:none;
  color:var(--mulberry);
  font-weight:600;
  font-size:15px;
  cursor:pointer;
}
.case-story__toggle:hover{ opacity:.85; }
.case-story__toggle:focus-visible{
  outline:2px solid var(--mulberry);
  outline-offset:4px;
  border-radius:8px;
}
.case-story__toggle::after{
  content:"▾";
  font-size:14px;
  line-height:1;
  transition:transform .25s ease;
}
.case-story__wrap.is-expanded .case-story__toggle::after{ transform:rotate(180deg); }
.quote-simple{
  margin:24px 0;
  padding-left:20px;
  border-left:4px solid var(--mulberry);
  font-style:italic;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--ink);
}
.quote-simple p{ margin:0; }
.quote-simple__cite{
  margin-top:12px;
  font-style:normal;
  font-size:.92rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(11,31,58,.6);
}
.bullets{ margin:0; padding-left:20px; }
.bullets li{ margin-bottom:8px; }

.delimiter{
  position:relative;
  width:100%;
  height:0;
}
.delimiter--hero{
  margin:0 0 56px;
}
.delimiter--hero::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:var(--ink);
  box-shadow:0 -8px 0 0 var(--ink), 0 8px 0 0 var(--ink);
}
.delimiter--section{
  margin:48px 0;
}
.delimiter--section::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:var(--ink);
  box-shadow:0 6px 0 0 var(--ink);
}

.floating-cta{
  --cta-progress:0;
  position:fixed;
  left:50%;
  bottom:calc(var(--cta-floating-bottom, clamp(16px, 5vh, 48px)) + env(safe-area-inset-bottom, 0px));
  transform:translate(-50%, calc((1 - var(--cta-progress)) * 28px));
  opacity:var(--cta-progress);
  display:flex;
  align-items:center;
  justify-content:center;
  width:var(--cta-floating-width, min(320px, 85vw));
  height:var(--floating-cta-shell-height, calc(56px + 28px));
  padding:14px 18px;
  box-sizing:border-box;
  border-radius:22px;
  background:rgba(247,245,242,.72);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  border:1px solid rgba(11,31,58,.16);
  box-shadow:0 20px 48px rgba(11,31,58,.18);
  z-index:24;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
.floating-cta .btn-primary{
  width:100%;
  text-align:center;
  box-shadow:0 14px 32px rgba(198,90,114,.28);
  padding:14px 18px;
}
.floating-cta.is-interactive{ pointer-events:auto; }

@media (max-width:900px){
  .container{ padding:0 18px; }
}

@media (max-width:720px){
  .section{ padding:44px 0; }
  .section-tight{ padding:32px 0; }
  #core-content{ padding-bottom:152px; }
  .delimiter--hero{ margin:0 0 40px; }
  .delimiter--section{ margin:36px 0; }
}

@media (min-width:900px){
  .cta-sub{ align-self:center; text-align:center; }
  #core-content{ font-size:calc(1rem * 2); line-height:1.6; }
  #core-content h2{ font-size:64px; }
  .bullets{ font-size:2rem; }
}
