body{margin:0}
*{box-sizing:border-box}
img{display:block;max-width:100%}
a{color:#3F7426;text-decoration:none}
a:hover{color:#303230}
a.u:hover{text-decoration:underline;text-decoration-color:#579F32;text-decoration-thickness:2px;text-underline-offset:6px}
a.u[aria-current="page"]{text-decoration:underline;text-decoration-color:#579F32;text-decoration-thickness:2px;text-underline-offset:6px}
a.btn{transition:transform .15s ease}
a.btn:hover{transform:translateY(-2px)}
button.btn{transition:transform .15s ease;cursor:pointer}
button.btn:hover{transform:translateY(-2px)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #579F32;outline-offset:2px}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:16px}
a.skip{position:absolute;left:-9999px;top:0;z-index:10;padding:12px 18px;background:#303230;color:#FFFFFF;font-family:'Figtree','Segoe UI',sans-serif;font-weight:600}
a.skip:focus{left:8px;top:8px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}a.btn,button.btn{transition:none}}

/* Shared page system for pages built with classes */
.pg{background:#FFFFFF;color:#303230;font-family:'Figtree','Segoe UI',sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden}
.pg p{margin:0}
.wrap{max-width:1200px;margin:0 auto}
.sec{padding:clamp(64px,8vw,112px) clamp(20px,5vw,64px)}
.sec-hero{padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,80px)}
.sec-soft{background:#F3F4F0}
.sec-dark{background:#303230;color:#FFFFFF}
.stack{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.eyebrow{font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#3F7426}
.sec-dark .eyebrow{color:#A8BD2A}
.h1,.h2,.h3,.h4{margin:0;font-family:'Outfit',sans-serif}
.h1{font-weight:300;font-size:clamp(40px,5.4vw,74px);line-height:1.04;letter-spacing:-.02em}
.h1 .g{font-weight:600;color:#4A892E}
.h2{font-weight:300;font-size:clamp(32px,3.6vw,50px);line-height:1.1;letter-spacing:-.015em}
.h2 b{font-weight:600}
.h3{font-size:26px;font-weight:600;line-height:1.2}
.h4{font-size:21px;font-weight:600;line-height:1.25;margin-bottom:6px}
.lede{max-width:600px;font-size:clamp(18px,1.5vw,21px);line-height:1.55}
.note{max-width:860px;margin-top:40px}
.pg .note{margin-top:40px}
.spectrum{display:flex;gap:4px}
.spectrum span{display:block;width:16px;height:5px;background:#E45829}
.spectrum span:nth-child(2){background:#ED9616}
.spectrum span:nth-child(3){background:#E8C414}
.spectrum span:nth-child(4){background:#A8BD2A}
.spectrum span:nth-child(5){width:64px;background:#579F32}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.btn-dark,.btn-line{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 30px;font-size:18px;font-weight:600;border-radius:3px}
.btn-dark,a.btn-dark:hover{background:#303230;color:#FFFFFF}
.btn-line,a.btn-line:hover{background:#FFFFFF;color:#303230;border:2px solid #303230}
.lnk{font-weight:600;color:#3F7426}

.split{display:flex;flex-wrap:wrap;align-items:center;gap:48px 72px}
.col-a{flex:1 1 500px;min-width:0}
.col-b{flex:1 1 420px;min-width:0}
.photo{position:relative;padding:0 18px 18px 0}
.photo::before{content:"";position:absolute;right:0;bottom:0;width:58%;height:62%;background:#579F32}
.photo img{position:relative;width:100%;aspect-ratio:1 / 1.04;object-fit:cover;object-position:62% 30%}

.band{background:#F3F4F0;padding:32px clamp(20px,5vw,64px)}
.band .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}
.band .eyebrow{font-size:14px}
.band ul{margin:0;padding:0;list-style:none;flex:1 1 520px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 28px;font-family:'Outfit',sans-serif;font-size:21px;font-weight:500;color:#4B4E4A}

.sec-head{display:flex;flex-direction:column;gap:12px;max-width:760px;margin-bottom:48px}
.cards{display:flex;flex-wrap:wrap;gap:28px}
.card{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:10px;padding:28px;background:#FFFFFF;border:1px solid #E4E6E0}
.pull{max-width:920px;margin:56px 0 0;padding:28px 0 0;border-top:2px solid #579F32}
.pull blockquote{margin:0;font-family:'Outfit',sans-serif;font-weight:300;font-size:clamp(22px,2.3vw,30px);line-height:1.35}
.pull figcaption{margin-top:14px;font-size:16px}
.pull b,.quote b{font-weight:600}
.tags{margin:40px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.tags li{padding:8px 16px;background:#FFFFFF;border:1px solid #CFD3C8;border-radius:3px;font-size:16px;font-weight:500}

.topics{margin:0;padding:0;list-style:none;border-top:2px solid #303230}
.topic{display:flex;flex-wrap:wrap;gap:16px 56px;padding:36px 0;border-bottom:1px solid #CFD3C8}
.topic-h{flex:1 1 320px;min-width:0;display:flex;align-items:baseline;gap:20px}
.topic-n{flex:0 0 32px;font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;color:#3F7426}
.topic-t{margin:0;font-family:'Outfit',sans-serif;font-size:clamp(22px,2.1vw,28px);font-weight:500;line-height:1.25}
.topic-b{flex:1.5 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.takeaways{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3F7426}
.ticks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.ticks li{position:relative;padding-left:26px}
.ticks li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;background:#579F32}
.also-head{margin:56px 0 20px}
.also{display:flex;flex-wrap:wrap;gap:28px 40px}
.also>div{flex:1 1 240px;min-width:0}

.prog{display:flex;flex-wrap:wrap;gap:28px}
.prog-card{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:10px;padding:28px;background:#F3F4F0;border-top:5px solid #579F32}
.prog-date{font-family:'Outfit',sans-serif;font-size:18px;font-weight:600;color:#3F7426}
.prog-place{font-size:16px;font-weight:600}

.eng-top{margin-bottom:56px}
.eng-photo{margin:0}
.eng-photo img{width:100%;aspect-ratio:16 / 10;object-fit:cover;object-position:50% 38%}
.eng-photo figcaption{margin-top:12px;font-size:15px;color:#D5D8D0}
.years{columns:2 420px;column-gap:72px}
.year{break-inside:avoid;margin:0 0 44px}
.year-h{margin:0 0 8px;font-family:'Outfit',sans-serif;font-size:30px;font-weight:300;line-height:1.2;color:#A8BD2A}
.evs{margin:0;padding:0;list-style:none;border-top:1px solid #6A6D69}
.evs li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid #6A6D69}
.ev{font-family:'Outfit',sans-serif;font-size:21px;font-weight:500;line-height:1.3}
.role{font-size:16px;color:#D5D8D0}

.two{display:flex;flex-wrap:wrap;gap:40px 72px}
.two>div{flex:1 1 400px;min-width:0}
.list{margin:16px 0 0;padding:0;list-style:none;border-top:1px solid #CFD3C8}
.list li{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-bottom:1px solid #CFD3C8}
.list .t{font-family:'Outfit',sans-serif;font-size:21px;font-weight:500;line-height:1.3}
.list .d{font-size:16px}

.quotes{display:flex;flex-wrap:wrap;gap:28px}
.quote{flex:1 1 440px;min-width:0;margin:0;display:flex;flex-direction:column;gap:18px;padding:32px;border:1px solid #E4E6E0}
.quote blockquote{margin:0}
.quote figcaption{font-size:16px}

/* Header, footer and enquiry block shared by every page */
.hdr{background:#FFFFFF;border-bottom:1px solid #E4E6E0;padding:0 clamp(20px,5vw,64px)}
.hdr-in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 32px;min-height:84px;padding:12px 0}
.brand{display:inline-flex;align-items:center;min-height:44px;gap:10px;margin:0;font-family:'Outfit',sans-serif;font-size:23px;letter-spacing:.16em;text-transform:uppercase;color:#303230}
.brand span:first-child{font-weight:300}
.brand span:last-child{font-weight:700}
a.brand:hover{color:#303230}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;font-size:17px;font-weight:500}
.nav a.u{display:inline-flex;align-items:center;min-height:44px;color:#303230}
.nav .cta,.nav a.cta:hover{display:inline-flex;align-items:center;min-height:46px;padding:0 24px;background:#303230;color:#FFFFFF;font-weight:600;border-radius:3px}
.menu-btn{display:none;align-items:center;min-height:44px;padding:0 18px;background:#FFFFFF;color:#303230;border:2px solid #303230;border-radius:3px;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
@media (max-width:480px){.hdr .brand{font-size:18px;letter-spacing:.12em;gap:7px}.hdr-in{gap:4px 12px;min-height:68px}}
@media (max-width:900px){
.js .menu-btn{display:inline-flex}
.js .nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 12px}
.js .nav.open{display:flex}
.js .nav a.u{min-height:48px;border-top:1px solid #E4E6E0}
.js .nav .cta{align-self:flex-start;margin-top:12px}
}
.subnav{background:#F3F4F0;border-bottom:1px solid #E4E6E0;padding:0 clamp(20px,5vw,64px)}
.subnav ul{max-width:1200px;margin:0 auto;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0 28px;font-size:16px;font-weight:600}
.subnav a{display:inline-flex;align-items:center;min-height:48px;color:#303230}
.ftr{background:#303230;color:#FFFFFF;padding:0 clamp(20px,5vw,64px) 40px}
.ftr-bar{max-width:1200px;margin:0 auto;display:flex;gap:4px}
.ftr-bar span{display:block;width:16px;height:5px;background:#E45829}
.ftr-bar span:nth-child(2){background:#ED9616}
.ftr-bar span:nth-child(3){background:#E8C414}
.ftr-bar span:nth-child(4){background:#A8BD2A}
.ftr-bar span:nth-child(5){flex-grow:1;background:#579F32}
.ftr-in{max-width:1200px;margin:0 auto;padding-top:56px;display:flex;flex-direction:column;gap:40px}
.ftr-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px 64px}
.ftr-about{flex:1 1 300px;max-width:440px;display:flex;flex-direction:column;gap:18px}
.ftr .brand{color:#FFFFFF}
.ftr-about p{margin:0;font-size:16px;line-height:1.6;color:#D5D8D0}
.ftr-cols{flex:2 1 520px;display:flex;flex-wrap:wrap;gap:28px 40px}
.ftr-col{flex:1 1 150px;min-width:0}
.ftr-col h2{margin:0 0 6px;font-family:'Figtree','Segoe UI',sans-serif;font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#A8BD2A}
.ftr-col ul{margin:0;padding:0;list-style:none}
.ftr-col a,.ftr-col a:hover{display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.3;color:#FFFFFF}
.ftr-base{margin:0;padding-top:24px;border-top:1px solid #6A6D69;font-size:15px;color:#D5D8D0}
.enq{display:flex;flex-wrap:wrap;gap:40px 72px}
.enq-a{flex:1 1 360px;min-width:0}
.enq-contact{display:flex;flex-direction:column;align-items:flex-start;margin-top:8px}
.enq-contact .q{font-size:16px;font-weight:600}
.enq-tel,a.enq-tel:hover{display:inline-flex;align-items:center;min-height:48px;font-family:'Outfit',sans-serif;font-size:28px;font-weight:500;color:#303230}
.enq-mail{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:#3F7426;overflow-wrap:anywhere}
.enq-form{flex:1.3 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px;padding:clamp(24px,3.5vw,44px);background:#F3F4F0}
.sec-soft .enq-form{background:#FFFFFF}
.f-row{display:flex;flex-wrap:wrap;gap:20px}
.f{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:6px}
.f label{font-size:16px;font-weight:600}
.f input,.f textarea{width:100%;padding:0 14px;background:#FFFFFF;border:1px solid #7C807A;border-radius:3px;font:inherit;color:#303230}
.f input{height:52px}
.f textarea{padding:12px 14px;resize:vertical}
.enq-form .btn-dark{align-self:flex-start;border:0;font-family:inherit}
.enq-note{font-size:15px;color:#4B4E4A}

/* Inner pages */
.h1-in{font-size:clamp(38px,4.8vw,64px)}
.h1 b{font-weight:600}
.h2-s{margin-bottom:28px}
.lede-wide{max-width:820px}
.sec-tight{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.split-top{align-items:flex-start}
.btn-s{min-height:48px;padding:0 22px;font-size:16px}
.btn-light,a.btn-light:hover{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 30px;background:#FFFFFF;color:#303230;font-size:18px;font-weight:600;border-radius:3px}
.sec-dark .lede{color:#FFFFFF}
.card .lnk{margin-top:auto;display:inline-flex;align-items:center;min-height:44px}
.card-2{flex:1 1 380px}
.card-3{flex:1 1 300px}
.card-sub{font-weight:600}
.reel{display:block;width:100%;aspect-ratio:16 / 9;background:#000;object-fit:cover}
.reel-wrap{flex:1.3 1 480px}
audio.pod{display:block;width:100%;max-width:560px;margin-top:6px}
.q-line{display:block}
.q-line+.q-line{margin-top:12px}
.strip{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:20px}
.strip li{flex:1 1 360px;min-width:0}
.strip img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}
.strip-cap{margin-top:12px;font-size:15px;color:#4B4E4A}
.strip-sec{padding-bottom:0}
.card .eyebrow{font-size:13px}
.card-t,a.card-t:hover{color:#303230}
a.card-t:hover{text-decoration:underline;text-decoration-color:#579F32;text-decoration-thickness:2px;text-underline-offset:5px}
.h1-d{font-size:clamp(34px,4.2vw,56px);max-width:980px}
.eyebrow a{color:inherit}
.meta{display:flex;flex-wrap:wrap;gap:16px 40px;margin:8px 0 0;padding:0}
.meta div{flex:0 1 auto;min-width:220px;max-width:560px;padding-top:12px;border-top:2px solid #579F32}
.meta dt{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3F7426}
.meta dd{margin:4px 0 0;font-family:'Outfit',sans-serif;font-size:19px;font-weight:500;line-height:1.35}
.pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 32px;padding-top:24px;border-top:2px solid #303230}
.pager a,.pager a:hover{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px;font-family:'Outfit',sans-serif;font-size:20px;font-weight:500;line-height:1.3;color:#303230}
.pager a:hover{text-decoration:underline;text-decoration-color:#579F32;text-decoration-thickness:2px;text-underline-offset:5px}
.pager span{font-family:'Figtree','Segoe UI',sans-serif;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#3F7426}
.pager .gap{flex:1 1 220px}
.pager .all{text-align:center;align-items:center}
.pager .next{text-align:right;align-items:flex-end}
@media (max-width:700px){.pager .gap{display:none}.pager a,.pager .all,.pager .next{flex-basis:100%;text-align:left;align-items:flex-start}}
.quote-w{background:#FFFFFF}
.prose{display:flex;flex-direction:column;gap:20px;max-width:860px}
.prose-l{font-size:19px}
.bq{margin:0;font-family:'Outfit',sans-serif;font-weight:300;font-size:clamp(22px,2.3vw,30px);line-height:1.35}
.topic-links{margin:0;padding:0;list-style:none;border-top:2px solid #303230}
.topic-links li{border-bottom:1px solid #CFD3C8}
.topic-links a,.topic-plain li{display:flex;align-items:baseline;gap:20px;padding:18px 0;font-family:'Outfit',sans-serif;font-size:clamp(19px,1.8vw,23px);font-weight:500;line-height:1.3;color:#303230}
.yr{display:flex;flex-wrap:wrap;gap:8px 56px;padding:36px 0;border-top:2px solid #303230}
.yr-h{flex:0 0 220px;margin:0;font-family:'Outfit',sans-serif;font-size:34px;font-weight:300;line-height:1.1;color:#4A892E}
.yr-b{flex:1 1 520px;min-width:0;margin:0;padding:0;list-style:none}
.yr-b li{display:flex;flex-direction:column;gap:4px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #CFD3C8}
.yr-b li:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
h3.ev{margin:0;font-size:23px}
.ev-meta{font-size:15px;font-weight:600;letter-spacing:.04em;color:#3F7426}
.prog-w{background:#FFFFFF}
.media{margin:0;padding:0;list-style:none;border-top:2px solid #303230;max-width:900px}
.media li{display:flex;flex-direction:column;gap:6px;padding:24px 0;border-bottom:1px solid #CFD3C8}
.media-2{max-width:none;columns:2 420px;column-gap:72px;border-top:0}
.media-2 li{break-inside:avoid;border-top:1px solid #CFD3C8;border-bottom:0}
.tags-0{margin-top:12px}
.cli{margin-bottom:36px}
.cli:last-child{margin-bottom:0}
.pkg{background:#F3F4F0;border:0;border-top:5px solid #579F32}
.book-panel{display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px);background:#F3F4F0}
.book-panel img{width:100%;max-width:400px;height:auto}
.benefits{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:32px 40px}
.benefits li{flex:1 1 300px;min-width:0;padding-top:16px;border-top:2px solid #579F32}
.pull-dark{margin-top:0}
.sellers{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:12px}
.gtg{display:flex;flex-wrap:wrap;align-items:center;gap:40px 72px}
.gtg img{flex:0 0 auto;width:min(260px,60%);height:auto;border:1px solid #E4E6E0}
.gtg .stack{flex:1 1 420px;min-width:0}
.photo-about img{aspect-ratio:5 / 5.4;object-position:50% 30%}
.facts{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:16px 40px}
.facts li{flex:1 1 230px;min-width:0;padding-top:12px;border-top:2px solid #579F32;font-family:'Outfit',sans-serif;font-size:19px;font-weight:500;line-height:1.35}
.photos{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:28px}
.photos li{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px}
.photos img{width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:50% 25%}
.photos .lnk{display:inline-flex;align-items:center;min-height:44px}
