:root{--pink:#e92758;--pink-dark:#ca1745;--berry:#942d4c;--blush:#f5e7ec;--blush-deep:#ead6df;--ivory:#fcfaf5;--ink:#29282b;--muted:#656066;--line:#e7dbe0;--white:#fff;--font:Arial,Helvetica,sans-serif;--page:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;font-size:17px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button svg,a svg{pointer-events:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(32px,3.15vw,48px);line-height:1.08;letter-spacing:-.04em;margin-bottom:20px}h3{font-size:28px;line-height:1.15;letter-spacing:-.035em}p{margin-bottom:22px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;z-index:100;background:var(--berry);color:white;padding:12px 22px;border-radius:30px}.skip-link:focus{top:16px}.eyebrow{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.16em;margin:0 0 19px;color:var(--berry)}.button{border:0;border-radius:999px;min-height:43px;padding:11px 22px;display:inline-flex;align-items:center;justify-content:center;gap:14px;line-height:1.2;font-size:13px;letter-spacing:.015em;font-weight:600;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 7px 18px #942d4c17}.button svg{width:19px;height:19px;flex:none;stroke-width:2}.button--berry{background:var(--berry);color:#fff}.button--berry:hover{background:#76203c}.button--pink{background:var(--pink);color:white}.button--pink:hover{background:var(--pink-dark)}.button--white{background:white;color:var(--berry)}.button--white:hover{background:var(--blush)}.button--small{font-size:12px;min-height:34px;padding:8px 17px;gap:10px}.button--small svg{width:17px;height:17px}.dots{background-image:radial-gradient(var(--pink) 2px,transparent 2.5px);background-size:16px 16px}.circle-control{border:1px solid #c7adb8;background:transparent;width:36px;height:36px;border-radius:100%;display:inline-grid;place-items:center;transition:background .2s,color .2s}.circle-control svg{width:18px;height:18px}.circle-control:hover{background:var(--berry);color:white;border-color:var(--berry)}
.site-header{height:118px;width:calc(100% - 112px);max-width:var(--page);margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.brand{width:112px;flex:none}.brand img{width:104px;height:104px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:600}.site-nav>a:not(.button),.nav-group>a{display:block;padding:16px 0}.site-nav>a:hover,.nav-group>a:hover{color:var(--berry)}.chevron{margin-left:4px;font-size:17px}.nav-group{position:relative}.nav-dropdown{display:none;position:absolute;top:48px;left:-18px;min-width:230px;padding:12px;background:white;border-radius:18px;box-shadow:0 12px 36px #36232c21;border:1px solid #f6edf1;z-index:30}.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:grid}.nav-dropdown a,.nav-dropdown button{text-align:left;border:0;background:none;padding:10px 12px;font-size:13px;border-radius:8px}.nav-dropdown a:hover,.nav-dropdown button:hover{background:var(--blush);color:var(--berry)}.nav-cta{margin-left:7px;min-width:133px}.menu-button{display:none}
.hero{position:relative;min-height:710px;max-width:1600px;margin:0 auto;display:grid;grid-template-columns:46% 54%;padding:70px 5% 110px 8%;isolation:isolate}.hero-copy{position:relative;z-index:3;padding-top:36px}.hero-eyebrow{letter-spacing:.2em;margin-bottom:17px;font-size:11px}.hero h1{font-size:clamp(60px,5.3vw,83px);line-height:1.02;font-weight:750;letter-spacing:-.048em;margin:0 0 30px}.pink-period{color:var(--pink)}.hero-cta{min-height:46px;padding:13px 24px;font-size:13px}.hero-description{font-size:17px;line-height:1.55;margin:24px 0 13px;max-width:350px}.hero-location{font-size:11px;color:var(--muted);letter-spacing:.06em}.hero-dots{position:absolute;top:49px;left:4.3%;width:280px;height:138px;opacity:.22;z-index:-1}.hero-art{height:620px;position:absolute;width:54%;right:2%;top:-15px;z-index:1}.hero-arch{position:absolute;right:12%;top:61px;height:390px;width:260px;background:var(--pink);border-radius:145px 145px 8px 8px;transform:rotate(4deg)}.hero-outline{position:absolute;left:3%;top:75px;width:350px;height:490px;border:2px solid #eee8eb;border-radius:210px;transform:rotate(-24deg);z-index:0}.hero-outline:after{content:"";position:absolute;width:100%;height:100%;border:2px solid #eee8eb;border-radius:inherit;transform:translate(28px,0)}.hero-letters{position:absolute;bottom:40px;left:15%;font-size:210px;font-weight:bold;font-family:Georgia,serif;line-height:1;color:#f0e5ea;transform:rotate(-12deg);z-index:0}.hero-photo{position:absolute;overflow:hidden;z-index:2;background:var(--blush)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s,transform 1s}.hero-photo:hover img{filter:grayscale(0);transform:scale(1.025)}.hero-photo--main{width:76%;height:315px;left:2%;top:158px;border-radius:100px 15px 100px 15px;z-index:4;box-shadow:0 3px 0 white}.hero-photo--main img{object-position:center center;filter:none}.hero-photo--top{right:8%;top:15px;width:175px;height:237px;border-radius:90px 90px 0 0;transform:rotate(5deg);z-index:2;box-shadow:0 0 0 6px white}.hero-photo--top img{object-position:55% 42%}.hero-photo--portrait{width:158px;height:214px;right:5%;top:383px;border-radius:90px 90px 90px 15px;box-shadow:0 0 0 9px white;z-index:6;transform:rotate(5deg)}.hero-photo--portrait img{object-position:50% 35%}.hero-photo--outdoor{left:16%;width:205px;height:169px;top:430px;border-radius:16px 70px 16px 70px;z-index:5;box-shadow:0 0 0 8px white;transform:rotate(-6deg)}.hero-photo--outdoor img{object-position:50% 68%}.speech{position:absolute;z-index:7;font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.04em;padding:16px 28px;border-radius:50px;box-shadow:0 2px 0 #4d17331c}.speech:after{content:"";position:absolute;bottom:-10px;left:25px;width:18px;height:25px;background:inherit;clip-path:polygon(0 0,100% 0,0 100%)}.speech--hello{left:4%;top:95px;background:var(--blush);color:var(--berry);transform:rotate(-8deg);animation:floatA 7s ease-in-out infinite}.speech--sawubona{right:1%;top:310px;background:var(--berry);color:white;transform:rotate(7deg);animation:floatB 8s ease-in-out infinite}.hero-art-dots{right:1%;bottom:25px;width:120px;height:110px;opacity:.23;position:absolute;z-index:-1}.hero-scribble{position:absolute;bottom:0;left:3%;width:70%;height:58px;stroke:#e1d8dc;stroke-width:1.2;fill:none;z-index:-1}.scroll-cue{position:absolute;left:8%;bottom:50px;display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.18em;color:#71656b}.scroll-cue svg{width:32px;height:32px;transform:rotate(90deg);padding:7px;border:1px solid #d6c4cc;border-radius:100%;color:var(--berry)}
.courses-section{position:relative;isolation:isolate;padding:0 0 45px;min-height:650px;scroll-margin-top:30px}.courses-background{position:absolute;top:0;bottom:0;left:34%;right:0;background:var(--blush);border-radius:170px 0 0 0;z-index:-1}.courses-shell{max-width:1480px;margin:auto;display:grid;grid-template-columns:34% 66%;padding-left:8%;padding-right:5%;gap:0}.courses-intro{position:relative;padding:112px 28px 0 0;z-index:1}.courses-intro .eyebrow{font-size:10px}.courses-intro h2{font-size:38px;letter-spacing:-.04em;white-space:nowrap}.courses-intro>p:not(.eyebrow){font-size:15px;line-height:1.65}.section-corner{position:absolute;width:126px;height:132px;left:-45px;top:122px;background:#f9cfda;border-radius:75px 0 0 0;z-index:-1}.courses-art{position:relative;height:290px;margin-top:35px;width:100%;z-index:1}.courses-art>img{height:270px;width:230px;object-fit:cover;object-position:center 44%;filter:grayscale(1);clip-path:polygon(0 0,100% 0,100% 90%,82% 100%,0 100%);position:relative;left:17px;z-index:2}.courses-rings{position:absolute;height:170px;width:100px;border:6px solid var(--berry);border-radius:50%;left:-31px;top:12px;transform:rotate(10deg);opacity:.5}.courses-rings:after{content:"";position:absolute;inset:-6px -25px -6px 18px;border:6px solid var(--berry);border-radius:50%}.courses-art-label{position:absolute;bottom:-5px;left:84px;background:var(--berry);color:white;font-size:12px;line-height:1.45;padding:12px 21px;transform:rotate(-9deg);z-index:4}.courses-art .dots{position:absolute;bottom:13px;right:8px;width:140px;height:110px;opacity:.4;z-index:0}.courses-stage{position:relative;padding:50px 0 40px 28px}.course-ring{position:absolute;top:9px;left:88px;border:19px solid #f7aac0;width:220px;height:220px;border-radius:50%;z-index:-1}.course-cards{display:flex;gap:30px;min-height:515px;align-items:flex-start;position:relative;transition:opacity .18s,transform .3s}.course-card{background:white;position:relative;width:calc(50% - 15px);flex:0 0 calc(50% - 15px);padding:29px 24px 30px;text-align:center;border-radius:32px;min-height:425px;transition:transform .45s,box-shadow .25s}.course-card:nth-child(even){margin-top:78px}.course-card:hover{box-shadow:0 12px 30px #942d4c0b;transform:translateY(-4px)}.course-card__eyebrow{color:#98727e;font-size:10px;letter-spacing:.13em;margin-bottom:15px}.course-card__image{width:145px;height:145px;object-fit:cover;margin:0 auto 20px;border-radius:19px}.course-card h3{font-size:26px;font-weight:600;text-transform:uppercase;letter-spacing:-.035em;margin-bottom:12px}.course-card p{font-size:15px;line-height:1.5;margin-bottom:19px}.course-card .button{font-size:11px;padding:8px 15px;min-height:34px;gap:10px}.course-card__icon{position:absolute;right:24px;top:20px;color:var(--berry)}.course-card__icon svg{width:28px;height:28px}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:17px}.course-controls{margin-top:18px}.carousel-dots{display:flex;align-items:center;gap:8px}.carousel-dots button{border:0;width:9px;height:9px;background:#d7b9c5;border-radius:100%;padding:0}.carousel-dots button.active{background:var(--berry)}.course-controls .circle-control{width:30px;height:30px;border-color:transparent}.course-controls .circle-control svg{width:16px;height:16px}.course-fallback{background:#fff;padding:35px;border-radius:30px}
.featured-section{position:relative;isolation:isolate;padding:120px 7% 90px;overflow:hidden}.featured-layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.featured-column{position:relative}.featured-intro{padding:0 13px 34px}.featured-intro h2{font-size:37px;line-height:1.1}.featured-intro>p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:340px}.feature-card{border-radius:28px;padding:30px 28px;min-height:350px;display:flex;align-items:flex-start;flex-direction:column;position:relative}.feature-card--ivory{background:var(--ivory)}.feature-card--blush{background:var(--blush-deep)}.feature-card h3{font-size:25px;line-height:1.12;margin:31px 0 24px}.feature-card p{font-size:14px;line-height:1.6;margin-bottom:30px;max-width:290px}.feature-card .button{margin-top:auto;font-size:11px}.icon-pill{padding:5px 13px;display:inline-flex;align-items:center;gap:4px;border-radius:50px;background:var(--berry);color:white;line-height:1}.icon-pill svg{width:22px;height:22px;stroke-width:1.4}.icon-pill--pink{background:var(--pink);color:white}.featured-column--middle{padding-top:8px}.featured-column--last{padding-top:170px}.featured-circle{position:absolute;z-index:-1;border-radius:50%}.featured-circle--light{width:620px;height:620px;background:var(--blush);right:3%;top:85px}.featured-circle--pink{width:530px;height:650px;background:#fbe6ed;right:-230px;top:35px}.featured-photo{width:64%;height:240px;margin:40px auto 0;position:relative}.featured-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;filter:grayscale(1);border-radius:100px 100px 5px 5px}.featured-photo-caption{position:absolute;bottom:-12px;left:-18px;right:-18px;background:var(--berry);color:white;font-size:10px;text-align:center;padding:8px 6px;transform:rotate(-5deg)}.feature-note{display:flex;align-items:center;gap:17px;margin:47px 25px 0;color:var(--berry)}.feature-note p{font-size:14px;line-height:1.45;margin:0}.little-star{font-size:55px;line-height:1;font-weight:400}
.life-section{padding:18px 0 80px;max-width:1600px;margin:auto}.life-heading-wrap{display:flex;align-items:flex-end;gap:40px;margin:0 8% 36px}.life-heading-wrap h2{font-size:38px;margin-bottom:0}.life-heading-wrap .eyebrow{margin-bottom:13px}.life-heading-wrap>p{font-size:15px;line-height:1.6;margin:0 0 3px 25px}.gallery-controls{margin-left:auto;display:flex;gap:9px;padding-bottom:5px}.gallery-track{padding:5px 8% 25px;display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.gallery-track::-webkit-scrollbar{display:none}.gallery-photo{flex:none;position:relative;height:320px;border:0;padding:0;background:var(--blush);overflow:hidden;text-align:left;scroll-snap-align:center}.gallery-photo--wide{width:380px;border-radius:70px 10px 70px 10px}.gallery-photo--portrait{width:235px;border-radius:10px 70px 10px 70px;margin-top:38px}.gallery-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo>span{position:absolute;bottom:0;left:0;right:0;color:white;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:50px 25px 20px;background:linear-gradient(transparent,#1b071caa);font-size:12px}.gallery-photo>span svg{width:18px;height:18px}.gallery-photo:nth-child(4) img{object-position:center 53%}
.resources-section{max-width:1320px;margin:0 auto;padding:45px 7% 95px;display:grid;grid-template-columns:1fr 1.15fr;gap:110px}.resource-download{padding-top:12px}.resource-download h2{font-size:33px;line-height:1.16;margin-top:24px;margin-bottom:17px;text-transform:none}.resource-download p{font-size:15px;max-width:330px}.resource-download .button{font-size:10px;gap:9px}.download-caption{display:block;margin-top:13px;color:var(--muted);font-size:10px}.faqs .eyebrow{margin-bottom:10px}.faqs h3{font-size:25px;margin-bottom:24px}.faqs details{border-bottom:1px solid var(--line);padding:17px 0}.faqs summary{font-size:14px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;line-height:1.5}.faqs summary::-webkit-details-marker{display:none}.faqs summary>span{font-size:24px;line-height:1;color:var(--berry);font-weight:400;transition:transform .2s}.faqs details[open] summary>span{transform:rotate(45deg)}.faqs details p{font-size:13px;color:var(--muted);margin:16px 24px 10px 0;line-height:1.65}.faqs details a,.text-link{font-size:12px;font-weight:600;color:var(--berry);background:none;border:0;padding:0;text-align:left}
.contact-section{position:relative;isolation:isolate;padding:30px 8% 112px;max-width:1600px;margin:auto}.contact-panel{display:grid;grid-template-columns:.95fr 1.05fr;position:relative;background:var(--ivory);border-radius:0 65px 65px 65px;overflow:hidden}.contact-copy{padding:55px 38px 46px 45px}.contact-copy h2{font-size:40px;margin-bottom:22px}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.6;max-width:320px}.contact-email{font-size:12px;display:flex;align-items:center;gap:7px;margin-top:25px;color:var(--berry);flex-wrap:wrap}.contact-email svg{width:16px;height:16px}.contact-whatsapp{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:15px}.contact-whatsapp svg{width:19px;height:19px}.enquiry-form{background:var(--berry);border-radius:130px 65px 65px 130px;padding:40px 36px 30px 45px;display:flex;flex-direction:column;gap:12px;justify-content:center}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-radius:30px;background:#fff;padding:15px 20px;color:var(--ink);font-size:12px;outline-offset:3px;box-shadow:0 10px 22px #38132016;min-width:0}.enquiry-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23942d4c' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;padding-right:44px}.enquiry-form textarea{resize:vertical;min-height:98px;max-height:300px;border-radius:26px}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#817b80}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.form-bottom>p{font-size:10px;line-height:1.45;color:#f3dce4;margin:0 0 0 6px}.form-bottom .button{font-size:11px;min-height:37px;padding:10px 16px;gap:9px}.form-status:empty{display:none}.form-status{font-size:12px;line-height:1.5;margin:10px 0 0;color:var(--berry);overflow-wrap:anywhere}.enquiry-form .form-status{color:white;margin:0 8px}.contact-orbit{position:absolute;bottom:65px;left:63%;width:140px;height:140px;border:11px solid #827078;border-radius:100%;z-index:-1}.contact-corner{position:absolute;width:122px;height:120px;background:var(--pink);border-radius:0 0 0 85px;left:5%;bottom:70px;z-index:-1}.contact-dots{position:absolute;right:5%;top:1px;width:148px;height:133px;z-index:-1;opacity:.4}
.site-footer{position:relative;background:var(--blush);border-radius:160px 0 0 0;padding:50px 6% 20px}.site-footer:before{content:"";position:absolute;right:0;top:-29px;width:155px;height:62px;background:var(--pink);border-radius:0 0 0 90px}.footer-content{max-width:1360px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr 1fr;gap:30px;margin:0 auto 34px}.footer-brand img{width:105px;height:110px;object-fit:contain;margin:0 0 15px}.footer-brand>p{font-size:12px;line-height:1.6;max-width:260px;margin-bottom:17px}.footer-social{display:flex;gap:9px}.footer-social a{display:grid;place-items:center;width:29px;height:29px;border-radius:100%;background:var(--pink);color:white}.footer-social svg{width:16px;height:16px;stroke-width:1.6}.footer-column{padding-top:33px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-column h3{font-size:11px;letter-spacing:0;line-height:1.3;margin-bottom:10px;font-weight:700}.footer-column>a,.footer-column>button{font-size:11px;line-height:1.4;background:none;border:0;padding:0;text-align:left}.footer-column>a:hover,.footer-column>button:hover{color:var(--berry);text-decoration:underline;text-underline-offset:4px}.footer-column>p{font-size:11px;line-height:1.6;margin:0 0 7px}.footer-bottom{border-top:2px solid var(--pink);max-width:1360px;margin:auto;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:20px}.footer-bottom>a{padding:5px}.floating-whatsapp{position:fixed;right:23px;bottom:24px;display:flex;align-items:center;gap:9px;color:white;background:#00d756;box-shadow:0 5px 24px #581a3530;border:1px solid #ffffff66;z-index:25;padding:12px 16px;border-radius:40px;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-4px)}.floating-whatsapp svg{width:23px;height:23px;stroke-width:1.5}.floating-whatsapp>span{font-size:12px}
dialog{color:var(--ink);font-family:var(--font)}dialog::backdrop{background:#2d132a88;backdrop-filter:blur(5px)}.content-dialog{border:0;padding:43px;max-width:650px;width:calc(100% - 32px);max-height:88svh;border-radius:28px;box-shadow:0 30px 100px #27142333;overscroll-behavior:contain;overflow-y:auto}.content-dialog[open]{animation:dialogIn .2s ease-out}.dialog-close{position:absolute;top:12px;right:17px;font-size:29px;line-height:1;width:34px;height:34px;border:0;border-radius:100%;display:grid;place-items:center;background:var(--blush);color:var(--berry);z-index:3}.content-dialog h2{font-size:36px;margin:10px 0 20px}.content-dialog h3{font-size:20px;margin-top:25px}.content-dialog p{font-size:14px}.content-dialog ul{padding-left:20px;font-size:14px;line-height:1.8}.content-dialog .eyebrow{font-size:10px}.dialog-intro{color:var(--muted);font-size:14px;line-height:1.6}.dialog-hero,.course-detail-image{width:100%;height:200px;object-fit:cover;border-radius:18px;margin-bottom:23px}.course-meta,.detail-grid,.course-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--ivory);border-radius:16px;padding:20px;margin:20px 0;font-size:13px}.course-meta dt,.detail-grid dt,.course-detail-meta dt{color:var(--muted);font-size:11px;margin-bottom:5px}.course-meta dd,.detail-grid dd,.course-detail-meta dd{margin:0}.dialog-actions,.course-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.dialog-actions .button,.course-detail-actions .button{font-size:11px}.application-dialog form{display:grid;gap:15px}.application-dialog label{display:grid;gap:6px;font-size:12px;font-weight:600}.application-dialog input,.application-dialog select,.application-dialog textarea{background:#faf7f8;border:1px solid #e6d4dd;border-radius:12px;padding:11px 13px;color:var(--ink);width:100%;min-width:0;font-size:14px}.application-dialog .optional{display:inline;font-weight:400;color:var(--muted)}.application-dialog .checkbox-label{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:11px;line-height:1.5}.checkbox-label input{width:16px;height:16px;flex:none;margin-top:2px;accent-color:var(--berry)}.application-dialog .form-note{font-size:11px;color:var(--muted);margin:0;line-height:1.5}.application-dialog .button{font-size:11px;justify-self:start}.photo-dialog{width:auto;max-width:95vw;max-height:95svh;padding:12px;border:0;border-radius:18px;background:var(--ivory);overflow:hidden}.photo-dialog img{width:auto;max-width:88vw;max-height:80svh;object-fit:contain;border-radius:10px}.photo-dialog p{font-size:12px;padding:14px 12px 3px;margin:0}.photo-dialog .dialog-close{background:white;box-shadow:0 3px 12px #0002}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;padding:12px 20px;font-size:12px;z-index:80;display:none}.toast.visible{display:block}
@keyframes floatA{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-9px) rotate(-6deg)}}@keyframes floatB{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(7px) rotate(5deg)}}@keyframes dialogIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.js-ready .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.js-ready .reveal.visible,.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1600px){.hero{min-height:790px;padding-top:110px}.hero-art{height:700px;top:10px}.hero-photo--main{height:365px;top:175px}.hero-photo--top{width:200px;height:270px}.hero-photo--outdoor{top:495px;width:235px;height:184px}.hero-photo--portrait{top:450px;width:180px;height:232px}.speech--sawubona{top:360px}.speech--hello{top:110px}.hero-arch{height:455px;width:300px}.hero-copy{padding-top:15px}}
@media(max-width:1190px){.site-header{width:calc(100% - 64px)}.site-nav{gap:23px}.hero{min-height:650px;padding-top:55px;padding-bottom:90px}.hero h1{font-size:64px}.hero-art{height:560px;top:0}.hero-photo--main{height:280px;top:140px}.hero-photo--top{width:145px;height:200px}.hero-photo--outdoor{width:175px;height:145px;top:390px}.hero-photo--portrait{width:135px;height:180px;top:350px}.speech{font-size:23px;padding:14px 22px}.speech--sawubona{top:275px}.hero-letters{font-size:180px}.hero-arch{width:220px;height:350px}.courses-intro h2{font-size:32px}.courses-shell{padding-left:7%;padding-right:5%;grid-template-columns:33% 67%}.courses-stage{padding-left:25px}.course-cards{gap:20px}.course-card{width:calc(50% - 10px);flex-basis:calc(50% - 10px);padding:28px 16px;min-height:420px}.course-card__image{width:130px;height:130px}.course-card h3{font-size:24px}.course-card p{font-size:14px}.courses-art>img{width:185px}.featured-layout{gap:20px}.featured-intro{padding-left:0}.featured-intro h2{font-size:32px}.feature-card{padding:28px 23px}.feature-card h3{font-size:23px}.feature-card .button{font-size:9px}.resources-section{gap:70px}.contact-section{padding-left:6%;padding-right:6%}.contact-copy{padding-left:32px;padding-right:25px}.enquiry-form{padding-left:34px;padding-right:26px}.contact-panel{grid-template-columns:.9fr 1.1fr}.footer-content{gap:22px}.footer-column h3{font-size:10px}}
@media(max-width:960px){.site-header{height:100px}.brand,.brand img{width:88px;height:88px}.site-nav{gap:17px;font-size:11px}.nav-cta{min-width:105px;font-size:11px;padding:10px 17px}.hero{padding-left:7%;min-height:610px;padding-top:45px}.hero h1{font-size:57px}.hero-art{top:30px;height:510px;width:53%;right:0}.hero-photo--main{height:240px;top:140px;width:80%;left:0}.hero-photo--top{width:130px;height:175px;right:10%}.hero-photo--outdoor{width:155px;height:125px;top:350px;left:11%}.hero-photo--portrait{width:117px;height:153px;top:320px;right:8%}.speech{font-size:21px;padding:12px 18px}.speech--sawubona{top:265px;right:1%}.hero-arch{height:310px;width:190px}.hero-description{font-size:15px}.hero-cta{font-size:11px;padding:13px 18px}.courses-section{min-height:600px}.courses-background{left:26%;border-radius:130px 0 0 0}.courses-shell{grid-template-columns:28% 72%;padding-left:5%}.courses-intro{padding-top:97px;padding-right:20px}.courses-intro h2{font-size:26px}.courses-intro>p:not(.eyebrow){font-size:13px}.courses-intro .eyebrow{font-size:8px}.section-corner{left:-15px;width:95px;top:110px}.courses-art>img{width:150px;height:240px;left:0}.courses-art-label{left:9px;font-size:10px;bottom:22px}.courses-art{margin-top:40px}.courses-art .dots{right:-35px}.course-cards{gap:15px;min-height:485px}.course-card{width:calc(50% - 7.5px);flex-basis:calc(50% - 7.5px);padding:24px 15px;min-height:405px;border-radius:27px}.course-card__image{width:120px;height:120px}.course-card h3{font-size:22px}.course-card p{font-size:13px}.course-card .button{font-size:10px;padding:8px 13px}.courses-stage{padding-left:25px}.course-card:nth-child(even){margin-top:55px}.featured-section{padding:90px 5% 60px}.featured-intro h2{font-size:29px}.featured-intro>p:not(.eyebrow){font-size:13px}.feature-card{padding:23px 20px;min-height:350px}.feature-card h3{font-size:22px}.feature-card p{font-size:13px}.feature-card .button{padding:8px 12px;font-size:9px;gap:6px}.featured-column--last{padding-top:140px}.featured-photo{height:210px;width:75%}.life-heading-wrap{margin-left:6%;margin-right:6%;gap:20px}.life-heading-wrap>p{margin-left:5px;font-size:13px}.life-heading-wrap h2{font-size:32px}.gallery-track{padding-left:6%;padding-right:6%}.resources-section{padding-left:6%;padding-right:6%;gap:48px}.resources-section .button{font-size:9px}.contact-panel{grid-template-columns:1fr}.contact-copy{padding:35px 40px}.contact-copy>p:not(.eyebrow){max-width:430px}.contact-copy .eyebrow{margin-bottom:12px}.contact-copy h2{margin-bottom:12px}.enquiry-form{border-radius:75px 0 50px 50px;padding:35px 40px 30px;gap:13px}.contact-email{margin-top:12px}.contact-whatsapp{margin-top:12px}.form-bottom>p{font-size:11px}.contact-panel{border-radius:0 60px 50px 50px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.contact-copy .eyebrow,.contact-copy h2{grid-column:1/-1}.contact-copy>p:not(.eyebrow){grid-row:3/5;margin-bottom:0}.contact-email,.contact-whatsapp{grid-column:2}.footer-content{grid-template-columns:1.25fr 1fr 1fr;gap:15px 35px}.footer-brand{grid-row:span 2}.footer-column{padding-top:20px}.footer-contact{grid-column:3}.footer-column h3{font-size:11px}.site-footer{border-radius:120px 0 0 0}.footer-bottom{font-size:9px}}
@media(max-width:720px){html{scroll-padding-top:30px}body{font-size:16px}.site-header{height:91px;width:calc(100% - 40px)}.brand,.brand img{width:78px;height:78px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;background:var(--blush);border:0;width:43px;height:43px;border-radius:50%;align-items:center}.menu-button span{display:block;width:17px;height:1.5px;background:var(--berry);transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:83px;left:0;right:0;background:white;padding:20px 25px 25px;border-radius:24px;box-shadow:0 12px 50px #442b3826;font-size:15px;align-items:stretch;gap:0;border:1px solid var(--blush)}.site-nav.is-open,.site-nav.open{display:flex;flex-direction:column}.site-nav>a:not(.button),.nav-group>a{padding:12px 0}.nav-cta{margin:14px 0 0;align-self:start;font-size:12px}.nav-dropdown{position:static;min-width:0;box-shadow:none;border:0;padding:0 0 10px 8px}.nav-dropdown a,.nav-dropdown button{font-size:13px}.hero{display:block;min-height:0;padding:44px 7% 38px}.hero-copy{padding-top:0}.hero-eyebrow{font-size:9px;margin-bottom:17px}.hero h1{font-size:clamp(55px,12vw,74px);line-height:1;letter-spacing:-.055em;margin-bottom:26px}.hero-description{font-size:15px;margin-top:20px;margin-bottom:9px}.hero-location{font-size:10px}.hero-dots{left:2%;top:17px;width:205px;height:100px;opacity:.2}.hero-art{position:relative;width:100%;height:430px;right:auto;top:auto;margin:28px 0 18px}.hero-photo--main{left:0;top:115px;width:80%;height:225px;border-radius:75px 12px 75px 12px}.hero-photo--top{right:6%;width:125px;height:175px;top:0}.hero-photo--portrait{right:1%;top:290px;width:107px;height:145px;box-shadow:0 0 0 6px white}.hero-photo--outdoor{top:316px;left:10%;width:151px;height:119px;box-shadow:0 0 0 6px white}.hero-arch{right:4%;top:42px;width:185px;height:300px}.hero-outline{width:230px;height:340px;top:45px;left:1%}.hero-letters{left:5%;bottom:-10px;font-size:170px}.speech--hello{top:66px;left:1%}.speech--sawubona{top:222px;right:0}.speech{font-size:21px;padding:12px 17px}.hero-art-dots{right:0;bottom:-10px;height:80px;width:100px}.hero-scribble{bottom:-25px;left:5%}.scroll-cue{position:relative;left:0;bottom:auto;margin-top:42px;font-size:8px;gap:13px}.scroll-cue svg{width:29px;height:29px}.courses-section{padding:0 0 45px;min-height:0}.courses-background{left:10%;top:205px;bottom:0;border-radius:100px 0 0 0}.courses-shell{padding:40px 7% 0;display:block}.courses-intro{padding:0;max-width:none}.courses-intro .eyebrow{font-size:9px}.courses-intro h2{font-size:34px;margin-bottom:13px}.courses-intro>p:not(.eyebrow){font-size:14px;max-width:260px}.section-corner{left:-22px;top:26px;width:95px;height:100px;border-radius:60px 0 0 0}.courses-art{display:none}.courses-stage{padding:30px 0 10px}.course-ring{width:150px;height:150px;border-width:14px;left:10%;top:13px}.course-cards{gap:17px;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5px 20px;scrollbar-width:none;align-items:stretch}.course-cards::-webkit-scrollbar{display:none}.course-card{width:76%;flex-basis:76%;min-height:390px;padding:27px 22px;border-radius:28px;scroll-snap-align:center;margin-bottom:34px}.course-card:nth-child(even){margin-top:38px;margin-bottom:0}.course-card__image{width:140px;height:140px}.course-card h3{font-size:25px}.course-card p{font-size:14px}.course-card .button{font-size:11px}.course-controls{margin-top:8px}.featured-section{padding:65px 7% 65px}.featured-layout{grid-template-columns:1fr;gap:23px}.featured-column{padding:0}.featured-column--first{display:contents}.featured-intro{padding:0 0 12px}.featured-intro h2{font-size:34px;margin-bottom:18px}.featured-intro>p:not(.eyebrow){font-size:14px;max-width:330px}.feature-card{padding:27px;min-height:305px;max-width:460px}.feature-card h3{font-size:26px;margin-top:25px;margin-bottom:18px}.feature-card p{font-size:14px;max-width:none;margin-bottom:24px}.feature-card .button{font-size:10px;padding:9px 15px}.featured-column--middle{padding-left:23px}.featured-column--last{padding-right:23px}.featured-circle--light{width:500px;height:800px;right:-180px;top:275px}.featured-circle--pink{width:250px;height:450px;right:-100px;top:500px}.featured-photo{display:none}.feature-note{margin:25px 17px 0;justify-content:flex-end}.feature-note p{font-size:13px}.little-star{font-size:46px}.life-section{padding-bottom:50px}.life-heading-wrap{margin:0 7% 24px;display:grid;grid-template-columns:1fr auto;gap:15px}.life-heading-wrap h2{font-size:33px}.life-heading-wrap .eyebrow{font-size:9px}.life-heading-wrap>p{grid-column:1;grid-row:2;margin:0;font-size:13px}.gallery-controls{grid-column:2;grid-row:2;gap:7px}.gallery-controls .circle-control{width:31px;height:31px}.gallery-track{padding-left:7%;padding-right:7%;gap:18px}.gallery-photo{height:275px}.gallery-photo--wide{width:310px;border-radius:55px 10px 55px 10px}.gallery-photo--portrait{width:210px;margin-top:25px;border-radius:10px 55px 10px 55px}.gallery-photo>span{font-size:11px;padding-left:22px;padding-right:22px}.resources-section{padding:28px 7% 65px;grid-template-columns:1fr;gap:48px}.resource-download{padding:0}.resource-download h2{font-size:31px;margin-top:19px}.resource-download p{font-size:14px;max-width:330px}.resources-section .button{font-size:10px}.download-caption{font-size:9px}.faqs h3{font-size:25px}.faqs summary{font-size:13px}.faqs details p{font-size:13px}.contact-section{padding:22px 7% 85px}.contact-panel{border-radius:0 42px 42px 42px}.contact-copy{padding:31px 25px 30px;display:block}.contact-copy .eyebrow{font-size:9px}.contact-copy h2{font-size:34px}.contact-copy>p:not(.eyebrow){font-size:14px;margin-bottom:19px;max-width:270px}.contact-email{font-size:11px;gap:5px;margin-top:15px}.contact-email svg{width:13px;height:13px}.contact-whatsapp{font-size:12px;margin-top:14px}.enquiry-form{border-radius:55px 0 42px 42px;padding:28px 22px 27px;gap:11px}.enquiry-form .form-pair{grid-template-columns:1fr;gap:11px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:13px;padding:14px 17px}.enquiry-form select{padding-right:35px;background-position:right 17px center}.enquiry-form textarea{border-radius:24px}.form-bottom{align-items:flex-start;flex-direction:column;gap:17px;padding-top:2px}.form-bottom>p{font-size:10px;margin-left:1px}.form-bottom>p br{display:none}.form-bottom .button{align-self:flex-end;font-size:10px}.contact-corner{width:86px;height:100px;left:3%;bottom:62px;border-radius:0 0 0 60px}.contact-orbit{width:100px;height:100px;left:48%;bottom:52px;border-width:8px}.contact-dots{right:1%;top:0;width:100px;height:90px}.site-footer{padding:42px 7% 90px;border-radius:85px 0 0 0}.site-footer:before{width:95px;height:42px;top:-20px}.footer-content{grid-template-columns:1fr 1fr;gap:30px 18px;margin-bottom:30px}.footer-brand{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:115px 1fr;gap:0 16px;align-items:center}.footer-brand>a{grid-row:span 2}.footer-brand img{width:100px;height:110px;margin:0}.footer-brand>p{font-size:12px;margin-bottom:13px}.footer-social{align-self:start}.footer-column{padding-top:0;gap:12px}.footer-column h3{font-size:10px;margin-bottom:5px}.footer-column>a,.footer-column>button,.footer-column>p{font-size:11px}.footer-contact{grid-column:auto}.footer-bottom{font-size:9px;display:grid;grid-template-columns:1fr auto;gap:10px}.footer-bottom>span:nth-child(2){grid-row:2}.footer-bottom>a{grid-column:2;grid-row:1/3}.floating-whatsapp{right:17px;bottom:18px;padding:12px;box-shadow:0 4px 20px #44152830}.floating-whatsapp>span{display:none}.floating-whatsapp svg{width:24px;height:24px}.content-dialog{padding:37px 24px 28px;border-radius:23px;max-height:90svh}.content-dialog h2{font-size:30px;margin-top:12px}.content-dialog .form-pair{grid-template-columns:1fr}.content-dialog input,.content-dialog select,.content-dialog textarea{font-size:16px}.content-dialog .button{font-size:10px;padding:12px 16px}.content-dialog .course-meta,.content-dialog .detail-grid{grid-template-columns:1fr}.photo-dialog{padding:8px}.photo-dialog img{max-width:90vw}.photo-dialog p{font-size:11px;padding:12px 8px 3px}}
@media(max-width:370px){.hero h1{font-size:52px}.hero-art{height:380px}.hero-photo--main{height:200px;width:84%;top:110px}.hero-photo--top{width:111px;height:156px}.hero-photo--outdoor{top:285px;width:135px;height:105px}.hero-photo--portrait{width:94px;height:128px;top:267px}.speech--sawubona{top:225px;font-size:18px}.speech--hello{font-size:18px}.hero-arch{width:160px;height:290px}.hero-art-dots{bottom:-15px}.scroll-cue{margin-top:38px}.course-card{flex-basis:88%;width:88%}.contact-email{font-size:10px}.contact-copy{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}}
/* Dynamic course and dialog content. */
.course-card__eyebrow{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-size:9px;letter-spacing:.13em}.course-card__body{display:flex;flex-direction:column;align-items:center}.course-card__body .button{margin-top:auto}.button__arrow{font-size:19px;line-height:.7;font-weight:400}.course-cards{overflow:hidden}.carousel-dots button.is-active{background:var(--berry)}.carousel-dots button.active:not(.is-active){background:#d7b9c5}.dialog-eyebrow{color:var(--berry);font-size:10px!important;letter-spacing:.15em;font-weight:700;margin-bottom:9px}.course-details{background:var(--ivory);padding:20px;border-radius:17px;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.course-details>div:first-child{grid-column:1/-1}.course-details dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.course-details dd{font-size:13px;margin:0;line-height:1.5}.dialog-note{padding:14px 18px;background:var(--blush);border-radius:12px;color:var(--berry);font-size:12px!important}.button--outline{background:white;border:1px solid var(--berry);color:var(--berry)}.dialog-text-link{display:block;width:100%;font-size:12px;color:var(--berry);font-weight:600;margin-top:7px}.dialog-actions{align-items:center}.dialog-open{overflow:hidden}@media(max-width:720px){.course-cards{overflow-x:auto}.course-details{grid-template-columns:1fr}.course-details>div:first-child{grid-column:auto}}
.site-nav a,.site-nav button,.footer-column>a,.footer-column>button,.footer-bottom>a{text-transform:uppercase}
.contact-address{grid-column:1/-1;margin-top:22px;font-size:13px;line-height:1.6;font-style:normal;color:var(--muted)}

#course-menu{width:310px;max-height:min(620px,70vh);overflow-y:auto;overscroll-behavior:contain}#course-menu button{white-space:normal;line-height:1.4}
@media(max-width:720px){.site-nav{max-height:calc(100dvh - 105px);overflow-y:auto;overscroll-behavior:contain}#course-menu{width:100%;max-height:none;overflow:visible}}

.course-cards.is-animating{scroll-snap-type:none}.course-controls{gap:12px;flex-wrap:wrap}.course-autoplay{color:var(--berry)}.course-autoplay[aria-pressed="true"] .icon-pause,.course-autoplay[aria-pressed="false"] .icon-play{display:none}
@media(max-width:370px){.course-controls{gap:8px}.course-controls .carousel-dots{gap:6px}}

/* Three desktop courses, with native scrolling and mouse dragging. */
.courses-stage{min-width:0}
.course-cards{--course-visible:2;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain}
.course-cards::-webkit-scrollbar{display:none}
.course-card{scroll-snap-align:start}
.course-cards img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.course-cards.is-dragging{scroll-snap-type:none;scroll-behavior:auto}
.course-cards.is-dragging,.course-cards.is-dragging *{cursor:grabbing!important}
.course-cards.is-dragging .course-card{transition:none;transform:none}
.course-drag-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--berry);font-size:9px;letter-spacing:.12em;line-height:1.5;margin:10px 0 0;text-align:center;opacity:.75}
.course-drag-hint span{font-size:19px;line-height:1}
@media(min-width:721px){.course-cards{scroll-snap-type:x mandatory}}
@media(min-width:961px){
  .courses-background{left:29%}
  .courses-shell{grid-template-columns:28% 72%;padding-left:6%;padding-right:4%}
  .courses-stage{padding-left:24px}
  .course-cards{--course-visible:3;gap:20px;min-height:522px}
  .course-card{width:calc((100% - 40px)/3);flex-basis:calc((100% - 40px)/3);min-height:445px;padding:28px 18px;display:flex;flex-direction:column}
  .course-card:nth-child(even){margin-top:60px}
  .course-card__image{width:126px;height:126px}
  .course-card__body{flex:1}
  .course-card h3{font-size:23px}
  .course-card p{font-size:14px}
  .course-card .button{font-size:10px;padding:8px 12px;gap:7px}

}
@media(min-width:961px) and (max-width:1190px){
  .courses-shell{grid-template-columns:25% 75%;padding-left:4%;padding-right:4%}
  .courses-background{left:25%}
  .courses-intro h2{font-size:29px}
  .courses-intro>p:not(.eyebrow){font-size:14px}
  .courses-stage{padding-left:18px}
  .course-cards{gap:16px}
  .course-card{width:calc((100% - 32px)/3);flex-basis:calc((100% - 32px)/3);padding:26px 14px}
  .course-card__image{width:112px;height:112px}
  .course-card h3{font-size:20px}
  .course-card p{font-size:13px}
  .course-card .button{font-size:9px;padding:8px 10px;gap:6px}

}
@media(max-width:720px){.course-cards{--course-visible:1}.course-card{scroll-snap-align:center}}
@media(hover:none),(pointer:coarse){.course-drag-hint{display:none}}

/* Wide-screen proportions follow the larger MI3 reference composition. */
@media(min-width:1440px){
  .courses-section{--course-card-height:clamp(480px,27vw,515px);--course-stagger:clamp(80px,5.1vw,98px);--course-gap:clamp(24px,1.6vw,30px);--course-intro-top:clamp(124px,7.4vw,148px);padding-bottom:30px;min-height:810px}
  .courses-shell{max-width:none;width:100%;grid-template-columns:28% 72%;padding-left:8.5%;padding-right:4%}
  .courses-background{left:32.3%;border-top-left-radius:clamp(180px,11.2vw,220px)}
  .courses-intro{padding:var(--course-intro-top) 40px 0 0}
  .courses-intro .eyebrow{font-size:11px;margin-bottom:18px}
  .courses-intro h2{font-size:clamp(40px,2.53vw,48px)}
  .courses-intro>p:not(.eyebrow){font-size:clamp(16px,1vw,19px);line-height:1.55;max-width:410px}
  .section-corner{width:clamp(150px,9.4vw,178px);height:clamp(150px,9.4vw,178px);left:clamp(-74px,-3.9vw,-56px);top:calc(var(--course-intro-top) + 32px);border-top-left-radius:100px}
  .courses-art{height:clamp(350px,20.6vw,390px);margin-top:clamp(32px,2.5vw,48px)}
  .courses-art>img{width:clamp(280px,17.7vw,338px);height:clamp(320px,19.7vw,375px);left:clamp(25px,3vw,58px)}
  .courses-rings{height:clamp(230px,15vw,285px);width:clamp(130px,8vw,155px);border-width:8px;left:-20px;top:24px}
  .courses-rings:after{inset:-8px -39px -8px 26px;border-width:8px}
  .courses-art-label{left:clamp(92px,8.3vw,158px);bottom:-3px;font-size:clamp(12px,.74vw,14px);padding:15px 25px}
  .courses-art .dots{right:-80px;bottom:12px;width:clamp(185px,12.6vw,240px);height:clamp(135px,8.4vw,160px);background-size:20px 20px}
  .courses-stage{padding:clamp(60px,3.8vw,74px) 0 12px 24px}
  .course-ring{width:clamp(270px,17.8vw,340px);height:clamp(270px,17.8vw,340px);border-width:clamp(22px,1.45vw,28px);top:6px;left:clamp(70px,4.6vw,88px)}
  .course-cards{gap:var(--course-gap);min-height:calc(var(--course-card-height) + var(--course-stagger))}
  .course-card{width:calc((100% - var(--course-gap) - var(--course-gap))/3);flex-basis:calc((100% - var(--course-gap) - var(--course-gap))/3);min-height:var(--course-card-height);padding:clamp(28px,1.8vw,34px) clamp(20px,1.25vw,24px);border-radius:clamp(34px,2.1vw,40px)}
  .course-card:nth-child(even){margin-top:var(--course-stagger)}
  .course-card__eyebrow{font-size:clamp(9px,.53vw,10px)}
  .course-card__image{width:clamp(145px,9.6vw,184px);height:clamp(145px,9.6vw,184px);border-radius:22px}
  .course-card h3{font-size:clamp(24px,1.55vw,30px);line-height:1.1}
  .course-card p{font-size:clamp(15px,.95vw,18px);line-height:1.5}
  .course-card .button{font-size:clamp(11px,.73vw,14px);min-height:40px;padding:10px 16px;gap:8px}
  .course-controls{margin-top:26px;gap:16px}
  .course-controls .circle-control{width:36px;height:36px}
  .course-controls .circle-control svg{width:18px;height:18px}
  .course-controls .carousel-dots{gap:9px}
  .course-controls .carousel-dots button{width:10px;height:10px}
  .course-drag-hint{font-size:10px;margin-top:10px}

}

/* Explicit page-load keyframes do not depend on scroll-reveal timing. */
.hero-dots{--hero-reveal-opacity:.22}
@media(max-width:720px){.hero-dots{--hero-reveal-opacity:.2}}
@keyframes heroEnterLeft{
  from{opacity:0;transform:translateX(-90px)}
  to{opacity:var(--hero-reveal-opacity,1);transform:none}
}
@keyframes heroFadeIn{
  from{opacity:0}
  to{opacity:1}
}
@media(prefers-reduced-motion:no-preference){
  .hero-copy,.hero-dots,.hero .scroll-cue{
    animation:heroEnterLeft 1.35s cubic-bezier(.22,.61,.36,1) .15s both
  }
  .hero-art{animation:heroFadeIn 1.5s ease-out .25s both}
}

/* The course slider enters once when its existing reveal observer sees it. */
@keyframes courseEnterRight{
  from{opacity:0;transform:translateX(90px)}
  to{opacity:1;transform:none}
}
@media(prefers-reduced-motion:no-preference){
  .js-ready .courses-stage.reveal--from-right{
    opacity:0;
    transform:translateX(90px);
    transition:none
  }
  .js-ready .courses-stage.reveal--from-right.is-visible{
    opacity:1;
    transform:none;
    animation:courseEnterRight 1.35s cubic-bezier(.22,.61,.36,1) .1s both
  }
}

/* Smaller course icons retain the existing card layout and spacing. */
#course-cards .course-card__image{transform:scale(.65);transform-origin:center}
