/* Diabetes Smarts homepage letter, shared section styles (job 78). Each design's home.css builds on this. */
.hp .ds-main{overflow-x:clip}
.hp-wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.hp-narrow{max-width:760px}
.hp-h2{font:800 clamp(26px,3.4vw,38px)/1.2 var(--f-head);color:#1f1f1f;text-align:center;margin:0 0 .8em;letter-spacing:-.01em}
.hp section{padding:56px 0}
@media(min-width:900px){.hp section{padding:76px 0}}
.hp-ic{width:22px;height:22px;flex:none}
.hp img{border-radius:0}

/* intro + risks */
.hp-intro__title{font:800 clamp(34px,5vw,58px)/1.08 var(--f-head);margin:0 0 .3em;color:#1f1f1f;letter-spacing:-.02em}
.hp-intro__sub{font:600 clamp(19px,2.2vw,24px)/1.35 var(--f-head);color:var(--red);margin:0 0 1.4em}
.hp-risks__lead{font:700 clamp(20px,2.4vw,26px)/1.3 var(--f-head);margin:0 0 18px;color:#1f1f1f}
.hp-risks__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:700px){.hp-risks__list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.hp-risks__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hp-risks__list li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:600 16px/1.3 var(--f-head);color:#2a2a2a;box-shadow:0 4px 14px rgba(0,0,0,.04);min-height:56px}
.hp-risks__list .hp-ic{color:var(--red);width:26px;height:26px}

/* experts */
.hp-experts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(min-width:700px){.hp-experts__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1000px){.hp-experts__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hp-expert{margin:0;text-align:center;background:#fff;border-radius:16px;padding:16px 12px;box-shadow:var(--shadow)}
.hp-expert__img{width:120px;height:120px;object-fit:cover;border-radius:50%!important;margin:0 auto 10px;display:block}
.hp-expert__name{display:block;font:700 17px/1.3 var(--f-head);color:#1f1f1f}
.hp-expert__role{display:block;font-size:16px;line-height:1.4;color:var(--muted);margin-top:4px}
.hp-more{margin-top:22px}
.hp-more>summary{list-style:none;cursor:pointer}
.hp-more>summary::-webkit-details-marker{display:none}
.hp-more__btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:max-content;max-width:100%;margin:0 auto;padding:10px 28px;border-radius:999px;border:2px solid var(--red);color:var(--red);font:700 17px/1 var(--f-head);background:#fff}
.hp-more__btn::after{content:"";width:9px;height:9px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg) translateY(-3px)}
.hp-more[open]>.hp-more__btn{margin-bottom:22px}
.hp-more[open]>.hp-more__btn::after{transform:rotate(-135deg) translateY(-2px)}

/* news */
.hp-news__tag{font:800 clamp(24px,3vw,34px)/1.2 var(--f-head);color:var(--red);margin:0 0 .7em}
.hp-stats{display:grid;gap:22px;margin:30px 0}
@media(min-width:860px){.hp-stats{grid-template-columns:1fr 1fr}}
.hp-stat{background:#fff;border-radius:16px;padding:24px;box-shadow:var(--shadow);text-align:center}
.hp-stat__num{font:800 clamp(30px,4vw,44px)/1.1 var(--f-head);color:var(--red);margin:0 0 .2em}
.hp-stat__lbl{font:600 18px/1.4 var(--f-head);color:#2a2a2a}
.hp-stat__people{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.hp-stat__people img{width:26px;height:auto}
.hp-stat__ninety{display:flex;align-items:center;gap:14px;text-align:left}
.hp-stat__ninety img{width:96px;flex:none}
.hp-stat__ninety p{margin:0;font-size:17px}

/* cards (benefits, features) */
.hp-benefits__grid,.hp-features__grid{display:grid;gap:20px}
@media(min-width:700px){.hp-benefits__grid,.hp-features__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.hp-benefits__grid,.hp-features__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hp-card{background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.hp-card__img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hp-card__body{padding:20px 22px 8px}
.hp-card__title{font:700 20px/1.3 var(--f-head);margin:0 0 .5em;color:#1f1f1f}

/* rachel, quote, judd */
.hp-rachel__in,.hp-judd__in,.hp-guarantee__in{display:grid;gap:28px;align-items:center}
@media(min-width:860px){.hp-rachel__in{grid-template-columns:1.2fr 1fr}.hp-judd__in{grid-template-columns:340px 1fr;align-items:start}.hp-guarantee__in{grid-template-columns:260px 1fr}}
.hp-rachel__lead{font:700 clamp(22px,2.6vw,30px)/1.3 var(--f-head);margin:0 0 .6em}
.hp-rachel__pic img,.hp-judd__pic img{border-radius:16px!important;box-shadow:var(--shadow);width:100%}
.hp-link-btn{display:inline-flex;align-items:center;min-height:48px;padding:10px 26px;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font:700 17px/1.2 var(--f-head)}
.hp-link-btn:hover{background:var(--red-dk);color:#fff}
.hp-quote blockquote{margin:0 auto;max-width:860px;text-align:center}
.hp-quote__q{font:700 clamp(26px,3.6vw,42px)/1.25 var(--f-quote);color:#1f1f1f;margin:0 0 .5em}
.hp-quote__cite{font-size:16px;color:var(--muted)}
.hp-judd__text{max-width:720px}
.hp-judd__pic{position:sticky;top:calc(var(--hdr-h) + 20px)}
@media(max-width:859px){.hp-judd__pic{position:static;max-width:300px;margin:0 auto}}
.hp-judd__more .hp-more__btn{margin:0}
.hp-judd__more[open] .hp-more__btn{margin:0 0 20px}

/* who, checks, reasons, reversed */
.hp-checks{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:12px}
.hp-checks li{display:flex;gap:12px;align-items:flex-start}
.hp-checks .hp-ic{color:#fff;background:var(--green);border-radius:50%;padding:4px;width:28px;height:28px;margin-top:1px}
.hp-checks--big li{font:700 20px/1.35 var(--f-head)}
.hp-who .hp-checks{max-width:760px;margin:0 auto 1.2em}
.hp-who__close{max-width:760px;margin:0 auto;font-weight:700}
.hp-reasons__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(min-width:860px){.hp-reasons__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hp-reasons__grid li{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:18px 14px;text-align:center;font:600 16px/1.35 var(--f-head)}
.hp-reasons__grid img{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 10px}
.hp-note{display:block;font-size:16px;color:var(--muted);font-style:italic;margin-top:4px}

/* band, product, package */
.hp-band{background:linear-gradient(135deg,var(--band1),var(--band2));color:#fff;text-align:center}
.hp-band__title{font:800 clamp(30px,4.4vw,52px)/1.15 var(--f-head);margin:0 0 .3em;color:#fff}
.hp-band__sub{font:600 clamp(19px,2.2vw,26px)/1.3 var(--f-head);color:var(--gold);margin:0}
.hp-product__top,.hp-product__series{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.hp-product__top,.hp-product__series{grid-template-columns:1fr 1fr}}
.hp-product__plus{text-align:center;margin:44px 0 24px}
.hp-product__plus-k{font:800 28px/1 var(--f-head);color:var(--red);margin:0 0 .3em}
.hp-package__grid{display:grid;gap:20px}
@media(min-width:860px){.hp-package__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hp-pack{background:#fff;border-radius:16px;box-shadow:var(--shadow);display:grid;grid-template-columns:120px 1fr;gap:18px;padding:20px;align-items:start}
@media(max-width:520px){.hp-pack{grid-template-columns:1fr}.hp-pack__pic{max-width:160px}}
.hp-pack__title{font:700 20px/1.3 var(--f-head);margin:0 0 .4em}

/* offer box */
.hp-offer{max-width:980px;margin:0 auto;scroll-margin-top:calc(var(--hdr-h) + 12px)}
.hp-offer__head{text-align:center;margin-bottom:18px}
.hp-offer__head p{font:600 19px/1.4 var(--f-head);color:var(--red)}
.hp-offer__grid{text-align:center;margin-bottom:22px}
.hp-offer__gridimg{max-width:760px;width:100%}
.hp-offer__card{background:#fff;border:3px dashed var(--red);border-radius:18px;box-shadow:var(--shadow-lg);padding:22px;overflow:hidden}
.hp-offer__deal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;background:linear-gradient(135deg,var(--band1),var(--band2));color:#fff;border-radius:12px;padding:12px 16px;margin:-6px -6px 14px}
.hp-offer__grand,.hp-offer__pct{margin:0;font:800 20px/1.2 var(--f-head)}
.hp-offer__pct{color:var(--yellow);font-size:24px}
.hp-offer__coupon{text-align:center;font:700 18px/1.4 var(--f-head);color:var(--green)}
.hp-offer__row{display:grid;gap:20px;align-items:center}
@media(min-width:760px){.hp-offer__row{grid-template-columns:1fr 1.1fr}}
.hp-offer__buy{text-align:center}
.hp-offer__name{font:800 22px/1.25 var(--f-head);margin:0 0 .4em}
.hp-offer__price{font:600 20px/1.3 var(--f-head);margin:0 0 .7em}
.hp-offer__was{color:#888}
.hp-offer__now{font-size:38px;color:var(--red)}
.hp-buy{font:800 22px/1.1 var(--f-head);min-height:60px;width:100%;max-width:420px;text-transform:none}
.hp-offer__badges{display:block;max-width:300px;margin:14px auto 10px}
.hp-offer__guar{display:flex;gap:8px;justify-content:center;align-items:flex-start;font-size:16px;color:var(--muted);margin:0}
.hp-offer__guar .hp-ic{color:var(--green)}
.hp-offer__get{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.hp-offer__get-h{font:700 18px/1.3 var(--f-head);margin:0 0 10px}
.hp-offer__get ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media(min-width:760px){.hp-offer__get ul{grid-template-columns:1fr 1fr}}
.hp-offer__get li{display:flex;gap:10px;align-items:flex-start;font-size:17px}
.hp-offer__get .hp-ic{color:var(--green);margin-top:3px}
.hp-offer-sec{background:var(--grey)}

/* how, guarantee */
.hp-how__steps{list-style:none;margin:0;padding:0;display:grid;gap:20px;counter-reset:st}
@media(min-width:760px){.hp-how__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.hp-how__steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hp-step{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:24px 20px;text-align:center;position:relative}
.hp-step::before{counter-increment:st;content:counter(st);position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font:800 17px/34px var(--f-head)}
.hp-step img{width:84px;height:84px;object-fit:contain;margin-bottom:10px}
.hp-step__title{font:700 20px/1.3 var(--f-head);margin:0 0 .4em}
.hp-guarantee__seal{text-align:center}
.hp-guarantee__label{font:800 18px/1.2 var(--f-head);color:var(--red);text-transform:uppercase;letter-spacing:.06em}
.hp-guarantee__seal img{max-width:220px}
.hp-guarantee .hp-h2{text-align:left}

/* doctors letter */
.hp-letter__h2{text-align:left}
.hp-letter__h3{font:800 clamp(22px,2.8vw,30px)/1.3 var(--f-head);color:var(--red);margin:1.2em 0 .6em}
.hp-letter__sub{font:800 clamp(20px,2.4vw,26px)/1.3 var(--f-head);color:#1f1f1f;margin:1.6em 0 .6em}
.hp-letter__lead{font-size:1.12em;font-weight:500}
.hp-letter__fig{margin:1.4em 0;text-align:center}
.hp-letter__fig img{border-radius:14px!important;max-height:460px;width:auto}
.hp-pull{margin:1.8em 0;padding:8px 0 8px 22px;border-left:5px solid var(--gold)}
.hp-pull p{font:700 clamp(22px,2.8vw,30px)/1.35 var(--f-quote);color:var(--band1);margin:0}

/* yes */
.hp-yes__box{max-width:860px;margin:0 auto 34px;background:var(--cream);border:2px solid var(--gold);border-radius:18px;padding:26px}
.hp-yes__h{font:800 clamp(24px,3vw,34px)/1.25 var(--f-head);color:var(--red);margin:0 0 .7em;text-align:center}
.hp-yes s{color:#888}

/* CTA bar */
.hp-ctabar{padding:22px 0;text-align:center;background:var(--cream)}
.hp-ctabar .hp-buy{max-width:380px}

/* sticky phone buy button */
.hp-stick{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -6px 18px rgba(0,0,0,.1);transform:translateY(110%);transition:transform .25s}
.hp-stick.is-on{transform:none}
.hp-stick .hp-buy{width:100%;max-width:none;min-height:54px;font-size:20px}
@media(min-width:900px){.hp-stick{display:none}}

/* image-only trust strip */
.hp-trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.hp-trust__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 34px}
.hp-trust__faces{display:flex}
.hp-trust__faces img{width:52px;height:52px;border-radius:50%!important;object-fit:cover;border:3px solid #fff;margin-left:-12px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.hp-trust__faces img:first-child{margin-left:0}
.hp-trust__seal{height:70px;width:auto}
.hp-trust__badges{height:34px;width:auto}
@media(max-width:520px){.hp-trust__faces img{width:40px;height:40px}.hp-trust__seal{height:56px}}

/* ---- Round 2 (job 78, after design check 5b) ---- */
/* trust strip: card logos legible (the old badge picture carries its own small seal; crop it off, the big seal sits beside it) */
.hp-trust{padding:20px 0}
.hp-trust__badges{height:68px;width:256px;object-fit:cover;object-position:right center}
@media(max-width:520px){.hp-trust__in{gap:14px 20px}.hp-trust__badges{height:52px;width:196px}}
/* risk cards: long names wrap inside the card, never clipped */
.hp-risks__list li{height:auto;overflow:visible;text-wrap:balance}
.hp-risks__list li span,.hp-risks__list li{min-width:0}
/* phone header on the homepage: logo left, compact Buy Now, menu button at the right edge */
@media(max-width:820px){
  .hp .ds-hdr__in{gap:10px;padding:0 14px}
  .hp .ds-hdr__logo img{max-width:150px}
  .hp .ds-hdr__cta{display:inline-flex;order:2;margin-left:auto;min-height:44px;padding:10px 18px;font-size:16px;white-space:nowrap;box-shadow:none}
  .hp .ds-hdr__toggle{order:3;margin-left:0;flex:none}
}
@media(max-width:340px){.hp .ds-hdr__cta{display:none}.hp .ds-hdr__toggle{margin-left:auto}}
/* header: solid white, no backdrop blur (the blur layer over the big hero pictures rendered as an empty white bar in captures) */
.hp .ds-hdr{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---- Round 3: the long letter reads like a modern long-read ---- */
.hp-letter p{font-size:18px;line-height:1.75}
.hp-letter__h2{font-family:var(--f-quote);font-weight:700;font-size:clamp(28px,3.6vw,42px);line-height:1.25;letter-spacing:0}
.hp-letter__sub{position:relative;padding-top:18px;margin-top:2em}
.hp-letter__sub::before{content:"";position:absolute;left:0;top:0;width:56px;height:4px;border-radius:4px;background:var(--red)}
.hp-letter__lead{font-size:20px;line-height:1.6;color:#222}
/* pull quotes: the letter's own line, styled in place */
.hp-pull--in{margin:1.8em 0;padding:18px 22px 18px 26px;border-left:5px solid var(--gold);background:var(--cream);border-radius:0 16px 16px 0;
  font:700 clamp(22px,2.6vw,28px)/1.45 var(--f-quote)!important;color:var(--band1)}
/* Don't Eat / Eat This: two rounded cards with a soft tint */
.hp-swap{display:grid;gap:16px;margin:2em 0}
@media(min-width:600px){.hp-swap{grid-template-columns:1fr 1fr;gap:20px}}
@media(min-width:1000px){.hp-swap{margin-left:-60px;margin-right:-60px}}
.hp-swap__card{border-radius:20px;padding:18px;box-shadow:0 6px 22px rgba(60,20,10,.07)}
.hp-swap__card--no{background:#fbeceb}
.hp-swap__card--yes{background:#eaf3ea}
.hp-swap__card img{display:block;width:100%;height:auto;mix-blend-mode:multiply;border-radius:12px!important}
/* the other old pictures (meds, Okinawa, liver) sit in a tinted card */
.hp-letter__fig--card{background:#f6efe4;border-radius:22px;padding:clamp(16px,3vw,28px);box-shadow:0 6px 22px rgba(60,20,10,.06)}
.hp-letter__fig--card img{mix-blend-mode:multiply;max-height:420px;width:auto;max-width:100%;border-radius:12px!important}
/* full-width photo band halfway through the letter */
.hp-letter__band{margin:2.6em 0 1.4em;padding:0}
.hp-letter__band img{display:block;width:100%;height:clamp(240px,36vw,540px);object-fit:cover;object-position:center 45%}
@media(max-width:699px){.hp-letter p{font-size:17px}.hp-letter__lead{font-size:19px}.hp-pull--in{padding:14px 16px 14px 18px}}
