/* =========================================================
   Precision Rally — shared stylesheet
   Cheer coaching & consulting. Hot-pink / blush / gold identity.
   Fonts: Playfair Display (display), Dancing Script (script), Poppins (body)
   ========================================================= */

:root{
  --cream:#FFF6F8;
  --panel:#FFFFFF;
  --hotpink:#E6247E;
  --hotpink-deep:#C41166;
  --blush:#FBD3E2;
  --blush-deep:#F7B9D2;
  --ink:#2B1720;
  --black:#181113;
  --gold:#C79A3A;
  --line:#F4C6DA;
  --muted:#8a6070;
  --nav-h:64px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% 6%, var(--blush) 0%, transparent 30%),
    radial-gradient(circle at 94% 4%, var(--blush) 0%, transparent 28%),
    radial-gradient(circle at 90% 92%, var(--blush) 0%, transparent 26%),
    var(--cream);
  background-attachment:fixed;
  color:var(--ink);
  font-family:'Poppins',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}

.wrap{max-width:640px;margin:0 auto;padding:0 18px;position:relative;}
@media(min-width:760px){ .wrap{max-width:960px;padding:0 24px;} }

/* ---------- Decorative bits ---------- */
.sparkle{ position:absolute; color:var(--gold); font-size:18px; line-height:1; pointer-events:none; }
.sparkle.small{font-size:12px;}
.bow{ position:absolute; width:54px; height:41px; pointer-events:none; }
@media(min-width:760px){ .bow{width:74px;height:56px;} }
.bow svg{ width:100%; height:100%; display:block; }

/* ---------- Nav ---------- */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(255,246,248,.82);
  -webkit-backdrop-filter:saturate(160%) blur(12px);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:960px; margin:0 auto; padding:0 18px;
  min-height:var(--nav-h);
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
@media(min-width:760px){ .nav-inner{padding:0 24px;} }
.nav-brand{
  font-family:'Playfair Display',serif; font-weight:700; font-size:20px; text-decoration:none;
  color:var(--ink); letter-spacing:.01em; white-space:nowrap; flex-shrink:0;
}
.nav-brand .b-script{ font-family:'Dancing Script',cursive; color:var(--hotpink); font-size:1.15em; margin-left:.12em; }
.nav-links{ display:none; list-style:none; margin:0; padding:0; gap:16px; align-items:center; flex-shrink:0; }
.nav-links a{
  text-decoration:none; font-size:13px; font-weight:600; color:var(--ink);
  padding:6px 2px; border-bottom:2px solid transparent;
}
.nav-links a:hover{ color:var(--hotpink-deep); }
.nav-links a.active{ color:var(--hotpink-deep); border-bottom-color:var(--hotpink); }
.nav-cta{
  display:none; text-decoration:none; background:linear-gradient(135deg,var(--hotpink),var(--hotpink-deep));
  color:#fff; font-weight:700; font-size:12.5px; padding:9px 16px; border-radius:999px;
  box-shadow:0 8px 16px -8px rgba(196,17,102,.6); white-space:nowrap; flex-shrink:0;
}
.nav-cta:hover{filter:brightness(1.06);}
.nav-toggle{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border:1.5px solid var(--line); border-radius:10px;
  background:var(--panel); color:var(--hotpink-deep); font-size:20px; cursor:pointer;
}
@media(min-width:1024px){
  .nav-links{display:flex;}
  .nav-cta{display:inline-block;}
  .nav-toggle{display:none;}
}
.mobile-drawer{
  display:none; border-top:1px solid var(--line);
  background:rgba(255,246,248,.97);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
}
.mobile-drawer.open{display:block;}
.mobile-drawer ul{ list-style:none; margin:0; padding:10px 18px 18px; display:flex; flex-direction:column; gap:2px; }
.mobile-drawer li{ display:block; }
.mobile-drawer a{
  display:block;
  text-decoration:none; font-size:15px; font-weight:600; color:var(--ink);
  padding:12px 6px; border-bottom:1px dashed var(--line);
}
.mobile-drawer a.active{ color:var(--hotpink-deep); }
.mobile-drawer .drawer-cta{
  margin-top:12px; text-align:center; background:linear-gradient(135deg,var(--hotpink),var(--hotpink-deep));
  color:#fff; border-radius:999px; padding:14px; border-bottom:none;
}
@media(min-width:1024px){ .mobile-drawer{display:none !important;} }

/* ---------- Hero (home) ---------- */
header.hero{ position:relative; text-align:center; padding:52px 18px 38px; overflow:hidden; }
@media(min-width:760px){ header.hero{padding:64px 24px 46px;} }
header.hero .bow.left{ top:10px; left:2%; transform:rotate(-12deg); }
header.hero .bow.right{ top:6px; right:2%; transform:rotate(14deg) scaleX(-1); }
header.hero .sparkle.s1{ top:14px; left:16%; }
header.hero .sparkle.s2{ top:50px; right:18%; font-size:14px; }
header.hero .sparkle.s3{ bottom:6px; left:26%; font-size:13px; }

.eyebrow{ letter-spacing:.24em; text-transform:uppercase; font-size:11px; font-weight:600; color:var(--hotpink-deep); }
@media(min-width:760px){ .eyebrow{font-size:12px;letter-spacing:.3em;} }
h1.wordmark{ margin:10px 0 0; font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(36px,11vw,72px); line-height:1; }
h1.wordmark .precision{ color:var(--hotpink); -webkit-text-stroke: 0.4px var(--hotpink-deep); }
h1.wordmark .script{ font-family:'Dancing Script',cursive; font-weight:700; color:var(--ink); font-size:1.15em; margin-left:.14em; }
.rule-label{ display:flex;align-items:center;gap:12px;justify-content:center;margin-top:14px; }
.rule-label .line{ height:1px;width:34px;background:var(--gold);}
.rule-label span.txt{ letter-spacing:.32em; text-transform:uppercase; font-size:12px; font-weight:600; color:var(--ink); }
.tagline{ margin-top:14px; font-size:12.5px; letter-spacing:.05em; color:var(--hotpink-deep); }
.tagline b{color:var(--gold);}
.hero-cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px; }
.btn{
  text-decoration:none; font-weight:700; font-size:13.5px; padding:13px 24px; border-radius:999px;
  min-height:46px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
}
.btn-primary{ background:linear-gradient(135deg,var(--hotpink),var(--hotpink-deep)); color:#fff; box-shadow:0 8px 18px -8px rgba(196,17,102,.6); border:none; }
.btn-primary:hover{filter:brightness(1.06);}
.btn-secondary{ background:var(--panel); color:var(--hotpink-deep); border:2px solid var(--blush-deep); }
.btn-secondary:hover{ border-color:var(--hotpink); }

/* ---------- Sub-page hero ---------- */
.subhero{ position:relative; text-align:center; padding:46px 18px 26px; overflow:hidden; }
@media(min-width:760px){ .subhero{padding:56px 24px 30px;} }
.subhero .bow.left{ top:8px; left:3%; transform:rotate(-11deg); }
.subhero .bow.right{ top:8px; right:3%; transform:rotate(11deg) scaleX(-1); }
.subhero h1{
  margin:10px 0 0; font-family:'Playfair Display',serif; font-weight:700;
  font-size:clamp(30px,7vw,48px); line-height:1.05; color:var(--ink);
}
.subhero h1 em{ font-family:'Dancing Script',cursive; font-style:normal; color:var(--hotpink); font-size:1.12em; }
.subhero .lead{ max-width:560px; margin:16px auto 0; font-size:14px; color:var(--muted); line-height:1.6; }

/* ---------- Sections ---------- */
section{padding:36px 0;position:relative;}
@media(min-width:760px){ section{padding:44px 0;} }

.banner-title{
  display:inline-block; background:var(--black); color:#fff; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; font-size:13px; padding:10px 22px;
  border-radius:999px; margin:0 auto 22px; text-align:center;
}
@media(min-width:760px){ .banner-title{font-size:15px;padding:11px 30px;margin-bottom:30px;} }
.banner-wrap{text-align:center;}
.section-sub{ text-align:center; color:var(--muted); font-size:13px; margin-bottom:24px; margin-top:-10px; line-height:1.6; }
.section-head{ text-align:center; margin-bottom:26px; }
.section-head h2{ font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(24px,5vw,34px); margin:0; color:var(--ink); }
.section-head p{ margin:10px auto 0; max-width:560px; font-size:13.5px; color:var(--muted); line-height:1.6; }

/* ---------- Panels / offer items ---------- */
.grid-2{ display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:760px){ .grid-2{grid-template-columns:1fr 1fr;gap:22px;} }
.panel{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:16px; padding:22px 20px;
  box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
.panel h3{ font-family:'Playfair Display',serif; font-size:18px; margin:0 0 12px; color:var(--hotpink); display:flex;align-items:center;gap:8px; }
.item{ display:flex; gap:10px; padding:10px 0; border-bottom:1px dashed var(--line); }
.item:last-child{border-bottom:none;}
.item .mark{ color:var(--gold); font-size:15px; flex:0 0 auto; }
.item h4{margin:0 0 3px;font-size:14.5px;font-weight:600;color:var(--ink);}
.item p{margin:0;font-size:13px;color:var(--muted);}

/* ---------- Service cards (services page) ---------- */
.svc-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:640px){ .svc-grid{grid-template-columns:1fr 1fr;} }
@media(min-width:920px){ .svc-grid{grid-template-columns:1fr 1fr 1fr;} }
.svc-card{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:16px; padding:22px 20px;
  box-shadow:0 10px 24px -14px rgba(196,17,102,.3); position:relative;
}
.svc-card .svc-mark{ color:var(--gold); font-size:20px; }
.svc-card h3{ font-family:'Playfair Display',serif; font-size:19px; margin:10px 0 8px; color:var(--hotpink); }
.svc-card p{ margin:0; font-size:13.5px; color:var(--muted); line-height:1.6; }
.svc-card .svc-link{ display:inline-block; margin-top:14px; font-size:13px; font-weight:700; color:var(--hotpink-deep); text-decoration:none; }
.svc-card .svc-link:hover{ text-decoration:underline; }

/* ---------- Pricing ---------- */
.pricing-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:600px){ .pricing-grid{grid-template-columns:repeat(3,1fr);gap:18px;} }
.price-card{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:16px; padding:20px 18px;
  text-align:center; box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
.price-card::before{ content:"\2726"; color:var(--gold); display:block; font-size:15px; margin-bottom:6px; }
.price-card .duration{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--hotpink-deep); font-weight:700; }
.price-card h4{ font-family:'Playfair Display',serif; font-size:18px; margin:8px 0 2px; color:var(--ink); }
.price-card .amount{ font-size:30px; font-weight:700; color:var(--hotpink); margin:6px 0 2px; }
.price-card .per{ font-size:11.5px; color:var(--muted); font-weight:600; }
.price-footnote{ text-align:center; font-size:12px; color:var(--muted); margin-top:6px; font-style:italic; }
.pricing-note{
  text-align:center; background:var(--blush); border:1px dashed var(--hotpink-deep); color:var(--hotpink-deep);
  font-weight:700; font-size:12.5px; border-radius:12px; padding:10px 14px; max-width:520px; margin:0 auto 22px;
}
.addons{ display:flex; gap:14px; justify-content:center; margin-top:20px; flex-wrap:wrap; }
.addon{ background:var(--blush); border:2px solid var(--blush-deep); border-radius:14px; padding:12px 20px; text-align:center; min-width:150px; }
.addon .amount{color:var(--hotpink-deep);font-weight:700;font-size:18px;}
.addon .label{font-size:12px;color:var(--muted);font-weight:600;}

/* ---------- Calculator ---------- */
.calc-shell{
  margin-top:30px; background:var(--panel); border:2px solid var(--blush-deep); border-radius:18px;
  padding:22px 18px; max-width:520px; margin-left:auto;margin-right:auto;
  box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
@media(min-width:760px){ .calc-shell{padding:28px 30px;} }
.calc-title{ text-align:center; font-family:'Playfair Display',serif; font-weight:700; font-size:18px; color:var(--hotpink); margin-bottom:4px; }
.calc-sub{ text-align:center; font-size:12.5px; color:var(--muted); margin-bottom:18px; }
.calc-days{ display:flex; gap:8px; margin-bottom:22px; }
.calc-day-btn{
  flex:1; background:var(--cream); border:1.5px solid var(--line); border-radius:12px;
  padding:12px 8px; text-align:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:13px;
  color:var(--ink); cursor:pointer; min-height:52px;
}
.calc-day-btn span{ display:block; font-weight:500; font-size:11px; color:var(--muted); margin-top:2px; }
.calc-day-btn.active{ background:var(--hotpink); border-color:var(--hotpink-deep); color:#fff; }
.calc-day-btn.active span{ color:#ffd9e8; }
.calc-slider-row{ margin-bottom:22px; }
.calc-slider-row label{ display:block; font-size:13.5px; font-weight:700; color:var(--hotpink-deep); margin-bottom:10px; }
.calc-slider-row input[type="range"]{ width:100%; accent-color:var(--hotpink); height:32px; cursor:pointer; }
.calc-slider-scale{ display:flex; justify-content:space-between; font-size:11px; color:var(--muted); margin-top:2px; }
.calc-result{ text-align:center; background:var(--blush); border-radius:14px; padding:20px 16px; }
.calc-result-label{ font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--hotpink-deep); }
.calc-result-label .hint{ text-transform:none; font-weight:400; letter-spacing:0; }
.calc-result-amount{ font-family:'Playfair Display',serif; font-size:40px; font-weight:700; color:var(--hotpink); margin:6px 0; }
.calc-result-note{ font-size:12px; color:var(--muted); line-height:1.5; max-width:380px; margin:0 auto; }

/* ---------- Facts / credentials ---------- */
.facts-shell{ position:relative; padding:6px 0 16px; }
.facts-shell .bow.left{ top:4px; left:2%; transform:rotate(-10deg); }
.facts-shell .bow.right{ top:4px; right:2%; transform:rotate(10deg) scaleX(-1); }
.facts-script{ text-align:center; font-family:'Dancing Script',cursive; font-weight:700; font-size:28px; color:var(--hotpink); margin-bottom:20px; }
@media(min-width:760px){ .facts-script{font-size:34px;} }
.facts-panel{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:18px; padding:22px 24px;
  max-width:560px; margin:0 auto; box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
.facts-list{list-style:none;margin:0;padding:0;}
.facts-list li{ display:flex;align-items:center;gap:10px; padding:9px 2px; border-bottom:1px dashed var(--line); font-size:13.5px; }
.facts-list li:last-child{border-bottom:none;}
.facts-list .star{color:var(--gold);font-size:15px;flex:0 0 auto;}

/* ---------- Prose (about) ---------- */
.prose{ max-width:620px; margin:0 auto; }
.prose p{ font-size:14.5px; line-height:1.75; color:var(--ink); margin:0 0 16px; }
.prose p:last-child{margin-bottom:0;}
.prose .drop{ font-family:'Playfair Display',serif; }

/* ---------- Testimonials ---------- */
.tmt-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:720px){ .tmt-grid{grid-template-columns:1fr 1fr;} }
.tmt-card{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:16px; padding:22px 20px;
  box-shadow:0 10px 24px -14px rgba(196,17,102,.3); display:flex; flex-direction:column;
}
.tmt-stars{ color:var(--gold); font-size:15px; letter-spacing:2px; margin-bottom:10px; }
.tmt-quote{ font-size:14px; line-height:1.65; color:var(--ink); margin:0 0 16px; font-style:italic; }
.tmt-quote::before{ content:"\201C"; font-family:'Playfair Display',serif; color:var(--blush-deep); font-size:34px; line-height:0; vertical-align:-8px; margin-right:2px; }
.tmt-by{ margin-top:auto; font-size:12.5px; font-weight:700; color:var(--hotpink-deep); }
.tmt-by span{ display:block; font-weight:500; color:var(--muted); font-size:11.5px; margin-top:2px; }

/* ---------- FAQ ---------- */
.faq-list{ max-width:640px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq{ background:var(--panel); border:2px solid var(--blush-deep); border-radius:14px; overflow:hidden; box-shadow:0 10px 24px -16px rgba(196,17,102,.3); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; color:var(--ink);
  padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:54px;
}
.faq-q .chev{ color:var(--hotpink); font-size:18px; transition:transform .25s ease; flex:0 0 auto; }
.faq.open .faq-q .chev{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq.open .faq-a{ max-height:420px; }
.faq-a p{ margin:0; padding:0 18px 18px; font-size:13.5px; color:var(--muted); line-height:1.65; }

/* ---------- Form ---------- */
.form-shell{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:18px;
  padding:24px 18px; box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
@media(min-width:760px){ .form-shell{padding:32px 28px;} }
.form-row{margin-bottom:16px;}
.form-row label{ display:block; font-size:13px; font-weight:700; margin-bottom:6px; color:var(--hotpink-deep); }
.form-row .hint{ font-size:11.5px; color:var(--muted); font-weight:400; display:block; margin-top:2px; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="date"],
.form-row select,
.form-row textarea{
  width:100%; padding:13px 14px; border:1.5px solid var(--line); border-radius:10px;
  font-family:'Poppins',sans-serif; font-size:16px; background:#fffafc; color:var(--ink); min-height:48px;
}
.form-row textarea{min-height:88px;resize:vertical;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{ outline:2px solid var(--hotpink); outline-offset:1px; }
.checkbox-grid{ display:grid; grid-template-columns:1fr; gap:8px; }
@media(min-width:560px){ .checkbox-grid{grid-template-columns:1fr 1fr;} }
.checkbox-grid label{
  display:flex;align-items:center;gap:10px; font-weight:400;font-size:13.5px; color:var(--ink);
  background:var(--cream); border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; min-height:44px;
}
.checkbox-grid input{accent-color:var(--hotpink);width:18px;height:18px;flex:0 0 auto;}
.form-grid-2{ display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:560px){ .form-grid-2{grid-template-columns:1fr 1fr;gap:16px;} }

.service-dd-grid{ display:flex;flex-direction:column;gap:10px; }
.service-item{ background:var(--cream); border:1.5px solid var(--line); border-radius:12px; overflow:hidden; }
.service-dd{ display:flex;align-items:center;justify-content:space-between;gap:12px; padding:12px 14px; flex-wrap:wrap; }
.service-dd span{font-size:13.5px;font-weight:600;color:var(--ink);}
.service-dd input.service-select{ width:28px;height:28px;flex:0 0 auto; accent-color:var(--hotpink); cursor:pointer; }
.service-detail{ padding:2px 14px 16px; border-top:1px dashed var(--line); margin-top:2px; }
.service-detail .form-row{margin-bottom:12px;}
.service-detail .form-row:last-child{margin-bottom:0;}
.service-detail .form-grid-2{margin-bottom:0;}

.step2-panel{ display:none; margin-top:22px; padding-top:20px; border-top:2px dashed var(--blush-deep); }
.step2-panel.open{display:block;}
.step2-label{
  display:inline-flex;align-items:center;gap:8px; background:var(--hotpink); color:#fff; font-weight:700;
  font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:8px 16px; border-radius:999px; margin-bottom:14px;
}
.step2-note{ font-size:12.5px; color:var(--muted); margin-bottom:16px; line-height:1.5; }
.addon-box{ background:var(--blush); border:1.5px dashed var(--hotpink-deep); border-radius:12px; padding:16px 16px; margin-bottom:16px; }
.addon-box label.title{ margin-bottom:4px; }
.addon-box .hint{ margin-bottom:12px; }

.submit-btn{
  background:linear-gradient(135deg,var(--hotpink),var(--hotpink-deep)); color:#fff; border:none; padding:15px 24px;
  border-radius:30px; font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; letter-spacing:.02em;
  cursor:pointer; display:block; width:100%; margin:8px auto 0; box-shadow:0 8px 18px -8px rgba(196,17,102,.6); min-height:50px;
}
@media(min-width:560px){ .submit-btn{width:auto;padding:14px 32px;} }
.submit-btn:hover{filter:brightness(1.06);}
.confirm-msg{ display:none; text-align:center; background:var(--blush); color:var(--hotpink-deep); border-radius:12px; padding:14px; margin-top:16px; font-size:13.5px; font-weight:700; }

/* ---------- Contact info ---------- */
.contact-split{ display:grid; grid-template-columns:1fr; gap:22px; align-items:start; }
@media(min-width:820px){ .contact-split{grid-template-columns:0.85fr 1.15fr;} }
.contact-card{
  background:var(--panel); border:2px solid var(--blush-deep); border-radius:18px; padding:24px 22px;
  box-shadow:0 10px 24px -14px rgba(196,17,102,.3);
}
.contact-card h3{ font-family:'Playfair Display',serif; font-size:20px; margin:0 0 14px; color:var(--hotpink); }
.contact-line{ display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px dashed var(--line); font-size:14px; }
.contact-line:last-child{border-bottom:none;}
.contact-line .ic{ color:var(--gold); font-size:16px; }
.contact-line a{ color:var(--hotpink-deep); text-decoration:none; font-weight:600; }
.contact-line a:hover{ text-decoration:underline; }

/* ---------- CTA banner ---------- */
.cta-banner{ text-align:center; }
.cta-inner{
  background:linear-gradient(135deg,var(--hotpink),var(--hotpink-deep)); color:#fff;
  border-radius:22px; padding:38px 24px; box-shadow:0 18px 34px -20px rgba(196,17,102,.7); position:relative; overflow:hidden;
}
.cta-inner h2{ font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(22px,4.5vw,30px); margin:0 0 8px; }
.cta-inner h2 em{ font-family:'Dancing Script',cursive; font-style:normal; }
.cta-inner p{ margin:0 auto 20px; max-width:440px; font-size:13.5px; opacity:.92; line-height:1.6; }
.cta-inner .btn-white{ background:#fff; color:var(--hotpink-deep); }
.cta-inner .btn-white:hover{ filter:brightness(.98); }

/* ---------- Divider ---------- */
.divider{ display:flex;align-items:center;gap:10px; justify-content:center; margin:6px auto 30px; }
.divider .d-line{height:1px;width:90px;background:repeating-linear-gradient(90deg,var(--gold) 0 6px, transparent 6px 12px);}
.divider .d-star{color:var(--gold);font-size:13px;}

/* ---------- Footer ---------- */
footer.site-footer{ position:relative; margin-top:20px; border-top:1px solid var(--line); padding:34px 18px 46px; }
.footer-inner{ max-width:960px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:22px; text-align:center; }
@media(min-width:720px){ .footer-inner{grid-template-columns:1.2fr 1fr 1fr; text-align:left;} }
.footer-brand .fb-word{ font-family:'Playfair Display',serif; font-weight:700; font-size:22px; color:var(--ink); }
.footer-brand .fb-word .b-script{ font-family:'Dancing Script',cursive; color:var(--hotpink); font-size:1.15em; margin-left:.1em; }
.footer-brand p{ margin:10px 0 0; font-size:12.5px; color:var(--muted); line-height:1.6; max-width:280px; margin-inline:auto; }
@media(min-width:720px){ .footer-brand p{margin-inline:0;} }
.footer-col h4{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--hotpink-deep); margin:0 0 12px; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.footer-col a{ text-decoration:none; font-size:13px; color:var(--ink); }
.footer-col a:hover{ color:var(--hotpink-deep); }
.footer-bottom{ max-width:960px; margin:26px auto 0; padding-top:18px; border-top:1px dashed var(--line); text-align:center; font-size:11px; color:var(--muted); }

/* ---------- Scroll reveal ---------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.reveal.visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .faq-a{transition:none;}
  .faq-q .chev{transition:none;}
}
