:root{--font-display:Georgia, serif;--font-body:Arial, sans-serif;--header-height:86px;--paper:#fffaf8;--ink:#1d1718;--ink-soft:#5f5558;--fuchsia:#a91451;--fuchsia-deep:#b9165d;--blush:#f7c6d9;--mint:#bfe1d8;--line:#1d171829;--radius-xl:38px;--radius-lg:28px;--shadow:0 22px 60px #3d1b2a1c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}.page-shell{width:min(100%,1720px);margin:0 auto;padding:0 18px 18px;overflow:clip}.site-header{z-index:30;min-height:var(--header-height);-webkit-backdrop-filter:blur(16px);background:#fffaf8e0;border-bottom:1px solid #1d171814;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding:0 22px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:12px;width:fit-content;display:inline-flex}.brand-logo{object-fit:cover;border-radius:14px;flex:none;width:54px;height:54px;box-shadow:0 5px 15px #de297629}.brand-name{letter-spacing:.08em;text-transform:uppercase;max-width:105px;font-size:12px;font-weight:700;line-height:1.08}.site-nav{align-items:center;gap:34px;font-size:14px;display:flex}.site-nav a{position:relative}.site-nav a:after{content:"";background:var(--fuchsia);height:2px;transition:right .18s;position:absolute;bottom:-7px;left:0;right:100%}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.header-cta{border:1px solid var(--ink);border-radius:999px;justify-self:end;align-items:center;gap:15px;padding:12px 14px 12px 20px;font-size:13px;font-weight:700;transition:background .18s,color .18s;display:inline-flex}.header-cta svg{background:var(--ink);stroke:#fff;stroke-width:1.8px;fill:none;border-radius:50%;width:28px;height:28px;padding:6px;transition:transform .18s}.header-cta:hover,.header-cta:focus-visible{background:var(--ink);color:#fff}.header-cta:hover svg,.header-cta:focus-visible svg{transform:translate(2px)}.hero{min-height:calc(100svh - var(--header-height) - 18px);border-radius:var(--radius-xl);color:#fff;box-shadow:var(--shadow);isolation:isolate;background:#382722;position:relative;overflow:hidden}.hero-video,.hero-shade{width:100%;height:100%;position:absolute;inset:0}.hero-video{object-fit:cover;z-index:-3;filter:brightness(.74)saturate(.55)}.hero-shade{z-index:-2;background:linear-gradient(90deg,#140a0dba 0%,#140a0d47 58%,#140a0d70 100%),linear-gradient(#0000 55%,#140a0d9e 100%)}.hero-content{min-height:inherit;align-items:flex-end;padding:clamp(120px,16vh,190px) clamp(28px,5.2vw,86px) 106px;display:flex}.hero-copy{max-width:940px}.eyebrow,.section-kicker{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 25px;font-size:12px;font-weight:800;display:flex}.eyebrow span{background:var(--blush);width:44px;height:2px}h1,h2{font-family:var(--font-display);letter-spacing:-.048em;font-weight:500}h1{text-wrap:balance;max-width:880px;margin:0;font-size:clamp(66px,7.2vw,126px);line-height:.88}h1 em,h2 em{color:var(--blush);font-weight:400}.hero-intro{color:#ffffffdb;max-width:650px;margin:30px 0 0;font-size:clamp(17px,1.45vw,22px);line-height:1.5}.primary-cta{background:var(--fuchsia);color:#fff;border-radius:999px;align-items:center;gap:24px;width:fit-content;margin-top:35px;padding:16px 18px 16px 23px;font-size:14px;font-weight:800;transition:background .18s,transform .18s;display:inline-flex}.primary-cta span{width:34px;height:34px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid}.primary-cta svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.primary-cta:hover,.primary-cta:focus-visible{background:var(--fuchsia-deep);transform:translateY(-2px)}.hero-footer{letter-spacing:.11em;text-transform:uppercase;border-top:1px solid #ffffff40;grid-template-columns:auto 1fr auto;gap:18px;padding-top:18px;font-size:10px;font-weight:700;display:grid;position:absolute;bottom:29px;left:clamp(28px,5.2vw,86px);right:clamp(28px,5.2vw,86px)}.hero-year{justify-self:end}.sessions{min-height:calc(100svh - var(--header-height));border-radius:var(--radius-xl);background:#f8f4f1;grid-template-rows:auto minmax(0,1fr);gap:clamp(28px,4svh,44px);padding:clamp(54px,6svh,72px) clamp(24px,6vw,96px);display:grid}.sessions-head{text-align:center;justify-items:center;display:grid}.sessions-head .section-kicker{color:#568277;margin-bottom:16px}.sessions-head h2{max-width:900px;font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(43px,4.5vw,72px);font-weight:500;line-height:.98}.sessions-head h2 em{color:var(--fuchsia);font-weight:400}.session-cards{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);min-height:0;display:grid}.session-card{--session-tint:#d92c784d;color:#fff;isolation:isolate;background:#63304a;min-height:390px;position:relative;overflow:hidden}.session-card-mint{--session-tint:#5682774d;background:#355e55}.session-card:before,.session-card:after{content:"";z-index:1;pointer-events:none;position:absolute;inset:0}.session-card:before{background:var(--session-tint);transition:opacity .65s}.session-card:after{z-index:2;background:linear-gradient(#140c0f0a 18%,#140c0fbd 100%)}.session-card img{object-fit:cover;object-position:center 63%;width:100%;height:100%;transition:transform .8s cubic-bezier(.22,.75,.22,1),filter .8s}.session-card-mint img{object-position:center 72%}.session-card:nth-child(2) img{object-position:center 58%}.session-card:nth-child(3) img{object-position:center 70%}.session-card:nth-child(4) img{object-position:center 48%}.session-card-content{z-index:3;position:absolute;bottom:clamp(18px,2.2vw,30px);left:clamp(20px,2.2vw,34px);right:clamp(20px,2.2vw,34px)}.session-card h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(26px,2.2vw,38px);font-weight:500}.session-card p{color:#ffffffe0;max-width:520px;margin:8px 0 0;font-size:12px;line-height:1.45}.session-card-cta{letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffffb3;align-items:center;gap:18px;width:fit-content;margin-top:14px;padding:7px 10px;font-size:9px;font-weight:800;transition:background .22s,color .22s;display:inline-flex}.session-card-cta i{font-size:16px;font-style:normal;transition:transform .3s}.session-card:hover:before,.session-card:focus-visible:before{opacity:.7}.session-card:hover img,.session-card:focus-visible img{filter:saturate(1.08);transform:scale(1.035)}.session-card:hover .session-card-cta,.session-card:focus-visible .session-card-cta{color:var(--ink);background:#fff}.session-card:hover .session-card-cta i,.session-card:focus-visible .session-card-cta i{transform:rotate(45deg)}.section-heading{grid-template-columns:minmax(110px,.35fr) minmax(460px,1.3fr) minmax(250px,.7fr);align-items:end;gap:clamp(25px,5vw,78px);margin-bottom:68px;display:grid}.section-kicker{color:var(--fuchsia);align-self:start}.section-heading h2{margin:0;font-size:clamp(48px,5.1vw,84px);line-height:.98}.section-heading h2 em{color:var(--fuchsia)}.section-heading>p:last-child{color:var(--ink-soft);margin:0 0 5px;font-size:16px;line-height:1.65}.sessions-stage{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);align-items:center;gap:clamp(35px,6vw,92px);display:grid}.session-visual{border-radius:var(--radius-xl);background:var(--blush);min-height:650px;margin:0;position:relative;overflow:hidden}.session-visual img{object-fit:cover;object-position:center 44%;width:100%;height:100%;min-height:650px}.session-visual figcaption{max-width:265px;color:var(--ink);font-family:var(--font-display);backdrop-filter:blur(10px);background:#fffaf8e8;border-radius:16px;padding:14px 18px;font-size:16px;font-style:italic;line-height:1.35;position:absolute;bottom:22px;left:22px}.service-list{border-bottom:1px solid var(--line)}.service-item{border-top:1px solid var(--line);grid-template-columns:14px minmax(0,1fr) auto;align-items:start;gap:18px;padding:30px 0;display:grid}.service-dot{background:var(--fuchsia);border-radius:50%;width:9px;height:9px;margin-top:10px;box-shadow:0 0 0 5px #d92c781a}.service-item h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(25px,2.2vw,38px);font-weight:500}.service-item p{max-width:520px;color:var(--ink-soft);margin:10px 0 0;font-size:15px;line-height:1.55}.service-arrow{color:var(--fuchsia);font-size:24px}.text-link{border-bottom:2px solid var(--fuchsia);align-items:center;gap:20px;margin:30px 0 5px;padding-bottom:7px;font-size:14px;font-weight:800;display:inline-flex}.about{min-height:calc(100svh - var(--header-height));background:#fff;align-content:center;padding:clamp(90px,10vw,150px) clamp(20px,5vw,82px);display:grid}.team-heading{margin-bottom:68px}.team-heading h2{max-width:820px}.team-heading h2,.reviews h2,.faq h2,.booking h2{margin:0;font-size:clamp(50px,5.4vw,88px);line-height:.96}.team-heading h2 em,.reviews h2 em,.faq h2 em{color:var(--fuchsia)}.team-grid{gap:15px;min-height:580px;display:flex}.teacher-card{isolation:isolate;background:#d7cbc3;border-radius:30px;flex:none;width:calc(16.6667% - 10px);min-width:0;min-height:580px;transition:width .5s ease-in-out;position:relative;overflow:hidden}.teacher-card-featured{width:calc(33.3333% - 20px)}.team-grid:hover .teacher-card{width:calc(16.6667% - 10px)}.team-grid .teacher-card:hover{width:calc(33.3333% - 20px)}.teacher-card img{z-index:-2;object-fit:cover;object-position:center 28%;width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.teacher-card:after{content:"";z-index:-1;background:linear-gradient(#0000,#170d10c2);position:absolute;inset:38% 0 0}.teacher-card:hover img{transform:scale(1.025)}.teacher-info{color:#fff;position:absolute;bottom:27px;left:28px;right:28px}.teacher-info h3{font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(26px,2.4vw,39px);font-weight:500}.teacher-info p{color:#ffffffd1;letter-spacing:.04em;text-transform:uppercase;opacity:0;margin:8px 0 0;font-size:12px;font-weight:700;transition:opacity .5s ease-in-out}.teacher-card-featured .teacher-info p,.team-grid .teacher-card:hover .teacher-info p{opacity:1}.team-grid:hover .teacher-info p{opacity:0}.team-grid:hover .teacher-card:hover .teacher-info p{opacity:1}.reviews{min-height:calc(100svh - var(--header-height));align-content:center;padding:clamp(100px,11vw,165px) clamp(20px,5vw,82px);display:grid}.reviews-heading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.reviews-heading h2{max-width:980px}.reviews-proof{background:#fff;border:1px solid #1d171824;border-radius:999px;align-items:center;gap:14px;padding:10px 12px 10px 18px;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 5px 16px #1d171814}.reviews-proof:hover,.reviews-proof:focus-visible{transform:translateY(-2px);box-shadow:0 9px 24px #1d171821}.reviews-proof strong{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1}.reviews-proof span{color:var(--ink-soft);text-align:left;gap:2px;font-size:11px;font-weight:700;display:grid}.reviews-proof i{color:#fbbc04;letter-spacing:.05em;font-size:13px;font-style:normal}.reviews-proof b{background:var(--fuchsia);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:17px;display:grid}.reviews-marquee{background:#ecebea;width:calc(100% + 2*clamp(20px,5vw,82px));margin:55px calc(-1*clamp(20px,5vw,82px)) 0;padding:30px 0;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.reviews-track{gap:12px;width:max-content;animation:70s linear infinite review-marquee;display:flex}.reviews-marquee:hover .reviews-track{animation-play-state:paused}.review-card{background:#fff;border:1px solid #1d171814;border-radius:16px;flex-direction:column;width:clamp(285px,23vw,350px);min-height:265px;padding:28px 24px 22px;display:flex;box-shadow:0 4px 14px #1d17181a}.review-stars{color:#fbbc04;letter-spacing:.06em;font-size:21px;line-height:1}.review-card blockquote{flex:1;margin:22px 0 28px;font-size:15px;line-height:1.45}.review-author{grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:11px;display:grid}.review-avatar{background:var(--fuchsia);object-fit:cover;border-radius:50%;width:44px;height:44px;display:block}.review-author div{gap:3px;display:grid}.review-author strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.review-author small{color:var(--ink-soft);font-size:9px}.google-mark{background:conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 43%, #fbbc05 0 65%, #ea4335 0 82%, #4285f4 0);color:#0000;background-clip:text;font-family:Arial,sans-serif;font-size:26px;font-weight:800}@keyframes review-marquee{to{transform:translate(calc(-50% - 6px))}}.faq{min-height:calc(100svh - var(--header-height));border-radius:var(--radius-xl);background:#bfe1d8;grid-template-columns:minmax(300px,.75fr) minmax(500px,1.25fr);align-content:center;gap:clamp(55px,9vw,145px);padding:clamp(95px,10vw,150px) clamp(20px,5vw,82px);display:grid}.faq-intro>p:last-child{color:#3e5851;max-width:470px;margin:30px 0 0;line-height:1.7}.faq-list{border-top:1px solid #1d171838}.faq-item{border-bottom:1px solid #1d171838}.faq-item summary{cursor:pointer;font-family:var(--font-display);grid-template-columns:1fr 28px;align-items:center;gap:20px;padding:28px 0;font-size:clamp(21px,2vw,30px);list-style:none;display:grid}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary i{width:24px;height:24px;position:relative}.faq-item summary i:before,.faq-item summary i:after{content:"";background:var(--ink);width:18px;height:2px;transition:transform .18s;position:absolute;top:11px;left:3px}.faq-item summary i:after{transform:rotate(90deg)}.faq-item[open] summary i:after{transform:rotate(0)}.faq-item p{color:#3e5851;max-width:650px;margin:-5px 45px 27px 0;line-height:1.65}.booking{min-height:max(720px, calc(100svh - var(--header-height) - 18px));border-radius:var(--radius-xl);color:#fff;isolation:isolate;margin-top:18px;position:relative;overflow:hidden}.booking>img,.booking-shade{width:100%;height:100%;position:absolute;inset:0}.booking>img{z-index:-2;object-fit:cover}.booking-shade{z-index:-1;background:linear-gradient(90deg,#180a0fc7,#180a0f3d),linear-gradient(#0000 35%,#180a0f80)}.booking-content{min-height:inherit;flex-direction:column;justify-content:flex-end;padding:clamp(45px,7vw,105px);display:flex}.booking-content>p{letter-spacing:.12em;text-transform:uppercase;margin:0 0 24px;font-size:12px;font-weight:800}.booking h2{max-width:1000px;font-size:clamp(64px,8vw,132px);line-height:.86}.booking h2 em{color:var(--blush)}.booking-content>a{border:1px solid #fff9;border-radius:999px;justify-content:space-between;align-items:center;gap:25px;width:min(100%,690px);margin-top:52px;padding:12px 12px 12px 25px;font-weight:800;display:flex}.booking-content>a i{background:var(--fuchsia);border-radius:50%;place-items:center;width:56px;height:56px;font-size:25px;font-style:normal;transition:transform .18s;display:grid}.booking-content>a:hover i,.booking-content>a:focus-visible i{transform:rotate(45deg)}.site-footer{grid-template-columns:1.1fr 1fr 1fr auto;align-items:end;gap:35px;padding:58px 28px 35px;display:grid}.footer-address,.footer-links{gap:8px;font-size:13px;display:grid}.footer-links a{border-bottom:1px solid var(--line);width:fit-content}.site-footer>p{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px}.whatsapp-float{z-index:20;color:#fff;background:#25d366;border-radius:50%;place-items:center;width:60px;height:60px;transition:transform .18s,box-shadow .18s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #12522c4d}.whatsapp-float img{filter:brightness(0)invert();width:32px;height:32px}.whatsapp-float:hover,.whatsapp-float:focus-visible{transform:translateY(-3px)scale(1.04);box-shadow:0 16px 34px #12522c61}:focus-visible{outline:3px solid var(--mint);outline-offset:4px}@media (width>=981px){.hero,.sessions,.about,.reviews,.faq,.booking{height:calc(100svh - var(--header-height));min-height:0;overflow:hidden}.hero,.booking{height:calc(100svh - var(--header-height) - 18px)}.hero-content{height:100%}.sessions,.about,.reviews,.faq{padding-top:clamp(38px,5svh,58px);padding-bottom:clamp(38px,5svh,58px)}.section-heading,.team-heading{margin-bottom:clamp(28px,4svh,42px)}.section-heading h2,.team-heading h2,.reviews h2,.faq h2{font-size:clamp(45px,4.5vw,72px)}.session-card{min-height:0}.team-grid,.teacher-card{height:clamp(390px,54svh,500px);min-height:0}.reviews-marquee{margin-top:clamp(34px,5svh,55px)}.review-card{min-height:clamp(235px,31svh,275px)}.faq-item summary{padding:clamp(18px,2.7svh,25px) 0}.faq-item p{margin-bottom:clamp(18px,2.4svh,24px)}.booking,.booking-content{min-height:0}}@media (width>=981px) and (height<=740px){.hero-content{padding-top:42px;padding-bottom:82px}.hero .eyebrow{margin-bottom:14px;font-size:10px}.hero h1{max-width:800px;font-size:clamp(58px,6.25vw,88px)}.hero-intro{max-width:600px;margin-top:18px;font-size:clamp(15px,1.2vw,18px);line-height:1.4}.hero .primary-cta{margin-top:20px;padding:12px 13px 12px 19px}.hero .primary-cta span{width:30px;height:30px}.hero-footer{padding-top:12px;bottom:20px}}@media (width<=980px){.site-header{grid-template-columns:1fr auto}.site-nav{display:none}.hero-content{padding-bottom:112px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.sessions{padding-inline:28px}.team-grid,.teacher-card{min-height:510px}.faq{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}}@media (width<=700px){:root{--header-height:76px}.page-shell{padding:0 8px 8px}.site-header{min-height:76px;padding:0 8px}.brand-logo{border-radius:12px;width:46px;height:46px}.brand-name{display:none}.header-cta{padding:8px 9px 8px 15px}.header-cta svg{width:27px;height:27px}.hero{min-height:calc(100svh - var(--header-height) - 8px);border-radius:27px}.hero-content{align-content:end;gap:20px;padding:90px 20px 101px}.eyebrow{margin-bottom:18px;font-size:9px}.eyebrow span{width:26px}h1{font-size:clamp(55px,16vw,70px);line-height:.9}.hero-intro{margin-top:20px;font-size:16px;line-height:1.45}.primary-cta{margin-top:23px}.hero-footer{grid-template-columns:1fr auto;font-size:8px;bottom:21px;left:20px;right:20px}.hero-footer span:nth-child(2){display:none}.sessions{border-radius:27px;padding:76px 14px 68px;display:block}.sessions-head{padding:0 8px}.sessions-head .section-kicker{margin-bottom:14px}.sessions-head h2{font-size:43px}.session-cards{grid-template-rows:none;grid-template-columns:1fr;gap:10px;margin-top:36px}.session-card{min-height:410px}.session-card h3{font-size:37px}.session-card p{margin-top:13px;font-size:14px;line-height:1.55}.session-card-cta{gap:26px;margin-top:24px;padding:10px 13px;font-size:10px}.session-card-content{bottom:26px;left:23px;right:23px}.section-heading{margin-bottom:42px;display:block}.section-kicker{margin-bottom:19px}.section-heading h2{font-size:43px;line-height:1}.section-heading>p:last-child{margin-top:23px}.about{padding:80px 14px}.team-heading{margin-bottom:42px;padding:0 8px;display:block}.team-heading h2,.reviews h2,.faq h2{font-size:44px}.team-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;min-height:0;padding-bottom:8px;display:flex;overflow-x:auto}.team-grid::-webkit-scrollbar{display:none}.teacher-card,.teacher-card-featured{scroll-snap-align:center;border-radius:27px;flex:0 0 82vw;width:82vw;min-height:520px}.team-grid:hover .teacher-card,.team-grid .teacher-card:hover{width:82vw}.teacher-info p,.teacher-card-featured .teacher-info p,.team-grid:hover .teacher-info p,.team-grid:hover .teacher-card:hover .teacher-info p{opacity:1}.reviews{padding:88px 20px}.reviews-heading{display:block}.reviews-marquee{margin-top:50px}.review-card{width:285px;min-height:255px;padding:25px 22px 20px}.faq{border-radius:27px;gap:45px;padding:80px 22px}.faq-item summary{padding:23px 0;font-size:22px}.booking{min-height:max(650px, calc(100svh - var(--header-height) - 8px));border-radius:27px}.booking-content{min-height:inherit;padding:48px 22px}.booking h2{font-size:61px}.booking-content>a{margin-top:38px}.site-footer{grid-template-columns:1fr;align-items:start;padding:48px 14px 28px}.footer-brand{margin-bottom:20px}.whatsapp-float{width:56px;height:56px;bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-video{display:none}.reviews-track{animation:none}.hero{background:linear-gradient(90deg,#140a0db8,#140a0d3d),url(/media/ro-hero-poster.jpg) 50%/cover no-repeat}}
