:root{--forest:#1f4d34;--deep:#0f2a1c;--lamp:#f5dd14;--blush:#ffbfae;--lilac:#d2c7fb;--sky:#b3dcf8;--sage:#bfdcb5;--ink:#14231a;--paper:#fff9f0;--theme:var(--blush);box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.08rem/1.6 Figtree,system-ui,sans-serif}
h1,h2,h3{font-family:'Bricolage Grotesque',Georgia,sans-serif;line-height:1;margin:0;letter-spacing:-.025em}
a{color:inherit}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative}
nav{position:sticky;top:0;z-index:30;background:#fff;border-bottom:3px solid var(--ink)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:6px;padding-bottom:6px}
nav img{height:54px;display:block}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;overflow-x:auto}
nav ul a{display:block;padding:8px 15px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}
nav ul a:hover{background:var(--sage)}nav ul a.active{background:var(--lamp)}
section{padding:96px 0}
h2{font-size:clamp(2.2rem,5.2vw,4rem);font-weight:800;margin-bottom:18px}
.lead{font-size:1.2rem;max-width:50ch;margin:0 0 44px}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;background:var(--ink);color:#fff;border:3px solid var(--ink);font:600 1.05rem Figtree,sans-serif;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--lamp);color:var(--ink)}.btn.alt{background:var(--lamp);color:var(--ink)}.btn.alt:hover{background:#fff}
.terr{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22240%22%20height%3D%22240%22%3E%3Cpolygon%20points%3D%22164%2C65%20165%2C72%20153%2C70%20152%2C65%20155%2C58%20162%2C60%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2281%2C46%2077%2C52%2067%2C57%2066%2C46%2065%2C40%2075%2C40%22%20fill%3D%22%23f5dd14%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2258%2C138%2055%2C144%2047%2C143%2046%2C138%2048%2C134%2055%2C135%22%20fill%3D%22%23f5dd14%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22179%2C181%20178%2C186%20168%2C189%20168%2C181%20171%2C173%20180%2C177%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22209%2C107%20204%2C112%20195%2C112%20192%2C107%20196%2C101%20206%2C101%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22203%2C118%20201%2C120%20195%2C121%20194%2C118%20195%2C115%20202%2C114%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2285%2C175%2082%2C182%2073%2C180%2074%2C175%2075%2C169%2083%2C168%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22218%2C64%20217%2C73%20206%2C70%20198%2C64%20208%2C53%20217%2C59%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2298%2C38%2098%2C42%2092%2C41%2092%2C38%2093%2C35%2097%2C36%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22103%2C210%2099%2C214%2093%2C215%2093%2C210%2094%2C205%2098%2C207%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22148%2C180%20148%2C187%20139%2C185%20134%2C180%20139%2C175%20147%2C176%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22134%2C165%20134%2C171%20122%2C170%20118%2C165%20125%2C159%20132%2C156%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2256%2C214%2055%2C220%2045%2C223%2042%2C214%2047%2C207%2057%2C209%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2212%2C50%209%2C55%204%2C53%202%2C50%205%2C47%2010%2C47%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2252%2C140%2051%2C143%2047%2C144%2047%2C140%2048%2C137%2051%2C137%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22101%2C9%20101%2C14%2091%2C13%2089%2C9%2091%2C3%2098%2C4%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22125%2C50%20125%2C54%20119%2C56%20117%2C50%20119%2C45%20125%2C44%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22134%2C74%20130%2C82%20119%2C81%20119%2C74%20120%2C67%20135%2C69%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2214%2C31%2013%2C35%200%2C38%20-7%2C31%202%2C24%2011%2C21%22%20fill%3D%22%23f5dd14%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2285%2C126%2082%2C131%2068%2C133%2065%2C126%2071%2C117%2081%2C119%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22193%2C208%20194%2C211%20186%2C211%20185%2C208%20187%2C203%20195%2C203%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22227%2C233%20223%2C239%20213%2C238%20208%2C233%20215%2C227%20226%2C224%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2248%2C42%2042%2C49%2030%2C47%2025%2C42%2033%2C37%2045%2C36%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22114%2C17%20113%2C25%20102%2C26%20103%2C17%20103%2C12%20115%2C11%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2247%2C17%2045%2C21%2037%2C21%2036%2C17%2039%2C13%2046%2C12%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2295%2C240%2095%2C247%2086%2C249%2082%2C240%2088%2C235%2097%2C235%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2240%2C206%2036%2C209%2031%2C212%2030%2C206%2031%2C201%2038%2C201%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2286%2C27%2083%2C31%2080%2C29%2080%2C27%2080%2C23%2084%2C24%22%20fill%3D%22%23ffffff%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2295%2C213%2093%2C217%2087%2C220%2083%2C213%2087%2C206%2094%2C208%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22149%2C55%20148%2C58%20143%2C61%20140%2C55%20144%2C51%20151%2C50%22%20fill%3D%22%238b8f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2289%2C119%2086%2C129%2075%2C127%2072%2C119%2076%2C109%2089%2C114%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22235%2C8%20232%2C14%20223%2C13%20220%2C8%20225%2C3%20237%2C4%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%22189%2C6%20186%2C11%20179%2C11%20178%2C6%20179%2C-1%20185%2C2%22%20fill%3D%22%231f4d34%22%20opacity%3D%22.5%22/%3E%3Cpolygon%20points%3D%2216%2C165%2017%2C171%208%2C173%20-1%2C165%207%2C160%2015%2C156%22%20fill%3D%22%23ff9f8a%22%20opacity%3D%22.5%22/%3E%3C/svg%3E")}
/* hero */
.hero{--wall:#ffbfae;--fg:#14231a;background:var(--wall);color:var(--fg);transition:background .5s,color .5s;position:relative;overflow:hidden;padding:56px 0 64px}
.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22170%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.4%22%20stroke-width%3D%223%22%3E%3Cpath%20d%3D%22M25%20170V70a45%2045%200%200%201%2090%200V170%22/%3E%3Cpath%20d%3D%22M45%20170V74a25%2025%200%200%201%2050%200V170%22/%3E%3C/g%3E%3C/svg%3E");opacity:.8;pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:center}
.hero h1{font-size:clamp(3.2rem,7.4vw,6.6rem);font-weight:800}
.hero p{font-size:1.25rem;max-width:30ch;margin:22px 0 28px}
.hero .btn{background:var(--fg);color:var(--wall);border-color:var(--fg)}
.iso svg{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 30px rgba(0,0,0,.18))}
.panel{background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:22px;padding:14px 18px;margin-top:12px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.panel>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.panel span{font-weight:600;font-size:.88rem;margin-right:2px}
.sw{width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #c9d1c8;cursor:pointer;padding:0}
.sw[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}
.pill{padding:5px 13px;border-radius:999px;border:2px solid var(--ink);background:#fff;font:600 .88rem Figtree,sans-serif;cursor:pointer}
.pill[aria-pressed=true]{background:var(--ink);color:#fff}
#name{flex-basis:100%;font-size:.95rem;margin:0;min-height:1.4em}
/* strip */
.strip{background:var(--lamp);border-block:3px solid var(--ink);overflow:hidden;padding:16px 0;font:800 1.5rem 'Bricolage Grotesque'}
.strip div{display:flex;gap:44px;width:max-content;animation:m 40s linear infinite}
.strip i{display:inline-block;width:.8em;height:.8em;border-radius:50%;margin-right:12px;vertical-align:-.05em;border:2px solid var(--ink)}
@keyframes m{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.strip div{animation:none}html{scroll-behavior:auto}}
/* arches */
.arches{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:end}
.arch{border-radius:999px 999px 28px 28px;background:var(--bg);border:3px solid var(--ink);padding:70px 28px 30px;text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .2s}
.arch:hover{transform:translateY(-8px)}
.arch svg{width:62%;max-width:180px;height:auto}.arch h3{font-size:1.7rem;margin-top:10px}.arch p{margin:0}
/* method */
.floor{background-color:var(--forest);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22200%22%20height%3D%2290%22%3E%3Cg%20stroke%3D%22%23000%22%20stroke-opacity%3D%22.16%22%20stroke-width%3D%223%22%3E%3Cpath%20d%3D%22M0%201.5h200M0%2031.5h200M0%2061.5h200%22/%3E%3Cpath%20d%3D%22M60%202v28M150%2032v28M20%2062v28%22/%3E%3C/g%3E%3C/svg%3E");color:#fff}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:s}
.steps li{counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--lamp);color:var(--ink);border:3px solid var(--ink);font:800 1.6rem 'Bricolage Grotesque';margin-bottom:16px}
.steps li:nth-child(even)::before{background:var(--blush)}
.steps h3{font-size:1.7rem;margin-bottom:8px}.steps p{margin:0;color:#e3eee5}
/* inner pages */
.phead{background:var(--theme);position:relative;overflow:hidden;padding:84px 0 110px;border-bottom:3px solid var(--ink)}
.phead::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22140%22%20height%3D%22170%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.4%22%20stroke-width%3D%223%22%3E%3Cpath%20d%3D%22M25%20170V70a45%2045%200%200%201%2090%200V170%22/%3E%3Cpath%20d%3D%22M45%20170V74a25%2025%200%200%201%2050%200V170%22/%3E%3C/g%3E%3C/svg%3E")}
.phead h1{font-size:clamp(3.4rem,10vw,8rem);font-weight:800;max-width:9ch}
.phead p{font-size:1.25rem;max-width:30ch;margin:20px 0 0}
.phead .art{position:absolute;right:max(24px,calc(50% - 560px));bottom:0;width:min(34vw,300px)}
.phead .art svg{width:100%;display:block}
.phead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2268%22%20height%3D%2268%22%3E%3Crect%20width%3D%2234%22%20height%3D%2234%22%20fill%3D%22%23fff%22%20opacity%3D%22.9%22/%3E%3Crect%20x%3D%2234%22%20y%3D%2234%22%20width%3D%2234%22%20height%3D%2234%22%20fill%3D%22%23fff%22%20opacity%3D%22.9%22/%3E%3C/svg%3E");background-size:68px 68px;opacity:.95}
.blobs{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:64px}
.blob{width:210px;height:210px;border-radius:50%;background:var(--bg);border:3px solid var(--ink);display:grid;place-content:center;text-align:center;line-height:1.2}
.blob b{font:800 2.8rem 'Bricolage Grotesque'}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.two p{margin:0 0 16px}
.course{padding:80px 0;border-bottom:3px solid var(--ink)}
.course .wrap{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.course .arch{padding-top:90px}.course h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.course dl{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin:22px 0}.course dt{font-weight:800}.course dd{margin:0}
.course ul{padding-left:22px;margin:0 0 24px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.block{background:var(--bg);border:3px solid var(--ink);border-radius:28px;padding:28px 28px 34px}
.block svg{width:110px;display:block;margin-bottom:18px}.block h3{font-size:1.8rem;margin-bottom:10px}.block p{margin:0}
.tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.tools span{padding:10px 20px;border-radius:999px;border:3px solid var(--ink);background:#fff;font-weight:600}
.post{background:#fff;border:3px solid var(--ink);border-radius:28px;overflow:hidden;text-decoration:none;display:block}
.post .top{background:var(--bg);height:230px;display:grid;place-items:end center;border-bottom:3px solid var(--ink)}.post .top svg{height:88%}
.post div.b{padding:22px 24px 28px}.post h3{font-size:1.5rem;margin-bottom:8px}.post p{margin:0}
.post:hover h3{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px;text-decoration-color:var(--lamp)}
.cta{background:var(--lilac);text-align:center;border-top:3px solid var(--ink)}.cta h2{max-width:14ch;margin:0 auto 26px}
.enq{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
form{background:#fff;border:3px solid var(--ink);border-radius:28px;padding:30px;display:grid;gap:14px}
label{font-weight:600;display:grid;gap:5px}
input,textarea{font:inherit;padding:13px;border:3px solid var(--ink);border-radius:14px;background:var(--paper)}textarea{min-height:120px;resize:vertical}
#msg{font-weight:600;min-height:1.5em}
.info a{font-weight:600}.info p{font-size:1.2rem}
footer{background:var(--deep);color:#d8e6db;padding:0 0 40px}
footer .check{height:34px;background-color:var(--lamp);background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2268%22%20height%3D%2268%22%3E%3Crect%20width%3D%2234%22%20height%3D%2234%22%20fill%3D%22%23fff%22%20opacity%3D%22.9%22/%3E%3Crect%20x%3D%2234%22%20y%3D%2234%22%20width%3D%2234%22%20height%3D%2234%22%20fill%3D%22%23fff%22%20opacity%3D%22.9%22/%3E%3C/svg%3E");background-size:68px 68px;margin-bottom:40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;justify-content:space-between;align-items:center}
footer img{height:50px;background:#fff;border-radius:999px;padding:4px 18px}footer a{margin-right:14px}
@media(max-width:860px){.hero .wrap,.two,.enq,.course .wrap{grid-template-columns:1fr}.arches,.cols{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.phead .art{width:130px;opacity:.9}nav img{height:42px}.course .arch{max-width:300px}}
@media(max-width:480px){.steps{grid-template-columns:1fr}.blob{width:160px;height:160px}}
.lg{background:var(--ink);color:#fff!important}.lg:hover{background:var(--lamp)!important;color:var(--ink)!important}

.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:25;background:var(--lamp);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:12px 22px;font:600 1rem Figtree,sans-serif;cursor:pointer}.fab:hover{background:#fff}
.enqdlg{border:3px solid var(--ink);border-radius:24px;padding:0;width:min(560px,calc(100% - 28px));max-height:calc(100vh - 28px);overflow:auto;background:#fff;color:var(--ink)}.enqdlg::backdrop{background:rgba(15,42,28,.6)}
.enqdlg .in{padding:0 0 24px}.enqdlg .eh{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:2px solid var(--ink)}.enqdlg h2{font-size:1.7rem;margin:0}
.enqdlg .x{background:none;border:0;font-size:2.2rem;line-height:1;cursor:pointer;color:var(--ink)}
.enqdlg form{border:0;border-radius:0;padding:20px 26px 0}.req{color:#c0392b}
.enqdlg .go{background:var(--forest);border-color:var(--forest)}.enqdlg .go:hover{background:var(--lamp);color:var(--ink);border-color:var(--ink)}
#emsg{font-weight:600;min-height:1.4em}
