/* Shared spacing and responsive corrections, October 2026. */
:root{--gutter:48px;--block-gap:24px}
.wrap{width:min(1240px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.small-wrap{width:min(850px,calc(100% - 2 * var(--gutter)));margin-inline:auto}
.article-shell{max-width:740px}
.wrap>*,.small-wrap>*,.offers>*,.footer-grid>*,.insight-grid>*,.advice-layout>*,.booking-grid>*{min-width:0}
h1,h2,h3,.btn,.text-link,.footer a,.advice-all,.calendar-fallback,.option-title{overflow-wrap:anywhere}
.btn,.text-link{max-width:100%;white-space:normal;text-align:left}
.btn .arrow,.btn>span[aria-hidden]{flex-shrink:0}
.price{font-variant-numeric:tabular-nums;line-height:1.4}
.price small{line-height:1.6}
.offer .price{width:100%;margin-top:auto}
.offer .checks{margin-bottom:var(--block-gap)}
.offer .checks li:last-child,.advice-main .checks li:last-child{margin-bottom:0}
@supports(grid-template-rows:subgrid){
 .offers{gap:24px 22px}
 .offer{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:18px;align-items:start}
 .offer>:is(.offer-tag,h3,p,.checks,.price,.btn){margin:0}
 .offer .price{padding-top:8px}
 .offer .btn{align-self:end}
}
.insight-card .btn{margin-top:auto}
.free-entry .btn{flex-shrink:0}
.advice-main>h2:first-child{margin-top:0}
.advice-booking>.price{margin-top:0;margin-bottom:20px}
.advice-booking>:last-child,.insight-card>p:last-child{margin-bottom:0}
.advice-booking .booking-reassurance{text-align:center}
.advice-main .checks{margin-bottom:24px}
.answer-review summary,.advice-email summary{padding-block:12px}
.answer-review ul{padding-left:20px;margin:16px 0}
.answer-review .quiet-button{margin-top:4px}
.article-shell #artikel>:first-child{margin-top:32px}
.article-shell #artikel>:last-child{margin-bottom:0}
.booking-panel iframe{display:block;width:100%;max-width:100%}
.email-alternative p{overflow-wrap:anywhere}
.footer .brand{display:flex}
.footer .brand-text{font-size:21px}
.footer .brand-text small{font-size:11px}
.footer li a{overflow-wrap:anywhere}
.footer a:not(.brand){text-decoration:underline;text-underline-offset:4px}
.footer .brand-text small{text-decoration:none}
.footer-grid>div:first-child>p:first-of-type em{font-family:Georgia,serif;color:var(--terra)}
.offer.featured:before{display:none}
.offer-badge{position:absolute;top:-13px;right:20px;background:var(--peach);color:var(--ink);padding:4px 12px;font-size:12px;font-weight:600;letter-spacing:.4px;border-radius:3px}
.hero-actions .btn,.offer .btn,.nav .btn{justify-content:center}
.advisor-dialog{margin:auto;overscroll-behavior:contain}
.advisor-dialog .advisor-panel{padding:8px 4px 0;min-width:0}
.advisor-dialog .advisor-panel>h3{margin:0 0 20px}
.advisor-dialog .advisor-panel>.advisor-progress{margin:0 0 12px}
.advisor-options button{width:100%;min-width:0;text-align:left}
.advisor-controls{gap:16px;margin-top:20px;padding-top:12px}
.advisor-panel>.note{margin:12px 0}
.advisor-panel>.advisor-alternative{margin:24px 0 0}
.advice-contact-form{display:grid;gap:10px;margin:20px 0 12px}
.advice-contact-form label{font-size:15px;font-weight:600}
.advice-contact-form label span{font-weight:400}
.advice-contact-form input{width:100%;min-width:0;min-height:48px;border:1px solid #829087;border-radius:5px;background:var(--white);color:var(--ink);padding:11px 12px;font:inherit}
.advice-contact-form .note{font-size:13px!important;margin:8px 0 12px}
.advice-contact-form .btn{width:100%;justify-content:center;text-align:center;margin:0}
.advice-contact-form .btn:disabled{opacity:.55;cursor:not-allowed}
.advice-contact-form [role=status]{font-size:14px;margin:4px 0;line-height:1.6}
.advice-contact-form [role=status]:empty{display:none}
.advisor-dialog .advice-direct{width:100%;justify-content:center;text-align:center;margin:8px 0}
.advisor-dialog .advice-contact-form+h3{margin-top:0}
.sticky-next .btn{max-width:100%;flex-shrink:1}
body{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
body.booking-route,body.about-route{padding-bottom:0}
@media(max-width:1100px){
 :root{--gutter:32px}
 .header-inner{min-height:82px;flex-wrap:wrap;gap:0}
 .menu-toggle{display:block}
 .nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:8px;padding:16px 0 24px}
 .nav.open{display:flex}
 .nav a{font-size:15px}
 .nav a.btn{justify-content:space-between;margin-top:8px}
 .footer-grid{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:24px}
 .advice-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px}
}
@media(max-width:800px){
 :root{--gutter:20px}
 .hero-grid,.split,.about-preview,.package-grid,.contact-grid,.selector,.two-col,.advice-layout,.booking-grid{grid-template-columns:minmax(0,1fr)}
 .hero-visual{margin-left:0;padding-bottom:0}
 .hero h1{font-size:clamp(34px,9vw,42px);line-height:1.15}
 .page-hero h1{font-size:clamp(32px,8.4vw,40px);line-height:1.18}
 .about-editorial h1,.about-final h2{font-size:clamp(34px,9vw,43px)}
 .section{padding-block:44px}
 .page-hero{padding-block:28px}
 .page-hero .crumb{margin-bottom:20px}
 .section-top{margin-bottom:28px}
 .section-top>p,.section-top>.btn{margin-top:20px}
 .offers,.insight-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .offer,.insight-card,.advice-booking,.journey-pair article{padding:24px}
 .offer{display:flex;gap:0;grid-row:auto}
 .offer .offer-tag{margin:0 0 20px}
 .offer h3{margin:0 0 16px;font-size:27px}
 .offer>p{margin:0 0 20px}
 .offer .checks{margin:0 0 24px}
 .offer .price{margin:0 0 24px;padding:0}
 .offer .btn{max-width:none;width:100%;margin:0}
 .free-entry{padding:24px;gap:20px}
 .free-entry .btn{width:100%;justify-content:center;flex-shrink:1}
 .advice-layout{gap:28px}
 .advice-section{padding:4px 0 44px}
 .advice-main h2{margin-bottom:16px}
 .advice-booking .price{font-size:26px}
 .advice-booking .btn,.article-cta .btn,.cta-action .btn{justify-content:center;text-align:center}
 .article-cta{padding:24px;margin-top:36px}
 .article-shell h2{margin-top:32px;margin-bottom:18px}
 .article-shell .article-cta h2{margin-top:0}
 .article-shell p,.article-shell li{line-height:1.8}
 .booking-grid{gap:28px}
 .booking-guide h1{font-size:clamp(30px,8vw,36px)}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 .footer-grid>div:first-child{grid-column:1/-1}
 .footer .brand-text{font-size:20px}
 .advisor-dialog{width:calc(100% - 32px);padding:16px;max-height:calc(100dvh - 32px)}
 .advisor-dialog .advisor-panel{padding:8px 0 0}
 .advisor-dialog .advisor-panel h3{font-size:22px;line-height:1.4}
 .advisor-options button{padding:14px 16px}
 .advisor-panel>.btn{text-align:center}
 .sticky-next .btn{width:100%;justify-content:center;text-align:center}
 body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 body.booking-route,body.about-route{padding-bottom:0}
}
@media(max-width:480px){
 .footer-grid{grid-template-columns:minmax(0,1fr)}
 .header .brand{gap:8px}
 .header .brand-text{font-size:18px}
 .header .brand-mark{width:30px;height:36px}
 .header .menu-toggle{padding:8px 10px}
 .hero .eyebrow{letter-spacing:1.2px}
 .about-journey-row>div{gap:16px}
 .about-journey-row h3{font-size:22px}
 .cta .wrap{gap:24px}
 .cta-action{width:100%}
}

/* Advice and booking stay in one continuous page. */
.advice-reason{margin-block:28px}
.advice-reason p{margin:0}
.advice-calendar .wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:48px;align-items:start}
.advice-calendar-intro h2{font-size:clamp(28px,3vw,38px);line-height:1.2}
.advice-calendar .booking-panel{min-width:0}
.advice-calendar .booking-panel h3{font-size:25px;margin-bottom:20px}
.advice-calendar .booking-person{margin-block:28px 20px}
.advice-calendar .booking-person img{width:64px;height:64px}
.advice-contact-form .btn,.advice-email button[type=submit]{background:var(--terra);border-color:var(--terra);color:var(--white);justify-content:center}
.advice-contact-form .btn:hover,.advice-email button[type=submit]:hover{background:#243A2B;border-color:#243A2B}
.advisor-panel .advice-direct{display:block;width:auto;min-height:44px;margin:8px 0 12px;padding:10px 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:14px}
body.advice-route{padding-bottom:0}
@media(max-width:800px){.advice-calendar .wrap{grid-template-columns:minmax(0,1fr);gap:24px}.advice-calendar .booking-panel h3{font-size:23px}.advice-calendar-intro>p:last-child{margin-bottom:0}}

.advice-layout>.mail-confirmation{grid-column:1/-1;margin:0}

.sticky-next>.wrap{justify-content:flex-end;gap:48px}

.website-suggestion{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 8px}

/* A single advice flow, followed by a distinct invitation and calendar. */
.advice-flow{display:block}

.advice-flow .advice-price{margin-top:32px;padding-top:24px;border-top:1px solid #c5cebf}
.advice-price .price{font-size:30px;margin-bottom:8px}
.advice-price>p{margin:8px 0 0}
.page-hero .mail-confirmation{margin:0 0 24px;padding:14px 18px;border-left:4px solid var(--terra);background:var(--sage);font-size:15px;line-height:1.6}
.advice-reason{margin:0 0 32px}
.advice-reason p+p{margin-top:16px}
.advice-first-step{margin-top:24px;padding:24px;background:var(--sage);border-radius:6px}
.advice-first-step h3{font-size:23px;margin:0 0 12px}
.advice-invitation{background:var(--sage);padding:36px 0}
.advice-invitation .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}
.advice-invitation h2{font-size:clamp(28px,3vw,38px);color:var(--terra);font-weight:700;line-height:1.2;margin:12px 0}
.advice-invitation p{margin:0}
.advice-invitation .btn{background:var(--terra);border-color:var(--terra);color:var(--white);max-width:390px;justify-content:center;text-align:center}
.advice-calendar .wrap{display:block}
.advice-calendar .booking-person{margin:20px 0 24px}
.advice-calendar .booking-panel h2{font-size:30px;margin-bottom:16px}
.advice-invitation,.advice-calendar{scroll-margin-top:24px}
@media(max-width:800px){.advice-invitation .wrap{flex-direction:column;align-items:stretch;gap:24px}.advice-invitation .btn{width:100%;max-width:none}.advice-first-step{padding:20px}.advice-flow .advice-price{margin-top:24px}.advice-calendar .booking-panel h2{font-size:26px}}

/* Match the site's 1240px outer grid; keep prose on one reading width. */
.advice-route main>.page-hero>.wrap,
.advice-route main>.advice-section>.wrap,
.advice-route main>.advice-options>.wrap,
.advice-route main>.advice-invitation>.wrap,
.advice-route main>.advice-calendar>.wrap{max-width:none}
.advice-route .page-hero{border-bottom:0}
.advice-route .page-hero h1,
.advice-route .page-hero .intro,
.advice-route .advice-main,
.advice-route .advice-options .section-top h2{max-width:860px}
.advice-route .advice-answer-list{border-top:0;padding-top:0}
.advice-route .advice-answer-list h2{margin-top:0}

/* Advice leads into the same three packages, with one personal recommendation. */
.advice-route .advice-section{background:var(--white);padding-block:56px}
.advice-route .advice-reason{margin-bottom:20px}
.advice-options{background:var(--cream);padding-top:64px}
.advice-options .section-top{align-items:end}
.advice-options .offer.featured{background:var(--sage);border:2px solid var(--ink)}
.advice-options .offer[data-recommended] .offer-badge{background:var(--ink);color:var(--white);font-weight:600}
.advice-options .offer:not([data-recommended]){background:var(--white)}
.advice-options-note{font-size:14px;line-height:1.7;max-width:850px;margin:28px 0 0;color:var(--muted)}
@media(max-width:800px){.advice-options{padding-top:40px}.advice-options .section-top{margin-bottom:32px}.advice-options .offer[data-recommended]{order:-1}.advice-options .offer-badge{right:16px}.advice-route .advice-section{padding-block:36px}}

/* Answers form the evidence before the recommendation. */
.advice-answer-list{margin:0 0 32px}
.advice-answer-list h2{margin-bottom:16px}
.advice-answer-list ul{margin:0 0 12px;padding-left:22px}
.advice-answer-list li{padding-block:4px}
.advice-invitation-copy{flex:1;max-width:610px}
.advice-invitation-action{flex:0 0 390px}
.advice-invitation-action .btn{width:100%}
.advice-invitation-action .advice-invitation-microcopy{font-size:13px;line-height:1.6;text-align:center;margin-top:12px}

@media(max-width:800px){.advice-invitation-action{flex:auto}.advice-invitation-copy{max-width:none}}

/* Prepared brand: Diëtisten Consultancy */
:root{--ink:#243A2B;--cream:#F5F8EF;--terra:#527D25;--sage:#E4F0D5;--peach:#8ABF42;--font:'DM Sans',sans-serif;--display:'Lora',serif;--button-text:#FFFFFF}
.btn{color:var(--button-text)}.btn:hover{background:var(--ink);color:var(--cream)}.btn.outline{color:var(--ink)}.btn.light{color:var(--ink)}
.brand svg{flex:0 0 42px}.brand-text{font-family:var(--display);font-size:21px;letter-spacing:-.6px}.brand-text small{font-family:var(--font)}
.hero h1{font-size:clamp(38px,4.1vw,62px);line-height:1.12;text-wrap:balance}.sector-example{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.offer.featured{background:var(--sage)}.hero-photo{object-position:center}.about-editorial-photo img{object-position:center}
.cta .eyebrow:before{background:var(--peach)}
@media(max-width:600px){.brand-text{font-size:18px}.brand svg{width:36px;height:36px;flex-basis:36px}.hero h1{font-size:38px}}

/* Approved LC logo family, 19 October 2026. */
.brand{min-width:0;flex-shrink:1;max-width:300px}.brand img.brand-logo{display:block;height:auto;max-width:100%;flex-shrink:1;object-fit:contain}.header-inner>.brand{margin-right:auto}.footer .brand{max-width:300px}@media(max-width:800px){.header-inner>.brand{max-width:calc(100vw - 130px)}.header .brand img.brand-logo{max-height:48px}}
