/* Second Diet public-site refinement: layout, motion, and brand rhythm. */
:root { --section-y:clamp(68px,6.8vw,104px); --section-y-mobile:58px; }
html { scroll-padding-top:100px; }
.site-shell { overflow:clip; }
.site-header { box-shadow:0 8px 30px rgba(29,63,15,.045); }
.site-header.is-scrolled { box-shadow:0 12px 34px rgba(29,63,15,.11); }
.nav-drop { position:relative; }
.nav-drop .nav-menu { top:calc(100% - 1px); margin-top:0; z-index:120; border-radius:0 0 18px 18px; padding:13px; box-shadow:0 25px 55px rgba(21,48,13,.16); }
.nav-drop .nav-menu:before { content:""; position:absolute; top:-8px; left:0; right:0; height:10px; }
.nav-drop .nav-menu a { padding:11px 13px; border-radius:9px; line-height:1.35; }
.nav-drop .nav-menu a:hover,.nav-drop .nav-menu a:focus-visible { background:#edf5df; color:#245c0f; }

.section { padding:var(--section-y) 0; }
.section-head { margin-bottom:clamp(26px,3vw,42px); }
.section-head h2,.editorial-copy h2 { text-wrap:balance; }
.section-head p { max-width:540px; }
.editorial-grid,.editorial-grid-premium { gap:clamp(32px,5vw,74px); }
.home-visual-finish { padding-top:78px; padding-bottom:72px; }
.section.sage { background:#f2f7ea; }

.hero.home-hero { min-height:min(780px,calc(100svh - 78px)); display:grid; align-items:center; isolation:isolate; background:linear-gradient(117deg,#193d0c,#2c610e 59%,#51800e); }
.hero.home-hero:before { width:840px; height:840px; right:-220px; top:-380px; background:radial-gradient(circle,rgba(208,238,136,.19),transparent 68%); animation:ambient-drift 20s ease-in-out infinite alternate; }
.home-hero:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.16; background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.16) 49%,transparent 59%); transform:translateX(-110%); animation:light-sweep 16s ease-in-out infinite; }
.home-hero .hero-grid { gap:clamp(36px,5vw,84px); }
.hero-content h1 { text-wrap:balance; }
.hero.home-hero .hero-visual-wrap { position:relative; isolation:isolate; }
.hero.home-hero .hero-visual-wrap:before { content:""; position:absolute; inset:22px -20px -24px 22px; border:1px solid rgba(242,242,204,.27); border-radius:34px; z-index:-1; }
.hero.home-hero .hero-visual-wrap .image-slot { overflow:hidden; border-radius:28px 50px 28px 50px; box-shadow:0 35px 80px rgba(8,28,5,.32); }
.hero.home-hero .hero-visual-wrap img { transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.hero.home-hero .hero-visual-wrap:hover img { transform:scale(1.035); }
.hero-proof-grid div { backdrop-filter:blur(10px); }

.page-hero-premium { isolation:isolate; min-height:575px; display:grid; align-items:center; padding:78px 0 76px; background:linear-gradient(122deg,#f1f6e8,#fffdf8 53%,#e7f1dc); }
.page-hero-premium:before { content:""; position:absolute; width:620px; height:620px; border-radius:50%; right:-170px; top:-270px; background:radial-gradient(circle,rgba(107,153,25,.17),transparent 67%); pointer-events:none; animation:ambient-drift 19s ease-in-out infinite alternate; }
.page-hero-premium:after { content:""; position:absolute; height:4px; left:0; right:0; bottom:0; background:linear-gradient(90deg,#78a219 0 29%,#e28305 29% 38%,transparent 38%); opacity:.8; }
.page-hero-premium .page-hero-grid { gap:clamp(40px,5vw,88px); }
.page-hero-copy h1 { max-width:780px; font-size:clamp(45px,5.25vw,78px); line-height:.98; letter-spacing:-.06em; text-wrap:balance; }
.page-hero-copy>p { margin-top:23px; line-height:1.66; }
.hero-label { display:flex; align-items:center; gap:12px; margin-top:25px; color:var(--green); font-size:11px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.hero-label-line { display:block; width:27px; height:2px; border-radius:4px; background:var(--gold); }
.hero-footnote { display:flex; gap:11px; align-items:center; margin-top:38px; font-size:11px; letter-spacing:.08em; color:#73836a; text-transform:uppercase; }
.hero-footnote i { width:28px; height:1px; background:currentColor; }
.hero-photo-frame { position:relative; padding:13px; border:1px solid rgba(91,129,30,.2); border-radius:26px 48px 26px 48px; background:rgba(255,255,255,.32); }
.hero-photo-frame .image-slot { overflow:hidden; margin:0; border-radius:19px 40px 19px 40px; box-shadow:0 28px 65px rgba(36,71,20,.18); }
.image-slot.image-failed { display:grid; place-items:center; min-height:210px; background:linear-gradient(130deg,#dcebc6,#f3f7e9); }
.image-slot.image-failed:after { content:"Second Diet"; color:#416e1a; font-size:15px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.page-hero-visual .image-slot img { transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
.page-hero-visual:hover .image-slot img { transform:scale(1.045); }
.page-hero-visual .visual-caption { left:30px; bottom:30px; }
.hero-family-service { background:linear-gradient(120deg,#1b4010,#2e6516 62%,#466e22); color:#fff; }
.hero-family-service .page-hero-pattern { background:radial-gradient(circle at 75% 14%,rgba(231,245,190,.13),transparent 32%),radial-gradient(circle at 8% 92%,rgba(226,131,5,.1),transparent 29%); }
.hero-family-service .breadcrumbs,.hero-family-service .breadcrumbs a,.hero-family-service .hero-footnote { color:#dbeaca; }
.hero-family-service .hero-label { color:#d1ecaa; }
.hero-family-service .page-hero-copy>p { color:#e0ead6; }
.hero-family-service .site-btn.secondary { background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.3); }
.hero-family-service .hero-photo-frame { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.055); }
.hero-family-program { background:linear-gradient(120deg,#f6f2e5,#fffdf6 52%,#e9f3d8); }
.hero-family-journal,.hero-family-recipe { background:linear-gradient(117deg,#fbf3e5,#fffdf9 58%,#edf3df); }
.page-hero-type { min-height:360px; }
.page-hero-type .page-hero-copy { max-width:900px; }

.home-service-card,.program-card-teaser { background:#fff; border-color:#dce7cf; }
.home-service-card .service-card-photo,.program-card-teaser>.card-image { min-height:0; margin:0; overflow:hidden; border-radius:0; }
.home-service-card .service-card-photo img,.program-card-teaser>.card-image img { display:block; width:100%; height:210px; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.home-service-card:hover .service-card-photo img,.directory-service-card:hover .service-card-photo img,.program-card-teaser:hover>.card-image img { transform:scale(1.045); }
.home-service-card .service-card-body { padding:23px 25px 27px; }
.home-service-card .service-card-body h3 { margin-top:13px; }
.home-service-card .card-link { padding-top:0; }
.directory-service-card { background:linear-gradient(148deg,#fff,#fbfdf7); }
.directory-service-card .service-card-art { height:100px; background:linear-gradient(110deg,#e7f1d5,#f8fbf2); }
.brand-service-card { transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.brand-service-card:hover { transform:translateY(-6px); border-color:#bacc9e; box-shadow:0 24px 55px rgba(38,78,18,.13)!important; }
.program-card-teaser { overflow:hidden; }
.program-card-teaser .program-card-body { padding:23px 25px 27px; }
.program-card-teaser .program-card-footer { display:flex; align-items:end; gap:16px; justify-content:space-between; }
.program-card-teaser .card-actions-inline { flex-direction:column; align-items:flex-end; }
.program-card-teaser .program-price { margin-bottom:0; }

.service-detail-section { background:linear-gradient(180deg,#fafcf6,#fff 42%); }
.service-intro-band { display:grid; grid-template-columns:auto 1fr minmax(250px,.75fr); align-items:center; gap:30px; padding:24px 30px; margin-bottom:48px; border:1px solid #dce8cf; border-radius:22px; background:#f1f7e6; }
.service-intro-band span { color:var(--green); font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.service-intro-band strong { font-size:22px; line-height:1.2; letter-spacing:-.03em; }
.service-intro-band p { margin:0; font-size:14px; color:var(--muted); line-height:1.6; }
.service-detail-grid { gap:clamp(34px,5vw,74px); }
.service-detail-section .content-prose { padding:0 0 8px; }
.service-detail-section .content-prose>h2 { position:relative; padding-left:20px; margin:35px 0 14px; font-size:clamp(27px,2.6vw,35px); }
.service-detail-section .content-prose>h2:before { content:""; position:absolute; left:0; top:.22em; width:4px; height:.68em; border-radius:5px; background:var(--gold); }
.service-detail-section .content-prose>p { max-width:700px; }
.service-side-card { border:1px solid #d5e4c7; background:linear-gradient(155deg,#f4f9ec,#fff); padding:26px; border-radius:24px; box-shadow:0 20px 48px rgba(34,75,17,.08); }
.service-ready-card { border-radius:24px; box-shadow:0 15px 40px rgba(34,75,17,.04); }
.service-insight-grid { gap:14px; }
.service-insight-grid div { min-height:175px; border-radius:19px; background:#f4f9ed; padding:22px; }
.service-insight-grid div:nth-child(2) { background:#fff8e9; border-color:#efdfbd; }
.service-insight-grid div:nth-child(3) { background:#f8faf5; }
.service-next-section { padding-top:65px; }
.process-band { background:linear-gradient(130deg,#fff,#f1f7e9); }
.legal { max-width:850px; }
.legal>h2 { margin-top:39px; font-size:clamp(25px,2.5vw,32px); }
.legal>p { color:#42543b; line-height:1.8; }
.legal-contact { margin-top:52px; padding:31px 34px; border-radius:23px; background:#edf5e2; border:1px solid #d6e7c2; }
.legal-contact h2 { margin:0 0 9px; }
.legal-contact p { margin:0 0 23px; color:#42543b; }

.connected-care-section { background:#f7f9f1; }
.connected-care-grid,.results-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin:0 0 29px; }
.connected-care-grid article { min-height:225px; padding:28px; border:1px solid #dce7cc; border-radius:24px; background:#fff; box-shadow:0 15px 37px rgba(31,71,13,.055); }
.connected-care-grid span,.results-story-grid span { font-size:11px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
.connected-care-grid h3,.results-story-grid h3 { margin:20px 0 10px; font-size:23px; }
.connected-care-grid p,.results-story-grid p { margin:0; line-height:1.7; color:var(--muted); }
.results-story-section { background:linear-gradient(120deg,#1e4211,#315d19); }
.results-story-grid article { padding:30px; border-left:2px solid rgba(227,168,61,.8); background:rgba(255,255,255,.055); border-radius:0 20px 20px 0; }
.results-story-grid span { color:#e9c77f; }
.results-story-grid p { color:#d4e6cd; }

.final-cta-section { padding:72px 0 82px; background:#f7f9f2; }
.cta-band-premium { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr); align-items:center; gap:clamp(35px,6vw,92px); padding:clamp(38px,5vw,72px); min-height:410px; border-radius:32px; background:radial-gradient(circle at 78% 10%,rgba(156,204,70,.22),transparent 35%),linear-gradient(120deg,#1c410e,#315e13 65%,#456e15); box-shadow:0 35px 74px rgba(26,60,13,.16); }
.cta-band-premium:before { content:""; position:absolute; width:370px; height:370px; border:1px solid rgba(225,243,175,.2); border-radius:50%; right:-118px; top:-176px; pointer-events:none; }
.cta-band-premium:after { width:520px; height:520px; right:-180px; top:-220px; border-color:rgba(226,131,5,.23); }
.cta-copy { position:relative; z-index:1; }
.cta-edition { display:flex; align-items:center; gap:13px; margin-bottom:30px; font-size:10px; font-weight:800; letter-spacing:.19em; color:#d8e9bf; }
.cta-edition i { width:80px; height:1px; background:rgba(234,244,212,.58); }
.cta-band-premium .eyebrow { color:#d9eeba; }
.cta-band-premium h2 { font-size:clamp(36px,4vw,58px); line-height:1.03; letter-spacing:-.05em; max-width:760px; margin:10px 0 20px; text-wrap:balance; }
.cta-band-premium h2 em { font-style:normal; color:#e7bf6d; }
.cta-band-premium p { max-width:650px; font-size:16px; line-height:1.7; color:#deebd5; }
.cta-mini-trust span { color:#dce9cc; font-size:11px; padding:8px 11px; }
.cta-action-panel { position:relative; z-index:2; display:flex; flex-direction:column; align-items:stretch; padding:29px; border:1px solid rgba(255,255,255,.22); border-radius:22px; background:rgba(255,255,255,.095); backdrop-filter:blur(14px); }
.cta-action-panel>span { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#d5e9bd; }
.cta-action-panel strong { font-size:24px; line-height:1.22; margin:12px 0 26px; }
.cta-main-action { justify-content:space-between; background:#fff; color:#245511; white-space:nowrap; padding:16px 18px; }
.cta-main-action:hover { background:#eef6e1; transform:translateY(-2px); }
.cta-main-action span { font-size:20px; line-height:1; }
.cta-question-link { color:#e4efda; text-align:center; margin-top:19px; font-size:13px; text-underline-offset:4px; }

.site-footer { background:#1a3b10; padding:0 0 27px; }
.footer-newsletter { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,.8fr); gap:clamp(30px,5vw,75px); align-items:center; padding:40px clamp(28px,4vw,58px); margin:0 0 65px; transform:translateY(-1px); border:1px solid rgba(255,255,255,.14); border-radius:0 0 28px 28px; background:rgba(255,255,255,.075); }
.footer-newsletter h3 { font-size:clamp(25px,2.4vw,34px); line-height:1.16; }
.footer-newsletter p { line-height:1.65; }
.footer-newsletter form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.footer-newsletter form>input { grid-column:1; grid-row:1; }
.footer-newsletter form>.site-btn { grid-column:2; grid-row:1; }
.footer-newsletter form>#newsletterMsg { grid-column:1/-1; grid-row:2; }
.footer-newsletter input { min-height:51px; background:rgba(255,255,255,.1); }
.footer-newsletter .site-btn { min-height:51px; margin:0; white-space:nowrap; background:#e8c277; border:0; color:#24470e; }
.footer-newsletter .site-btn:hover { background:#f4d696; }
.footer-grid { gap:clamp(22px,3vw,52px); }
.footer-brand p { line-height:1.7; }
.footer-col a { padding:2px 0; transition:color .2s,transform .2s; }
.footer-col a:hover { color:#f2d695; transform:translateX(3px); }
.footer-bottom { align-items:center; }

.motion-ready .reveal-on-scroll { opacity:.2; transform:translateY(18px); transition:opacity .62s ease,transform .62s cubic-bezier(.2,.7,.2,1); }
.motion-ready .reveal-on-scroll.is-visible { opacity:1; transform:none; }
.motion-ready .reveal-on-scroll:nth-child(2) { transition-delay:.07s; }
.motion-ready .reveal-on-scroll:nth-child(3) { transition-delay:.14s; }
.motion-ready .reveal-on-scroll:nth-child(4) { transition-delay:.21s; }
@keyframes ambient-drift { from{transform:translate3d(0,0,0)} to{transform:translate3d(-35px,30px,0)} }
@keyframes light-sweep { 0%,35%{transform:translateX(-110%)} 65%,100%{transform:translateX(120%)} }

@media(max-width:1050px){
 .page-hero-premium { min-height:0; }
 .hero.home-hero { min-height:0; }
 .service-intro-band { grid-template-columns:1fr 1fr; }
 .service-intro-band p { grid-column:1/-1; }
 .cta-band-premium { grid-template-columns:1fr; }
 .cta-action-panel { max-width:440px; }
 .footer-newsletter { grid-template-columns:1fr; }
}
@media(max-width:760px){
 .section { padding:var(--section-y-mobile) 0; }
 .page-hero-premium { padding:48px 0 55px; }
 .page-hero-copy h1 { font-size:clamp(40px,10vw,54px); }
 .hero-label { margin-top:19px; }
 .hero-footnote { margin-top:25px; }
 .hero-photo-frame { padding:8px; }
 .hero.home-hero { padding:54px 0 60px; }
 .home-service-card .service-card-photo img,.program-card-teaser>.card-image img { height:auto; aspect-ratio:16/10; }
 .program-card-teaser .program-card-footer { display:block; }
 .program-card-teaser .card-actions-inline { flex-direction:row; align-items:center; margin-top:16px; }
 .service-intro-band { grid-template-columns:1fr; gap:9px; padding:23px; margin-bottom:31px; }
 .service-intro-band p { grid-column:auto; }
 .service-insight-grid { grid-template-columns:1fr; }
 .service-insight-grid div { min-height:0; }
 .connected-care-grid,.results-story-grid { grid-template-columns:1fr; }
 .connected-care-grid article { min-height:0; }
 .final-cta-section { padding:58px 0; }
 .cta-band-premium { padding:33px 25px; border-radius:26px; gap:28px; }
 .cta-band-premium h2 { font-size:clamp(37px,10vw,50px); }
 .cta-action-panel { padding:23px; }
 .footer-newsletter { padding:30px 22px; margin-bottom:43px; border-radius:0 0 22px 22px; }
 .footer-newsletter form { grid-template-columns:1fr; }
 .footer-newsletter form>.site-btn { grid-column:1; grid-row:2; }
 .footer-newsletter form>#newsletterMsg { grid-column:1; grid-row:3; }
 .footer-newsletter .site-btn { width:100%; }
}
@media(prefers-reduced-motion:reduce){
 .hero.home-hero:before,.home-hero:after,.page-hero-premium:before { animation:none!important; }
 .motion-ready .reveal-on-scroll { opacity:1!important; transform:none!important; transition:none!important; }
 .hero-visual-wrap img,.page-hero-visual img,.home-service-card img,.program-card-teaser img { transition:none!important; }
}
