@font-face{font-family:Poppins;src:url('assets/Poppins-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('assets/Poppins-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Playfair;src:url('assets/PlayfairDisplay-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--green:#a1c280;--dark:#233b1a;--pale:#f3f6ed;--coral:#f25f43}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--dark);background:white;font:15px/1.8 Poppins,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Playfair,Georgia,serif;font-weight:600;line-height:1.25}h1{font-size:65px;margin-bottom:4px;color:var(--coral)}h2{font-size:34px;margin-bottom:22px}h3{font-size:18px;font-weight:600}header{background:var(--green);padding:16px max(5%,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:35px}.brand img{width:165px;height:76px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;background:var(--dark);color:white;text-decoration:none;border-radius:40px;padding:13px 23px;font-size:14px}.button:hover{background:#36532a}.button.small{background:white;color:var(--dark);padding:11px 20px}.hero{background:var(--green);display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:50px;padding:25px max(5%,calc((100vw - 1100px)/2)) 65px;position:relative}.hero:after,.visit:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:20px;background:white;clip-path:polygon(0 65%,10% 35%,22% 65%,35% 30%,48% 60%,62% 20%,76% 55%,90% 25%,100% 60%,100% 100%,0 100%)}.hero h2{font-size:32px;margin-bottom:17px}.hero p{max-width:450px}.eyebrow{font-size:10px;letter-spacing:1.3px;margin-bottom:15px}.hero-img{height:355px;border-radius:28px}.hero .button{background:white;color:var(--dark);margin-top:9px}.hero .button span{color:var(--coral);border:2px solid var(--coral);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:23px;line-height:1}.facts{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:28px 0;border-bottom:1px solid #e1e8db;text-align:center}.facts strong{display:block;font-weight:600;font-size:20px}.facts span{font-size:12px;color:#52664b}.wrap{max-width:1160px;padding:45px 30px;margin:auto}.intro>p{max-width:920px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.gallery img{height:200px;border-radius:18px}.practical{padding-top:15px;padding-bottom:50px}.practical-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:50px}details{border-bottom:1px solid #dce5d4;padding:15px 0}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;font-weight:600}summary:after{content:'+';font-size:21px;color:#52664b}details[open] summary:after{content:'−'}details p,details a{font-size:13px;margin:12px 0 0;color:#52664b}.pricing{background:var(--pale);padding:24px 28px;border-radius:18px}.pricing h3{margin-bottom:10px}.pricing table{width:100%;border-collapse:collapse;font-size:13px}.pricing th{text-align:left;font-size:11px;font-weight:400}.pricing td,.pricing th{padding:7px 0;border-bottom:1px solid #dce5d4}.pricing td:last-child,.pricing th:last-child{text-align:right}.full{font-weight:600}.pricing p,.pricing>a{font-size:11px;line-height:1.7}.pricing p{margin-top:16px;margin-bottom:12px}.visit{background:var(--green);position:relative;text-align:center}.visit .wrap{padding-block:38px 48px}.visit h2{margin-bottom:12px}.dates{display:flex;justify-content:center;gap:35px;margin:22px 0}.dates span{font-size:22px;font-weight:600}.dates small{font-size:13px;font-weight:400}.visit-link{display:block;margin-top:12px;font-size:11px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-block:40px}.contact h3{font-size:14px;margin:0 0 7px}.contact a{overflow-wrap:anywhere}.contact .email{display:block;margin-bottom:19px}.contact p{font-size:14px}.fine{font-size:11px!important;margin-top:12px}.identity-strip{border-top:1px solid #e1e8db}.identity-inner{max-width:1100px;margin:auto;padding:25px 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:40px}.school-identity{display:flex;flex-direction:column;gap:8px;text-decoration:none}.school-identity span{font-size:9px;letter-spacing:1px;color:#52664b}.school-identity img{width:230px;height:auto;object-fit:contain;max-width:100%}.identity-inner figure{margin:0;text-align:center}.identity-inner figure img{width:135px;height:88px;object-fit:contain;margin:auto}.identity-inner figure:last-child img{width:88px}.identity-inner figcaption{font-size:10px;color:#52664b;margin-top:8px}footer{background:var(--green);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 5%;font-size:10px}.footer-brand img{width:110px;height:auto;mix-blend-mode:multiply}footer div{display:flex;gap:16px}#menu{display:none}.sr-only,.skip{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden}.skip:focus{clip:auto;width:auto;height:auto;z-index:30;background:white;padding:15px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}@media(max-width:900px){nav{gap:15px}nav .small{display:none}.hero{gap:25px}.hero-img{height:340px}.facts{margin-inline:25px}.practical-grid{gap:25px}.contact .email{font-size:13px}}@media(max-width:650px){header{padding:10px 22px;position:relative;gap:15px}.brand img{width:135px;height:62px}#menu{display:block;background:white;border:0;border-radius:22px;padding:9px 16px;font:13px Poppins;color:var(--dark)}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--green);padding:20px;z-index:10}nav.open{display:flex;flex-direction:column;align-items:start}.hero{grid-template-columns:1fr;padding:20px 23px 40px;gap:25px}h1{font-size:53px}.hero h2{font-size:28px}.hero-img{height:260px;border-radius:20px}.facts{grid-template-columns:1fr 1fr;padding:20px 0;gap:18px}.facts strong{font-size:18px}.facts span{font-size:11px}.wrap{padding:30px 23px}h2{font-size:29px}.gallery{gap:10px;margin-top:20px}.gallery img{height:120px;border-radius:12px}.practical-grid,.contact{grid-template-columns:1fr;gap:25px}.pricing{padding:22px}.dates{gap:18px}.dates span{font-size:18px}.dates small{display:block;font-size:12px}.identity-inner{grid-template-columns:1fr 1fr;gap:20px;padding:25px}.school-identity{grid-column:1/-1;align-items:center}.school-identity img{width:210px}footer{flex-direction:column;align-items:start;gap:12px}.contact .email{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}



.identity-inner{grid-template-columns:1fr 1.3fr 1fr 1fr;gap:30px}.identity-inner .toulcuv-logo img{width:135px;height:88px;object-fit:contain}@media(max-width:650px){.identity-inner{grid-template-columns:1fr 1fr;gap:25px 20px}.school-identity{grid-column:auto}.school-identity span{text-align:center}.school-identity img{width:180px}}

.identity-inner{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;align-items:start}.identity-inner figure a{display:block;text-decoration:none}.identity-inner figure img,.identity-inner figure:last-child img{width:150px;max-width:100%;height:90px;object-fit:contain;margin:auto}.identity-inner .school-logo img{width:190px}.identity-inner .cert-logo img{width:90px}.identity-inner figcaption{font-size:11px;line-height:1.6;margin-top:13px;font-style:italic;text-align:center}.identity-inner a:hover figcaption{text-decoration:underline}@media(max-width:750px){.identity-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}}@media(max-width:500px){.identity-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}

.environment{background:var(--pale);margin-bottom:30px}.environment .wrap>p{max-width:850px}.environment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:25px}.environment-grid img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px}.environment-grid h3{margin:18px 0 8px;font-size:17px}.environment-grid p{font-size:13px;margin-bottom:0;color:#52664b}@media(max-width:650px){.environment-grid{grid-template-columns:1fr;gap:27px}.environment-grid img{max-height:300px}.environment{margin-bottom:15px}.hero-img{object-position:center}}

/* Gentle waves for section edges and every content divider. */
.hero:after,.visit:after,.environment:after{content:"";position:absolute;left:0;right:0;bottom:-1px;width:100%;height:32px;background:url('assets/wave-edge.svg') center bottom/100% 100% no-repeat;clip-path:none;pointer-events:none}
.visit:before,.environment:before,footer:before{content:"";position:absolute;left:0;right:0;top:-1px;width:100%;height:32px;background:url('assets/wave-edge.svg') center bottom/100% 100% no-repeat;transform:rotate(180deg);pointer-events:none}
.environment,footer{position:relative}.environment .wrap{padding-top:65px;padding-bottom:65px}.visit .wrap{padding-top:65px;padding-bottom:65px}footer{padding-top:48px}
.facts{border-bottom:0;position:relative;padding-bottom:35px}.facts:after{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;background:url('assets/wave-line.svg') left center/100px 8px repeat-x}
.identity-strip{border-top:0;padding-top:8px;background:url('assets/wave-line.svg') left top/100px 8px repeat-x}
details{border-bottom:0;background:url('assets/wave-line.svg') left bottom/100px 8px repeat-x;padding-bottom:21px}
.pricing td,.pricing th{border-bottom:0;padding-bottom:11px}.pricing tr{background:url('assets/wave-line.svg') left bottom/100px 8px repeat-x}
.pricing{position:relative;border-radius:0;padding-top:42px;padding-bottom:42px}.pricing:before,.pricing:after{content:"";position:absolute;left:0;right:0;height:18px;background:url('assets/wave-edge.svg') center/100% 100% no-repeat;pointer-events:none}.pricing:before{top:-1px;transform:rotate(180deg)}.pricing:after{bottom:-1px}
a{text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:650px){.hero:after,.visit:after,.environment:after,.visit:before,.environment:before,footer:before{height:20px}.environment .wrap,.visit .wrap{padding-top:45px;padding-bottom:45px}footer{padding-top:37px}.facts{padding-bottom:30px}.pricing{padding-top:35px;padding-bottom:35px}}
/* Straight fine rules; waves only shape the coloured surfaces. */
.facts:after{height:1px;background:#e1e8db}
.identity-strip{background:none;border-top:1px solid #e1e8db;padding-top:0}
details{background:none;border-bottom:1px solid #dce5d4;padding-bottom:15px}
.pricing tr{background:none}
.pricing td,.pricing th{border-bottom:1px solid #dce5d4;padding-bottom:7px}
a{text-decoration-style:solid}
