header .language-toggle .header-initial{color:var(--green)}
.header-updates{color:var(--green)}
.back-to-top{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:15;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--navy);border-radius:5px;background:var(--paper);color:var(--green);padding:9px}
.back-to-top[hidden]{display:none}.back-to-top svg{width:24px;height:24px}.back-to-top:hover,.back-to-top:focus-visible{background:var(--navy);color:#fff}
header a .header-initial{color:var(--green)}
.header-updates:hover .header-initial,.header-updates:focus-visible .header-initial{color:inherit}
.mobile-contact{display:none}@media(max-width:819px){.mobile-contact{display:inline-flex;min-height:44px;align-items:center}}
.capa-faq details,.capa-faq .faq-question-only{border-top:1px solid var(--line)}
.capa-faq summary,.capa-faq .faq-question-only{font-size:20px;line-height:1.5;font-weight:600;min-height:44px;padding:18px 0;overflow-wrap:anywhere}
.capa-faq summary{cursor:pointer}.capa-faq summary::marker,.capa-faq details[open]>summary{color:var(--green)}
.capa-faq details p{padding-bottom:24px;max-width:850px;overflow-wrap:anywhere}
@media(max-width:700px){.back-to-top{right:12px;bottom:max(16px,env(safe-area-inset-bottom))}.capa-faq summary,.capa-faq .faq-question-only{font-size:19px}}

/* Final shared UI refinements. */
header .header-updates{background:var(--navy);color:#fff;border-color:var(--navy)}
header .header-updates .header-initial{color:inherit}
header .header-updates:hover,header .header-updates:active,header .header-updates:focus-visible{background:var(--green);color:#fff;border-color:var(--green)}
:is(.book-faq,.capa-faq,.hub-questions) summary,:is(.book-faq,.capa-faq,.hub-questions) details[open]>summary{color:var(--navy)}
:is(.book-faq,.capa-faq,.hub-questions) summary::marker{color:var(--green)}
:is(.book-faq,.capa-faq,.hub-questions) summary::-webkit-details-marker{color:var(--green)}
:root{--photo-radius:8px}
:is(.hero-photo,.trailer-photo,.qa-photo,.founder-photo,.hub-hero,.hub-practice,.capa-product-photo,.book-hero,.book-glasses-image) img{border-radius:var(--photo-radius)}
.homepage-hero-video{border-radius:var(--photo-radius);overflow:hidden}

/* Shared EN/NL homepage explanation directly beneath the hero video. */
.hero-copy .hero-introduction{max-width:780px;margin-left:auto;margin-right:auto;text-align:left}
.hero-copy .hero-introduction>p,.hero-copy .hero-introduction>p:nth-child(-n+2){font-size:21px;line-height:1.8;text-align:center}
@media(max-width:700px){.hero-copy .hero-introduction>p,.hero-copy .hero-introduction>p:nth-child(-n+2){font-size:20px}}
.book-page .book-faq details[open]>summary{color:var(--navy)}
/* Restrained homepage editorial emphasis. */
.hero-copy .homepage-statement{margin:0 auto;padding:16px 0;max-width:780px;font-size:clamp(23px,2.1vw,30px);line-height:1.6;font-weight:500;text-align:center;text-wrap:pretty}
#solutions .tool-top h2,#solutions .capa-introduction p{color:#fff}
#solutions .tool-top h2 .accent,#solutions .capa-introduction .accent{color:var(--green)}
#solutions .capa-introduction p{font-size:clamp(21px,2vw,27px);line-height:1.65;text-wrap:pretty}
#solutions .capa-introduction p:first-child{font-weight:600}
#solutions .tool-bottom h3{font-size:clamp(30px,3vw,44px);line-height:1.2}
#solutions .tool-bottom .capa-summary{font-size:clamp(20px,1.7vw,24px);line-height:1.65}
#solutions .tool-bottom .link{font-size:19px;line-height:1.5}
#perspective .closing-copy p{font-size:clamp(19px,1.55vw,22px);line-height:1.75}
#about .founder-heading{font-size:clamp(22px,2vw,28px);line-height:1.4;color:var(--navy)}
#about .byline{font-size:20px;line-height:1.6}
#about .bio{font-size:19px;line-height:1.75}
#about .founder-link-label{display:inline;word-spacing:normal;letter-spacing:normal}
#about .founder-link-label span{display:inline}
#about .founder-socials{gap:12px}
#about .founder-socials a{width:48px;height:48px;min-width:48px}
#about .founder-socials svg{width:26px;height:26px}
/* Editorial CTA treatment; excludes forms, navigation and footer links. */
main a.link{width:fit-content;max-width:100%;min-height:44px;border-bottom:1px solid var(--green);gap:18px;align-items:center;line-height:1.5}
main a.link>.cta-label{display:inline;min-width:0}
main a.link>.cta-arrow{flex:none;display:inline-block}
main a.link:hover,main a.link:focus-visible{border-bottom-width:2px;text-decoration:none}
main a.link:hover>.cta-arrow,main a.link:focus-visible>.cta-arrow{transform:translateX(3px)}
.hero-copy .hero-products{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7%;max-width:1100px;margin:32px auto 0;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}
.hero-products article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hero-copy .hero-products h2{font-size:clamp(25px,2.3vw,32px);line-height:1.25;margin:0 0 16px}
.hero-copy .hero-products p{font-size:18px;line-height:1.65;max-width:none;margin:0 0 20px}
.hero-copy .hero-products .product-title{margin-top:-8px;font-size:17px}
.hero-products a.link{font-size:18px;margin-top:auto}
main:not([class])>#solutions,main>#stay-updated{position:relative;margin-block:25px}
main:not([class])>#solutions::before,main>#stay-updated::before,main:not([class])>#solutions::after,main>#stay-updated::after{content:"";position:absolute;left:6%;right:6%;height:1px;background:var(--line);pointer-events:none}
main:not([class])>#solutions::before,main>#stay-updated::before{top:-25px}
.hero-products a.link{color:var(--green)}
footer,footer .privacy-footer,footer .legal-footer-company,footer .legal-footer-links a,footer .legal-footer-links button{font-size:14px;line-height:1.6}
footer .footer-socials{gap:8px}
footer .footer-socials svg{width:24px;height:24px}
.produce-story .produce-caption h2{font-size:clamp(30px,3.8vw,54px);text-align:center;margin-inline:auto;text-wrap:balance}
main:not([class])>#solutions::after,main>#stay-updated::after{bottom:-25px}
@media(max-width:700px){.hero-copy .hero-products{grid-template-columns:minmax(0,1fr);gap:24px}.hero-products article+article{border-top:1px solid var(--line);padding-top:24px}}
/* Homepage colour rhythm and Knowledge editorial alignment. */
main:not([class])>#lens,main:not([class])>#about,main:not([class])>#knowledge{background:var(--paper);color:var(--navy)}
main:not([class])>#lens .lens-story p,main:not([class])>#lens .lens-intro,main:not([class])>#lens .book-launch{color:var(--navy)}
main:not([class])>#lens .book-actions .waiting-link{color:var(--green)}
main:not([class])>#knowledge{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:8%;row-gap:24px}
main:not([class])>#knowledge::before{content:"";position:absolute;top:0;left:6%;right:6%;height:1px;background:var(--line)}
/* One grid-aligned divider at each homepage section boundary. */
main:not([class])>section+section{position:relative;border-top:0}
main:not([class])>section+section::before{content:"";position:absolute;top:0;left:6%;right:6%;height:1px;background:var(--line);pointer-events:none}
main:not([class])>#knowledge .section-label{grid-column:1;grid-row:1;margin:0}
main:not([class])>#knowledge .knowledge-editorial{display:contents}
main:not([class])>#knowledge h2{grid-column:1;grid-row:2;margin:0}
main:not([class])>#knowledge .knowledge-introduction{grid-column:2;grid-row:1 / span 2;align-self:center}
main:not([class])>#knowledge .knowledge-introduction p{font-size:22px;line-height:1.7;text-wrap:pretty}
main:not([class])>#knowledge .knowledge-introduction .link{font-size:19px;line-height:1.5;margin-top:24px}
@media(max-width:700px){
 main:not([class])>#knowledge{grid-template-columns:minmax(0,1fr);row-gap:24px}
 main:not([class])>#knowledge .knowledge-introduction{grid-column:1;grid-row:3}
 main:not([class])>#knowledge .knowledge-introduction p{font-size:20px}
}
main:not([class])>#solutions::before,main>#stay-updated::before{top:-25px}

/* Shared signup readability and compact mobile header/footer. */
#stay-updated #updates-form > .email-label{font-size:20px}
#stay-updated #updates-email{font-size:18px;line-height:1.6}
#stay-updated legend .accent{font-weight:800}
@media(max-width:700px){
 header{flex-wrap:nowrap;gap:8px}
 header .brand{width:60px}
 header .header-end{order:1;margin-left:auto;gap:8px}
 header .header-updates{order:2;margin-left:0;font-size:11px;padding:6px 8px;min-height:44px;flex-shrink:0}
 #stay-updated#stay-updated .updates-logo{width:76px;height:auto;margin:18px auto 0}
 footer{text-align:center;justify-content:center}
 footer .privacy-footer{width:100%;text-align:center}
 footer .legal-footer-company,footer .footer-socials{justify-content:center}
 footer .legal-footer-links a,footer .legal-footer-links button{justify-content:center;text-align:center}
}

/* Keep every clickable text link bold across shared and page-specific styles. */
a[href],button[role='link'],footer .legal-footer-links button,header .language-toggle{font-weight:700!important}
