/* ============================================
   WeRankAnything — Ghibli watercolor style
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  /* Warm cream paper palette (pulled from the hero painting) */
  --paper:#FAF3E2;
  --paper-2:#F2E9D2;
  --paper-card:#FFF8E5;
  --paper-warm:#FFEDCF;

  /* Sky pulled from the painting */
  --sky-1:#BEDCEA;
  --sky-2:#A9C4DB;
  --sky-3:#7DB0CC;

  /* Land pulled from the painting */
  --hill-distant:#A8C0AA;
  --hill-back:#8FBE74;
  --hill-mid:#7BB45E;
  --hill-front:#6FA85A;

  /* Warm accents */
  --terracotta:#E08A6B;
  --terracotta-deep:#C76F50;
  --sun:#F5C76A;
  --lavender:#B5A5D1;
  --teal:#5BA59C;

  /* Ink (warm sepia, replacing cold dark green) */
  --ink:#3D2E1F;
  --ink-soft:#5D4A33;
  --ink-faint:#8E7858;
  --line:#D9C9A6;
}

body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  /* Subtle paper grain */
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.24  0 0 0 0 0.18  0 0 0 0 0.12  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:240px 240px;
}

a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%}

/* ===== Typography ===== */
h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;letter-spacing:-0.01em;
  color:var(--ink);line-height:1.08;
}
h1{font-size:clamp(38px,7vw,96px);font-weight:700;letter-spacing:-0.025em}
h2{font-size:clamp(28px,4.6vw,56px)}
h3{font-size:clamp(22px,2.6vw,32px)}
h4{font-size:20px;font-weight:600;letter-spacing:-0.005em}

.kicker{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:12px;font-weight:600;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--terracotta-deep);
  margin-bottom:18px;
}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 22px;border-radius:999px;
  font-weight:600;font-size:14.5px;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  white-space:nowrap;
}
.btn--solid{
  background:var(--ink);color:var(--paper);
  box-shadow:0 6px 0 -2px rgba(61,46,31,0.2);
}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 10px 0 -4px rgba(61,46,31,0.25)}
.btn--outline{
  background:transparent;color:var(--ink);
  border:1.5px solid var(--ink);
}
.btn--outline:hover{background:var(--ink);color:var(--paper);transform:translateY(-1px)}

/* =========================================
   NAV
   ========================================= */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,243,226,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;
}
.brand{display:flex;align-items:center;gap:12px}
.brand__mark{width:36px;height:36px;display:grid;place-items:center}
.brand__name{
  font-family:'Fraunces',serif;font-weight:800;font-size:22px;
  letter-spacing:-0.015em;color:var(--ink);
}

/* Mountain + flag logomark */
.logomark{width:32px;height:32px}
.logomark__peaks{fill:var(--ink)}
.logomark__pole{stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;fill:none}
.logomark__flag{fill:var(--terracotta)}
.brand--light .brand__name{color:var(--paper)}
.brand--light .logomark__peaks{fill:var(--paper)}
.brand--light .logomark__pole{stroke:var(--paper)}
.brand--light .logomark__flag{fill:var(--sun)}
.nav__menu{display:flex;align-items:center;gap:24px}
.nav__links{display:flex;gap:30px}
.nav__links a{font-size:14px;font-weight:500;color:var(--ink-soft);transition:color .2s}
.nav__links a:hover{color:var(--ink)}

/* Burger button — desktop hidden */
.nav__burger{
  display:none;
  width:42px;height:42px;
  border:1.5px solid var(--ink);
  border-radius:12px;
  background:transparent;
  align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .2s;
  flex-shrink:0;
}
.nav__burger:hover{background:rgba(61,46,31,0.08)}
.nav__burger-bars{
  position:relative;display:block;
  width:18px;height:2px;background:var(--ink);
  border-radius:2px;
  transition:background .15s;
}
.nav__burger-bars::before,
.nav__burger-bars::after{
  content:"";position:absolute;left:0;right:0;height:2px;
  background:var(--ink);border-radius:2px;
  transition:transform .25s ease, top .25s ease;
}
.nav__burger-bars::before{top:-6px}
.nav__burger-bars::after{top:6px}
/* Burger → X when open */
.nav--open .nav__burger-bars{background:transparent}
.nav--open .nav__burger-bars::before{top:0;transform:rotate(45deg)}
.nav--open .nav__burger-bars::after{top:0;transform:rotate(-45deg)}

@media(max-width:960px){
  .nav{padding:14px 20px;position:sticky}
  .nav__burger{display:flex}
  .nav__menu{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;
    gap:0;
    background:rgba(250,243,226,0.98);
    backdrop-filter:blur(14px);
    padding:8px 20px 20px;
    border-bottom:1px solid var(--line);
    box-shadow:0 16px 28px -12px rgba(61,46,31,0.22);
    max-height:calc(100vh - 70px);
    overflow-y:auto;
  }
  .nav--open .nav__menu{display:flex}
  .nav__links{
    flex-direction:column;gap:0;width:100%;
  }
  .nav__links a{
    padding:14px 4px;width:100%;
    font-size:16px;font-weight:500;color:var(--ink);
    border-bottom:1px dashed var(--line);
  }
  .nav__links a:last-child{border-bottom:none}
  .nav__cta{
    margin-top:12px;width:100%;
    justify-content:center;
    padding:14px 22px;font-size:15px;
  }
}

/* =========================================
   HERO — watercolor centerpiece
   ========================================= */
.hero{
  position:relative;background:var(--paper);padding:24px 24px 0;
}
.hero__art{
  position:relative;
  max-width:1440px;margin:0 auto;
  border-radius:32px;
  overflow:hidden;
  box-shadow:
    0 30px 60px -30px rgba(61,46,31,0.4),
    0 0 0 1px rgba(217,201,166,0.5);
  isolation:isolate;
}
.hero__img{
  display:block;width:100%;height:auto;
  aspect-ratio: 1408 / 768;
  object-fit:cover;object-position:center;
}
.hero__veil{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(250,243,226,0.95) 0%,
      rgba(250,243,226,0.85) 18%,
      rgba(250,243,226,0.55) 35%,
      rgba(250,243,226,0.15) 50%,
      rgba(250,243,226,0) 60%);
}
.hero__copy{
  position:absolute;left:0;top:0;bottom:0;
  width:min(56%, 680px);
  padding:clamp(40px,5vw,72px) clamp(28px,4vw,64px);
  display:flex;flex-direction:column;justify-content:center;z-index:2;
}
.hero__copy .kicker{
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(61,46,31,0.15);
  padding:6px 12px;border-radius:999px;
  align-self:flex-start;
  backdrop-filter:blur(4px);
}
.hero__copy h1{margin-bottom:18px;text-shadow:0 2px 24px rgba(250,243,226,0.5)}
.lede{
  font-size:clamp(16px,1.4vw,19px);
  color:var(--ink-soft);
  max-width:520px;margin:0 0 28px;line-height:1.55;
}

/* Audit form */
.audit{
  display:flex;align-items:center;gap:0;
  max-width:540px;
  background:#fff;border:1.5px solid var(--ink);
  border-radius:999px;padding:6px 6px 6px 22px;
  box-shadow:0 14px 0 -8px rgba(61,46,31,0.15);
  transition:transform .2s,box-shadow .2s;
}
.audit:focus-within{transform:translateY(-2px);box-shadow:0 18px 0 -10px rgba(61,46,31,0.2)}
.audit__prefix{color:var(--ink-faint);font-family:'Inter',monospace;font-size:14px;font-weight:500}
.audit__input{
  flex:1;border:0;outline:0;background:transparent;
  font-size:15px;padding:12px 10px;color:var(--ink);font-family:inherit;min-width:0;
}
.audit__input::placeholder{color:var(--ink-faint)}
.audit__btn{
  background:var(--ink);color:var(--paper);
  padding:12px 22px;border-radius:999px;
  font-weight:600;font-size:14px;
  transition:background .2s,transform .15s;white-space:nowrap;
}
.audit__btn:hover{background:var(--terracotta-deep);transform:translateX(2px)}
.audit__fine{max-width:520px;margin:14px 0 0;font-size:13px;color:var(--ink-soft)}

/* Audit form → stack on narrow screens */
@media(max-width:520px){
  .audit{
    flex-direction:column;align-items:stretch;
    padding:14px;
    border-radius:20px;
    gap:6px;
  }
  .audit__prefix{font-size:12px;padding:0 4px}
  .audit__input{padding:6px 4px;font-size:16px}
  .audit__btn{
    width:100%;padding:14px;
    justify-content:center;
    border-radius:14px;
  }
  .audit__btn:hover{transform:none}
}

.hero__scroll{
  display:flex;align-items:center;gap:8px;justify-content:center;
  font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:600;margin:24px auto 8px;
  animation:bounceY 2.4s ease-in-out infinite;
}
.hero__scroll svg{width:18px;height:18px}
@keyframes bounceY{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}

@media(max-width:860px){
  .hero{padding:16px 12px 0}
  .hero__art{aspect-ratio:auto}
  .hero__img{aspect-ratio:1408/768}
  .hero__copy{position:static;width:100%;padding:32px 8px 40px}
  /* Veil only fades the image's bottom edge, not the static copy below */
  .hero__veil{
    height:auto;bottom:auto;top:0;
    aspect-ratio:1408/768;
    background:linear-gradient(180deg,
      rgba(250,243,226,0) 60%,
      rgba(250,243,226,0.85) 92%,
      rgba(250,243,226,1) 100%);
  }
  .hero__copy .kicker{align-self:center}
  .hero__copy h1,.lede,.audit__fine{text-align:center}
  .lede,.audit{margin-left:auto;margin-right:auto}
}

/* =========================================
   TRUST STRIP — ribbon with sprigs
   ========================================= */
.trust{
  background:var(--paper);
  padding:72px 32px 56px;text-align:center;
}
.trust__label{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:18px;color:var(--ink-soft);
  display:inline-flex;align-items:center;gap:14px;
  margin-bottom:32px;
}
.trust__label .sprig{width:48px;height:14px;color:var(--terracotta-deep)}
.trust__logos{
  display:flex;flex-wrap:wrap;gap:18px 22px;
  justify-content:center;align-items:center;
}
.trust__logos span{
  font-family:'Fraunces',serif;font-weight:600;font-size:18px;
  color:var(--ink-soft);
  transition:color .25s;
}
.trust__logos span:hover{color:var(--ink)}
.trust__dot{color:var(--ink-faint)!important;font-size:14px!important}

/* Divider with cloud silhouette */
.divider{line-height:0}
.divider svg{display:block;width:100%;height:80px}

/* =========================================
   THE SHIFT — postcards with painted vignettes
   ========================================= */
.shift{
  background:var(--paper-2);padding:120px 32px;
  position:relative;
}
.shift__inner{max-width:1100px;margin:0 auto;text-align:center}
.shift__lede{
  font-size:18px;color:var(--ink-soft);
  max-width:680px;margin:24px auto 56px;line-height:1.65;
}
.shift__lede em{font-style:italic;color:var(--terracotta-deep);font-weight:500}

.shift__split{
  display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;
}
@media(max-width:760px){
  .shift__split{grid-template-columns:1fr}
  .shift__arrow{transform:rotate(90deg);justify-self:center}
}
.shift__card{
  position:relative;
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:24px;
  padding:28px 28px 32px;
  text-align:left;
  box-shadow:0 12px 0 -6px rgba(61,46,31,0.15);
}
.shift__card--bright{
  background:var(--paper-warm);
  box-shadow:0 12px 0 -6px rgba(199,111,80,0.25);
}
.shift__tag{
  display:inline-block;
  font-family:'Fraunces',serif;font-style:italic;font-weight:600;
  font-size:13px;letter-spacing:0.05em;
  color:var(--ink-soft);
  background:rgba(255,255,255,0.6);
  border:1px solid var(--line);
  padding:3px 10px;border-radius:999px;
  margin-bottom:14px;
}
.shift__tag--bright{color:var(--terracotta-deep);background:#fff;border-color:rgba(199,111,80,0.4)}
.shift__art{
  display:block;width:100%;max-width:280px;
  margin:6px 0 18px;
}
.shift__card h4{margin-bottom:8px;font-size:22px}
.shift__card p{color:var(--ink-soft);font-size:15.5px;line-height:1.6}
.shift__arrow{width:80px;height:80px;display:grid;place-items:center}
.shift__arrow svg{width:100%;height:100%}

/* =========================================
   SHARED SECTION HEAD
   ========================================= */
.section__head{
  max-width:760px;margin:0 auto 64px;text-align:center;
}
.section__sub{
  font-size:17px;color:var(--ink-soft);
  max-width:560px;margin:20px auto 0;
}

/* =========================================
   SERVICES — vignette cards
   ========================================= */
.services{
  background:var(--paper);padding:120px 32px;position:relative;
}
.services__grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:28px;
}
@media(max-width:820px){.services__grid{grid-template-columns:1fr}}

.service{
  position:relative;
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:28px;
  padding:0 0 32px;
  overflow:hidden;
  transition:transform .25s,box-shadow .25s;
  box-shadow:0 14px 0 -8px rgba(61,46,31,0.12);
}
.service:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 0 -12px rgba(61,46,31,0.15);
}
.service__art{
  position:relative;
  height:240px;
  border-bottom:1.5px solid var(--ink);
  overflow:hidden;
  background:var(--paper);
}
.service__art img{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;
}
/* Soft cream fade at the bottom so the painting bleeds into the card body */
.service__art::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:46px;
  background:linear-gradient(180deg,rgba(255,248,229,0) 0%,rgba(255,248,229,0.85) 70%,rgba(255,248,229,1) 100%);
  pointer-events:none;
}
.service__num{
  position:absolute;top:14px;right:18px;
  font-family:'Fraunces',serif;
  font-size:13px;font-weight:700;
  color:var(--ink);background:var(--paper-warm);
  padding:4px 10px;border-radius:999px;
  border:1.5px solid var(--ink);
  z-index:2;
}
.service h3{padding:24px 32px 8px;font-size:24px}
.service > p{
  padding:0 32px;color:var(--ink-soft);font-size:15px;
  margin-bottom:18px;line-height:1.6;
}
.service ul{padding:0 32px;display:flex;flex-direction:column;gap:8px}
.service ul li{
  position:relative;padding-left:22px;
  font-size:14.5px;color:var(--ink-soft);
}
.service ul li::before{
  content:"";position:absolute;left:0;top:8px;
  width:9px;height:9px;border-radius:50%;
  background:var(--terracotta);
  box-shadow:0 0 0 3px rgba(224,138,107,0.18);
}

/* =========================================
   PROCESS — winding trail
   ========================================= */
.process{
  background:var(--paper-2);padding:120px 32px;
  position:relative;
}
.process__wrap{
  max-width:1000px;margin:0 auto;
  position:relative;
}
.process__trail{
  position:absolute;
  left:50%;top:0;bottom:0;width:100px;
  transform:translateX(-50%);
  pointer-events:none;
}
@media(max-width:760px){
  .process__trail{left:42px;transform:none;width:60px}
}
.process__steps{
  display:flex;flex-direction:column;gap:36px;
  position:relative;z-index:1;
}
.process__steps li{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;gap:32px;
}
.process__steps li:nth-child(odd) .process__marker{grid-column:2}
.process__steps li:nth-child(odd) .process__copy{grid-column:3;text-align:left}
.process__steps li:nth-child(even) .process__marker{grid-column:2}
.process__steps li:nth-child(even) .process__copy{grid-column:1;text-align:right}

.process__marker{
  width:112px;height:112px;
  border-radius:50%;
  background:var(--paper-card);
  border:2px solid var(--ink);
  display:grid;place-items:center;
  position:relative;
  box-shadow:0 10px 0 -4px rgba(61,46,31,0.14);
}
.process__marker svg{width:62px;height:62px}
.process__marker span{
  position:absolute;bottom:-12px;left:50%;transform:translateX(-50%);
  background:var(--terracotta);color:#fff;
  font-family:'Fraunces',serif;font-weight:700;font-size:13px;
  padding:3px 12px;border-radius:999px;
  border:1.5px solid var(--ink);
  box-shadow:1px 2px 0 rgba(61,46,31,0.2);
}
.process__copy h4{font-size:22px;margin-bottom:8px}
.process__copy p{color:var(--ink-soft);font-size:15.5px;line-height:1.6}

@media(max-width:760px){
  .process__steps li{
    grid-template-columns:auto 1fr;gap:20px;
  }
  .process__steps li:nth-child(odd) .process__marker,
  .process__steps li:nth-child(even) .process__marker{grid-column:1}
  .process__steps li:nth-child(odd) .process__copy,
  .process__steps li:nth-child(even) .process__copy{grid-column:2;text-align:left}
  .process__marker{width:84px;height:84px}
  .process__marker svg{width:48px;height:48px}
}

/* =========================================
   CASE STUDY — pinned postcard
   ========================================= */
.case{
  background:var(--paper);padding:120px 32px;
  position:relative;
}
.case__cloud{
  position:absolute;width:160px;top:60px;left:8%;opacity:0.85;
  animation:driftCloud 24s ease-in-out infinite alternate;
}
@keyframes driftCloud{0%{transform:translateX(0)}100%{transform:translateX(30px)}}

.case__card{
  position:relative;
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  background:var(--paper-card);
  border:2px solid var(--ink);
  border-radius:28px;
  padding:60px 56px;
  box-shadow:0 24px 0 -14px rgba(61,46,31,0.12);
  transform:rotate(-0.4deg);
}
@media(max-width:860px){
  .case__card{grid-template-columns:1fr;gap:40px;padding:40px 28px}
}
.case__pin{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  width:30px;height:30px;
}
.case__copy h3{margin:14px 0 22px;font-size:clamp(26px,3vw,36px);font-style:italic;line-height:1.18}
.case__quote{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:17px;color:var(--ink-soft);
  line-height:1.6;margin-bottom:32px;
  border-left:3px solid var(--terracotta);padding-left:18px;
}
.case__byline{display:flex;align-items:center;gap:14px}
.case__avatar{
  width:48px;height:48px;border-radius:50%;
  background:var(--terracotta);color:#fff;
  display:grid;place-items:center;
  font-family:'Fraunces',serif;font-weight:700;
  border:1.5px solid var(--ink);
}
.case__byline strong{display:block;font-size:15px}
.case__byline span{font-size:13px;color:var(--ink-faint)}

.chart{
  background:var(--paper);
  border:1.5px solid var(--ink);
  border-radius:18px;
  padding:24px;
  box-shadow:inset 0 0 0 1px rgba(217,201,166,0.4);
}
.chart__label{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:14px;color:var(--ink-soft);margin-bottom:8px;
}
.chart__svg{width:100%;height:auto}
.chart__axis{
  display:flex;justify-content:space-between;
  font-size:12px;color:var(--ink-faint);margin-top:6px;
  font-family:'Fraunces',serif;font-style:italic;
}
.case__stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:12px;margin-top:20px;
}
.case__stats > div{
  background:var(--paper-warm);
  border:1.5px solid var(--ink);
  border-radius:14px;padding:14px 10px;text-align:center;
}
.case__stats strong{
  display:block;font-family:'Fraunces',serif;font-size:24px;
  font-weight:700;color:var(--terracotta-deep);
}
.case__stats span{font-size:11px;color:var(--ink-soft);letter-spacing:0.05em}

/* =========================================
   PRICING — paper cards with symbols
   ========================================= */
.pricing{
  background:var(--paper-2);padding:120px 32px;
}
.pricing__grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;
}
@media(max-width:900px){.pricing__grid{grid-template-columns:1fr}}

.plan{
  position:relative;
  background:var(--paper-card);
  border:2px solid var(--ink);
  border-radius:28px;
  padding:40px 32px;
  display:flex;flex-direction:column;
  transition:transform .25s;
  box-shadow:0 14px 0 -8px rgba(61,46,31,0.12);
}
.plan:hover{transform:translateY(-4px)}
.plan--featured{
  background:var(--paper-warm);
  box-shadow:0 18px 0 -10px rgba(199,111,80,0.3);
  transform:translateY(-6px);
}
@media(max-width:900px){.plan--featured{transform:none}}
.plan__badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--ink);color:var(--paper);
  font-family:'Fraunces',serif;font-style:italic;font-weight:600;
  font-size:12px;letter-spacing:0.04em;
  padding:6px 14px;border-radius:999px;
  border:1.5px solid var(--ink);
}
.plan__sym{
  width:80px;height:80px;
  background:var(--paper);
  border:1.5px solid var(--ink);
  border-radius:50%;
  display:grid;place-items:center;
  margin-bottom:18px;
}
.plan__sym svg{width:54px;height:54px}
.plan__name{
  font-family:'Fraunces',serif;font-size:14px;font-weight:600;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--terracotta-deep);
}
.plan__price{
  font-family:'Fraunces',serif;font-size:44px;font-weight:700;
  margin:10px 0 4px;letter-spacing:-0.02em;
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  color:var(--ink);
}
.plan__price span{font-size:14px;font-weight:400;color:var(--ink-faint);font-family:'Inter',sans-serif}
.plan__desc{
  color:var(--ink-soft);font-size:14.5px;margin-bottom:24px;min-height:48px;
}
.plan ul{flex:1;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.plan ul li{
  position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-soft);
}
.plan ul li::before{
  content:"";position:absolute;left:0;top:7px;
  width:12px;height:7px;
  border-left:2px solid var(--terracotta);
  border-bottom:2px solid var(--terracotta);
  transform:rotate(-45deg);
}
.plan .btn{width:100%}

/* =========================================
   FOUNDER — journal page
   ========================================= */
.founder{
  background:var(--paper);padding:120px 32px;
  background-image:
    repeating-linear-gradient(180deg,transparent 0,transparent 30px,rgba(169,196,219,0.18) 30px,rgba(169,196,219,0.18) 31px);
}
.founder__inner{
  max-width:1000px;margin:0 auto;
  background:var(--paper-card);
  border:2px solid var(--ink);
  border-radius:28px;
  padding:60px;
  display:grid;grid-template-columns:240px 1fr;gap:60px;align-items:center;
  box-shadow:0 18px 0 -10px rgba(61,46,31,0.14);
  position:relative;
}
.founder__inner::before,
.founder__inner::after{
  content:"";position:absolute;top:20px;
  width:14px;height:14px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--ink);
}
.founder__inner::before{left:36px}
.founder__inner::after{left:62px}
@media(max-width:760px){
  .founder__inner{grid-template-columns:1fr;gap:32px;padding:48px 28px;justify-items:center;text-align:center}
}
.founder__portrait{
  width:200px;height:200px;border-radius:50%;
  overflow:hidden;
  box-shadow:0 12px 0 -6px rgba(61,46,31,0.18);
}
.founder__copy h3{
  font-style:italic;font-size:clamp(22px,2.4vw,28px);
  line-height:1.35;margin-bottom:20px;
}
.founder__copy p{color:var(--ink-soft);font-size:16px;margin-bottom:12px;line-height:1.7}
.founder__sign{
  font-family:'Fraunces',serif;font-style:italic;
  color:var(--ink)!important;margin-top:24px!important;
  display:flex;align-items:center;gap:8px;
}
.founder__signature{width:120px;height:36px;flex-shrink:0}
@media(max-width:760px){.founder__sign{justify-content:center}}

/* =========================================
   ENDSCAPE — shared watercolor for CTA + footer
   ========================================= */
.endscape{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#2F2018; /* fallback while image loads */
}
.endscape__bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  z-index:0;pointer-events:none;
  user-select:none;
}
.endscape__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    /* center wash to keep text on the form readable */
    radial-gradient(ellipse at 50% 35%,
      rgba(20,12,8,0.55) 0%,
      rgba(20,12,8,0.35) 35%,
      rgba(20,12,8,0.0) 65%),
    /* bottom darken for footer band */
    linear-gradient(180deg,
      rgba(20,12,8,0) 55%,
      rgba(20,12,8,0.45) 80%,
      rgba(20,12,8,0.78) 100%);
}

/* CTA inside the endscape */
.cta{
  position:relative;z-index:2;
  padding:140px 32px 80px;
  color:#FFF5E1;
}
.cta__inner{
  max-width:720px;margin:0 auto;text-align:center;
}
.cta .kicker{
  background:rgba(255,245,225,0.14);
  border:1px solid rgba(255,245,225,0.35);
  color:#FFD8A8;
  padding:6px 14px;border-radius:999px;
  backdrop-filter:blur(6px);
}
.cta h2{
  color:#FFF5E1;
  margin-bottom:14px;
  text-shadow:0 2px 30px rgba(0,0,0,0.4);
}
.cta p{
  color:#FFE8C8;
  font-size:17px;margin-bottom:32px;
  text-shadow:0 1px 14px rgba(0,0,0,0.3);
}
.cta .audit{
  background:rgba(255,248,233,0.96);
  border-color:rgba(61,46,31,0.85);
  margin:0 auto;
  box-shadow:0 18px 40px -16px rgba(0,0,0,0.55);
}
.cta__or{font-size:14px;color:#FFE8C8;margin-top:18px;text-shadow:0 1px 12px rgba(0,0,0,0.3)}
.cta__or a{color:#FFD27D;font-weight:600;text-decoration:underline}

.cta--cheat{padding-top:160px}
.cta__buttons{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;
}
.cta__buttons .btn--solid{
  background:#FFF5E1;color:var(--ink);
  box-shadow:0 14px 30px -14px rgba(0,0,0,0.55);
}
.cta__buttons .btn--solid:hover{background:#fff}
.cta__buttons .btn--outline{
  color:#FFF5E1;border-color:rgba(255,245,225,0.7);
  background:rgba(255,245,225,0.08);
  backdrop-filter:blur(4px);
}
.cta__buttons .btn--outline:hover{background:#FFF5E1;color:var(--ink)}

/* Footer inside the endscape (overlay band) */
.footer{
  position:relative;z-index:2;
  background:transparent;
  color:#FFF5E1;
  padding:60px 32px 40px;
  text-align:center;
}
.footer--scape{
  border-top:1px solid rgba(255,245,225,0.12);
}
.footer__inner{
  max-width:780px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;gap:18px;
}
.footer__tag{
  font-family:'Fraunces',serif;font-style:italic;font-size:20px;
  color:#FFF5E1;
  text-shadow:0 1px 12px rgba(0,0,0,0.4);
}
.footer__links{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.footer__links a{
  font-size:14px;color:#FFE8C8;transition:color .2s;
  text-shadow:0 1px 8px rgba(0,0,0,0.4);
}
.footer__links a:hover{color:#FFF}
.footer__bottom{
  margin-top:18px;font-size:13px;color:#E8D5B8;
  border-top:1px dashed rgba(255,245,225,0.22);
  padding-top:20px;width:100%;
  text-shadow:0 1px 8px rgba(0,0,0,0.4);
}

@media(max-width:760px){
  .cta{padding:100px 24px 60px}
  .endscape__veil{
    background:
      linear-gradient(180deg,
        rgba(20,12,8,0.55) 0%,
        rgba(20,12,8,0.3) 50%,
        rgba(20,12,8,0.75) 100%);
  }
}

/* =========================================
   CHEATSHEET PAGE
   ========================================= */

/* Active nav state */
.nav__active{color:var(--terracotta-deep)!important;font-weight:600}

/* ---- Hero ---- */
.cheat-hero{
  position:relative;background:var(--paper);padding:24px 24px 0;
}
.cheat-hero__art{
  position:relative;
  max-width:1440px;margin:0 auto;
  border-radius:32px;overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(61,46,31,0.4),0 0 0 1px rgba(217,201,166,0.5);
  isolation:isolate;
}
.cheat-hero__img{
  display:block;width:100%;height:auto;
  aspect-ratio: 1376 / 768;
  object-fit:cover;object-position:center;
}
.cheat-hero__veil{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,
    rgba(250,243,226,0.96) 0%,
    rgba(250,243,226,0.92) 30%,
    rgba(250,243,226,0.7) 50%,
    rgba(250,243,226,0.25) 65%,
    rgba(250,243,226,0) 78%);
}
.cheat-hero__copy{
  position:absolute;left:0;top:0;bottom:0;
  width:min(60%, 720px);
  padding:clamp(40px,4vw,64px);
  display:flex;flex-direction:column;justify-content:center;
  z-index:2;
}
.cheat-hero__copy h1{
  font-size:clamp(40px,5.4vw,76px);font-weight:700;letter-spacing:-0.03em;
  line-height:1.04;margin-bottom:20px;
}
.cheat-hero__copy .kicker{
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(61,46,31,0.15);
  padding:6px 12px;border-radius:999px;
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:6px;
}
.cheat-hero__copy .lede{
  font-size:clamp(15px,1.2vw,17px);
  max-width:540px;margin-bottom:24px;color:var(--ink-soft);
}
.cheat-hero__list{
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:28px;
}
.cheat-hero__list li{
  position:relative;padding-left:24px;
  font-size:14.5px;color:var(--ink);
  font-family:'Inter',sans-serif;
}
.cheat-hero__list li::before{
  content:"";position:absolute;left:0;top:8px;
  width:12px;height:7px;
  border-left:2px solid var(--terracotta-deep);
  border-bottom:2px solid var(--terracotta-deep);
  transform:rotate(-45deg);
}
.cheat-hero__list em{font-style:italic;color:var(--ink-soft);font-weight:500}
.cheat-hero__list code{
  font-family:'JetBrains Mono',monospace;font-size:12.5px;
  background:rgba(61,46,31,0.08);padding:1px 6px;border-radius:4px;
}
.cheat-form{max-width:520px}
.cheat-hero__fine{
  font-size:13px;color:var(--ink-soft);margin-top:12px;font-style:italic;
}

@media(max-width:960px){
  .cheat-hero{padding:16px 12px 0}
  .cheat-hero__art{aspect-ratio:auto}
  .cheat-hero__img{aspect-ratio:1376/768}
  .cheat-hero__copy{position:static;width:100%;padding:32px 16px 40px}
  .cheat-hero__veil{
    height:auto;bottom:auto;top:0;
    aspect-ratio:1376/768;
    background:linear-gradient(180deg,
      rgba(250,243,226,0) 60%,
      rgba(250,243,226,0.85) 92%,
      rgba(250,243,226,1) 100%);
  }
}

/* ---- Table of Contents ---- */
.cheat-toc{
  background:var(--paper);
  border-bottom:1px dashed var(--line);
  padding:48px 32px;
}
.cheat-toc__inner{
  max-width:1100px;margin:0 auto;
  display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:start;
}
@media(max-width:760px){
  .cheat-toc__inner{grid-template-columns:1fr;gap:18px}
}
.cheat-toc__label{
  font-family:'Inter',sans-serif;
  font-size:12px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--terracotta-deep);
  padding-top:6px;
}
.cheat-toc ol{
  counter-reset:toc;
  display:grid;grid-template-columns:1fr 1fr;gap:8px 36px;
}
@media(max-width:760px){.cheat-toc ol{grid-template-columns:1fr}}
.cheat-toc ol li{counter-increment:toc;position:relative;padding-left:32px}
.cheat-toc ol li::before{
  content:counter(toc,decimal-leading-zero);
  position:absolute;left:0;top:2px;
  font-family:'Fraunces',serif;font-weight:600;font-size:13px;
  color:var(--terracotta-deep);letter-spacing:0.05em;
}
.cheat-toc ol li a{
  font-family:'Fraunces',serif;font-size:17px;font-weight:500;
  color:var(--ink);
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.cheat-toc ol li a:hover{border-bottom-color:var(--terracotta-deep)}

/* ---- Sections ---- */
.cheat-section{
  padding:96px 32px;
  background:var(--paper);
}
.cheat-section--alt{background:var(--paper-2)}
.cheat-section__inner{max-width:1100px;margin:0 auto}
.cheat-section__head{margin-bottom:56px;text-align:left;max-width:780px}
.cheat-section__num{
  display:inline-block;
  font-family:'Fraunces',serif;font-weight:600;font-style:italic;
  font-size:14px;letter-spacing:0.08em;
  color:var(--terracotta-deep);
  margin-bottom:14px;
}
.cheat-section__head h2{
  font-size:clamp(32px,4vw,48px);
  margin-bottom:14px;
}
.cheat-section__lede{
  font-size:18px;color:var(--ink-soft);line-height:1.6;max-width:720px;
}
.cheat-section__lede em{font-style:italic;color:var(--terracotta-deep)}
.cheat-section__lede strong{color:var(--ink)}

/* ---- Callouts ---- */
.cheat-callout{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:18px;
  padding:24px 28px;
  margin:24px 0;
  font-size:16px;color:var(--ink-soft);
  box-shadow:0 10px 0 -6px rgba(61,46,31,0.1);
}
.cheat-callout p{margin:0;line-height:1.65}
.cheat-callout em{font-style:italic;color:var(--ink)}
.cheat-callout strong{color:var(--ink)}
.cheat-callout--key{
  background:var(--paper-warm);
  border-color:var(--terracotta-deep);
  border-left-width:6px;
}
.cheat-callout--key h4{
  font-family:'Fraunces',serif;font-size:20px;margin-bottom:14px;
}
.cheat-callout--key ol,
.cheat-callout--key ul{
  margin:0 0 14px 22px;
  display:flex;flex-direction:column;gap:8px;
  list-style:disc;
}
.cheat-callout--key ol{list-style:decimal}
.cheat-callout--key li{font-size:16px;line-height:1.55;color:var(--ink-soft)}

/* ---- The model — 3 cards ---- */
.model-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0;
}
@media(max-width:860px){.model-grid{grid-template-columns:1fr}}
.model-card{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:20px;
  padding:28px 26px;
  box-shadow:0 10px 0 -6px rgba(61,46,31,0.12);
  position:relative;
}
.model-card__num{
  position:absolute;top:-14px;left:24px;
  background:var(--terracotta);color:#fff;
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  font-family:'Fraunces',serif;font-weight:700;font-size:18px;
  border:1.5px solid var(--ink);
}
.model-card h3{
  font-size:22px;margin:6px 0 12px;
}
.model-card p{font-size:15px;color:var(--ink-soft);line-height:1.6;margin-bottom:10px}
.model-card__note{
  font-style:italic;font-size:13.5px;color:var(--ink);
  padding-top:10px;border-top:1px dashed var(--line);
}

/* ---- Tactics table ---- */
.cheat-table-wrap{
  border:1.5px solid var(--ink);
  border-radius:20px;overflow:hidden;
  background:var(--paper-card);
  box-shadow:0 14px 0 -8px rgba(61,46,31,0.12);
  overflow-x:auto;
}
.cheat-table{
  width:100%;border-collapse:collapse;
  font-family:'Inter',sans-serif;font-size:14.5px;
}
.cheat-table thead{
  background:var(--paper-warm);
  border-bottom:1.5px solid var(--ink);
}
.cheat-table th{
  text-align:left;padding:14px 18px;
  font-family:'Fraunces',serif;font-weight:600;font-size:14px;
  color:var(--ink);
  letter-spacing:0.02em;
}
.cheat-table__compact{width:130px}
.cheat-table td{
  padding:16px 18px;
  border-top:1px dashed var(--line);
  vertical-align:top;color:var(--ink-soft);line-height:1.55;
}
.cheat-table tr:nth-child(even) td{background:rgba(217,201,166,0.08)}
.cheat-table td strong{color:var(--ink);display:block;margin-bottom:2px}

.pill{
  display:inline-block;padding:4px 10px;border-radius:999px;
  font-size:11.5px;font-weight:600;letter-spacing:0.04em;
  border:1.5px solid var(--ink);
  white-space:nowrap;
}
.pill--effort{background:#fff;color:var(--ink)}
.pill--impact-2{background:#F1E2C9;color:var(--ink-soft)}
.pill--impact-3{background:#FFEDCF;color:#8A5A1A}
.pill--impact-4{background:#FFD9B5;color:#9A4B27}
.pill--impact-5{background:var(--terracotta);color:#fff}

/* ---- Don't list ---- */
.dont-list{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
@media(max-width:760px){.dont-list{grid-template-columns:1fr}}
.dont-card{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-left-width:5px;border-left-color:var(--terracotta-deep);
  border-radius:14px;padding:20px 22px;
  box-shadow:0 8px 0 -5px rgba(61,46,31,0.1);
}
.dont-card h4{font-size:17px;margin-bottom:6px;display:flex;align-items:flex-start;gap:8px}
.dont-card__x{
  display:inline-grid;place-items:center;
  width:22px;height:22px;border-radius:50%;
  background:var(--terracotta-deep);color:#fff;
  font-size:14px;font-weight:700;
  flex-shrink:0;font-family:'Inter',sans-serif;
}
.dont-card p{font-size:14px;color:var(--ink-soft);line-height:1.55;padding-left:30px}

/* ---- Technical blocks ---- */
.tech-block{margin-bottom:40px}
.tech-block h3{
  font-size:24px;margin-bottom:10px;
}
.tech-block h3 code{
  font-family:'JetBrains Mono',monospace;font-size:18px;
  background:var(--paper-warm);padding:2px 8px;border-radius:6px;
}
.tech-block p{color:var(--ink-soft);font-size:15.5px;margin-bottom:12px;line-height:1.65}
.tech-block p code,
.tech-list code,
.cheat-callout code{
  font-family:'JetBrains Mono',monospace;font-size:13px;
  background:rgba(61,46,31,0.08);padding:1px 6px;border-radius:4px;color:var(--ink);
}
.tech-block pre{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:14px;
  padding:18px 20px;
  font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.7;
  overflow-x:auto;color:var(--ink);
  box-shadow:0 10px 0 -6px rgba(61,46,31,0.1);
}
.tk-c{color:var(--ink-faint);font-style:italic}
.tk-k{color:var(--terracotta-deep);font-weight:600}
.tk-h{color:#3D5A4A;font-weight:700}
.tech-block__note{
  font-style:italic;font-size:14px;color:var(--ink-soft);
  background:var(--paper-warm);
  border-left:3px solid var(--terracotta);
  padding:10px 14px;border-radius:8px;
}
.tech-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}
.tech-list li{
  position:relative;padding-left:22px;
  font-size:15px;color:var(--ink-soft);line-height:1.6;
}
.tech-list li::before{
  content:"";position:absolute;left:0;top:8px;
  width:9px;height:9px;border-radius:50%;background:var(--terracotta);
}
.tech-list li strong{color:var(--ink)}

/* ---- Engine cards ---- */
.engines-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
}
@media(max-width:780px){.engines-grid{grid-template-columns:1fr}}
.engine-card{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:20px;padding:26px 28px;
  box-shadow:0 12px 0 -7px rgba(61,46,31,0.1);
}
.engine-card header{margin-bottom:14px}
.engine-card__tag{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:11px;font-weight:700;
  letter-spacing:0.15em;text-transform:uppercase;
  color:#fff;background:var(--ink);
  padding:4px 10px;border-radius:999px;
  margin-bottom:8px;
}
.engine-card h4{
  font-size:22px;font-style:italic;font-weight:600;
}
.engine-card ul{
  display:flex;flex-direction:column;gap:6px;margin:12px 0 16px;
}
.engine-card ul li{
  position:relative;padding-left:20px;
  font-size:14.5px;color:var(--ink-soft);line-height:1.55;
}
.engine-card ul li::before{
  content:"";position:absolute;left:0;top:9px;
  width:7px;height:7px;border-radius:50%;background:var(--terracotta);
}
.engine-card ul li strong{color:var(--ink)}
.engine-card__advice{
  background:var(--paper-warm);
  border:1.5px solid rgba(199,111,80,0.4);
  border-radius:12px;padding:12px 14px;
  font-size:14px;color:var(--ink-soft);line-height:1.55;
}
.engine-card__advice strong{color:var(--terracotta-deep);font-style:normal}

/* ---- Playbook ---- */
.playbook{
  counter-reset:wk;
  display:flex;flex-direction:column;gap:24px;
}
.playbook > li{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:22px;
  padding:30px 32px;
  box-shadow:0 14px 0 -8px rgba(61,46,31,0.12);
  position:relative;
}
.playbook__week{
  display:inline-block;
  font-family:'Fraunces',serif;font-weight:700;font-size:13px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:#fff;background:var(--terracotta);
  padding:5px 14px;border-radius:999px;
  border:1.5px solid var(--ink);
  margin-bottom:14px;
}
.playbook h3{font-size:26px;margin-bottom:14px}
.playbook ul{display:flex;flex-direction:column;gap:8px}
.playbook ul li{
  position:relative;padding-left:24px;
  font-size:15.5px;color:var(--ink-soft);line-height:1.6;
}
.playbook ul li::before{
  content:"";position:absolute;left:0;top:9px;
  width:9px;height:9px;border-radius:50%;background:var(--terracotta);
  box-shadow:0 0 0 3px rgba(224,138,107,0.18);
}
.playbook ul li strong{color:var(--ink);font-weight:600}
.playbook ul li em{font-style:italic;color:var(--ink)}
.playbook a{color:var(--terracotta-deep);text-decoration:underline}

/* ---- KPIs ---- */
.kpi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
@media(max-width:900px){.kpi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.kpi-grid{grid-template-columns:1fr}}
.kpi-card{
  background:var(--paper-card);
  border:1.5px solid var(--ink);
  border-radius:18px;padding:22px 22px;
  box-shadow:0 10px 0 -6px rgba(61,46,31,0.1);
}
.kpi-card h4{
  font-size:18px;margin-bottom:10px;
  color:var(--terracotta-deep);
}
.kpi-card p{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:8px}
.kpi-card p strong{color:var(--ink);font-weight:600}

/* ---- Final cheat CTA tweaks ---- */
.cta--cheat{padding-top:140px}
.cta__buttons{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;
}
.btn--lg{padding:14px 24px;font-size:15px}

/* =========================================
   MOBILE — comprehensive responsive pass
   ========================================= */

/* Tablet & below: compact section padding */
@media(max-width:860px){
  .section,
  .shift,
  .services,
  .process,
  .case,
  .pricing,
  .founder{padding:72px 20px}
  .section__head,
  .cheat-section__head{margin-bottom:40px}
}

/* Mobile phones */
@media(max-width:640px){
  .section,
  .shift,
  .services,
  .process,
  .case,
  .pricing,
  .founder{padding:56px 16px}
}

/* Hero refinements on mobile */
@media(max-width:640px){
  .hero__copy{padding:28px 20px 36px}
  .hero__copy h1{margin-bottom:14px}
  .hero__copy .kicker{font-size:11px}
  .lede{font-size:15.5px;margin-bottom:22px}
  .hero__art{border-radius:22px}
}

/* Trust strip — wrap cleanly */
@media(max-width:640px){
  .trust{padding:48px 20px 36px}
  .trust__label{font-size:15px;flex-wrap:wrap;justify-content:center}
  .trust__label .sprig{width:32px}
  .trust__logos{gap:10px 14px}
  .trust__logos span{font-size:15px}
  .trust__dot{display:none}
}

/* Shift cards stack with arrow rotated */
@media(max-width:760px){
  .shift__inner{text-align:left}
  .shift__split{gap:14px}
  .shift__arrow{justify-self:center;width:50px;height:50px}
  .shift__card{padding:22px 22px 26px}
  .shift__lede{font-size:16px;text-align:left}
}

/* Services — image cards a bit shorter on mobile */
@media(max-width:640px){
  .services__grid{gap:18px}
  .service{border-radius:22px}
  .service__art{height:180px}
  .service h3{padding:20px 22px 6px;font-size:21px}
  .service > p{padding:0 22px;font-size:14.5px}
  .service ul{padding:0 22px}
}

/* Process — keep vertical, simplify */
@media(max-width:640px){
  .process__steps{gap:20px}
  .process__steps li{padding:18px 0;gap:14px}
  .process__copy h4{font-size:19px}
  .process__copy p{font-size:14.5px}
}

/* Case study */
@media(max-width:640px){
  .case__card{padding:28px 22px;border-radius:22px;transform:none;gap:28px}
  .case__copy h3{font-size:24px}
  .case__quote{font-size:15px;padding-left:14px}
  .case__stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .case__stats > div{padding:12px 6px;border-radius:12px}
  .case__stats strong{font-size:20px}
  .case__stats span{font-size:10px}
  .chart{padding:18px 14px}
}

/* Pricing */
@media(max-width:640px){
  .pricing__grid{gap:18px}
  .plan{padding:30px 24px;border-radius:22px}
  .plan__price{font-size:38px}
  .plan__desc{min-height:auto;margin-bottom:18px}
}

/* Founder */
@media(max-width:640px){
  .founder__inner{padding:36px 22px;border-radius:22px;gap:22px}
  .founder__portrait{width:160px;height:160px}
  .founder__copy h3{font-size:20px}
  .founder__copy p{font-size:15px}
  .founder__signature{width:96px;height:28px}
}

/* CTA / endscape */
@media(max-width:640px){
  .cta{padding:80px 20px 40px}
  .cta--cheat{padding-top:96px}
  .cta h2{font-size:clamp(26px,7vw,38px)}
  .cta p{font-size:15.5px;margin-bottom:24px}
  .cta__buttons{flex-direction:column;width:100%}
  .cta__buttons .btn{width:100%}
  .footer{padding:48px 20px 32px}
  .footer__tag{font-size:17px}
  .footer__links{gap:14px 20px}
  .footer__links a{font-size:13px}
}

/* =========================================
   CHEATSHEET — mobile pass
   ========================================= */
@media(max-width:860px){
  .cheat-section{padding:72px 20px}
  .cheat-hero__copy{padding:30px 22px 40px}
  .cheat-hero__copy h1{font-size:clamp(34px,7vw,56px);margin-bottom:14px}
  .cheat-hero__copy .lede{font-size:15px;margin-bottom:18px}
  .cheat-hero__list li{font-size:14px}
  .cheat-toc{padding:36px 20px}
}

@media(max-width:640px){
  .cheat-section{padding:56px 16px}
  .cheat-hero{padding:16px 12px 0}
  .cheat-hero__art{border-radius:22px}
  .cheat-hero__copy{padding:24px 18px 32px}
  .cheat-hero__copy .kicker{font-size:11px;padding:5px 10px}
  .cheat-toc{padding:32px 16px}
  .cheat-toc__inner{gap:14px}
  .cheat-toc ol{gap:6px}
  .cheat-toc ol li a{font-size:15.5px}

  /* Section heads compact */
  .cheat-section__head{margin-bottom:36px}
  .cheat-section__head h2{font-size:clamp(26px,7vw,38px)}
  .cheat-section__lede{font-size:16px}

  /* Model cards stack with smaller padding */
  .model-grid{gap:22px;margin:24px 0}
  .model-card{padding:24px 22px;border-radius:18px}
  .model-card h3{font-size:20px}

  /* Callouts */
  .cheat-callout{padding:18px 22px;font-size:15px}
  .cheat-callout--key{padding:22px}
  .cheat-callout--key h4{font-size:18px}
  .cheat-callout--key li{font-size:15px}

  /* Tactics table: scroll horizontally with hint */
  .cheat-table-wrap{border-radius:16px;position:relative}
  .cheat-table{font-size:13.5px;min-width:560px}
  .cheat-table th,.cheat-table td{padding:12px 14px}
  .cheat-table__compact{width:auto}

  /* Don't cards */
  .dont-card{padding:18px 18px;border-radius:12px}
  .dont-card h4{font-size:16px}
  .dont-card p{font-size:13.5px;padding-left:30px}

  /* Tech blocks */
  .tech-block h3{font-size:21px}
  .tech-block h3 code{font-size:16px}
  .tech-block pre{padding:14px 16px;font-size:12px;border-radius:12px}

  /* Engine cards */
  .engines-grid{gap:16px}
  .engine-card{padding:22px 22px;border-radius:18px}
  .engine-card h4{font-size:20px}
  .engine-card ul li{font-size:14px}
  .engine-card__advice{font-size:13.5px}

  /* Playbook */
  .playbook > li{padding:24px 22px;border-radius:18px}
  .playbook h3{font-size:22px}
  .playbook ul li{font-size:14.5px}

  /* KPI grid */
  .kpi-grid{gap:14px}
  .kpi-card{padding:20px;border-radius:16px}
  .kpi-card h4{font-size:17px}
  .kpi-card p{font-size:13.5px}
}

/* =========================================
   Reveal animation
   ========================================= */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}
.reveal.is-in{opacity:1;transform:translateY(0)}
