:root{--paper:#f5f1e8;--ink:#26235e;--gold:#b48927;--muted:#5e5b6c;--line:#d9d4ca;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 var(--sans)}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
::selection{background:#e1c77f;color:var(--ink)}
.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:124px;gap:32px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;flex-shrink:0}
.brand img{display:block;width:210px;height:auto;max-width:100%}
.site-header nav{display:flex;align-items:center;gap:26px;font-size:14px}
.site-header nav a{padding:10px 0}
.site-header nav a[aria-current=page]{box-shadow:0 2px var(--gold)}
.site-header nav a:hover,.text-link:hover{color:#82601a}
.site-header nav .nav-cta{border:1px solid var(--ink);padding:9px 18px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}
h1{font-size:clamp(48px,6.3vw,82px);letter-spacing:-1.5px;max-width:900px;margin-bottom:28px}
h2{font-size:clamp(32px,3.3vw,44px);letter-spacing:-.5px;margin-bottom:22px}
h3{font-size:29px;margin:30px 0 12px}
p{margin-bottom:20px}
p:last-child{margin-bottom:0}
.eyebrow{font-size:14px;line-height:1.5;font-weight:500;margin-bottom:24px;color:var(--muted)}
.page-intro{padding-block:76px 70px}
.lead{max-width:740px;font-size:21px;line-height:1.7;color:var(--muted);margin-bottom:0}
.page-intro .button{margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;background:var(--ink);border:1px solid var(--ink);color:white;font-size:15px;font-weight:500}
.button:hover{background:#3d3975}
.button.secondary{background:transparent;color:var(--ink)}
.button.secondary:hover{background:#e9e3d5}
.text-link{display:inline-block;border-bottom:1px solid var(--gold);font-size:16px;padding-bottom:3px;margin-top:8px}
.values-strip{position:sticky;top:0;z-index:10;background:#e9e3d5;border-block:1px solid var(--line)}
.values-strip .wrap{display:flex;justify-content:space-between;gap:24px;padding-block:16px;font-size:14px}
.reading-section{display:grid;grid-template-columns:1fr 1.55fr;gap:80px;padding-block:64px;border-top:1px solid var(--line);scroll-margin-top:100px}
.reading-section>div{max-width:660px;color:var(--muted)}
.reading-section h3,.reading-section strong{color:var(--ink)}
.plain-list{margin:0;padding-left:22px}
.plain-list li{padding-left:8px;margin-bottom:20px}
.learning-cycle{list-style:decimal-leading-zero;margin:0;padding-left:34px}
.learning-cycle li{padding-left:14px;margin-bottom:32px}
.learning-cycle li:last-child{margin-bottom:0}
.learning-cycle li::marker{color:var(--gold);font-size:15px}
.learning-cycle h3{margin:0 0 10px}
.foundations{margin:28px 0 0}
.foundations>div{padding-block:20px;border-top:1px solid var(--line)}
.foundations dt{color:var(--ink);font-weight:600;margin-bottom:5px}
.foundations dd{margin:0}
.cta{padding-block:60px 68px;border-top:1px solid var(--line)}
.cta p{max-width:670px;color:var(--muted)}
.cta h2{margin-bottom:18px}
.cta .button{margin-top:8px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:32px;border-top:1px solid var(--line);font-size:14px}
.site-footer .brand img{width:160px}
.site-footer>div{text-align:right}
.site-footer small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}
.guide-feature{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:center;padding-block:64px;border-top:1px solid var(--line)}
.guide-feature h2{font-size:44px}
.guide-feature p:not(.eyebrow){color:var(--muted)}
.guide-feature .eyebrow{margin-bottom:12px}
.photo-frame img{display:block;width:100%;height:auto}
.photo-frame>span{display:block;font-size:13px;color:var(--muted);margin-top:12px}
.johan-portrait{width:min(100%,320px);justify-self:center}
.contact-options{padding-block:48px 64px;border-top:1px solid var(--line)}
.contact-options p{max-width:660px;color:var(--muted)}
.booking-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:20;padding:10px 20px;background:var(--ink);color:white}
.skip-link:focus{top:12px}
.menu-toggle{border:1px solid var(--line);background:none;color:var(--ink);padding:8px 12px;font-size:14px}
.menu-toggle[hidden]{display:none}
@media(min-width:901px){.menu-toggle{display:none}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:18px}.brand img{width:180px}.reading-section,.guide-feature{gap:40px}}
@media(max-width:900px){.site-header{flex-wrap:wrap;padding-block:24px;min-height:100px}.menu-toggle:not([hidden]){display:block}.site-header nav{width:100%;flex-wrap:wrap}.js .site-header nav{display:none}.js .site-header nav.open{display:flex}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.page-intro{padding-block:48px}.lead{font-size:18px}.reading-section,.guide-feature{grid-template-columns:1fr;gap:20px;padding-block:40px}.reading-section h2{max-width:400px;margin-bottom:0}.values-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;padding-block:12px}.cta{padding-block:40px}.site-header nav{align-items:stretch;flex-direction:column;gap:4px}.site-header nav a{padding:10px}.site-header nav .nav-cta{margin-top:8px}.site-footer{align-items:start;gap:24px;flex-wrap:wrap}.site-footer>div{text-align:left}.site-footer .brand img{width:140px}.guide-feature h2{font-size:38px}.guide-feature .photo-frame{max-width:400px}.johan-portrait{justify-self:start}.contact-options{padding-block:36px 44px}.booking-links{gap:14px}.learning-cycle{padding-left:28px}}
