/* Start custom CSS *//* ---- the full diary plan landing page ---------------------------------- */
.fdp-hero, .fdp-cta{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.fdp-wrap{ max-width:1000px; margin:0 auto; padding:0 24px; }
.fdp-hero{ background:linear-gradient(160deg,#111C33 0%,#0F172A 60%,#0B1220 100%); color:#FAF7F2; padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.25rem,5vw,3.25rem); overflow:hidden; }
.fdp-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:36px; align-items:center; }
.fdp-crumb{ font:600 .8125rem/1.6 Poppins,sans-serif; color:#93A3BE; margin:0 0 1rem; }
.fdp-crumb a{ color:#93A3BE; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.22); }
.fdp h1{ font:800 clamp(2.375rem,6vw,4rem)/1.02 Poppins,sans-serif; letter-spacing:-.035em; margin:0 0 .75rem; color:#FAF7F2; }
.fdp-sub{ font:700 clamp(1.125rem,2.2vw,1.5rem)/1.35 Poppins,sans-serif; color:#FFC700; margin:0 0 1rem; max-width:40ch; }
.fdp-lede{ font:400 clamp(1.0625rem,1.8vw,1.25rem)/1.6 Poppins,sans-serif; color:#C7CEDB; margin:0 0 1.5rem; max-width:56ch; }
.fdp-btn{ display:inline-block; background:#FFC700; color:#0F172A !important; font:800 1.0625rem/1 Poppins,sans-serif; padding:1.125rem 1.875rem; border-radius:999px; text-decoration:none; border:0 !important; box-shadow:0 10px 26px rgba(255,199,0,.34); }
.fdp-btn:hover{ background:#E0AE00; }
.fdp-fine{ font:600 .8125rem/1.6 Poppins,sans-serif; color:#93A3BE; margin:1rem 0 0; }
.fdp-hero-art{ text-align:center; }
.fdp .fdp-mascot{ width:270px !important; max-width:100% !important; height:auto !important; display:inline-block; margin:0 !important; }
.fdp-body{ padding-top:clamp(1.5rem,3.5vw,2.5rem); padding-bottom:clamp(2rem,4vw,3rem); }
.fdp-body p{ font:400 1.0625rem/1.7 Poppins,sans-serif; color:#33394A; margin:0 0 1.125rem; }
.fdp h2{ font:800 clamp(1.5rem,3vw,2.125rem)/1.18 Poppins,sans-serif; letter-spacing:-.022em; color:#0F172A; margin:2.5rem 0 .875rem; text-wrap:balance; }
.fdp h3{ font:800 1.0625rem/1.35 Poppins,sans-serif; color:#0F172A; margin:0 0 .375rem; }
.fdp-body p a{ color:#0B6FA4; font-weight:600; text-decoration:none; border-bottom:2px solid rgba(56,189,248,.35); }
.fdp-pains, .fdp-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:1rem 0 1.25rem; }
.fdp-pain{ background:#FEF3F2; border:1px solid #F4C7C3; border-radius:14px; padding:1.125rem 1.125rem .25rem; }
.fdp-item{ background:#fff; border:1px solid rgba(15,23,42,.10); border-top:4px solid #FFC700; border-radius:14px; padding:1.125rem 1.125rem .25rem; }
.fdp-body .fdp-pain p, .fdp-body .fdp-item p{ font-size:.9688rem; line-height:1.6; color:#4E5462; }
.fdp-steps{ list-style:none; counter-reset:fdpstep; margin:1rem 0 1.25rem; padding:0; display:grid; gap:12px; }
.fdp-steps li{ counter-increment:fdpstep; position:relative; background:#F4F7FA; border-radius:14px; padding:1.125rem 1.25rem .25rem 4.25rem; }
.fdp-steps li::before{ content:counter(fdpstep); position:absolute; left:1.125rem; top:1.125rem; width:2.25rem; height:2.25rem; border-radius:50%; background:#0F172A; color:#FFC700; font:800 1rem/2.25rem Poppins,sans-serif; text-align:center; }
.fdp-body p.fdp-label{ font:800 .8125rem/1.4 Poppins,sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#8A6100; margin:0 0 .5rem; }
.fdp-extras{ background:#0F172A; border-radius:14px; padding:1.125rem 1.25rem .5rem; }
.fdp-body .fdp-extras p.fdp-label{ color:#FFC700; }
.fdp-extras ul{ margin:0; padding:0 0 0 1.125rem; }
.fdp-extras li{ font:400 1rem/1.6 Poppins,sans-serif; color:#C7CEDB; margin:0 0 .625rem; }
.fdp-extras li b{ color:#FAF7F2; }
.fdp-price{ background:#FFFDF4; border:1px solid #F2E3A6; border-left:6px solid #FFC700; border-radius:16px; padding:1.25rem 1.5rem .5rem; }
.fdp-price-num{ font:600 1.125rem/1.2 Poppins,sans-serif; color:#33394A; margin:0 0 .75rem; }
.fdp-price-num span{ font:800 clamp(2.25rem,5vw,3rem)/1 Poppins,sans-serif; color:#0F172A; letter-spacing:-.03em; margin-right:.25rem; }
.fdp-body p.fdp-small{ font-size:.875rem; color:#5C6475; }
.fdp-guar{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.fdp-g{ background:#fff; border:1px solid rgba(15,23,42,.10); border-radius:16px; padding:1.25rem 1.25rem .375rem; }
.fdp-for{ margin:0 0 1.25rem; padding:0 0 0 1.25rem; }
.fdp-for li{ font:400 1.0625rem/1.65 Poppins,sans-serif; color:#33394A; margin:0 0 .5rem; }
.fdp-faq details{ border:1px solid rgba(15,23,42,.10); border-radius:12px; margin-bottom:.625rem; background:#fff; }
.fdp-faq summary{ font:700 1rem/1.45 Poppins,sans-serif; color:#0F172A; cursor:pointer; padding:.9375rem 2.75rem .9375rem 1.125rem; list-style:none; position:relative; }
.fdp-faq summary::-webkit-details-marker{ display:none; }
.fdp-faq summary::after{ content:"+"; position:absolute; right:1rem; top:.75rem; font-size:1.375rem; color:#8A6100; font-weight:700; }
.fdp-faq details[open] summary::after{ content:"\2013"; }
.fdp-faq .a{ font:400 .9688rem/1.66 Poppins,sans-serif; color:#4E5462; padding:0 1.125rem 1.125rem; }
.fdp-cta{ background:#0F172A; color:#FAF7F2; padding:clamp(2.5rem,5vw,3.5rem) 0; text-align:center; margin-top:2.5rem; }
.fdp-cta h2{ color:#FAF7F2; margin:0 0 .625rem; }
.fdp-cta p{ font:400 1.0625rem/1.65 Poppins,sans-serif; color:#C7CEDB; max-width:50ch; margin:0 auto 1.5rem; }
@media (max-width:820px){
  .fdp-hero-grid{ grid-template-columns:1fr; }
  .fdp-hero-art{ order:-1; text-align:left; }
  .fdp .fdp-mascot{ width:150px !important; }
  .fdp-pains, .fdp-grid, .fdp-guar{ grid-template-columns:1fr; }
}

/* FIX: stop the headline leaving one word on its own line on phones now Poppins loads */
.fdp h1{ text-wrap:balance; }/* End custom CSS */