/* myDinnerPlan printable planner landing page v2. All classes prefixed pp-. */
.pp-page{--pp-terra:#c45a2c;--pp-terra-d:#a94a22;--pp-coral:#d96c3d;--pp-sage:#7a8c6e;--pp-sage-d:#2f3e26;--pp-sage-t:#eef2ea;--pp-cream:#fdf9f3;--pp-cream2:#fffaf5;--pp-tint:#fbede5;--pp-ink:#3d2e1f;--pp-muted:#6b5c4f;--pp-line:#ecd9c8;--pp-butter:#f5c842;--pp-shadow:0 10px 30px rgba(61,46,31,.09);--pp-shadow-l:0 22px 50px rgba(61,46,31,.14);
font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--pp-ink);background:var(--pp-cream);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%}
.pp-page *,.pp-page *::before,.pp-page *::after{box-sizing:border-box}
.pp-page img{max-width:100%;height:auto;display:block}
.pp-page :where(h1,h2,h3,p,ul,ol){margin:0;padding:0}
.pp-page :where(ul,ol){list-style:none}
.pp-page a{color:var(--pp-terra);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.pp-page a:hover{color:var(--pp-terra-d)}
.pp-ico{width:1.15em;height:1.15em;flex:none}
.pp-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.pp-wrap--narrow{max-width:860px}
.pp-accent{color:var(--pp-terra)}

/* buttons */
.pp-page .pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;line-height:1.25;text-decoration:none;text-align:center;padding:14px 26px;border-radius:999px;border:2px solid transparent;transition:transform .15s,box-shadow .15s,background .15s;cursor:pointer}
.pp-page .pp-btn:hover{transform:translateY(-2px)}
.pp-page .pp-btn--lg{font-size:18px;padding:17px 32px}
.pp-page .pp-btn--primary{background:var(--pp-terra);color:#fff;box-shadow:0 10px 24px rgba(196,90,44,.35)}
.pp-page .pp-btn--primary:hover{background:var(--pp-terra-d);color:#fff}
.pp-page .pp-btn--sage{background:var(--pp-sage-d);color:#fff;box-shadow:0 10px 24px rgba(47,62,38,.28)}
.pp-page .pp-btn--sage:hover{background:#243019;color:#fff}
.pp-page .pp-btn--white{background:#fff;color:var(--pp-terra-d);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.pp-page .pp-btn--white:hover{background:var(--pp-cream);color:var(--pp-terra-d)}
.pp-page .pp-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.pp-page .pp-btn--ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.pp-page .pp-btn .pp-ico{width:1.2em;height:1.2em}

/* hero */
.pp-hero{position:relative;overflow:hidden;padding:64px 0 72px;background:linear-gradient(180deg,#fff3ea 0%,var(--pp-cream) 100%)}
.pp-hero__blob{position:absolute;border-radius:50%;filter:blur(8px);pointer-events:none}
.pp-hero__blob--a{width:520px;height:520px;right:-120px;top:-140px;background:radial-gradient(circle,rgba(217,108,61,.22),rgba(217,108,61,0) 70%)}
.pp-hero__blob--b{width:460px;height:460px;left:-160px;bottom:-200px;background:radial-gradient(circle,rgba(122,140,110,.24),rgba(122,140,110,0) 70%)}
.pp-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:28px;align-items:center}
.pp-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--pp-line);color:var(--pp-terra);font-weight:700;font-size:14px;padding:7px 15px;border-radius:999px;box-shadow:0 4px 12px rgba(61,46,31,.06);margin-bottom:22px}
.pp-hero__title{font-size:clamp(34px,4vw,52px);line-height:1.08;font-weight:800;letter-spacing:-.025em;margin-bottom:22px}
.pp-hero__desc{font-size:19px;color:var(--pp-muted);max-width:30em;margin-bottom:30px}
.pp-hero__cta{margin-bottom:14px}
.pp-hero__note{font-size:14.5px;color:var(--pp-muted);font-weight:500}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.pp-chips li{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--pp-line);border-radius:999px;padding:6px 12px;font-size:13.5px;white-space:nowrap;font-weight:600;color:var(--pp-sage-d)}
.pp-chips .pp-ico{color:var(--pp-sage);width:1.1em;height:1.1em;stroke-width:2.6}
.pp-hero__visual img{width:110%;max-width:none;margin-left:-2%;filter:drop-shadow(0 4px 6px rgba(61,46,31,.06))}

/* sections */
.pp-section{padding:88px 0}
.pp-head{text-align:center;max-width:900px;margin:0 auto 52px}
.pp-head__title{font-size:clamp(28px,3.2vw,40px);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:var(--pp-ink);position:relative;display:inline-block}
.pp-head__title::after{content:"";display:block;width:56px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--pp-terra),var(--pp-butter));margin:16px auto 0}
.pp-head__sub{margin-top:18px;color:var(--pp-muted);font-size:18px}
.pp-more{text-align:center;margin-top:40px;color:var(--pp-muted);font-size:16px}

/* inside */
.pp-inside{background:#fff}
.pp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pp-card{background:var(--pp-cream2);border:1px solid var(--pp-line);border-radius:24px;padding:22px 22px 30px;box-shadow:var(--pp-shadow);transition:transform .2s,box-shadow .2s}
.pp-card:hover{transform:translateY(-4px);box-shadow:var(--pp-shadow-l)}
.pp-card__thumb{position:relative;border-radius:16px;padding:24px 28px 0;margin-bottom:24px;background:var(--pp-tint);overflow:hidden;height:320px}
.pp-card--2 .pp-card__thumb{background:var(--pp-sage-t)}
.pp-card__thumb img{width:100%;border-radius:8px 8px 0 0;box-shadow:0 8px 24px rgba(61,46,31,.2);border:1px solid var(--pp-line);border-bottom:0}
.pp-card__badge{position:absolute;z-index:2;top:14px;left:14px;width:38px;height:38px;border-radius:50%;background:var(--pp-terra);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(196,90,44,.4)}
.pp-card--2 .pp-card__badge{background:var(--pp-sage)}
.pp-card__title{font-size:22px;font-weight:800;margin-bottom:10px;letter-spacing:-.01em}
.pp-card__text{color:var(--pp-muted);font-size:16px}

/* timeline */
.pp-how{background:var(--pp-cream)}
.pp-timeline{position:relative;max-width:980px;margin:0 auto}
.pp-timeline::before{content:"";position:absolute;left:50%;top:10px;bottom:10px;width:3px;margin-left:-1.5px;background:repeating-linear-gradient(180deg,var(--pp-terra) 0 10px,transparent 10px 18px);opacity:.45;border-radius:3px}
.pp-step{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;margin-bottom:26px}
.pp-step:last-child{margin-bottom:0}
.pp-step__num{grid-column:2;grid-row:1;justify-self:center;width:52px;height:52px;border-radius:50%;background:var(--pp-terra);color:#fff;font-weight:800;font-size:22px;display:flex;align-items:center;justify-content:center;border:5px solid var(--pp-cream);box-shadow:0 0 0 2px var(--pp-terra),0 8px 18px rgba(196,90,44,.3);z-index:1}
.pp-step__card{grid-row:1;display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--pp-line);border-radius:20px;padding:22px 24px;box-shadow:var(--pp-shadow);font-size:16.5px}
.pp-step:nth-child(odd) .pp-step__card{grid-column:1;margin-right:12px}
.pp-step:nth-child(even) .pp-step__card{grid-column:3;margin-left:12px}
.pp-step:nth-child(even) .pp-step__num{background:var(--pp-sage);box-shadow:0 0 0 2px var(--pp-sage),0 8px 18px rgba(122,140,110,.3)}
.pp-step__icon{flex:none;width:46px;height:46px;border-radius:14px;background:var(--pp-tint);color:var(--pp-terra);display:flex;align-items:center;justify-content:center}
.pp-step:nth-child(even) .pp-step__icon{background:var(--pp-sage-t);color:var(--pp-sage-d)}
.pp-step__icon .pp-ico{width:24px;height:24px}
.pp-step__card p{color:var(--pp-muted)}
.pp-step__card strong{display:block;color:var(--pp-ink);font-size:18px;font-weight:800;margin-bottom:3px}

/* sample week */
.pp-sample{background:#fff}
.pp-week{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.pp-day{width:calc((100% - 60px)/4);min-width:0;background:var(--pp-cream2);border:1px solid var(--pp-line);border-radius:20px;padding:22px 20px 20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--pp-shadow);position:relative;overflow:hidden}
.pp-day::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:var(--pp-terra)}
.pp-day--b::before{background:var(--pp-sage)}
.pp-day__tag{align-self:flex-start;background:var(--pp-terra);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.pp-day--b .pp-day__tag{background:var(--pp-sage)}
.pp-day__name{font-size:18px;line-height:1.3;font-weight:800;flex:1;letter-spacing:-.01em}
.pp-day__meta{display:flex;flex-wrap:wrap;gap:8px}
.pp-pill{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;padding:6px 12px;border-radius:999px}
.pp-pill--time{background:var(--pp-tint);color:var(--pp-terra-d)}
.pp-pill--serves{background:var(--pp-sage-t);color:var(--pp-sage-d)}

/* bridge */
.pp-bridge{background:var(--pp-sage-t);position:relative}
.pp-bridge__panel{background:#fff;border:1px solid #d9e2d2;border-radius:28px;padding:56px 48px;text-align:center;box-shadow:var(--pp-shadow-l)}
.pp-bridge__lead{margin:28px auto 32px;color:var(--pp-muted);font-size:18px;max-width:38em}
.pp-small{font-size:14.5px;color:var(--pp-muted);margin-top:20px;max-width:38em;margin-left:auto;margin-right:auto}
.pp-small+.pp-small{margin-top:10px}

/* faq */
.pp-faq{background:var(--pp-cream)}
.pp-faq__list{display:flex;flex-direction:column;gap:14px}
.pp-faq__item{background:#fff;border:1px solid var(--pp-line);border-radius:18px;box-shadow:0 4px 14px rgba(61,46,31,.05);overflow:hidden}
.pp-faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-weight:700;font-size:18px}
.pp-faq__item summary::-webkit-details-marker{display:none}
.pp-faq__item summary:hover{color:var(--pp-terra)}
.pp-faq__chev{width:30px!important;height:30px!important;padding:6px;border-radius:50%;background:var(--pp-tint);color:var(--pp-terra);transition:transform .2s}
.pp-faq__item[open]{border-color:#e2b99f}
.pp-faq__item[open] .pp-faq__chev{transform:rotate(180deg)}
.pp-faq__item p{padding:0 24px 22px;color:var(--pp-muted);font-size:16.5px}

/* final cta */
.pp-cta{position:relative;background:var(--pp-terra);color:#fff;padding:84px 0;overflow:hidden;
background-image:radial-gradient(circle at 12% 20%,rgba(255,255,255,.14),transparent 40%),radial-gradient(circle at 90% 90%,rgba(245,200,66,.22),transparent 38%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='20' fill='none' stroke='white' stroke-opacity='.10' stroke-width='2'/%3E%3Cpath d='M10 10 50 50M10 50 50 10' stroke='white' stroke-opacity='.08' stroke-width='1.5'/%3E%3C/svg%3E")}
.pp-cta__in{position:relative;text-align:center}
.pp-cta__title{font-size:clamp(30px,3.6vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.12;margin-bottom:14px}
.pp-cta__text{font-size:19px;opacity:.95;margin-bottom:34px}
.pp-cta__btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

.bodyContainer:has(.pp-page){padding-bottom:0;background:var(--pp-cream)}

@media (max-width:991px){
.pp-hero{padding:44px 0 56px}
.pp-hero__grid{grid-template-columns:1fr;gap:30px;text-align:center}
.pp-hero__desc{margin-left:auto;margin-right:auto}
.pp-chips{justify-content:center}
.pp-hero__visual img{width:112%;max-width:100%;margin:0 auto}
.pp-cards{grid-template-columns:1fr;max-width:480px;margin:0 auto}
.pp-card__thumb{height:340px}
.pp-day{width:calc((100% - 20px)/2)}
}
@media (max-width:767px){
.pp-page{font-size:16px}
.pp-wrap{padding:0 18px}
.pp-section{padding:60px 0}
.pp-head{margin-bottom:36px}
.pp-hero__title{font-size:34px}
.pp-hero__desc{font-size:17px}
.pp-page .pp-btn--lg{font-size:17px;padding:16px 22px;width:100%;max-width:100%}
.pp-hero__cta{display:block}
.pp-hero__visual img{width:100%;max-width:100%;margin:0}
.pp-timeline::before{left:25px;margin-left:-1.5px}
.pp-step{grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:flex-start}
.pp-step__num{grid-column:1;justify-self:start;width:50px;height:50px;font-size:20px}
.pp-step:nth-child(n) .pp-step__card{grid-column:2;margin:0;padding:18px;flex-direction:column;gap:12px}
.pp-day{width:100%}
.pp-bridge__panel{padding:36px 22px;border-radius:22px}
.pp-cta{padding:60px 0}
.pp-cta__btns{flex-direction:column}
.pp-faq__item summary{font-size:16.5px;padding:18px}
.pp-faq__item p{padding:0 18px 18px}
}
