:root{font-family:'DM Sans',sans-serif;font-synthesis:none;color:#17221c;background:#f5f5ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #258bd2;outline-offset:5px}button{border:0;background:none}img{display:block;width:100%;object-fit:cover}p{line-height:1.65}h1,h2,h3,p{margin-top:0}em{font-style:normal}header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:800;font-size:24px;line-height:.9;letter-spacing:-1px}.brand small{display:block;letter-spacing:5.7px;font-size:10px;margin-top:7px}.brand-symbol{font-size:32px;position:relative;font-style:italic}.brand-symbol>span{font-size:24px;position:absolute;top:-12px;right:-8px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.5}.gallery header{padding:32px 5%;border-bottom:1px solid #d9ddd5}.local{font-size:13px;color:#596359}.local i,.eyebrow i,.orbit-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#73a844;margin-right:8px}.gallery-main{max-width:1600px;margin:auto;padding:65px 5% 30px}.gallery-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:50px}.gallery-intro .eyebrow{grid-column:1/-1}.gallery-intro h1{font-family:'Manrope';font-size:clamp(38px,4.5vw,68px);letter-spacing:-3px;line-height:1.1;margin-bottom:0}.gallery-intro h1 em{color:#778b6b}.gallery-intro>p:last-child{font-size:16px;margin-left:15%;color:#61705e}.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}.design-card{min-width:0}.design-card:last-child{grid-column:1/-1;width:calc(50% - 14px);justify-self:center}.mini{position:relative;aspect-ratio:1.75;overflow:hidden;border-radius:8px;background:#0e1310}.mini>img{position:absolute;inset:0;z-index:2;height:100%;object-fit:cover;object-position:top;transition:transform .5s}.design-card:hover .mini>img{transform:scale(1.035)}.mini-fallback{padding:35px;height:100%;display:flex;flex-direction:column;justify-content:space-between;color:#e9f2d9}.mini-fallback small{font-size:12px;letter-spacing:2px}.mini-fallback b{font-family:'Barlow Condensed';font-size:45px;line-height:1}.mini-fallback>span{font-size:11px}.card-2 .mini-fallback{background:#f1f1dc;color:#264938}.card-3 .mini-fallback{background:#e7ddcb;color:#493f32}.card-3 .mini-fallback b{font-family:'Playfair Display'}.card-4 .mini-fallback{background:#e4542e;color:#201b1a}.card-5 .mini-fallback{background:#071b25;color:#8af1ed}.card-caption{padding:21px 0;display:flex;align-items:center;gap:17px}.number{font-size:15px;color:#7e887b}.card-caption h2{font-family:'Manrope';font-size:24px;margin:0 0 3px}.card-caption p{margin:0;color:#64705e;font-size:14px}.round-arrow{margin-left:auto;border:1px solid #cdd3c5;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:23px}.gallery-footer{margin-top:50px;border-top:1px solid #d9ddd5;padding-top:25px;color:#687060;font-size:14px}
.design{--bg:#10130f;--fg:#f5f6ea;--accent:#c4f447;--muted:#b6bcac;--line:#34382f;background:var(--bg);color:var(--fg);padding-top:46px}.design-switch{height:46px;position:fixed;top:0;left:0;right:0;z-index:20;background:#f9faf5;color:#293126;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:20px;font:12px 'DM Sans'}.design-switch>div{display:flex;gap:5px}.design-switch a{padding:7px 10px;border-radius:4px;white-space:nowrap}.design-switch [aria-current]{background:#263221;color:#fff}.design-switch button{font-size:12px;white-space:nowrap}.design-switch a span{opacity:.55;margin-right:4px}.site-header{padding:25px 5%;height:100px;position:relative;z-index:4;border-bottom:1px solid var(--line)}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.site-header nav button{padding:0}.nav-cta{font-size:13px;border:1px solid var(--fg);padding:13px 20px;display:flex;gap:30px}.hero{position:relative;min-height:660px;overflow:hidden}.hero-copy{position:relative;z-index:2}.hero h1{font-family:'Barlow Condensed';font-size:clamp(75px,8.3vw,126px);line-height:.9;letter-spacing:-2px;margin:27px 0}.hero h1 em{color:var(--accent)}.hero-copy>p:not(.eyebrow){max-width:400px;font-size:16px;color:var(--muted)}.actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:36px;padding:19px 24px;background:var(--accent);color:var(--bg);font-size:14px;font-weight:700;transition:transform .25s}.button:hover{transform:translateY(-4px)}.button span{font-size:21px}.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:7px}.scene{position:absolute;inset:0;pointer-events:none}.scene canvas{display:block;width:100%;height:100%}.hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:25px;left:5%;right:5%;font-size:10px;letter-spacing:1.4px;z-index:3}.section{padding:100px 6%}.section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section h2{font-family:'Barlow Condensed';font-size:60px;line-height:1.02;letter-spacing:-1px;margin-bottom:0}.section h2 em{color:var(--accent)}.section-title>p{font-size:14px;color:var(--muted);max-width:380px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.filters button{border:1px solid var(--line);padding:10px 18px;border-radius:50px;font-size:13px}.filters [aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 22px}.course-card{text-align:left;padding:0;min-width:0}.course-image{position:relative;overflow:hidden;aspect-ratio:1.24;background:var(--line)}.course-image img{height:100%;transition:transform .5s}.course-card:hover img{transform:scale(1.07)}.course-image>span{position:absolute;right:12px;bottom:12px;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;background:var(--accent);color:var(--bg);font-size:20px}.course-caption{padding:18px 0}.course-caption small{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.course-caption h3{font-size:23px;letter-spacing:-.5px;margin:7px 0}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;border-top:1px solid var(--line)}.about img{aspect-ratio:1.2}.about p:not(.eyebrow){color:var(--muted);margin:25px 0}.trial{text-align:center;border-block:1px solid var(--line)}.trial p:not(.eyebrow){margin:26px 0}.trial h2{font-size:72px}footer.section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;font-size:14px;padding-block:55px}footer .brand{align-self:start}footer button{display:block;padding:0;margin-bottom:12px;text-align:left}footer .prototype-note{grid-column:1/-1;color:var(--muted);font-size:12px;margin-top:35px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}dialog{background:var(--bg,#f7f6ef);color:var(--fg,#202a21);border:1px solid var(--line,#ccd1c4);width:min(760px,90vw);max-height:85vh;padding:55px;border-radius:12px}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}dialog h2{font-size:38px;line-height:1.1}.close{position:sticky;float:right;top:0;background:var(--accent,#d9ecab);color:var(--bg,#253024);border-radius:50%;width:40px;height:40px;margin:-30px -30px 0 0}.original-copy p{font-size:16px}.original-copy{overflow-wrap:anywhere}
.d1 .hero{padding:80px 5% 100px;min-height:700px}.d1 .hero-photo{position:absolute;width:56%;height:100%;right:0;top:0;object-position:center 35%;filter:grayscale(1);opacity:.75;mask-image:linear-gradient(to right,transparent,#000 35%)}.d1 .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#10130f,transparent 30%);pointer-events:none}.d1 .hero .scene{left:45%;opacity:.75}.d1 .hero-copy{max-width:850px}.d1 .hero-copy>p:first-child{color:var(--accent)}.d1 .vertical-word{position:absolute;right:20px;top:90px;writing-mode:vertical-rl;letter-spacing:5px;font-size:10px;z-index:2}.d1 .hero h1 em{display:inline-block}.d1 .courses{background:#181c15}
.d2{--bg:#f6f5eb;--fg:#244b39;--accent:#dfff7d;--muted:#607260;--line:#d8decf;font-family:'Manrope'}.d2 .site-header{border-bottom:0}.d2 .nav-cta{border-radius:30px;background:var(--fg);color:var(--bg)}.d2 .hero{display:grid;grid-template-columns:1fr 1fr;padding:55px 6% 75px;gap:35px;min-height:690px}.d2 .hero h1{font-family:'Manrope';font-weight:800;font-size:clamp(45px,4.8vw,74px);line-height:1.08;letter-spacing:-4px;margin:20px 0}.d2 .hero h1 em{color:#597c32;position:relative}.d2 .button{background:var(--fg);color:var(--bg);border-radius:40px}.d2 .family-visual{position:relative;min-width:0}.d2 .family-visual>img{height:440px;border-radius:160px 160px 30px 30px;object-position:48%;transform:rotate(4deg);margin-top:15px}.d2 .scene{inset:-80px -60px -40px;z-index:2}.sticker{position:absolute;right:-10px;top:10px;z-index:3;background:#dfff7d;color:#264638;padding:25px;border-radius:50%;transform:rotate(12deg);text-align:center;font-size:18px}.sticker b{font-size:33px}.small-photo{position:absolute;left:-40px;bottom:-15px;z-index:3;width:210px;background:#fff;padding:9px;transform:rotate(-8deg);box-shadow:0 10px 30px #26342018}.small-photo img{height:120px}.small-photo span{display:block;font-size:10px;text-align:center;padding:9px 0 2px}.scribble{position:absolute;right:0;bottom:0;font-size:115px;color:#e78f60}.family-note{display:flex;align-items:center;gap:14px;font-size:12px;margin-top:32px;line-height:1.7}.family-note span{font-size:40px;color:#cc815b}.color-strip{display:flex;justify-content:space-around;padding:23px 20px;background:var(--accent);font-size:15px;font-weight:800;letter-spacing:1px;gap:20px}.d2 .section h2{font-family:'Manrope';font-size:43px;line-height:1.15;letter-spacing:-2px}.d2 .section h2 em{color:#658049}.d2 .course-image{border-radius:20px}.d2 .about{background:#e8ecde}.d2 .about img{border-radius:40px}.d2 .trial{background:#244b39;color:#f6f5eb}.d2 .trial .button{background:#dfff7d;color:#244b39}
.d3{--bg:#eee8dc;--fg:#443d30;--accent:#8b5c3c;--muted:#7a7060;--line:#d0c6b5}.d3 .brand{font-family:'Playfair Display';font-weight:600}.d3 .site-header{margin:0 5%;padding-inline:0}.d3 .nav-cta{border:0;border-bottom:1px solid;padding-inline:0}.d3 .hero{display:grid;grid-template-columns:1fr 1fr;padding:60px 9% 65px;gap:9%;min-height:730px}.d3 .hero h1{font-family:'Playfair Display';font-size:clamp(62px,6.4vw,95px);font-weight:600;line-height:1.03;letter-spacing:-4px;margin:24px 0}.d3 .hero h1 em{font-style:italic}.d3 .eyebrow{font-size:10px;letter-spacing:2px}.d3 .hero-copy>p:not(.eyebrow){font-size:14px;max-width:350px}.d3 .button{background:var(--fg);color:var(--bg);font-weight:400}.d3 .actions{gap:20px}.d3 .text-link{font-size:12px}.balance-visual{position:relative;margin-top:0}.balance-visual>img{height:565px;border-radius:250px 250px 0 0;filter:sepia(.22);object-position:40% 30%}.balance-visual .scene{inset:30% -45% -18% -60%;z-index:2}.balance-caption{position:absolute;right:-30px;top:90px;writing-mode:vertical-rl;font-size:10px;letter-spacing:3px}.d3 .location-note{margin-top:35px;font-size:11px!important;line-height:1.8}.location-note span{opacity:.7}.serif-mark{position:absolute;left:47%;bottom:25px;font:italic 150px 'Playfair Display';color:#b8a78c44}.d3 .section h2{font-family:'Playfair Display';font-size:50px;font-weight:600;line-height:1.1}.d3 .course-caption h3{font-family:'Playfair Display';font-weight:600}.d3 .course-image>span{color:#fff}.d3 .about{background:#e5dccb}.d3 .trial h2 em{font-style:italic}.d3 .courses{border-top:1px solid var(--line)}
.d4{--bg:#efeee6;--fg:#20221e;--accent:#ff623b;--muted:#60615b;--line:#bbbdb3}.d4 .site-header{height:90px;border-bottom:2px solid var(--fg);margin:0 4%;padding-inline:0}.d4 .nav-cta{background:var(--fg);color:var(--bg)}.d4 .hero{margin:0 4%;height:710px}.editorial-top{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.editorial-top>span{font-size:10px;letter-spacing:1px}.d4 .hero h1{font-size:clamp(110px,15.6vw,235px);line-height:.78;letter-spacing:-4px;margin:38px 0;position:relative;z-index:3;width:max-content;pointer-events:none}.d4 .hero h1>span{display:inline-block;margin-left:18vw}.d4 .hero h1 em{color:var(--accent)}.editorial-photo{position:absolute;top:170px;right:0;width:40%;height:435px;transform:rotate(5deg);overflow:hidden}.editorial-photo img{height:100%;filter:grayscale(1)}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:14px;background:var(--accent);font-size:11px;letter-spacing:1px;font-weight:700}.d4 .scene{left:55%;top:10%;z-index:4}.editorial-info{position:relative;z-index:5;margin-top:35px;max-width:400px}.editorial-info p{font-size:19px;font-weight:600}.d4 .button{background:var(--fg);color:var(--bg)}.edition{position:absolute;bottom:35px;right:0;font-size:10px;line-height:1.6;letter-spacing:2px}.d4 .color-strip{border-block:2px solid var(--fg);font-size:20px;transform:rotate(-1deg)}.d4 .section h2{font-size:74px}.d4 .course-image{border:1px solid var(--fg)}.d4 .filters button{border-radius:0}.d4 .trial{background:var(--accent)}.d4 .trial em{color:var(--bg)}
.d5{--bg:#06151d;--fg:#e6f4f3;--accent:#99f4da;--muted:#91b2b9;--line:#24404b;font-family:'Manrope'}.d5 .site-header{height:92px}.d5 .nav-cta{border-color:#47727a;border-radius:30px}.d5 .hero{min-height:730px;background:radial-gradient(ellipse at 50% 75%,#123f47,transparent 65%)}.d5 .hero-copy{text-align:center;padding:115px 20px 150px}.d5 .hero h1{font-family:'Manrope';font-size:clamp(48px,6.5vw,96px);font-weight:800;letter-spacing:-5px;line-height:1.05;margin:22px 0}.d5 .hero h1 em{color:var(--accent)}.d5 .hero-copy>p:not(.eyebrow){margin:0 auto;color:#bfd8d9}.d5 .actions{justify-content:center}.d5 .button{border-radius:40px}.d5 .text-link{color:#d8eeee}.orbit-top{position:absolute;top:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.orbit-top i{background:var(--accent)}.orbit-label{position:absolute;font-size:10px;letter-spacing:2px;color:#86b7bb;border-left:1px solid #619696;padding-left:12px}.label-one{left:5%;top:38%}.label-two{right:6%;top:45%}.label-three{left:16%;bottom:15%}.d5 .section h2{font-family:'Manrope';font-size:46px;letter-spacing:-2px;line-height:1.1}.d5 .course-image{border-radius:6px}.d5 .course-card{background:#0d242d;border:1px solid var(--line);border-radius:7px;overflow:hidden}.d5 .course-caption{padding:20px}.d5 .course-caption h3{font-size:20px}.d5 .trial{background:radial-gradient(ellipse at 50% 100%,#174749,transparent)}
.hero-copy{animation:enter .8s ease both}.hero-copy .actions{animation:enter 1s .15s both}@keyframes enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{min-height:780px}.d1 .hero{padding-top:110px}.d2 .hero{padding-top:90px}.d4 .hero{height:800px}}@media(max-width:1000px){.design-switch{padding:0 10px;gap:10px}.design-switch a{padding:7px}.design-switch a span{display:none}.design-switch button{font-size:10px}.hero h1{font-size:88px}.course-grid{grid-template-columns:repeat(3,1fr)}.actions{gap:18px}.button{gap:15px;padding:16px;font-size:12px}.d2 .hero h1{font-size:54px;letter-spacing:-3px}.d2 .family-visual>img{height:410px}.d3 .hero{padding-inline:6%;gap:5%}.d3 .hero h1{font-size:68px}.d3 .actions{flex-wrap:wrap}.d4 .hero{height:660px}.d4 .hero h1{font-size:17vw}.d5 .hero h1{font-size:7vw}.section h2{font-size:48px}.section-title{align-items:start}.section-title>p{max-width:280px}}
@media(max-width:700px){.gallery header{padding:25px 6%}.local{font-size:10px;max-width:130px;text-align:right}.gallery-main{padding-top:40px}.gallery-intro{display:block}.gallery-intro h1{font-size:42px;letter-spacing:-2px}.gallery-intro>p:last-child{margin:24px 0 0;font-size:14px}.design-grid{grid-template-columns:1fr;gap:15px}.design-card:last-child{width:100%;grid-column:auto}.card-caption h2{font-size:22px}.design-switch{height:82px;flex-wrap:wrap;gap:0;justify-content:space-between;padding:5px 8px}.design-switch>div{order:3;width:100%;justify-content:space-between}.design-switch a{font-size:11px}.design-switch>div a{padding:7px 10px}.design{padding-top:82px}.site-header{height:82px;padding:20px 6%}.brand{font-size:21px}.brand-symbol{font-size:27px}.site-header nav{gap:12px;font-size:12px}.site-header nav a:last-child{display:none}.nav-cta{font-size:11px;padding:10px;gap:10px}.hero{min-height:660px}.d1 .hero{padding:60px 6% 100px;min-height:690px}.d1 .hero-photo{width:100%;opacity:.45;mask-image:linear-gradient(to bottom,transparent,#000 25%)}.d1 .hero h1{font-size:76px;letter-spacing:-1px}.d1 .hero-copy>p{max-width:290px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-bottom{font-size:8px}.hero-bottom span:nth-child(2){display:none}.vertical-word{display:none}.actions{flex-wrap:wrap}.d1 .scene{left:10%!important}.section{padding:65px 6%}.section-title{display:block}.section-title>p{margin-top:20px}.section h2,.d4 .section h2{font-size:48px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.course-caption h3{font-size:19px}.course-caption small{font-size:8px;letter-spacing:1px}.course-image{aspect-ratio:.95}.filters{gap:8px}.filters button{font-size:11px;padding:9px 12px}.about{grid-template-columns:1fr;gap:35px}.trial h2{font-size:45px}.trial p{font-size:14px}footer.section{grid-template-columns:1fr 1fr}footer .brand{grid-column:1/-1}footer .prototype-note{font-size:10px}.d2 .hero{grid-template-columns:1fr;padding:25px 6% 60px;gap:30px}.d2 .hero h1{font-size:51px;letter-spacing:-3px}.d2 .hero-copy>p{font-size:14px}.family-note{margin-top:25px}.d2 .family-visual{margin:15px 10px 20px 30px;height:350px}.d2 .family-visual>img{height:320px}.d2 .small-photo{width:165px;bottom:0}.d2 .small-photo img{height:100px}.sticker{padding:18px;font-size:14px}.sticker b{font-size:28px}.scribble{font-size:80px}.color-strip{font-size:9px;gap:15px;padding:18px 12px}.d2 .section h2{font-size:35px}.d3 .hero{grid-template-columns:1fr;padding:32px 7% 55px;gap:35px}.d3 .hero h1{font-size:76px}.d3 .hero .location-note{margin-top:25px}.balance-visual{width:87%;margin:auto}.balance-visual>img{height:430px}.balance-visual .scene{inset:30% -25% -10%}.d3 .section h2{font-size:40px}.serif-mark{display:none}.d4 .site-header{height:82px}.d4 .hero{height:760px}.editorial-top>span{display:none}.d4 .hero h1{font-size:23vw;letter-spacing:-2px;margin-top:28px}.d4 .hero h1>span{margin-left:6vw}.editorial-photo{top:220px;width:75%;height:290px;right:3%}.d4 .scene{left:0;top:20%;bottom:20%}.editorial-info{position:absolute;bottom:35px;left:2%}.editorial-info p{font-size:17px}.edition{display:none}.d4 .color-strip{font-size:11px}.d5 .hero{min-height:700px}.d5 .hero-copy{padding:150px 5% 160px}.d5 .hero h1{font-size:43px;letter-spacing:-2.5px}.d5 .hero-copy>p{font-size:14px}.d5 .hero .eyebrow{font-size:8px}.orbit-top{font-size:8px}.orbit-top>span:last-child{display:none}.orbit-label{font-size:8px}.label-one{top:15%;left:7%}.label-two{top:80%;right:10%}.label-three{left:7%;bottom:12%}.d5 .section h2{font-size:36px}.d5 .course-caption{padding:13px}.d5 .course-caption h3{font-size:17px}dialog{padding:35px 25px}dialog h2{font-size:30px}.close{margin:-20px -10px 0 0}.original-copy p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.d4 main{overflow-x:clip}
@media(max-width:700px){.d2 .hero h1{font-size:clamp(34px,10.8vw,51px);letter-spacing:-2.5px}.d2 .hero-copy{min-width:0}.d3 .hero h1{font-size:clamp(56px,17vw,76px)}.hero .eyebrow{overflow-wrap:anywhere}}
@media(max-width:370px){.site-header nav{gap:8px;font-size:10px}.nav-cta{font-size:10px;padding:8px}.brand{font-size:18px}.design-switch>div a{padding:7px}.d1 .hero h1{font-size:65px}.d5 .hero h1{font-size:37px}}
/* Pulse: light follows the image, leaving the reading area quiet. */
.d1 .hero .scene{left:43%;right:-5%;top:9%;bottom:-11%;opacity:1;mask-image:linear-gradient(to right,transparent,#000 15%);z-index:1}
.d1 .hero-photo{will-change:transform;opacity:.68}
.d1 .hero-copy{z-index:3}
.d1 .hero h1{animation:pulse-title 1.05s cubic-bezier(.16,1,.3,1) both}
.d1 .hero h1 em{position:relative;text-shadow:0 0 45px #c4f44712}
.d1 .hero .eyebrow i{box-shadow:0 0 0 5px #c4f4470a,0 0 16px #c4f44765}
.d1 .hero .button{position:relative;overflow:hidden;box-shadow:0 6px 34px #b9ee3010;transition:transform .3s,box-shadow .3s}
.d1 .hero .button:after{content:'';position:absolute;inset:-80% -50%;background:linear-gradient(110deg,transparent 42%,#fff7 50%,transparent 58%);transform:translateX(-90%);pointer-events:none;transition:transform .65s}
.d1 .hero .button:hover:after{transform:translateX(90%)}
.d1 .hero .button:hover{box-shadow:0 10px 38px #b9ee302a;transform:translateY(-3px)}
.d1.motion-paused *,.d1 .motion-paused *{animation-play-state:paused!important}
@keyframes pulse-title{from{opacity:0;transform:translateY(32px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(max-width:700px){.d1 .hero .scene{left:28%!important;top:25%;right:-25%;bottom:-7%;opacity:.7;mask-image:linear-gradient(to right,transparent,#000 35%)}.d1 .hero-photo{opacity:.38}.d3 .hero h1{font-size:clamp(50px,15.5vw,76px)}}
@media(prefers-reduced-motion:reduce){.d1 .hero-photo{will-change:auto}.d1 .hero .button:after{display:none}}
/* Selected direction: Orbit, with a deeper midnight palette. */
.d5{--bg:#030b10;--fg:#e6f4f3;--accent:#99f4da;--muted:#91b2b9;--line:#1b303a}
.d5 .hero{background:radial-gradient(ellipse at 50% 75%,#0b262e,transparent 65%)}
.d5 .hero .scene{opacity:.78}
.d5 .course-card{background:#081a22}
.d5 .trial{background:radial-gradient(ellipse at 50% 100%,#0c292d,transparent)}
/* Pulse refinement: airy course typography and an open particle current. */
.d1 .hero .scene{left:28%;right:-8%;top:16%;bottom:-12%;mask-image:linear-gradient(to right,transparent,#000 35%);opacity:.92}
.d1 .course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.d1 .course-card{display:flex;flex-direction:column;background:#141910;border:1px solid #30382a;transition:border-color .25s,transform .25s}
.d1 .course-card:hover{border-color:#7f9c41;transform:translateY(-5px)}
.d1 .course-image{width:100%;aspect-ratio:1.7}
.d1 .course-caption{padding:25px 26px 22px;display:flex;flex-direction:column;flex:1;width:100%}
.d1 .course-caption small{font:500 11px/1.6 'DM Sans';letter-spacing:.8px;color:#aeb99e;text-transform:uppercase}
.d1 .course-caption h3{font-family:'Barlow Condensed';font-weight:600;font-size:34px;line-height:1.05;letter-spacing:0;margin:12px 0}
.d1 .course-tagline{font-size:15px;font-weight:600;color:#dfedc6;line-height:1.5;margin:0 0 12px}
.d1 .course-summary{font-size:14px;line-height:1.75;color:#aeb9a2;margin:0 0 25px}
.d1 .course-more{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #30382a;padding-top:17px;margin-top:auto;font-size:12px;font-weight:600;color:#c4f447}
.d1 .course-more>span{font-size:19px}
.d1 #detail{max-width:720px;padding:55px}
.d1 #detail h2{font-family:'Barlow Condensed';font-size:52px;font-weight:600;letter-spacing:0;margin-bottom:18px}
.d1 .detail-tagline{font-size:22px;line-height:1.4;color:#c4f447;max-width:490px;margin-bottom:25px}
.d1 .detail-body{font-size:16px;line-height:1.85;color:#c0c8b6}
.d1 .detail-subheading{font-size:13px;letter-spacing:1.8px;text-transform:uppercase;margin:30px 0 16px}
.d1 .course-points{list-style:none;padding:0;margin-bottom:30px}
.d1 .course-points li{padding:13px 0 13px 25px;border-bottom:1px solid #30382a;position:relative;font-size:15px;line-height:1.6}
.d1 .course-points li:before{content:'↗';position:absolute;left:0;color:#c4f447}
.d1 .course-original{border-top:1px solid #30382a;padding-top:20px;font-size:13px;color:#b6bcac}
.d1 .course-original summary{cursor:pointer;padding:8px 0}
.d1 .course-original .original-copy{padding-top:20px}
@media(max-width:1000px){.d1 .course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.d1 .course-caption{padding:22px}}
@media(max-width:700px){.d1 .hero .scene{left:5%!important;right:-32%;top:45%;bottom:-10%;opacity:.65;mask-image:linear-gradient(to right,transparent,#000 45%)}.d1 .course-grid{grid-template-columns:1fr;gap:24px}.d1 .course-caption h3{font-size:32px}.d1 .course-caption small{font-size:11px}.d1 .course-summary{font-size:15px}.d1 #detail{padding:38px 25px}.d1 #detail h2{font-size:40px}.d1 .detail-tagline{font-size:20px}}

/* Original Nadiri mark: gold, transparent, positioned at the top left. */
.brand-logo{display:block;width:122px;flex:0 0 auto;line-height:0;letter-spacing:normal}
.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}
.site-header .brand-logo{width:110px}
footer.section .brand-logo{width:155px}
@media(max-width:700px){.site-header .brand-logo{width:88px}.gallery .brand-logo{width:112px}footer.section .brand-logo{width:140px}}
@media(max-width:370px){.site-header .brand-logo{width:76px}}

/* Course imagery: dedicated photographs or intentionally illustrated covers. */
.course-art{width:100%;height:100%;position:relative;overflow:hidden;background:#253027;color:#cbdf9b;text-align:left}
.course-art:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,#f3ffc617,transparent 65%)}
.course-art svg{position:absolute;inset:-10% 0 5%;height:95%;width:100%;opacity:.82}
.course-art>div{position:absolute;left:24px;right:24px;bottom:18px}
.course-art b{font:600 21px/1.2 'Barlow Condensed';letter-spacing:2px;display:block}
.course-art small{display:block;font:11px/1.6 'DM Sans';margin-top:4px;opacity:.75}
.art-maxi{background:#373021;color:#edc785}
.art-weight{background:#232b31;color:#b6ced4}
.art-balance{background:#322a30;color:#dec1ce}
.d1 .course-art svg{inset:-19% 0 12%}
@media(max-width:700px){.course-art>div{left:20px;bottom:15px}.course-art b{font-size:19px}.course-art small{font-size:10px}}
.d1 .course-art svg{inset:0 0 auto;height:76%}

.ai-photo-label{position:absolute;left:10px;bottom:10px;padding:4px 7px;border-radius:3px;background:#10130fd9;color:#e7eddf;font:10px/1.4 "DM Sans",sans-serif;letter-spacing:.2px}
/* Pulse motion system: enter once, respond to intent, stay still while reading. */
.d1 .hero-copy,.d1 .hero-copy .actions,.d1 .hero h1{animation:none;filter:none}
.d1 .hero-photo{transform:none!important;will-change:auto}
.d1 .hero .scene{left:52%;right:-8%;top:0;bottom:-5%;opacity:.65;mask-image:linear-gradient(to right,transparent,#000 25%)}
.d1 .course-card{transition:border-color 180ms ease,box-shadow 180ms ease;transform:none!important}
.d1 .course-card:hover{box-shadow:0 6px 24px #0002}
.d1 .course-image img{transition:transform 450ms cubic-bezier(.2,.7,.2,1)}
.d1 .course-card:hover img{transform:none}
.d1 .course-more>span{transition:transform 200ms ease}
.d1 .course-card:is(:hover,:focus-visible) .course-more>span{transform:translate(3px,-3px)}
.d1 .filters button{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
.d1 .button{transition:background-color 180ms ease,box-shadow 180ms ease,transform 180ms ease}
.d1 .button:hover,.d1 .hero .button:hover{transform:translateY(-2px)}
.d1 .hero .button:after{display:none}
.d1[data-motion=off] *, .d1[data-motion=off] *:before,.d1[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.d1[data-motion=off] .button:hover,.d1[data-motion=off] .course-more>span,.d1[data-motion=off] .course-image img{transform:none!important}
html:has(.d1[data-motion=off]){scroll-behavior:auto}
@media(hover:hover) and (pointer:fine){.d1[data-motion=on] .course-card:hover img{transform:scale(1.025)}}
@media(max-width:700px){.d1 .hero .scene{left:40%!important;right:-35%;top:35%;bottom:0;opacity:.35}.d1 #courses{scroll-margin-top:20px}}
@media(prefers-reduced-motion:reduce){.d1 .course-card:hover img,.d1 .course-more>span,.d1 .button:hover{transform:none!important}}
/* Physical Three.js sports objects replace the abstract particle treatment. */
.d1 .hero .scene{left:51%;right:0;top:4%;bottom:4%;opacity:1;mask-image:none;z-index:2;background:radial-gradient(ellipse at 50% 53%,#c4f4470c,transparent 65%)}
.d1 .hero-photo{opacity:.16;filter:grayscale(1);mask-image:linear-gradient(to right,transparent,#000 60%)}
.d1 .hero-copy{max-width:60%}
.d1 .trial{position:relative;display:grid;grid-template-columns:1fr 1fr;text-align:left;column-gap:5%;align-content:center;min-height:530px}
.d1 .trial>.ring-scene{grid-column:2;grid-row:1/5;min-height:360px;align-self:stretch;pointer-events:none}
.ring-scene canvas{display:block;width:100%;height:100%}
.d1 .trial>p,.d1 .trial>h2,.d1 .trial>button{grid-column:1}
.d1 .trial>h2{font-size:58px}
.d1 .trial>button{justify-self:start}
@media(max-width:1000px){.d1 .hero-copy{max-width:66%}.d1 .trial>h2{font-size:46px}}
@media(max-width:700px){.d1 .hero{min-height:990px;padding-bottom:410px}.d1 .hero-copy{max-width:100%}.d1 .hero .scene{left:0!important;right:0;top:auto;bottom:45px;height:370px;opacity:1;mask-image:none}.d1 .hero-photo{opacity:.12}.d1 .trial{display:flex;flex-direction:column;min-height:0}.d1 .trial>.ring-scene{order:5;width:100%;height:320px;min-height:0;margin-top:20px}.d1 .trial>h2{font-size:44px}.d1 .trial>button{align-self:flex-start}}


/* Pulse hero: authentic Nadiri Sports training photo. */
.d1 .hero .scene{display:none}
.d1 .hero-photo{opacity:.84;filter:saturate(.78) brightness(.72) contrast(1.08);object-position:50% 50%;mask-image:linear-gradient(to right,transparent,#000 38%)}
@media(max-width:700px){.d1 .hero{min-height:690px;padding-bottom:100px}.d1 .hero-photo{opacity:.42;object-position:55% 50%;mask-image:linear-gradient(to bottom,transparent,#000 28%)}}

/* Editorial detail dialogs shared by courses, site information and trial. */
.design #detail{width:min(1020px,calc(100vw - 40px));max-width:none;height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--fg);box-shadow:0 34px 110px #0009;overflow:hidden}
.design #detail[open]{animation:modal-enter .38s cubic-bezier(.2,.75,.2,1) both}
.design #detail::backdrop{background:#040705bd;backdrop-filter:blur(12px)}
.design #detail-content{height:100%}
.design #detail .close{position:absolute;top:18px;right:18px;z-index:5;float:none;margin:0;width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;background:#151a16dc;color:#fff;font-size:20px;line-height:1;backdrop-filter:blur(8px);transition:transform .25s,background .25s}
.design #detail .close:hover{transform:rotate(90deg);background:var(--accent);color:var(--bg)}
.modal-layout{display:grid;grid-template-columns:minmax(0,41%) minmax(0,59%);height:100%;min-height:0}
.modal-media{position:relative;overflow:hidden;background:#182018;min-width:0}
.modal-media>img:not(.modal-mark){height:100%;width:100%;object-fit:cover}
.modal-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10181120 25%,#0c140cba 100%);pointer-events:none}
.modal-image-badge{position:absolute;z-index:2;top:23px;left:24px;padding:9px 12px;background:#101710d9;color:#fff;border:1px solid #ffffff45;font-size:10px;letter-spacing:1px;text-transform:uppercase}
.modal-media-caption{position:absolute;z-index:2;left:36px;right:30px;bottom:38px;color:#fff;display:flex;flex-direction:column;gap:16px}
.modal-media-caption span{font-size:10px;letter-spacing:2.2px;font-weight:700;line-height:1.5}
.modal-media-caption strong{font:600 clamp(45px,5vw,74px)/.9 'Barlow Condensed',sans-serif;letter-spacing:-.5px;text-transform:uppercase}
.modal-media--graphic{background:radial-gradient(circle at 66% 25%,#455d2b 0,transparent 37%),linear-gradient(155deg,#172118,#0a100c 80%)}
.modal-media--graphic:before{content:'';position:absolute;width:75%;aspect-ratio:1;border:1px solid #c4f44759;border-radius:50%;left:-16%;top:10%;box-shadow:0 0 0 55px #c4f4470c,0 0 0 110px #c4f44708}
.modal-media--graphic .modal-mark{position:absolute;left:15%;top:18%;width:68%;height:auto;object-fit:contain;opacity:.92}
.modal-copy{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:66px clamp(38px,5vw,72px) 50px;scrollbar-width:thin;scrollbar-color:var(--accent) #ffffff16}
.modal-layout--course .modal-copy{display:flex;flex-direction:column;overflow:hidden;padding-bottom:26px}
.modal-scroll-content{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--accent) #ffffff16}
.modal-copy .modal-kicker{margin:0 58px 19px 0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;line-height:1.6}
.modal-copy h2,.d1 #detail .modal-copy h2{font:600 clamp(48px,5vw,76px)/.91 'Barlow Condensed',sans-serif;letter-spacing:-.8px;margin:0 0 24px;overflow-wrap:anywhere}
.d2 #detail .modal-copy h2,.d5 #detail .modal-copy h2{font-family:'Manrope';font-size:clamp(37px,3.8vw,58px);font-weight:800;line-height:1.05;letter-spacing:-2px}
.d3 #detail .modal-copy h2{font-family:'Playfair Display';font-size:clamp(39px,3.6vw,54px);line-height:1.12}
.modal-copy .modal-lead{font-size:clamp(20px,2vw,27px);line-height:1.34;color:var(--accent);font-weight:600;max-width:570px;margin:0 0 30px}
.modal-copy .detail-body{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:32px}
.modal-copy .detail-subheading{border-top:1px solid var(--line);padding-top:25px;margin:0 0 12px;color:var(--fg);font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase}
.modal-copy .course-points{list-style:none;padding:0;margin:0 0 28px}
.modal-copy .course-points li{position:relative;padding:12px 0 12px 31px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.55}
.modal-copy .course-points li:before{content:'↗';position:absolute;left:0;color:var(--accent);font-size:18px;line-height:1.3}
.modal-copy .course-original{padding:0;margin:0 0 30px;border-top:0;color:var(--muted)}
.modal-copy .course-original summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer;font-weight:600;border-bottom:1px solid var(--line);list-style:none}
.modal-copy .course-original summary::-webkit-details-marker{display:none}
.modal-copy .course-original summary span{color:var(--accent);font-size:22px;transition:transform .25s}
.modal-copy .course-original[open] summary span{transform:rotate(45deg)}
.modal-copy .course-original .original-copy{padding-top:20px}
.modal-copy .original-copy{overflow-wrap:anywhere;color:var(--muted)}
.modal-copy .original-copy p{font-size:15px;line-height:1.75;margin:0 0 15px}
.modal-copy .original-copy .info-lead{font-size:22px;line-height:1.42;font-weight:600;color:var(--fg);margin:0 0 32px}
.modal-copy .original-copy h3{font:600 29px/1.1 'Barlow Condensed';color:var(--fg);padding-top:22px;margin:28px 0 15px;border-top:1px solid var(--line)}
.modal-copy .info-contact{display:grid;gap:5px;padding:20px 22px;margin:5px 0 28px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:15px;line-height:1.55;color:var(--fg)}
.modal-copy .modal-action{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:19px 22px;margin-top:28px;background:var(--accent);color:var(--bg);font-size:14px;font-weight:800;transition:transform .2s,filter .2s}
.modal-layout--course .modal-action{flex:none;margin-top:17px}
.modal-copy .modal-action:hover{transform:translateY(-3px);filter:brightness(1.08)}
.modal-copy .modal-action span{font-size:21px;line-height:1}
.trial-steps{border-top:1px solid var(--line);margin:26px 0}
.trial-steps>div{display:grid;grid-template-columns:40px 1fr;align-items:start;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}
.trial-steps span{font:600 22px/1 'Barlow Condensed';color:var(--accent)}
.trial-steps p{margin:0;font-size:15px;line-height:1.55}
.modal-copy .modal-note{padding:16px 18px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--muted);font-size:13px;line-height:1.6;margin:22px 0}
.d2 #detail .modal-kicker,.d2 #detail .modal-lead,.d2 #detail .course-points li:before,.d2 #detail .course-original summary span,.d2 #detail .trial-steps span{color:#466b2d}
.d2 #detail .modal-action{background:#244b39;color:#f6f5eb}
.d4 #detail .modal-kicker{color:#b84426}
.d4 #detail .modal-action{color:#20221e}
@keyframes modal-enter{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:700px){.design #detail{width:calc(100vw - 20px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:13px}.modal-layout{grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr)}.modal-media-caption{left:22px;right:20px;bottom:20px;gap:7px}.modal-media-caption strong{font-size:43px}.modal-media-caption span{font-size:8px}.modal-media--graphic .modal-mark{width:180px;top:12px;left:20px}.modal-media--graphic:before{width:230px;top:-95px;left:auto;right:18%}.modal-copy{padding:30px 25px 34px}.modal-layout--course .modal-copy{padding-bottom:23px}.modal-copy .modal-kicker{font-size:10px;margin-bottom:14px}.modal-copy h2,.d1 #detail .modal-copy h2{font-size:48px;margin-bottom:18px}.modal-copy .modal-lead{font-size:20px;margin-bottom:20px}.modal-copy .detail-body{font-size:15px;margin-bottom:25px}.modal-copy .original-copy p{font-size:14px}.design #detail .close{top:12px;right:12px;width:39px;height:39px}}
@media(prefers-reduced-motion:reduce){.design #detail[open]{animation:none}.design #detail .close,.modal-copy .modal-action,.modal-copy .course-original summary span{transition:none}}
