/* =====================================================================
   BLUEPRINT FUNNEL - page-specific styles.
   Loaded AFTER /style.css so we reuse tokens (--orange, --ink, etc.)
   ================================================================== */

/* ---------- Focused nav (logo only, no distracting links) --------- */
.bp-nav{position:fixed;top:0;left:0;right:0;z-index:400;background:rgba(250,248,244,.97);border-bottom:1px solid var(--faint);backdrop-filter:blur(12px);}
.bp-nav-inner{max-width:1180px;margin:0 auto;padding:0 32px;height:62px;display:flex;align-items:center;justify-content:space-between;}
.bp-nav-logo img{height:28px;width:auto;display:block;}
.bp-nav-badge{font-size:.72rem;font-weight:700;letter-spacing:.11em;color:var(--muted);text-transform:uppercase;}
.bp-nav-badge strong{color:var(--orange);}
.bp-nav-spacer{height:62px;}

/* ---------- Hero (form left, book right) -------------------------- */
.bp-hero{background:linear-gradient(180deg,var(--cream) 0%,#f4efe6 100%);border-bottom:1px solid var(--faint);padding:44px 0 64px;position:relative;overflow:hidden;}
.bp-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(15,15,15,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(15,15,15,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 60% 40%,#000 15%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 15%,transparent 70%);pointer-events:none;}
.bp-hero-inner{max-width:1180px;margin:0 auto;padding:0 32px;position:relative;}

.bp-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,auto);
  gap:56px;
  align-items:center;
}

.bp-hero-left{max-width:600px;}

/* Small warning-tone eyebrow above the headline (no more pulsing dot) */
.bp-eyebrow--warn{
  color:var(--orange-dk);
  background:rgba(255,107,43,.11);
  padding:6px 12px;
  border-radius:3px;
  margin-bottom:20px;
}
.bp-eyebrow--warn::before{display:none;}

.bp-h1{font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.03em;color:var(--ink);margin:0 0 20px;text-wrap:balance;}
.bp-h1 .amt{color:var(--orange);}
.bp-sub{font-size:clamp(1rem,1.2vw,1.14rem);font-weight:400;color:var(--body);line-height:1.55;margin:0 0 26px;max-width:580px;}
.bp-sub strong.hi{background:var(--orange);color:#fff;padding:2px 6px;font-weight:800;border-radius:2px;}

/* Reassurance list under the CTA button */
.bp-reassure{display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0 0;padding:0;}
.bp-reassure li{list-style:none;display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--body);}
.bp-reassure li svg{flex-shrink:0;}

/* Form row: two fields side by side */
.bp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
@media(max-width:520px){
  .bp-form-row{grid-template-columns:1fr;gap:0;}
}

/* ---------- Fascination bullets (clean, no cards) ----------------- */
.bp-fasc{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:0;max-width:820px;}
.bp-fasc li{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 4px;
  font-size:1.08rem;
  font-weight:500;
  color:var(--ink);
  border-bottom:1px solid rgba(15,15,15,.08);
  line-height:1.4;
}
.bp-fasc li:last-child{border-bottom:none;}
.bp-fasc-arrow{
  flex-shrink:0;
  width:20px;height:20px;
  margin-top:2px;
  border-radius:50%;
  background:var(--orange);
  position:relative;
}
.bp-fasc-arrow::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:6px;height:6px;
  border-right:1.5px solid #fff;
  border-top:1.5px solid #fff;
  transform:translate(-65%,-50%) rotate(45deg);
}
@media(min-width:760px){
  .bp-fasc{grid-template-columns:1fr 1fr;column-gap:40px;}
}

/* ---------- Authority (Mark photo + copy) ------------------------- */
.bp-inner--wide{max-width:1080px;}
.bp-authority{
  display:grid;
  grid-template-columns:minmax(240px,340px) 1fr;
  gap:48px;
  align-items:start;
}
.bp-author-photo{position:relative;}
.bp-author-photo img{
  width:100%;
  aspect-ratio:1/1.15;
  object-fit:cover;
  object-position:center 20%;
  border-radius:4px;
  box-shadow:0 30px 44px rgba(15,15,15,.15),0 6px 14px rgba(15,15,15,.08);
}
.bp-author-badge{
  position:absolute;
  bottom:-16px;
  left:16px;
  background:var(--ink);
  color:#fff;
  padding:10px 16px;
  border-radius:3px;
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.bp-author-badge p{margin:0;font-size:.82rem;font-weight:700;line-height:1.2;}
.bp-author-badge span{display:block;font-weight:400;color:rgba(255,255,255,.7);font-size:.72rem;margin-top:2px;}
.bp-author-copy .bp-h2{font-size:clamp(1.6rem,3vw,2.3rem);}
.bp-author-copy .bp-lead{max-width:none;}

/* Trust statement — big, prominent, editorial */
.bp-trust{
  margin-top:36px;
  padding:22px 26px;
  background:#fff;
  border-left:4px solid var(--orange);
  border-radius:2px;
  font-family:'Fraunces',serif;
  font-size:1.22rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.4;
  font-style:italic;
}
.bp-trust--full{
  margin:52px auto 0;
  max-width:820px;
  text-align:center;
  font-size:clamp(1.15rem,1.7vw,1.55rem);
  background:transparent;
  border-left:none;
  padding:24px 30px;
  border-top:1px solid rgba(15,15,15,.12);
  border-bottom:1px solid rgba(15,15,15,.12);
}

@media(max-width:820px){
  .bp-authority{grid-template-columns:1fr;gap:36px;max-width:520px;margin:0 auto;}
}

/* ---------- 3D Book (cover column of hero) ----------------------- */
.bp-book-stage{
  perspective:2400px;
  perspective-origin:60% 50%;
  padding:40px 8px 60px;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
}
.bp-book{
  --w:380px;
  --h:538px;                          /* aspect ~ 636x900 cover */
  --d:34px;                           /* book thickness */
  width:var(--w);
  height:var(--h);
  position:relative;
  transform-style:preserve-3d;
  transform:rotateY(-22deg) rotateX(4deg);
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.bp-book:hover{ transform:rotateY(-12deg) rotateX(2deg); }

.bp-book-face{ position:absolute; top:0; left:0; }

/* Front cover (the image) */
.bp-book-front{
  width:var(--w); height:var(--h);
  transform:translateZ(calc(var(--d) / 2));
  overflow:hidden;
  border-radius:2px 4px 4px 2px;
  box-shadow:
    inset 6px 0 14px rgba(0,0,0,.32),   /* darker near the spine */
    inset -1px 0 0 rgba(255,255,255,.05),
    0 30px 40px rgba(0,0,0,.35),
    0 12px 24px rgba(0,0,0,.22);
}
.bp-book-front img{
  width:100%; height:100%;
  display:block; object-fit:cover;
  border-radius:inherit;
}

/* Back cover — same navy as the front cover artwork */
.bp-book-back{
  width:var(--w); height:var(--h);
  transform:translateZ(calc(var(--d) / -2)) rotateY(180deg);
  background:#0a1424;
  border-radius:4px 2px 2px 4px;
}

/* Spine — left side face */
.bp-book-spine{
  width:var(--d); height:var(--h);
  left:0;
  transform:translateX(calc(var(--d) / -2)) rotateY(-90deg);
  background:linear-gradient(90deg,#050b17 0%,#0a1424 55%,#040911 100%);
  box-shadow:inset 0 0 6px rgba(0,0,0,.45);
}

/* Fore-edge (page stack) — right side face */
.bp-book-pages{
  width:var(--d); height:calc(var(--h) - 4px);
  top:2px; right:0;
  transform:translateX(calc(var(--d) / 2)) rotateY(90deg);
  background:
    linear-gradient(90deg,rgba(0,0,0,.22) 0%,transparent 25%,transparent 75%,rgba(0,0,0,.22) 100%),
    repeating-linear-gradient(to bottom,
      #f7f0e2 0px,#f7f0e2 1px,
      #e5dbc7 1px,#e5dbc7 2px);
  box-shadow:inset 0 0 4px rgba(0,0,0,.15);
}

/* Top edge (thin strip of pages sandwiched between the two covers) */
.bp-book-top{
  width:var(--w); height:var(--d);
  top:0; left:0;
  transform:translateY(calc(var(--d) / -2)) rotateX(90deg);
  background:linear-gradient(to right,
    #050b17 0%,#050b17 4%,
    #f0e8d5 4%,#f7f0e2 50%,#f0e8d5 96%,
    #050b17 96%);
  box-shadow:inset 0 0 3px rgba(0,0,0,.2);
}

/* Bottom edge */
.bp-book-bottom{
  width:var(--w); height:var(--d);
  bottom:0; left:0;
  transform:translateY(calc(var(--d) / 2)) rotateX(-90deg);
  background:linear-gradient(to right,
    #050b17 0%,#050b17 4%,
    #ede4ce 4%,#f5eddc 50%,#ede4ce 96%,
    #050b17 96%);
  box-shadow:inset 0 0 3px rgba(0,0,0,.2);
}

/* Soft floor shadow beneath the whole book */
.bp-book-shadow{
  position:absolute;
  bottom:-6px; left:12%; right:12%;
  height:26px;
  background:radial-gradient(ellipse at center,rgba(0,0,0,.42) 0%,rgba(0,0,0,.16) 40%,transparent 72%);
  filter:blur(8px);
  z-index:-1;
  pointer-events:none;
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce){
  .bp-book{ transition:none; }
  .bp-book:hover{ transform:rotateY(-22deg) rotateX(4deg); }
}

/* ---------- Form -------------------------------------------------- */
.bp-form{background:#fff;border:1px solid rgba(15,15,15,.09);border-radius:6px;padding:22px;box-shadow:0 24px 48px rgba(15,15,15,.06),0 4px 12px rgba(15,15,15,.04);margin-top:8px;}
.bp-form-title{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin:0 0 14px;display:flex;align-items:center;gap:8px;}
.bp-form-title::before{content:"";width:22px;height:2px;background:var(--orange);}
.bp-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.bp-field label{font-size:.78rem;font-weight:600;color:var(--ink);}
.bp-field input{font-family:'Outfit',sans-serif;font-size:1rem;padding:14px 15px;border:1.5px solid rgba(15,15,15,.15);border-radius:3px;background:#fff;color:var(--ink);transition:border-color .14s,box-shadow .14s;-webkit-appearance:none;}
.bp-field input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,43,.16);}
.bp-field.invalid input{border-color:#c93737;background:#fff9f8;}
.bp-error{font-size:.78rem;color:#c93737;font-weight:600;display:none;}
.bp-field.invalid .bp-error{display:block;}
.bp-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
.bp-submit{width:100%;justify-content:center;background:var(--orange);color:#fff;border:none;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.02rem;letter-spacing:.01em;padding:17px 22px;border-radius:3px;cursor:pointer;transition:background .14s,transform .14s,box-shadow .14s;box-shadow:0 8px 22px rgba(255,107,43,.32);display:inline-flex;align-items:center;gap:9px;}
.bp-submit:hover:not(:disabled){background:var(--orange-dk);transform:translateY(-1px);box-shadow:0 12px 28px rgba(255,107,43,.42);}
.bp-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.bp-submit .spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:bpspin .8s linear infinite;}
.bp-submit.loading .label{opacity:.5;}
.bp-submit.loading .spinner{display:inline-block;}
@keyframes bpspin{to{transform:rotate(360deg);}}
.bp-privacy{font-size:.72rem;color:var(--muted);margin:12px 0 0;line-height:1.55;}
.bp-privacy a{color:var(--body);text-decoration:underline;}
.bp-form-alert{display:none;margin-top:12px;padding:10px 12px;border-radius:3px;background:#fff2ee;border:1px solid rgba(201,55,55,.35);color:#8a2323;font-size:.83rem;font-weight:600;}
.bp-form-alert.show{display:block;}

/* ---------- Generic section shell (reused throughout) ------------- */
.bp-sec{padding:80px 0;}
.bp-sec .bp-inner{max-width:960px;margin:0 auto;padding:0 32px;}
.bp-sec--cream{background:var(--cream2);border-top:1px solid var(--faint);border-bottom:1px solid var(--faint);}
.bp-sec--dark{background:#0f0f10;color:#f5efe6;}
.bp-sec--dark .bp-eyebrow{color:rgba(255,255,255,.28);}
.bp-sec--dark h2{color:#fff;}

.bp-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.bp-eyebrow::before{content:"";width:22px;height:2px;background:var(--orange);}
.bp-h2{font-family:'Outfit',sans-serif;font-size:clamp(1.7rem,3.3vw,2.55rem);font-weight:900;line-height:1.08;letter-spacing:-.03em;color:var(--ink);margin:0 0 20px;text-wrap:balance;}
.bp-h2 em{font-style:normal;color:var(--orange);}
.bp-lead{font-size:1.05rem;font-weight:400;color:var(--body);line-height:1.72;max-width:640px;}
.bp-lead p{margin:0 0 14px;}
.bp-lead p:last-child{margin-bottom:0;}

/* ---------- Fascination bullets ----------------------------------- */
.bp-bullets{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;}
.bp-bullets li{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:#fff;border:1px solid rgba(15,15,15,.08);border-radius:4px;font-size:1rem;color:var(--ink);font-weight:600;box-shadow:0 2px 6px rgba(15,15,15,.03);}
.bp-bullets .dot{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:rgba(255,107,43,.14);color:var(--orange);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.82rem;}
@media(min-width:820px){.bp-bullets{grid-template-columns:1fr 1fr;}}

/* ---------- Qualification checklist ------------------------------- */
.bp-qual{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;}
.bp-qual li{list-style:none;display:flex;align-items:flex-start;gap:14px;font-size:1.02rem;color:var(--body);line-height:1.5;}
.bp-qual .tick{flex-shrink:0;width:26px;height:26px;background:var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px;box-shadow:0 4px 10px rgba(255,107,43,.28);}

/* ---------- Authority + trust ------------------------------------- */
.bp-trust{margin-top:36px;padding:22px 26px;background:#fff;border-left:4px solid var(--orange);border-radius:2px;font-family:'Fraunces',serif;font-size:1.22rem;font-weight:500;color:var(--ink);line-height:1.4;font-style:italic;}

/* ---------- Final CTA (dark) -------------------------------------- */
.bp-final-cta{background:#0f0f10;color:#fff;padding:88px 0;position:relative;overflow:hidden;}
.bp-final-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at top,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at top,#000 30%,transparent 75%);pointer-events:none;}
.bp-final-cta .bp-inner{max-width:860px;text-align:center;position:relative;padding:0 32px;margin:0 auto;}
.bp-final-cta .bp-eyebrow{color:rgba(255,255,255,.55);justify-content:center;}
.bp-final-cta h2{color:#fff;margin:0 auto 24px;font-size:clamp(1.9rem,3.6vw,2.9rem);max-width:760px;}
.bp-final-cta h2 em{color:var(--orange);}
.bp-final-cta .bp-lead{color:rgba(255,255,255,.72);margin:0 auto 34px;max-width:640px;text-align:center;}
.bp-final-cta .bp-lead p{margin:0 0 14px;}
.bp-final-cta .bp-form{margin:12px auto 0;max-width:620px;background:#161618;border:1px solid rgba(255,255,255,.08);padding:28px 30px;text-align:left;box-shadow:0 30px 60px rgba(0,0,0,.3);}
.bp-final-cta .bp-form-title{color:var(--orange);}
.bp-final-cta .bp-field label{color:#fff;}
.bp-final-cta .bp-field input{background:#0f0f10;color:#fff;border-color:rgba(255,255,255,.14);}
.bp-final-cta .bp-field input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,43,.24);}
.bp-final-cta .bp-privacy{color:rgba(255,255,255,.5);}
.bp-final-cta .bp-privacy a{color:rgba(255,255,255,.85);}
.bp-final-cta .bp-reassure{margin:34px auto 0;max-width:760px;justify-content:center;padding-top:26px;border-top:1px dashed rgba(255,255,255,.18);gap:12px 26px;}
.bp-final-cta .bp-reassure li{color:rgba(255,255,255,.75);font-size:.86rem;}

/* ---------- Footer ------------------------------------------------ */
.bp-foot{background:var(--cream);border-top:1px solid var(--faint);padding:56px 32px 48px;}
.bp-foot-inner{max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;}
.bp-foot-logo{height:28px;width:auto;margin-bottom:6px;opacity:.92;display:block;}
.bp-foot-tagline{font-size:.92rem;color:var(--body);margin:0;line-height:1.55;max-width:520px;}
.bp-foot-address{font-size:.78rem;color:var(--muted);margin:10px 0 0;letter-spacing:.02em;}
.bp-foot-contact{font-size:.82rem;margin:6px 0 0;}
.bp-foot-contact a{color:var(--body);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(15,15,15,.2);padding-bottom:1px;transition:border-color .15s,color .15s;}
.bp-foot-contact a:hover{color:var(--orange);border-color:var(--orange);}
.bp-foot-divider{width:60px;height:1px;background:rgba(15,15,15,.14);margin:20px 0 16px;}
.bp-foot-legal{font-size:.72rem;color:var(--muted);margin:0;line-height:1.7;}
.bp-foot-legal a{color:var(--body);text-decoration:underline;}
.bp-foot-legal a:hover{color:var(--orange);}
@media(max-width:520px){
  .bp-foot{padding:44px 20px 40px;}
  .bp-foot-address{font-size:.74rem;}
}

/* ---------- Thank-you page ---------------------------------------- */
.bp-ty{min-height:calc(100vh - 62px);background:linear-gradient(180deg,var(--cream) 0%,#f2ede4 100%);display:flex;align-items:center;justify-content:center;padding:60px 24px;}
.bp-ty-card{max-width:640px;text-align:center;}
.bp-ty h1{font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(1.9rem,3.6vw,2.7rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin:0 0 22px;text-wrap:balance;}
.bp-ty .success-dot{width:64px;height:64px;background:rgba(255,107,43,.14);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:22px;}
.bp-ty .success-dot svg{color:var(--orange);}
.bp-ty p.confirm{font-size:1.08rem;color:var(--body);line-height:1.7;margin:0 0 28px;}
.bp-ty p.confirm strong{color:var(--ink);}
.bp-ty p.confirm .check-spam{display:inline-block;margin-top:6px;font-size:.88rem;color:var(--muted);font-style:italic;}
.bp-ty .btn-open{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:#fff;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.02rem;padding:17px 30px;border-radius:3px;text-decoration:none;box-shadow:0 12px 28px rgba(255,107,43,.36);transition:transform .14s,box-shadow .14s,background .14s;}
.bp-ty .btn-open:hover{background:var(--orange-dk);transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,107,43,.44);}
.bp-ty .transition{margin-top:48px;padding-top:32px;border-top:1px dashed rgba(15,15,15,.14);}
.bp-ty .transition h2{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.28rem;color:var(--ink);margin:0 0 8px;letter-spacing:-.01em;}
.bp-ty .transition p{color:var(--body);font-size:.98rem;margin:0 0 8px;}
.bp-ty .countdown{font-family:'Outfit',sans-serif;font-weight:700;font-size:.9rem;color:var(--orange);margin:6px 0 0;}
.bp-ty .manual{margin-top:14px;font-size:.83rem;color:var(--muted);}
.bp-ty .manual a{color:var(--orange);font-weight:700;text-decoration:underline;}

/* ---------- Godfather placeholder --------------------------------- */
.gf-placeholder{min-height:calc(100vh - 62px);display:flex;align-items:center;justify-content:center;background:var(--cream);padding:60px 24px;text-align:center;}
.gf-placeholder .box{max-width:560px;}
.gf-placeholder h1{font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(1.8rem,3.4vw,2.4rem);letter-spacing:-.03em;color:var(--ink);margin:0 0 16px;}
.gf-placeholder p{color:var(--body);font-size:1rem;line-height:1.6;margin:0 0 12px;}
.gf-placeholder .home-link{display:inline-block;margin-top:22px;color:var(--orange);font-weight:700;text-decoration:underline;}

/* =====================================================================
   MOBILE (97% of traffic).  Mobile-first cascade, largest -> smallest.
   ================================================================== */

/* ---------- Tablet / large phone (<=980px) ------------------------ */
@media(max-width:980px){
  .bp-hero-grid{grid-template-columns:1fr;gap:24px;text-align:left;}
  .bp-hero-left{max-width:none;margin:0 auto;width:100%;}
  .bp-book-stage{margin:0 auto;padding:8px 0 20px;}
  .bp-book{--w:280px;--h:396px;--d:26px;}
  .bp-sec{padding:60px 0;}
  .bp-authority{grid-template-columns:1fr;gap:32px;max-width:520px;margin:0 auto;}
  .bp-inner--wide{padding:0 24px;}
}

/* ---------- Phone (<=640px) --------------------------------------- */
@media(max-width:640px){
  /* NAV — smaller side padding, hide the wide chip below 640px */
  .bp-nav-inner{padding:0 18px;height:56px;}
  .bp-nav-logo img{height:26px;}
  .bp-nav-badge{display:none;}
  .bp-nav-spacer{height:56px;}

  /* HERO — form first on mobile, book below as proof */
  .bp-hero{padding:28px 0 40px;}
  .bp-hero::before{display:none;}                  /* drop grid texture, feels lighter */
  .bp-hero-inner{padding:0 18px;}
  .bp-hero-grid{gap:20px;}
  .bp-book-stage{order:5;padding:12px 0 0;}         /* book AFTER copy+form on mobile */
  .bp-book{--w:220px;--h:311px;--d:22px;transform:rotateY(-16deg) rotateX(2deg);}
  .bp-book:hover{transform:rotateY(-10deg) rotateX(1deg);}

  /* Headline sizing */
  .bp-eyebrow--warn{font-size:.68rem;padding:5px 10px;margin-bottom:16px;}
  .bp-h1{font-size:clamp(1.85rem,7.5vw,2.4rem);line-height:1.05;margin:0 0 16px;}
  .bp-sub{font-size:1rem;line-height:1.55;margin:0 0 22px;}
  .bp-sub strong.hi{padding:1px 5px;}

  /* FORM — tighter padding, bigger tap targets */
  .bp-form{padding:18px 16px;border-radius:5px;margin-top:6px;}
  .bp-form-title{font-size:.68rem;margin-bottom:12px;}
  .bp-field{margin-bottom:10px;}
  .bp-field label{font-size:.76rem;}
  .bp-field input{font-size:16px;padding:14px 14px;}    /* 16px prevents iOS zoom */
  .bp-submit{font-size:.95rem;padding:16px 18px;letter-spacing:0;}
  .bp-privacy{font-size:.72rem;line-height:1.5;}

  /* Reassurance strip — tighter, wraps neatly */
  .bp-reassure{gap:8px 16px;margin-top:14px;}
  .bp-reassure li{font-size:.78rem;}

  /* SECTIONS — consistent side padding, tighter vertical */
  .bp-sec{padding:48px 0;}
  .bp-sec .bp-inner,.bp-inner--wide{padding:0 20px;}
  .bp-eyebrow{font-size:.68rem;}
  .bp-h2{font-size:clamp(1.55rem,6.5vw,2rem);line-height:1.12;}
  .bp-lead{font-size:1rem;line-height:1.65;}

  /* Fascination bullets — single column, cleaner spacing */
  .bp-fasc li{font-size:1rem;padding:15px 2px;gap:12px;}
  .bp-fasc-arrow{width:18px;height:18px;}

  /* Qualification list */
  .bp-qual li{font-size:.98rem;gap:12px;}
  .bp-qual .tick{width:24px;height:24px;}

  /* Authority (Mark photo) — narrower photo, badge lower */
  .bp-authority{max-width:none;gap:24px;}
  .bp-author-photo{max-width:320px;margin:0 auto;width:100%;}
  .bp-author-badge{bottom:-14px;left:12px;padding:9px 14px;}
  .bp-author-badge p{font-size:.78rem;}
  .bp-author-badge span{font-size:.68rem;}
  .bp-author-copy .bp-h2{font-size:clamp(1.55rem,6.5vw,2rem);}
  .bp-trust--full{margin-top:36px;font-size:1.1rem;padding:20px 4px;}

  /* Final CTA (dark) — big touch target form, centered stack */
  .bp-final-cta{padding:56px 0;}
  .bp-final-cta .bp-inner{padding:0 20px;}
  .bp-final-cta h2{font-size:clamp(1.65rem,6.8vw,2.1rem);margin-bottom:18px;}
  .bp-final-cta .bp-lead{font-size:1rem;margin-bottom:24px;}
  .bp-final-cta .bp-form{padding:20px 16px;margin-top:6px;}
  .bp-final-cta .bp-reassure{margin-top:28px;padding-top:22px;gap:8px 16px;}
  .bp-final-cta .bp-reassure li{font-size:.78rem;}

  /* Footer */
  .bp-foot{padding:40px 20px 36px;}
  .bp-foot-tagline{font-size:.86rem;}
  .bp-foot-address{font-size:.72rem;line-height:1.55;}
  .bp-foot-contact{font-size:.78rem;}
  .bp-foot-legal{font-size:.68rem;}
}

/* ---------- Very small phones (<=380px, e.g. iPhone SE) ----------- */
@media(max-width:380px){
  .bp-nav-inner{padding:0 14px;}
  .bp-hero-inner{padding:0 14px;}
  .bp-sec .bp-inner,.bp-inner--wide{padding:0 14px;}
  .bp-h1{font-size:1.75rem;}
  .bp-book{--w:200px;--h:283px;--d:20px;}
  .bp-form{padding:16px 14px;}
  .bp-final-cta .bp-inner{padding:0 14px;}
  .bp-final-cta .bp-form{padding:18px 14px;}
  .bp-fasc li{font-size:.95rem;}
}

/* ---------- Accessibility: respect reduced motion ---------------- */
@media (prefers-reduced-motion: reduce){
  .bp-submit .spinner{animation:none;}
  *{scroll-behavior:auto !important;}
}

/* ---------- Focus states (accessibility) ------------------------- */
.bp-submit:focus-visible,.bp-field input:focus-visible,.bp-ty .btn-open:focus-visible,.bp-privacy a:focus-visible{outline:3px solid #0f0f10;outline-offset:2px;}
.bp-final-cta .bp-submit:focus-visible{outline-color:#fff;}

/* Screen-reader-only helper */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
