@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#111312; --paper:#f3f1eb; --white:#fcfcf9; --lime:#baf42d; --line:rgba(17,19,18,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Manrope",Arial,sans-serif; font-size:15px; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; width:100%; }
em { font-weight:400; }

.site-header { height:94px; position:fixed; z-index:40; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; padding:0 4.3vw; border-bottom:1px solid rgba(255,255,255,.18); color:white; background:linear-gradient(90deg,rgba(8,11,9,.91),rgba(8,11,9,.72)); backdrop-filter:blur(18px) saturate(1.1); box-shadow:0 12px 35px rgba(0,0,0,.12); }
.brand { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand__mark { width:55px; height:55px; background:var(--lime); color:var(--ink); border-radius:50%; display:grid; place-items:center; font-size:15px; font-weight:800; letter-spacing:-.8px; border:1px solid rgba(17,19,18,.3); }
.brand__mark span { font-weight:500; }
.brand__copy { font-size:10px; letter-spacing:2.1px; line-height:1.45; font-weight:700; }
.brand--inverse { color:white; }
.desktop-nav { display:flex; align-items:center; gap:2.3vw; margin-left:auto; margin-right:2.5vw; }
.desktop-nav a { display:flex; align-items:center; gap:4px; font-size:13px; font-weight:600; position:relative; white-space:nowrap; }
.desktop-nav a::after { content:""; height:1px; background:var(--lime); position:absolute; left:0; right:100%; bottom:-10px; transition:right .3s ease; }
.desktop-nav a:hover::after,.desktop-nav a.active::after { right:0; }
.header-actions { display:flex; align-items:center; gap:10px; }
.phone-link { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:700; }
.header-cta { height:48px; padding:0 20px; border:1px solid rgba(255,255,255,.5); display:flex; align-items:center; gap:12px; font-size:11px; font-weight:800; letter-spacing:.7px; transition:background .25s,color .25s; }
.header-cta:hover { background:var(--lime); border-color:var(--lime); color:var(--ink); }
.mobile-trigger { display:none; background:transparent; border:1px solid rgba(255,255,255,.5); color:white; width:48px; height:48px; place-items:center; }

.hero { height:min(920px,100svh); min-height:720px; position:relative; background:#1a1e1a; color:white; overflow:hidden; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#0a0e0b 0%,rgba(10,14,11,.92) 35%,rgba(10,14,11,.12) 74%),url("../images/hero-main.jpg") center 42%/cover; filter:saturate(.72) contrast(1.04); transform:scale(1.015); animation:heroBreath 14s ease-in-out infinite alternate; }
.hero__wash { position:absolute; inset:0; background:radial-gradient(circle at 46% 20%,rgba(186,244,45,.18),transparent 30%); }
.hero__content { position:absolute; z-index:2; top:52%; left:6.8vw; transform:translateY(-48%); max-width:810px; }
.eyebrow { display:flex; align-items:center; gap:12px; font-size:11px; font-weight:800; letter-spacing:2.2px; margin:0 0 28px; }
.eyebrow span { width:38px; height:1px; background:var(--lime); }
.hero h1,.section-head h2,.method h2,.clinical h2,.schedule h2,.journal h2,.contact-cta h2 { font-size:clamp(54px,7vw,108px); line-height:.9; letter-spacing:-.065em; margin:0; font-weight:800; }
.hero h1 em,.section-head h2 em,.method h2 em,.clinical h2 em,.schedule h2 em,.journal h2 em,.contact-cta h2 em { color:var(--lime); }
.hero__lead { max-width:590px; margin:34px 0; color:rgba(255,255,255,.76); font-size:17px; line-height:1.75; }
.hero__actions { display:flex; align-items:center; gap:32px; }
.lime-button { min-height:55px; padding:0 23px; background:var(--lime); color:var(--ink); display:inline-flex; align-items:center; justify-content:center; gap:18px; font-size:11px; font-weight:800; letter-spacing:.65px; transition:transform .25s,background .25s; }
.lime-button:hover { transform:translateY(-3px); background:#c9ff45; }
.text-link { display:flex; align-items:center; gap:10px; font-size:11px; font-weight:800; letter-spacing:.7px; }
.text-link span { border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:7px; }
.hero__media { position:absolute; z-index:1; top:18%; right:3%; width:35vw; height:60%; opacity:.24; mix-blend-mode:luminosity; }
.hero__media img { width:100%; height:100%; object-fit:cover; border-radius:50% 50% 3px 3px; }
.hero__frame { position:absolute; inset:-14px; border:1px solid rgba(186,244,45,.65); border-radius:50% 50% 3px 3px; }
.hero__media p { position:absolute; right:-20px; bottom:20px; margin:0; font-size:11px; font-weight:800; letter-spacing:5px; line-height:2.1; writing-mode:vertical-rl; }
.hero__bottom { position:absolute; z-index:2; left:6.8vw; right:4.3vw; bottom:28px; display:flex; align-items:end; gap:48px; }
.hero__bottom>div { display:flex; align-items:end; gap:12px; }
.hero__bottom strong { font-size:29px; line-height:1; }
.hero__bottom span { font-size:9px; line-height:1.4; letter-spacing:1.4px; max-width:118px; }
.hero__bottom>a { margin-left:auto; display:flex; flex-direction:column; align-items:center; gap:7px; }
.hero__bottom>a span { writing-mode:vertical-rl; }
.reveal { animation:reveal .9s ease-out both; }
@keyframes reveal { from { opacity:0; transform:translateY(-43%); } to { opacity:1; transform:translateY(-48%); } }
@keyframes heroBreath { from { transform:scale(1.015); } to { transform:scale(1.07); } }

.experience-marquee { background:var(--lime); color:var(--ink); overflow:hidden; padding:18px 0; border-top:1px solid rgba(17,19,18,.2); border-bottom:1px solid rgba(17,19,18,.2); }
.experience-marquee>div { display:flex; width:max-content; gap:26px; align-items:center; animation:marquee 24s linear infinite; }
.experience-marquee span { font-size:16px; font-weight:800; letter-spacing:3px; }.experience-marquee i { font-size:24px; font-style:normal; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section { padding:125px 6.8vw; }
.section-label { font-size:10px; letter-spacing:2px; font-weight:800; display:flex; gap:18px; align-items:center; }
.section-label span { color:#7f837f; }
.section-label--light { color:white; }
.intro { display:grid; grid-template-columns:.7fr 1.6fr 1fr; gap:6vw; align-items:start; }
.intro__copy h2 { font-size:clamp(43px,5vw,76px); line-height:.96; letter-spacing:-.06em; margin:0 0 35px; }
.intro__copy>p { font-size:22px; line-height:1.55; margin:0; }
.intro__note { border-top:1px solid var(--line); padding-top:24px; }
.intro__note svg { color:#85a723; }
.intro__note p { color:#626662; line-height:1.8; margin:22px 0 32px; }
.line-link { display:inline-flex; align-items:center; gap:14px; font-size:11px; font-weight:800; letter-spacing:1px; padding-bottom:7px; border-bottom:1px solid var(--ink); }

.classes-section { background:#111312; color:white; padding:120px 4.3vw 90px; }
.section-head { display:grid; grid-template-columns:.7fr 2fr .85fr; gap:5vw; align-items:end; margin-bottom:66px; }
.section-head h2 { font-size:clamp(48px,5.8vw,88px); }
.section-head p { color:rgba(255,255,255,.62); line-height:1.75; }
.class-grid { display:grid; grid-template-columns:1.3fr .8fr .8fr; grid-template-rows:320px 320px; gap:10px; }
.class-card { overflow:hidden; position:relative; min-height:300px; }
.class-card--featured { grid-row:1/3; }
.class-card:nth-child(4) { grid-column:2/3; }
.class-card:nth-child(5) { grid-column:3/4; }
.class-card img { width:100%; height:100%; object-fit:cover; filter:grayscale(.22) saturate(.7); transition:transform .6s ease,filter .4s; }
.class-card__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.74)); }
.class-card__id { position:absolute; top:24px; left:24px; font-size:10px; letter-spacing:1.5px; }
.class-card__content { position:absolute; left:26px; right:26px; bottom:24px; }
.class-card__content p { font-size:9px; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.68); margin:0 0 8px; }
.class-card__content h3 { font-size:clamp(26px,2.4vw,38px); margin:0; letter-spacing:-.04em; }
.class-card__arrow { position:absolute; right:20px; top:20px; width:43px; height:43px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; opacity:0; transform:scale(.7); transition:.3s; }
.class-card:hover img { transform:scale(1.08); filter:grayscale(0) saturate(1.08); }
.class-card:hover .class-card__arrow { opacity:1; transform:scale(1); }
.all-classes { display:flex; align-items:center; justify-content:center; gap:17px; width:max-content; margin:52px auto 0; font-size:11px; font-weight:800; letter-spacing:1px; }
.all-classes span { width:42px; height:42px; border:1px solid rgba(255,255,255,.3); border-radius:50%; display:grid; place-items:center; }

.method { background:var(--white); display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:center; }
.method__media { height:710px; position:relative; }
.method__media img { height:100%; object-fit:cover; object-position:center; filter:saturate(.86) contrast(1.03); }
.play-button { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:82px; height:82px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--lime); cursor:pointer; transition:transform .3s; }
.play-button:hover { transform:translate(-50%,-50%) scale(1.08); }
.vertical-note { position:absolute; left:-32px; bottom:0; writing-mode:vertical-rl; transform:rotate(180deg); font-size:9px; letter-spacing:2px; font-weight:700; }
.method__content h2 { font-size:clamp(53px,6vw,88px); margin:46px 0 32px; }
.method__content>p { font-size:17px; color:#5e625f; line-height:1.8; max-width:590px; }
.method blockquote { border-left:2px solid var(--lime); padding-left:23px; margin:35px 0; font-size:17px; line-height:1.5; }
.method blockquote cite { display:block; margin-top:11px; font-size:9px; font-style:normal; letter-spacing:1.5px; color:#777; }
.dark-button { min-height:53px; display:inline-flex; align-items:center; gap:20px; padding:0 22px; background:var(--ink); color:white; font-size:10px; font-weight:800; letter-spacing:.7px; transition:background .25s,color .25s; }
.dark-button:hover { background:var(--lime); color:var(--ink); }

.clinical { min-height:600px; background:var(--lime); position:relative; overflow:hidden; display:flex; align-items:center; padding:90px 8vw; }
.clinical__number { position:absolute; left:-15px; top:-90px; font-size:360px; line-height:1; font-weight:800; color:rgba(17,19,18,.06); letter-spacing:-.1em; }
.clinical__content { position:relative; z-index:2; max-width:880px; }
.eyebrow--dark span { background:var(--ink); }
.clinical h2 { font-size:clamp(53px,6.2vw,92px); margin-bottom:30px; }
.clinical h2 em { color:transparent; -webkit-text-stroke:1px var(--ink); }
.clinical__content>p { max-width:650px; line-height:1.8; }
.clinical__content .dark-button { margin-top:20px; }
.clinical__orb { width:350px; height:350px; border:1px solid rgba(17,19,18,.25); border-radius:50%; position:absolute; right:7vw; display:grid; place-content:center; gap:20px; text-align:center; transform:rotate(-9deg); }
.clinical__orb::before,.clinical__orb::after { content:""; position:absolute; border:1px solid rgba(17,19,18,.16); border-radius:50%; }
.clinical__orb::before { inset:28px -28px; }.clinical__orb::after { inset:-28px 28px; }
.clinical__orb span { font-size:13px; font-weight:800; letter-spacing:4px; }

.schedule { display:grid; grid-template-columns:1.15fr 1fr; gap:7vw; align-items:end; }
.schedule h2 { font-size:clamp(51px,5.6vw,84px); margin-top:44px; }
.schedule h2 em,.journal h2 em { color:#839f26; }
.schedule__card { background:white; min-height:150px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; padding:30px; box-shadow:0 18px 60px rgba(22,25,21,.08); }
.schedule__card>svg { color:#829f24; }
.schedule__card p { margin:0 0 7px; font-size:17px; font-weight:700; }
.schedule__card span { color:#727672; font-size:13px; }
.schedule__card a { width:50px; height:50px; background:var(--lime); display:grid; place-items:center; }
.schedule__meta { grid-column:2; border-top:1px solid var(--line); padding-top:23px; display:flex; justify-content:space-between; gap:20px; }
.schedule__meta p { margin:0; display:grid; grid-template-columns:auto 1fr; gap:5px 9px; font-size:11px; letter-spacing:.6px; }
.schedule__meta strong { grid-column:2; }

.journal { background:var(--white); }
.journal__head { display:flex; align-items:end; justify-content:space-between; margin:48px 0 65px; }
.journal h2 { font-size:clamp(52px,5.6vw,84px); }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.posts-grid--two { grid-template-columns:repeat(2,1fr); }
.post-card__image { height:330px; position:relative; overflow:hidden; background:#ddd; }
.post-card__image img { height:100%; object-fit:cover; transition:transform .5s; }
.post-card__image span { position:absolute; right:17px; top:17px; width:42px; height:42px; border-radius:50%; background:white; display:grid; place-items:center; opacity:0; transition:.3s; }
.post-card:hover img { transform:scale(1.04); }.post-card:hover .post-card__image span { opacity:1; }
.post-card__meta { display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:1px; text-transform:uppercase; margin:19px 0 12px; color:#6c706c; }
.post-card h3 { margin:0; font-size:22px; letter-spacing:-.035em; }

.contact-cta { min-height:620px; background:#151815; color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; overflow:hidden; }
.contact-cta::before { content:""; width:580px; height:580px; border-radius:50%; border:1px solid rgba(186,244,45,.2); position:absolute; }
.contact-cta::after { content:""; width:440px; height:440px; border-radius:50%; border:1px solid rgba(186,244,45,.12); position:absolute; }
.contact-cta>* { position:relative; z-index:2; }
.contact-cta>p { font-size:10px; letter-spacing:3px; margin-bottom:22px; }
.contact-cta h2 { font-size:clamp(75px,9vw,136px); }
.contact-cta a { display:flex; align-items:center; gap:17px; margin-top:40px; border-bottom:1px solid var(--lime); padding-bottom:9px; color:var(--lime); font-size:11px; font-weight:800; letter-spacing:1px; }

.site-footer { background:#0d0f0e; color:white; padding:80px 6.8vw 28px; }
.footer-main { display:grid; grid-template-columns:1.35fr repeat(5,minmax(118px,1fr)); gap:3vw; }
.footer-main>div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-brand p { color:rgba(255,255,255,.55); line-height:1.65; margin-top:22px; }
.footer-title { font-size:9px; letter-spacing:2px; color:var(--lime); margin-bottom:15px; }
.footer-main a,.footer-main p { font-size:13px; line-height:1.7; }
.footer-map { display:flex; align-items:center; gap:7px; font-size:10px!important; letter-spacing:1px; border-bottom:1px solid rgba(255,255,255,.4); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:65px; padding-top:25px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:1px; color:rgba(255,255,255,.48); }
.mobile-book { display:none; }

.mobile-sheet { background:#101310!important; color:white!important; border:0!important; width:min(92vw,470px)!important; padding:0!important; }
.mobile-sheet button { color:white; top:28px; right:25px; }
.mobile-sheet__header { padding:22px 24px 18px!important; border-bottom:1px solid rgba(255,255,255,.13); }
.mobile-nav { display:flex; flex-direction:column; padding:12px 24px; }
.mobile-nav a { min-height:62px; display:grid; grid-template-columns:31px 1fr auto; align-items:center; border-bottom:1px solid rgba(255,255,255,.11); font-size:19px; font-weight:600; letter-spacing:-.4px; }
.mobile-nav a span { font-size:9px; letter-spacing:1px; color:var(--lime); }
.mobile-sheet__footer { margin-top:auto; padding:20px 24px 26px; display:flex; flex-direction:column; align-items:stretch; gap:12px; }
.mobile-sheet__footer p { margin:0; color:rgba(255,255,255,.55); font-size:12px; }
.mobile-sheet__footer>a:not(.lime-button) { display:flex; align-items:center; gap:8px; font-size:14px; }

/* Greek Pilates Academy menu structure, adapted to iBody */
.academy-desktop-nav { height:100%; gap:1.75vw; margin-right:1.4vw; }
.academy-desktop-nav>.nav-parent { height:100%; display:flex; align-items:center; position:relative; }
.academy-desktop-nav>.nav-parent--mega { position:static; }
.academy-desktop-nav button { color:inherit; background:transparent; border:0; padding:0; display:flex; align-items:center; gap:5px; font-size:14px; font-weight:600; cursor:pointer; }
.header-round { width:46px; height:46px; border:1px solid rgba(255,255,255,.45); border-radius:50%; display:grid; place-items:center; transition:.25s; }
.header-round:hover { background:var(--lime); color:var(--ink); border-color:var(--lime); }
.small-dropdown { position:absolute; top:calc(100% - 1px); left:-24px; width:230px; padding:17px; background:#f7f6f1; color:var(--ink); border-radius:18px; box-shadow:0 28px 65px rgba(0,0,0,.18); opacity:0; visibility:hidden; transform:translateY(12px); transition:.28s; overflow:hidden; }
.small-dropdown a { min-height:46px; padding:0 12px; border-bottom:1px solid var(--line); display:flex; align-items:center; }
.small-dropdown a:last-child { border:0; }.nav-parent:hover>.small-dropdown,.nav-parent:focus-within>.small-dropdown { opacity:1; visibility:visible; transform:none; }
.mega-menu { position:absolute; z-index:60; left:3vw; right:3vw; top:calc(100% - 1px); min-height:430px; display:grid; grid-template-columns:.9fr 1.4fr .72fr; background:#f7f6f1; color:var(--ink); border-radius:26px; box-shadow:0 35px 80px rgba(0,0,0,.26); opacity:0; visibility:hidden; transform:translateY(14px); transition:.32s ease; overflow:hidden; }
.nav-parent--mega:hover>.mega-menu,.nav-parent--mega:focus-within>.mega-menu { opacity:1; visibility:visible; transform:none; }
.mega-menu__intro { padding:45px; background:var(--lime); display:flex; flex-direction:column; align-items:flex-start; }.mega-menu__intro>span { font-size:14px; font-weight:800; letter-spacing:2px; }.mega-menu__intro strong { font-size:35px; line-height:1.1; letter-spacing:-.055em; margin:auto 0 35px; }.mega-menu__intro a { font-size:14px; font-weight:800; border-bottom:1px solid var(--ink); padding-bottom:8px; display:flex; gap:12px; }
.mega-menu__links { padding:34px 38px; display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:min-content; column-gap:32px; }.mega-menu__links>a { min-height:46px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); font-weight:700; font-size:15px; }.mega-menu__links>a:hover { padding-left:9px; color:#647f12; }.nav-third-level { grid-row:span 5; padding-left:18px; border-left:2px solid var(--lime); display:flex; flex-direction:column; }.nav-third-level a { min-height:36px; display:flex; align-items:center; color:#666b66; font-size:14px; }.nav-third-level a:hover { color:var(--ink); }
.mega-menu__image { position:relative; overflow:hidden; }.mega-menu__image img { width:100%; height:100%; object-fit:cover; }.mega-menu__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.55),transparent); }.mega-menu__image span { position:absolute; z-index:2; bottom:25px; left:25px; color:white; font-size:14px; font-weight:800; letter-spacing:2px; }
.academy-sheet { width:min(100vw,520px)!important; }
.mobile-branch { border-bottom:1px solid rgba(255,255,255,.11); }.mobile-branch summary { list-style:none; min-height:62px; display:grid; grid-template-columns:31px 1fr auto; align-items:center; font-size:19px; font-weight:600; cursor:pointer; }.mobile-branch summary::-webkit-details-marker { display:none; }.mobile-branch summary>span { font-size:14px; color:var(--lime); }.mobile-branch[open]>summary>svg { transform:rotate(180deg); }
.mobile-submenu { padding:5px 0 18px 31px; display:flex; flex-direction:column; }.mobile-submenu>a { min-height:43px; display:flex; border:0; font-size:15px; }.mobile-submenu>.nav-third-level { margin:2px 0 8px; padding-left:16px; border-color:rgba(186,244,45,.45); }.mobile-submenu>.nav-third-level a { min-height:34px; font-size:14px; color:rgba(255,255,255,.58); }
.academy-dock { display:none; }

@media (max-width:1100px) {
  .desktop-nav,.phone-link,.header-round { display:none; }.mobile-trigger { display:grid; }.hero__content { left:5vw; }
  .intro,.section-head { grid-template-columns:1fr 2fr; }.intro__note,.section-head>p { grid-column:2; }.clinical__orb { opacity:.35; right:-80px; }
}

@media (max-width:760px) {
  body { padding-bottom:96px; }.site-header { height:76px; padding:0 18px; }.brand__mark { width:44px; height:44px; font-size:14px; }.brand__copy { font-size:14px; letter-spacing:1.2px; }.header-cta { display:none; }.mobile-trigger { width:44px; height:44px; }
  .hero { min-height:760px; height:100svh; }.hero::before { background:linear-gradient(180deg,rgba(9,13,10,.18) 0%,rgba(9,13,10,.2) 38%,#0c100d 80%),url("../images/ibody-hero-cinematic-4k.webp") 58% 16%/auto 68% no-repeat,#0c100d; filter:saturate(.82) contrast(1.02); animation:heroBreath 12s ease-in-out infinite alternate; }.hero__wash { background:linear-gradient(180deg,transparent 35%,rgba(186,244,45,.08)); }
  .hero__content { top:auto; bottom:105px; left:20px; right:20px; transform:none; }.reveal { animation:mobileReveal .8s ease-out both; }@keyframes mobileReveal { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
  .eyebrow { font-size:8px; letter-spacing:1.35px; margin-bottom:18px; }.hero h1 { font-size:clamp(46px,14vw,66px); line-height:.91; }.hero__lead { font-size:14px; line-height:1.65; margin:21px 0; }.hero__actions { gap:20px; }.hero__actions .lime-button { min-height:50px; width:100%; padding:0 14px; }.hero__actions .text-link,.hero__media { display:none; }
  .hero__bottom { left:20px; right:20px; bottom:20px; gap:20px; }.hero__bottom>div:nth-child(2),.hero__bottom>a { display:none; }
  .section { padding:78px 20px; }.section-label { margin-bottom:30px; }.intro { display:block; }.intro__copy h2 { font-size:45px; margin-bottom:24px; }.intro__copy>p { font-size:18px; }.intro__note { margin-top:43px; }
  .classes-section { padding:76px 14px 65px; }.section-head { display:block; padding:0 6px; }.section-head h2 { font-size:44px; }.section-head p { font-size:14px; margin:24px 0 40px; }
  .class-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; padding-bottom:10px; scrollbar-width:none; }.class-card,.class-card--featured { flex:0 0 84vw; height:470px; min-height:470px; scroll-snap-align:center; }.class-card__arrow { opacity:1; transform:scale(1); }
  .method { display:flex; flex-direction:column; gap:54px; }.method__media { width:100%; height:480px; }.vertical-note { left:-13px; }.method__content h2 { font-size:52px; margin-top:30px; }.method__content>p { font-size:15px; }
  .clinical { min-height:640px; padding:75px 20px; align-items:flex-start; }.clinical h2 { font-size:47px; }.clinical__orb { width:300px; height:300px; right:-80px; bottom:-115px; opacity:.35; }.clinical__number { font-size:250px; top:-40px; }
  .schedule { display:block; }.schedule h2 { font-size:47px; margin-bottom:40px; }.schedule__card { grid-template-columns:auto 1fr; min-height:180px; padding:24px; }.schedule__card a { grid-column:1/3; width:100%; }.schedule__meta { display:block; margin-top:25px; }.schedule__meta p+p { margin-top:17px; }
  .journal__head { display:block; margin-top:0; }.journal h2 { font-size:47px; }.journal__head .line-link { margin-top:30px; }.posts-grid { display:block; }.post-card { display:block; margin-bottom:45px; }.post-card__image { height:300px; }.post-card__image span { opacity:1; }
  .contact-cta { min-height:500px; padding:60px 20px; }.contact-cta h2 { font-size:74px; }.contact-cta::before { width:360px; height:360px; }.contact-cta::after { width:270px; height:270px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:45px 25px; }.footer-brand { grid-column:1/3; }.footer-bottom { flex-direction:column; gap:12px; }
  .academy-sheet { width:100vw!important; max-width:none!important; }.academy-mobile-nav { overflow-y:auto; padding-bottom:12px; }.mobile-sheet__footer { flex-direction:row; align-items:end; gap:15px; border-top:1px solid rgba(255,255,255,.12); }.mobile-sheet__footer>div { flex:1; }.mobile-sheet__footer .lime-button { min-height:50px; padding:0 15px; white-space:nowrap; }
  .academy-dock { position:fixed; z-index:48; left:12px; right:12px; bottom:10px; height:78px; padding:7px 8px; border-radius:25px; background:rgba(250,250,246,.95); border:1px solid rgba(17,19,18,.12); box-shadow:0 16px 45px rgba(8,12,9,.2); backdrop-filter:blur(18px); display:grid; grid-template-columns:repeat(5,1fr); transition:height .35s,border-radius .35s,left .35s,right .35s,bottom .35s; }.academy-dock--compact { height:64px; left:24px; right:24px; bottom:8px; border-radius:21px; }.academy-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:#687068; font-size:14px; font-weight:700; transition:.25s; }.academy-dock a svg { width:22px; height:22px; stroke-width:1.8; }.academy-dock a.active { color:var(--ink); }.academy-dock a.active svg { color:#769319; }.academy-dock--compact a span { display:none; }.academy-dock--compact a svg { width:23px; height:23px; }
}

/* WordPress + Elementor production layer */
body.ibody-theme { --ibody-radius:18px; min-width:320px; }
body.ibody-theme .elementor { overflow-x:clip; }
body.ibody-theme .elementor-widget-text-editor, body.ibody-theme p, body.ibody-theme a, body.ibody-theme button, body.ibody-theme input, body.ibody-theme textarea, body.ibody-theme li, body.ibody-theme span { font-size:max(14px,1em); }
.ibody-default-content,.ibody-article { max-width:1050px; margin:0 auto; padding-top:170px; }
.ibody-default-content img,.ibody-article img { border-radius:22px; }
.ibody-article { color:#4f554f; font-size:18px; line-height:1.85; }
.ibody-article h2,.ibody-article h3 { color:var(--ink); letter-spacing:-.04em; }
.ibody-post-hero { min-height:680px; position:relative; overflow:hidden; display:flex; align-items:flex-end; background:#0b0f0c; color:white; }
.ibody-post-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ibody-post-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,10,8,.92),rgba(7,10,8,.2)),linear-gradient(0deg,rgba(7,10,8,.78),transparent 56%); }
.ibody-post-hero__copy { width:min(1180px,90vw); margin:0 auto; padding:190px 0 70px; position:relative; z-index:2; }
.ibody-post-hero__copy>span { color:var(--lime); font-weight:800; letter-spacing:1.6px; }
.ibody-post-hero h1 { max-width:1100px; margin:22px 0 0; font-size:clamp(52px,7vw,105px); line-height:.9; letter-spacing:-.07em; }

/* Elementor-editable header and WordPress menus */
.ibody-header-template,.ibody-footer-template { --padding-top:0!important; --padding-bottom:0!important; --padding-left:0!important; --padding-right:0!important; }
.ibody-header-template>.e-con-inner,.ibody-footer-template>.e-con-inner { max-width:none!important; padding:0!important; }
.ibody-header-template .elementor-widget-ibody-header,.ibody-footer-template .elementor-widget-ibody-footer { width:100%; }
.site-header.ibody-elementor-header { background:linear-gradient(90deg,rgba(8,11,9,.92),rgba(8,11,9,.72)); }
.admin-bar .site-header { top:32px; }
.brand__official { width:58px; height:58px; object-fit:contain; }
.desktop-nav.ibody-wp-nav { flex:1; justify-content:flex-end; margin:0 24px 0 auto; }
.ibody-menu,.ibody-menu ul,.ibody-mobile-nav-list,.ibody-mobile-nav-list ul,.footer-main ul { margin:0; padding:0; list-style:none; }
.ibody-menu { display:flex; align-items:center; gap:clamp(17px,1.8vw,34px); }
.ibody-menu>li { position:relative; }
.ibody-menu a { min-height:52px; display:flex; align-items:center; white-space:nowrap; font-weight:700; }
.ibody-menu>.menu-item-has-children>a::after { content:"⌄"; margin-left:7px; color:var(--lime); font-size:14px; }
.ibody-menu .sub-menu { min-width:245px; padding:15px; position:absolute; top:calc(100% + 2px); left:-18px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(14,18,15,.97); box-shadow:0 28px 80px rgba(0,0,0,.35); opacity:0; visibility:hidden; transform:translateY(12px); transition:.25s; }
.ibody-menu li:hover>.sub-menu,.ibody-menu li:focus-within>.sub-menu { opacity:1; visibility:visible; transform:none; }
.ibody-menu .sub-menu a { min-height:43px; padding:0 13px; border-radius:10px; color:rgba(255,255,255,.77); }
.ibody-menu .sub-menu a:hover { background:rgba(186,244,45,.1); color:var(--lime); }
.ibody-menu .sub-menu .sub-menu { top:-15px; left:calc(100% + 8px); border-radius:18px; }
.ibody-menu>li:nth-child(3)>.sub-menu { width:min(760px,72vw); left:50%; transform:translate(-50%,12px); display:grid; grid-template-columns:repeat(2,1fr); gap:2px 18px; padding:25px; border-radius:24px; }
.ibody-menu>li:nth-child(3):hover>.sub-menu,.ibody-menu>li:nth-child(3):focus-within>.sub-menu { transform:translate(-50%,0); }
.header-round { width:48px; height:48px; border:1px solid rgba(255,255,255,.45); border-radius:50%; display:grid; place-items:center; }
.header-cta { border-radius:13px; }
.mobile-trigger { border-radius:14px; padding:12px; gap:5px; }
.mobile-trigger span { display:block; width:23px; height:2px; border-radius:2px; background:currentColor; }
.ibody-mobile-menu { position:fixed; z-index:1001; inset:0 0 0 auto; width:min(470px,100%); min-height:100svh; padding:0; background:#0d110e; color:white; transform:translateX(102%); transition:transform .35s cubic-bezier(.22,.75,.25,1); display:flex; flex-direction:column; overflow-y:auto; box-shadow:-30px 0 90px rgba(0,0,0,.38); }
.ibody-mobile-menu.is-open { transform:none; }
body.ibody-menu-open { overflow:hidden; }
.ibody-mobile-menu__head { min-height:112px; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.13); }
.ibody-mobile-close { width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.06); color:white; font-size:32px!important; line-height:1; cursor:pointer; }
.ibody-mobile-menu .mobile-nav { padding:28px; }
.ibody-mobile-nav-list>li { border-bottom:1px solid rgba(255,255,255,.12); position:relative; }
.ibody-mobile-nav-list a { min-height:64px; display:flex; align-items:center; padding-right:50px; font-size:19px!important; font-weight:700; }
.ibody-submenu-toggle { width:44px; height:44px; position:absolute; top:10px; right:0; border:0; background:transparent; color:white; cursor:pointer; }
.ibody-mobile-nav-list .sub-menu { max-height:0; overflow:hidden; padding-left:18px; border-left:2px solid rgba(186,244,45,.45); opacity:0; transition:max-height .4s,opacity .3s,padding .3s; }
.ibody-mobile-nav-list .submenu-open>.sub-menu { max-height:900px; opacity:1; padding-bottom:14px; }
.ibody-mobile-nav-list .sub-menu a { min-height:46px; color:rgba(255,255,255,.66); font-size:15px!important; border-bottom:1px solid rgba(255,255,255,.08); }
.ibody-mobile-nav-list .sub-menu .sub-menu { margin:0 0 8px 10px; border-radius:14px; background:rgba(255,255,255,.025); }
.ibody-mobile-menu__footer { margin-top:auto; padding:25px 28px 30px; border-top:1px solid rgba(255,255,255,.13); display:flex; align-items:center; justify-content:space-between; gap:18px; }
.ibody-mobile-menu__footer p { margin:0 0 7px; color:rgba(255,255,255,.48); }

/* Elementor page building blocks */
.ibody-section { padding:clamp(85px,9vw,130px) 6.8vw; }
.ibody-section-label .elementor-heading-title,.ibody-eyebrow .elementor-heading-title { color:inherit; font-size:14px; font-weight:800; letter-spacing:2px; }
.ibody-home-hero { min-height:100svh; padding:170px 6.8vw 105px; justify-content:center; position:relative; isolation:isolate; overflow:hidden; color:white; background-position:center 42%!important; animation:ibodyHeroBreath 14s ease-in-out infinite alternate; }
.ibody-home-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#090d0a 0%,rgba(9,13,10,.92) 34%,rgba(9,13,10,.18) 72%),linear-gradient(0deg,rgba(6,9,7,.66),transparent 52%),linear-gradient(270deg,rgba(186,244,45,.2),transparent 24%); }
.ibody-home-hero__copy { width:min(820px,76vw); gap:23px; }
.ibody-home-hero h1.elementor-heading-title { font-size:clamp(58px,7vw,108px); line-height:.88; letter-spacing:-.07em; }
.ibody-home-hero h1 em,.ibody-home-classes h2 em,.ibody-method h2 em,.ibody-home-clinical h2 em,.ibody-home-schedule h2 em,.ibody-home-journal h2 em,.ibody-home-cta h2 em,.ibody-inner-cta h2 em,.ibody-ecosystem h2 em,.ibody-team-hero h1 em,.ibody-team-intro h2 em { color:var(--lime); font-weight:400; }
.ibody-hero-lead { max-width:650px; color:rgba(255,255,255,.74); font-size:17px; line-height:1.75; }
.ibody-hero-actions { width:auto; flex-wrap:wrap; gap:16px; }
.ibody-hero-actions .elementor-button,.ibody-inner-cta .elementor-button { min-height:58px; padding:0 24px; border-radius:14px; display:inline-flex; align-items:center; font-weight:800; }
.lime-button .elementor-button { background:var(--lime); color:var(--ink); }
.ibody-outline-button .elementor-button { border:1px solid rgba(255,255,255,.5); background:transparent; color:white; }
.ibody-home-hero__stats { width:auto; position:absolute; left:6.8vw; bottom:30px; flex-wrap:wrap; gap:45px; }
.ibody-home-hero__stats .elementor-heading-title { display:flex; align-items:end; gap:12px; }
.ibody-home-hero__stats strong { font-size:31px; }.ibody-home-hero__stats span { max-width:125px; font-size:14px; line-height:1.25; letter-spacing:1px; }
@keyframes ibodyHeroBreath { from{background-size:100% auto} to{background-size:106% auto} }
.experience-marquee { padding:0; }.experience-marquee .elementor-heading-title { padding:18px 0; white-space:nowrap; font-size:17px; font-weight:800; letter-spacing:3px; animation:marquee 25s linear infinite; }
.ibody-home-intro { display:grid!important; grid-template-columns:.65fr 1.55fr 1fr; gap:6vw; align-items:start; }
.ibody-home-intro__main h2.elementor-heading-title { margin:0 0 27px; font-size:clamp(45px,5vw,76px); line-height:.95; letter-spacing:-.06em; }
.ibody-home-intro__main .elementor-widget-text-editor { font-size:21px; line-height:1.55; }
.ibody-home-intro__note { padding-top:22px; border-top:1px solid var(--line); color:#626662; line-height:1.75; }
.ibody-benefits,.ibody-experience-grid { display:grid!important; grid-template-columns:repeat(4,1fr); gap:0; padding:0 4.3vw 80px; }
.ibody-benefit-card,.ibody-experience-card { min-height:240px; padding:32px 28px; border:1px solid var(--line); border-right:0; justify-content:flex-end; transition:.35s; }
.ibody-benefit-card:first-child,.ibody-experience-card:first-child { border-radius:24px 0 0 24px; }.ibody-benefit-card:last-child,.ibody-experience-card:last-child { border-right:1px solid var(--line); border-radius:0 24px 24px 0; }
.ibody-benefit-card:hover,.ibody-experience-card:hover { background:#111512; color:white; transform:translateY(-8px); }
.ibody-benefit-card h3.elementor-heading-title,.ibody-experience-card h3.elementor-heading-title { font-size:22px; letter-spacing:-.04em; }.ibody-benefit-card .elementor-widget-heading:first-child .elementor-heading-title,.ibody-experience-card strong.elementor-heading-title { color:#80a124; font-size:34px; }
.ibody-home-classes,.ibody-team-showcase { background:#111312; color:white; }
.ibody-home-classes h2.elementor-heading-title,.ibody-method h2.elementor-heading-title,.ibody-home-clinical h2.elementor-heading-title,.ibody-home-schedule h2.elementor-heading-title,.ibody-home-journal h2.elementor-heading-title,.ibody-home-cta h2.elementor-heading-title,.ibody-inner-cta h2.elementor-heading-title,.ibody-ecosystem h2.elementor-heading-title { font-size:clamp(52px,6.8vw,102px); line-height:.9; letter-spacing:-.07em; }
.ibody-home-classes>.elementor-widget-text-editor { max-width:680px; color:rgba(255,255,255,.62); }
.ibody-class-grid { display:grid!important; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:50px; }
.ibody-class-card { min-height:430px; padding:28px; border:1px solid rgba(255,255,255,.13); border-radius:28px; background:linear-gradient(145deg,#1d231e,#141814); justify-content:flex-end; position:relative; overflow:hidden; transition:.4s; }
.ibody-class-card::before { content:""; width:360px; height:360px; position:absolute; top:-190px; right:-150px; border:1px solid rgba(186,244,45,.18); border-radius:50%; box-shadow:0 0 0 50px rgba(186,244,45,.025),0 0 0 100px rgba(255,255,255,.02); }
.ibody-class-card:hover { transform:translateY(-9px); border-color:rgba(186,244,45,.42); }
.ibody-class-card__id { position:absolute; top:25px; left:27px; }.ibody-class-card__id .elementor-heading-title { font-size:14px; }
.ibody-class-card__icon { margin-bottom:auto; align-self:flex-end; color:var(--lime); }.ibody-class-card__icon .elementor-heading-title { font-size:82px; font-weight:400; }
.ibody-class-card h3.elementor-heading-title { font-size:clamp(28px,2.6vw,42px); letter-spacing:-.05em; }.ibody-class-card .elementor-widget-text-editor { color:rgba(255,255,255,.58); letter-spacing:1px; }
.ibody-card-link .elementor-button { padding:0; background:transparent; color:var(--lime); font-weight:800; }
.ibody-method { display:grid!important; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.ibody-method__visual { min-height:620px; border-radius:36px; background:#111512; color:var(--lime); display:grid!important; place-items:center; position:relative; overflow:hidden; }
.ibody-method__visual::before,.ibody-method__visual::after { content:""; position:absolute; inset:14%; border:1px solid rgba(186,244,45,.24); border-radius:44% 56% 55% 45%; animation:brandShape 9s ease-in-out infinite alternate; }.ibody-method__visual::after { inset:28%; border-color:rgba(255,255,255,.15); animation-direction:alternate-reverse; }
.ibody-method__visual .elementor-heading-title { font-size:110px; letter-spacing:-.08em; }.ibody-method__visual .elementor-widget-text-editor { position:absolute; bottom:28px; }
.ibody-method__copy { gap:24px; }.ibody-method__copy>.elementor-widget-text-editor { color:#535953; font-size:18px; line-height:1.8; }
.ibody-dark-button .elementor-button { min-height:56px; padding:0 24px; border-radius:13px; background:var(--ink); color:white; font-weight:800; }
.ibody-home-clinical { min-height:650px; justify-content:center; background:var(--lime); position:relative; overflow:hidden; }
.ibody-home-clinical::after { content:"MOVE\A HEAL\A THRIVE"; white-space:pre; position:absolute; right:8vw; top:50%; transform:translateY(-50%) rotate(-7deg); color:rgba(17,19,18,.12); font-size:75px; line-height:1.25; letter-spacing:10px; }
.ibody-home-clinical>* { max-width:820px; }.ibody-home-clinical h2 em { color:#6f8d1b; }
.ibody-home-schedule { display:grid!important; grid-template-columns:1.1fr .9fr; gap:7vw; align-items:center; }
.ibody-schedule-link-card { min-height:160px; padding:34px; border-radius:26px; background:white; box-shadow:0 24px 70px rgba(17,19,18,.12); display:grid!important; grid-template-columns:auto 1fr auto; align-items:center; gap:8px 22px; }
.ibody-schedule-link-card .elementor-widget:first-child { grid-row:1/3; color:#80a124; }.ibody-schedule-link-card .elementor-widget-button { grid-column:3; grid-row:1/3; }.ibody-schedule-link-card .elementor-button { width:52px; height:52px; border-radius:14px; padding:0; background:var(--lime); color:var(--ink); }
.ibody-home-journal .journal-grid { margin-top:45px; }.ibody-home-cta,.ibody-inner-cta { min-height:610px; padding:100px 6.8vw; justify-content:center; align-items:flex-start; background:var(--lime); }

/* Inner pages and editable specialty sections */
.ibody-inner-hero,.ibody-team-hero { min-height:760px; height:88svh; padding:180px 6.8vw 80px; justify-content:flex-end; color:white; position:relative; isolation:isolate; overflow:hidden; background-position:center!important; }
.ibody-inner-hero::before,.ibody-team-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,11,9,.93),rgba(8,11,9,.18)),linear-gradient(0deg,rgba(8,11,9,.65),transparent 50%),linear-gradient(270deg,rgba(186,244,45,.22),transparent 25%); }
.ibody-inner-hero--graphic { background:radial-gradient(circle at 78% 34%,rgba(186,244,45,.3),transparent 19%),linear-gradient(120deg,#090d0a,#152016 54%,#080b09)!important; }
.ibody-inner-hero--graphic::after { content:""; width:min(720px,60vw); aspect-ratio:1; position:absolute; right:-7%; top:4%; z-index:-1; border:1px solid rgba(186,244,45,.23); border-radius:48% 52% 44% 56%; box-shadow:0 0 0 65px rgba(186,244,45,.025),0 0 0 130px rgba(255,255,255,.018); animation:brandShape 9s ease-in-out infinite alternate; }
.ibody-inner-hero__copy,.ibody-team-hero__copy { width:min(950px,82vw); gap:20px; }.ibody-inner-hero h1.elementor-heading-title,.ibody-team-hero h1.elementor-heading-title { font-size:clamp(68px,9vw,142px); line-height:.86; letter-spacing:-.075em; }.ibody-inner-hero__intro,.ibody-team-hero__copy>.elementor-widget-text-editor { max-width:760px; color:rgba(255,255,255,.76); font-size:18px; line-height:1.7; }
.ibody-contact-photo-hero { min-height:660px; height:76svh; background-position:center 48%!important; position:relative; }.ibody-contact-photo-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,11,8,.66),rgba(7,11,8,.06) 58%),linear-gradient(270deg,rgba(186,244,45,.24),transparent 30%); }
.ibody-inner-content { display:grid!important; grid-template-columns:.7fr 2fr; gap:8vw; align-items:start; background:var(--white); }.ibody-inner-content__copy { max-width:900px; gap:18px; }.ibody-inner-content__copy .elementor-widget-text-editor { font-size:clamp(18px,1.7vw,25px); line-height:1.7; color:#4f554f; }
.ibody-feature-grid { display:grid!important; grid-template-columns:repeat(4,1fr); gap:14px; }.ibody-feature-card { min-height:210px; padding:28px; border:1px solid var(--line); border-radius:24px; justify-content:flex-end; transition:.35s; }.ibody-feature-card:hover { transform:translateY(-8px); background:#111512; color:white; }.ibody-feature-card .elementor-widget-heading:first-child { margin-bottom:auto; color:#7e9c23; }.ibody-feature-card h3.elementor-heading-title { font-size:23px; letter-spacing:-.04em; }
.ibody-experience-grid { padding-top:90px; }.ibody-ecosystem { margin:0 2vw 100px; border-radius:38px; background:#101310; color:white; align-items:center; text-align:center; position:relative; overflow:hidden; }.ibody-ecosystem::before { content:""; position:absolute; width:700px; height:700px; top:150px; left:50%; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle,rgba(186,244,45,.13),transparent 65%); }.ibody-ecosystem>* { position:relative; z-index:1; }
.ibody-ecosystem-orbit { width:min(420px,75vw); aspect-ratio:1; margin:20px auto 35px; display:grid!important; place-items:center; }.ibody-ecosystem-orbit::before,.ibody-ecosystem-orbit::after { content:""; position:absolute; inset:9%; border:1px solid rgba(186,244,45,.27); border-radius:50%; animation:brandOrbit 19s linear infinite; }.ibody-ecosystem-orbit::after { inset:24%; border-radius:45% 55% 58% 42%; animation:brandShape 8s ease-in-out infinite alternate; }.ibody-ecosystem-orbit .elementor-heading-title { width:120px; height:120px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; font-size:80px; }
.ibody-brands-grid { display:grid!important; grid-template-columns:repeat(3,1fr); gap:0; width:100%; border-top:1px solid rgba(255,255,255,.15); }.ibody-brand-card { min-height:430px; padding:42px 34px 25px; border-right:1px solid rgba(255,255,255,.15); text-align:left; justify-content:flex-end; }.ibody-brand-card:last-child { border-right:0; }.ibody-brand-logo img { width:118px!important; height:118px!important; object-fit:contain; }.ibody-brand-logo--wide img { width:min(285px,90%)!important; }.ibody-brand-portrait img { width:118px!important; height:118px!important; border-radius:50%; object-fit:cover; object-position:center 14%; border:2px solid rgba(186,244,45,.45); }.ibody-brand-card h3.elementor-heading-title { font-size:clamp(27px,2.2vw,36px); letter-spacing:-.05em; }.ibody-brand-card .elementor-widget-text-editor { color:rgba(255,255,255,.6); line-height:1.7; }
.ibody-team-hero { min-height:820px; height:94svh; background-position:center 16%!important; }.ibody-team-hero::before { background:linear-gradient(90deg,#0b0f0c 0%,rgba(11,15,12,.93) 40%,rgba(11,15,12,.2) 75%),linear-gradient(0deg,rgba(11,15,12,.72),transparent 48%); }.ibody-team-intro { display:grid!important; grid-template-columns:.62fr 1.8fr; gap:8vw; }.ibody-team-intro h2.elementor-heading-title { font-size:clamp(50px,6vw,90px); line-height:.92; letter-spacing:-.065em; }.ibody-team-grid { display:grid!important; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:35px; }.ibody-trainer-card { min-height:590px; border-radius:28px; overflow:hidden; position:relative; background:#1b201b; justify-content:flex-end; }.ibody-trainer-card:nth-child(-n+2) { grid-column:span 2; min-height:720px; }.ibody-trainer-photo { position:absolute; inset:0; height:100%; }.ibody-trainer-photo .elementor-widget-container,.ibody-trainer-photo img { height:100%!important; }.ibody-trainer-photo img { object-fit:cover; object-position:center 14%; filter:saturate(.82); transition:.65s; }.ibody-trainer-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,10,7,.96),rgba(7,10,7,.05) 64%); }.ibody-trainer-card>*:not(.ibody-trainer-photo) { z-index:2; margin-left:28px; margin-right:28px; }.ibody-trainer-card .elementor-widget-heading:nth-child(2) { margin-bottom:auto; padding-top:24px; }.ibody-trainer-card .elementor-widget-heading:nth-child(3) .elementor-heading-title { color:var(--lime); font-size:14px; text-transform:uppercase; }.ibody-trainer-card h3.elementor-heading-title { padding-bottom:28px; color:white; font-size:clamp(27px,2.3vw,39px); letter-spacing:-.055em; }.ibody-trainer-card:hover img { transform:scale(1.055); filter:saturate(1); }
.ibody-events-section,.ibody-journal-archive,.ibody-schedule-page,.ibody-contact-section { background:var(--white); }.ibody-events-section .events-experience { margin-top:45px; }.events-grid { grid-template-columns:repeat(var(--event-columns,4),minmax(0,1fr)); }
.journal-grid { grid-template-columns:repeat(var(--post-columns,3),minmax(0,1fr)); }.journal-card { display:block; }.journal-card__image { aspect-ratio:4/3; border-radius:24px; overflow:hidden; position:relative; }.journal-card__image img { width:100%; height:100%; object-fit:cover; transition:.55s; }.journal-card:hover img { transform:scale(1.05); }.journal-card__image>span { position:absolute; right:18px; top:18px; width:48px; height:48px; border-radius:50%; background:var(--lime); display:grid; place-items:center; }.journal-card__category { display:block; margin-top:20px; color:#78951d; font-weight:800; letter-spacing:1px; }.journal-card h3 { margin:12px 0 0; font-size:clamp(24px,2.2vw,36px); line-height:1.08; letter-spacing:-.05em; }
.schedule-board { max-width:1050px; margin:0 auto; }.schedule-board__frame { padding:18px; border-radius:30px; background:#111512; box-shadow:0 30px 90px rgba(17,19,18,.18); }.schedule-board__frame img { width:100%; height:auto; border-radius:18px; }.schedule-board>p { text-align:center; color:#6a7069; margin-top:22px; }
.ibody-contact-section { display:grid!important; grid-template-columns:.65fr 1.2fr .55fr; gap:5vw; align-items:start; }.ibody-contact-form .wpcf7-form { margin:0; }.ibody-contact-details { padding-left:35px; border-left:1px solid var(--line); line-height:2; }.ibody-contact-form-copy h2.elementor-heading-title { font-size:clamp(48px,5vw,76px); letter-spacing:-.06em; }

/* CF7 forms and popup */
.ibody-cf7-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.ibody-cf7-grid label { display:flex; flex-direction:column; gap:9px; font-weight:800; letter-spacing:.7px; }.ibody-cf7-grid .full { grid-column:1/3; }.ibody-cf7-grid input:not([type=submit]),.ibody-cf7-grid textarea { width:100%; min-height:54px; padding:13px 0; border:0; border-bottom:1px solid #abb0aa; border-radius:0; background:transparent; outline:0; font:15px Manrope,sans-serif; }.ibody-cf7-grid input[type=submit] { min-height:58px; padding:0 24px; border:0; border-radius:13px; background:var(--lime); color:var(--ink); font-weight:800; cursor:pointer; }
.ibody-contact-modal { position:fixed; z-index:1100; inset:0; display:grid; place-items:center; padding:16px; opacity:0; visibility:hidden; transition:.25s; }.ibody-contact-modal.is-open { opacity:1; visibility:visible; }.ibody-contact-modal__backdrop { position:absolute; inset:0; background:rgba(4,6,4,.78); backdrop-filter:blur(8px); }.message-dialog { width:min(720px,calc(100vw - 32px)); max-height:calc(100svh - 32px); overflow:auto; padding:45px; border:1px solid rgba(186,244,45,.25); border-radius:28px; background:#111512; color:white; position:relative; z-index:1; }.message-dialog h2 { margin:18px 0 12px; font-size:clamp(42px,5vw,64px); line-height:.9; letter-spacing:-.06em; }.message-dialog>p { color:rgba(255,255,255,.62); }.message-dialog__eyebrow { color:var(--lime); font-weight:800; letter-spacing:1.8px; }.ibody-contact-close { position:absolute; top:18px; right:18px; width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.08); color:white; font-size:27px!important; cursor:pointer; }.message-form-wrap { margin-top:27px; }.message-dialog .ibody-cf7-grid input:not([type=submit]),.message-dialog .ibody-cf7-grid textarea { border:1px solid rgba(255,255,255,.16); border-radius:13px; padding:13px 14px; color:white; background:rgba(255,255,255,.045); }.message-fab { border-radius:15px; }

/* Mobile sticky dock */
.academy-dock b { font-size:25px; font-weight:400; line-height:1; }.academy-dock .dock-logo img { width:28px; height:28px; object-fit:contain; }.academy-dock a { min-width:0; }.academy-dock span { white-space:nowrap; }

@media (max-width:1100px) {
  .desktop-nav,.header-cta,.header-round { display:none!important; }.mobile-trigger { display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .ibody-home-intro { grid-template-columns:1fr 1.4fr; }.ibody-home-intro__note { grid-column:2; }
  .ibody-benefits,.ibody-experience-grid,.ibody-feature-grid { grid-template-columns:repeat(2,1fr); }.ibody-benefit-card,.ibody-experience-card { border-right:1px solid var(--line); border-radius:20px!important; }
  .ibody-class-grid { grid-template-columns:repeat(2,1fr); }.ibody-method { grid-template-columns:1fr; }.ibody-method__visual { min-height:480px; }
  .ibody-home-schedule { grid-template-columns:1fr; }.ibody-brands-grid { grid-template-columns:1fr; }.ibody-brand-card { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }.ibody-team-grid { grid-template-columns:repeat(2,1fr); }.ibody-contact-section { grid-template-columns:1fr 1.2fr; }.ibody-contact-details { grid-column:2; }
  .journal-grid { grid-template-columns:repeat(2,1fr)!important; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:760px) {
  .site-header { height:94px; padding:0 20px; }.brand__official { width:54px; height:54px; }.brand__copy { font-size:14px!important; }
  .ibody-mobile-menu__footer { align-items:stretch; flex-direction:column; }.ibody-mobile-menu__footer .lime-button { width:100%; border-radius:13px; }
  .ibody-section { padding:85px 20px; }.ibody-home-hero { min-height:940px; padding:150px 20px 125px; background-position:68% 56%!important; }.ibody-home-hero::before { background:linear-gradient(0deg,rgba(6,9,7,.95) 0%,rgba(6,9,7,.36) 62%,rgba(6,9,7,.35)),linear-gradient(270deg,rgba(186,244,45,.25),transparent 44%); }.ibody-home-hero__copy { width:100%; margin-top:auto; }.ibody-home-hero h1.elementor-heading-title { font-size:clamp(55px,14.2vw,77px); }.ibody-home-hero__stats { left:20px; right:20px; bottom:105px; gap:22px; }.ibody-hero-actions { flex-direction:column!important; align-items:stretch; }.ibody-hero-actions .elementor-widget-button,.ibody-hero-actions .elementor-button { width:100%; }
  @keyframes ibodyHeroBreath { from{background-size:auto 100%} to{background-size:auto 106%} }
  .experience-marquee .elementor-heading-title { font-size:15px; }.ibody-home-intro { display:flex!important; flex-direction:column!important; gap:35px; }.ibody-home-intro__note { grid-column:auto; }.ibody-home-intro__main h2.elementor-heading-title { font-size:48px; }
  .ibody-benefits,.ibody-experience-grid,.ibody-feature-grid { grid-template-columns:1fr; padding-left:20px; padding-right:20px; gap:14px; }.ibody-class-grid { grid-template-columns:1fr; }.ibody-class-card { min-height:390px; }.ibody-method { display:flex!important; flex-direction:column!important; }.ibody-method__visual { width:100%; min-height:390px; }.ibody-home-clinical::after { font-size:42px; right:-30px; opacity:.7; }.ibody-schedule-link-card { display:flex!important; flex-direction:column!important; align-items:flex-start; }.ibody-schedule-link-card .elementor-widget-button { align-self:flex-end; }
  .ibody-home-classes h2.elementor-heading-title,.ibody-method h2.elementor-heading-title,.ibody-home-clinical h2.elementor-heading-title,.ibody-home-schedule h2.elementor-heading-title,.ibody-home-journal h2.elementor-heading-title,.ibody-home-cta h2.elementor-heading-title,.ibody-inner-cta h2.elementor-heading-title,.ibody-ecosystem h2.elementor-heading-title { font-size:52px; }
  .ibody-inner-hero,.ibody-team-hero { min-height:740px; height:88svh; padding:150px 20px 70px; background-position:center 20%!important; }.ibody-inner-hero__copy,.ibody-team-hero__copy { width:100%; }.ibody-inner-hero h1.elementor-heading-title,.ibody-team-hero h1.elementor-heading-title { font-size:56px; }.ibody-contact-photo-hero { min-height:600px; height:70svh; background-position:center!important; }
  .ibody-inner-content,.ibody-team-intro { display:flex!important; flex-direction:column!important; gap:35px; }.ibody-inner-content__copy .elementor-widget-text-editor { font-size:18px; }.ibody-experience-grid { padding-top:70px; }.ibody-ecosystem { margin:0 0 70px; border-radius:28px; }.ibody-brands-grid { grid-template-columns:1fr; }.ibody-brand-card { min-height:390px; padding:35px 22px; }
  .ibody-team-grid { grid-template-columns:1fr; }.ibody-trainer-card,.ibody-trainer-card:nth-child(-n+2) { grid-column:auto; min-height:590px; }.ibody-contact-section { display:flex!important; flex-direction:column!important; }.ibody-contact-details { padding:25px 0 0; border-left:0; border-top:1px solid var(--line); }.ibody-cf7-grid { grid-template-columns:1fr; }.ibody-cf7-grid .full { grid-column:1; }.journal-grid { grid-template-columns:1fr!important; }.events-grid { grid-template-columns:1fr!important; }
  .message-fab { display:none!important; }.message-dialog { padding:38px 20px 24px; }.message-dialog h2 { font-size:43px; }
  .ibody-post-hero { min-height:680px; }.ibody-post-hero__copy { padding:160px 20px 60px; }.ibody-post-hero h1 { font-size:52px; }.ibody-article { padding:70px 20px 120px; font-size:16px; }
}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Inner pages */
.inner-header { position:fixed; }
.inner-hero { min-height:720px; height:88svh; background:#111; color:white; position:relative; overflow:hidden; }
.inner-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.55); }
.inner-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,15,12,.92),rgba(12,15,12,.18)),linear-gradient(0deg,rgba(12,15,12,.6),transparent 48%),linear-gradient(270deg,rgba(186,244,45,.22),transparent 24%); }
.inner-hero__copy { position:absolute; z-index:2; left:6.8vw; bottom:11%; width:min(950px,82vw); }
.inner-hero__copy>p { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2.5px; }
.inner-hero h1 { font-size:clamp(66px,9vw,142px); line-height:.87; letter-spacing:-.075em; margin:22px 0 30px; }
.inner-hero__copy>span { display:block; max-width:720px; color:rgba(255,255,255,.76); font-size:18px; line-height:1.7; }
.inner-hero--graphic { background:#0b0f0c; isolation:isolate; }
.inner-hero--graphic::before { content:""; position:absolute; inset:-16%; z-index:0; background:radial-gradient(circle at 78% 34%,rgba(186,244,45,.32),transparent 18%),radial-gradient(circle at 70% 38%,rgba(186,244,45,.11),transparent 36%),linear-gradient(120deg,#090d0a 0%,#121a13 52%,#080b09 100%); }
.inner-hero--graphic::after { content:""; position:absolute; width:min(760px,62vw); aspect-ratio:1; right:-8%; top:2%; z-index:1; border:1px solid rgba(186,244,45,.24); border-radius:48% 52% 44% 56%/56% 42% 58% 44%; box-shadow:0 0 0 70px rgba(186,244,45,.025),0 0 0 140px rgba(255,255,255,.018); transform:rotate(18deg); }
.inner-hero--graphic .inner-hero__shade { z-index:1; background:linear-gradient(90deg,rgba(7,10,8,.96) 0%,rgba(7,10,8,.68) 47%,rgba(7,10,8,.08) 100%),linear-gradient(0deg,rgba(7,10,8,.62),transparent 52%); }
.contact-photo-hero { min-height:660px; height:76svh; position:relative; overflow:hidden; background:#0b0e0c; }
.contact-photo-hero img { width:100%; height:100%; object-fit:cover; object-position:center 48%; filter:saturate(.7) contrast(1.04); }
.contact-photo-hero>div { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,11,8,.68),rgba(7,11,8,.06) 58%),linear-gradient(270deg,rgba(186,244,45,.24),transparent 30%),linear-gradient(0deg,rgba(7,11,8,.5),transparent 50%); }
.inner-content { display:grid; grid-template-columns:.7fr 2fr; gap:8vw; background:var(--white); }
.inner-content__text { max-width:900px; }
.inner-content__text p { font-size:clamp(18px,1.7vw,25px); line-height:1.7; letter-spacing:-.02em; margin:0 0 28px; }
.inner-content__text p:first-child { font-weight:700; }
.inner-special { padding-top:20px; background:var(--white); }
.feature-list { border-top:1px solid var(--line); }
.feature-list>div { min-height:95px; display:grid; grid-template-columns:60px 35px 1fr; align-items:center; border-bottom:1px solid var(--line); transition:padding .25s,background .25s; }
.feature-list>div:hover { padding-left:18px; background:#f4f3ed; }
.feature-list span { color:#7a7e79; font-size:14px; }.feature-list svg { color:#78951d; }.feature-list p { font-size:21px; font-weight:700; margin:0; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.team-grid article { background:#eeece6; padding-bottom:22px; overflow:hidden; }
.team-grid img { height:390px; object-fit:cover; filter:grayscale(.2); transition:transform .5s; }
.team-grid article:hover img { transform:scale(1.035); }
.team-grid span { display:block; color:#718a28; font-size:14px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; padding:21px 20px 8px; }
.team-grid h3 { margin:0 20px; font-size:22px; letter-spacing:-.04em; }
.listing-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.listing-grid a { min-height:190px; padding:28px; display:grid; grid-template-columns:1fr auto; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .25s; }
.listing-grid a:hover { background:var(--lime); }.listing-grid span { font-size:14px; color:#757975; }.listing-grid h3 { align-self:end; margin:35px 0 0; font-size:27px; letter-spacing:-.04em; }.listing-grid svg { grid-column:2; grid-row:1/3; align-self:end; }
.journal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.journal-card { color:var(--ink); display:block; }
.journal-card__image { height:330px; border-radius:24px; overflow:hidden; position:relative; background:#171b18; }
.journal-card__image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,11,8,.42),transparent 52%); pointer-events:none; }
.journal-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .45s; }
.journal-card__image span { position:absolute; z-index:2; right:18px; top:18px; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:var(--lime); transition:transform .35s; }
.journal-card__category { display:block; margin:20px 0 12px; color:#737873; font-size:14px; font-weight:800; letter-spacing:.8px; }
.journal-card h3 { margin:0; font-size:clamp(23px,2vw,31px); line-height:1.12; letter-spacing:-.045em; }
.journal-card:hover .journal-card__image img { transform:scale(1.045); filter:saturate(1.08); }
.journal-card:hover .journal-card__image span { transform:rotate(45deg); }
.schedule-board { max-width:980px; margin:0 auto; text-align:center; }
.schedule-board__frame { padding:18px; border-radius:34px; background:linear-gradient(145deg,#151a16,#232b23); box-shadow:0 30px 90px rgba(18,24,19,.16); }
.schedule-board__frame img { display:block; width:100%; max-height:1180px; object-fit:contain; border-radius:24px; background:#18e786; }
.schedule-board>p { margin:24px 0 0; color:#6d726d; font-size:14px; }
.timetable { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.timetable>div { min-height:260px; background:#151815; color:white; padding:45px; display:flex; flex-direction:column; align-items:flex-start; }.timetable svg { color:var(--lime); }.timetable h3 { margin:auto 0 12px; font-size:25px; }.timetable strong { color:var(--lime); font-size:18px; }
.contact-layout { display:grid; grid-template-columns:1.4fr .6fr; gap:7vw; }.contact-layout form { display:grid; grid-template-columns:1fr 1fr; gap:25px; }.contact-layout .full { grid-column:1/3; }.contact-layout label { display:block; font-size:14px; letter-spacing:1px; font-weight:800; margin-bottom:10px; }.contact-layout input,.contact-layout textarea { width:100%; background:transparent; border:0; border-bottom:1px solid #aeb1ab; padding:15px 0; outline:0; font:15px Manrope; }.contact-layout textarea { resize:vertical; }.contact-layout button { grid-column:1/3; justify-self:start; background:var(--ink); color:white; border:0; min-height:56px; padding:0 25px; display:flex; align-items:center; gap:18px; font-size:14px; font-weight:800; cursor:pointer; }.contact-layout aside { border-left:1px solid var(--line); padding-left:40px; }.contact-layout aside p { display:flex; align-items:center; gap:12px; margin:0 0 25px; font-size:15px; }
.schedule-upload-page { min-height:100svh; background:#0b0f0c; color:white; padding:0 5vw 70px; }
.schedule-upload-page>header { min-height:100px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.13); }
.schedule-upload-page>header>a { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.72); font-size:14px; font-weight:700; }
.schedule-upload-page>header>a svg { width:18px; }
.schedule-upload-panel { min-height:calc(100svh - 170px); display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:center; padding:64px 0; }
.schedule-upload-copy>span,.schedule-upload-preview>span { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:1.8px; }
.schedule-upload-copy h1 { margin:26px 0 28px; font-size:clamp(48px,5.6vw,86px); line-height:.92; letter-spacing:-.065em; }
.schedule-upload-copy h1 em { color:var(--lime); font-weight:400; }
.schedule-upload-copy>p { max-width:640px; margin:0 0 34px; color:rgba(255,255,255,.65); font-size:17px; line-height:1.75; }
.schedule-upload-copy input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.schedule-upload-copy button { min-height:66px; padding:0 28px; border:0; border-radius:16px; background:var(--lime); color:var(--ink); display:inline-flex; align-items:center; gap:14px; font:800 14px Manrope; cursor:pointer; }
.schedule-upload-copy button:disabled { opacity:.58; cursor:wait; }
.schedule-upload-status { min-height:30px; margin-top:20px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.58); font-size:14px; }
.schedule-upload-status svg { width:20px; color:var(--lime); }
.schedule-upload-status--error svg { color:#ff765f; }
.schedule-upload-preview { padding:24px; border:1px solid rgba(255,255,255,.14); border-radius:30px; background:linear-gradient(145deg,#171d18,#0f1310); box-shadow:0 30px 100px rgba(0,0,0,.28); }
.schedule-upload-preview>span { display:block; margin:0 0 18px; }
.schedule-upload-preview img { display:block; width:100%; max-height:680px; object-fit:contain; border-radius:20px; background:#18e786; }
.event-card { min-height:330px; background:var(--lime); padding:55px; position:relative; overflow:hidden; }.event-card::after { content:""; position:absolute; width:430px; height:430px; border:1px solid rgba(17,19,18,.25); border-radius:50%; right:-80px; top:-50px; }.event-card span { font-size:14px; font-weight:800; letter-spacing:2px; }.event-card h3 { font-size:clamp(40px,5vw,74px); letter-spacing:-.06em; margin:65px 0 12px; }.event-card p { font-size:17px; }
.inner-cta { min-height:520px; background:var(--lime); padding:90px 6.8vw; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }.inner-cta>p { font-size:14px; font-weight:800; letter-spacing:2px; }.inner-cta h2 { font-size:clamp(58px,7vw,102px); line-height:.9; letter-spacing:-.07em; margin:24px 0 38px; }.inner-cta a { display:flex; align-items:center; gap:18px; border-bottom:1px solid var(--ink); padding-bottom:8px; font-size:14px; font-weight:800; }.compact-footer { padding-top:65px; }

/* The final theme specification requires a 14px minimum throughout. */
.brand__copy,.desktop-nav a,.phone-link,.header-cta,.eyebrow,.hero__bottom span,.section-label,.text-link,.lime-button,.line-link,.class-card__id,.class-card__content p,.all-classes,.vertical-note,.method blockquote cite,.dark-button,.schedule__card span,.schedule__meta p,.post-card__meta,.contact-cta>p,.contact-cta a,.footer-title,.footer-main a,.footer-main p,.footer-map,.footer-bottom,.mobile-book { font-size:14px; }

@media (max-width:760px) {
  .inner-hero { min-height:650px; height:82svh; }.inner-hero__shade { background:linear-gradient(0deg,rgba(12,15,12,.93) 0%,rgba(12,15,12,.22) 70%); }.inner-hero__copy { left:20px; right:20px; bottom:9%; width:auto; }.inner-hero h1 { font-size:clamp(52px,16vw,76px); overflow-wrap:anywhere; }.inner-hero__copy>span { font-size:15px; }
  .inner-hero--graphic { min-height:590px; height:72svh; }.inner-hero--graphic::after { width:105vw; right:-48%; top:4%; }.inner-hero--graphic .inner-hero__shade { background:linear-gradient(0deg,rgba(7,10,8,.92),rgba(7,10,8,.3) 66%); }
  .contact-photo-hero { min-height:510px; height:62svh; }.contact-photo-hero img { object-position:62% center; }
  .inner-content { display:block; }.inner-content__text p { font-size:18px; }.inner-special { padding-top:0; }
  .feature-list>div { grid-template-columns:42px 30px 1fr; }.feature-list p { font-size:17px; }
  .team-grid { grid-template-columns:1fr 1fr; gap:8px; }.team-grid img { height:250px; }.team-grid h3 { font-size:17px; }.team-grid span { line-height:1.4; }
  .listing-grid { grid-template-columns:1fr; }.listing-grid a { min-height:150px; }.listing-grid h3 { font-size:23px; }
  .journal-grid { grid-template-columns:1fr; gap:42px; }.journal-card__image { height:340px; }
  .schedule-board__frame { padding:10px; border-radius:24px; }.schedule-board__frame img { border-radius:17px; }
  .timetable { grid-template-columns:1fr; }.timetable>div { min-height:210px; padding:30px; }
  .contact-layout { display:block; }.contact-layout form { grid-template-columns:1fr; }.contact-layout .full,.contact-layout button { grid-column:1; }.contact-layout aside { border-left:0; border-top:1px solid var(--line); padding:35px 0 0; margin-top:55px; }
  .event-card { padding:35px 25px; }.event-card h3 { margin-top:70px; font-size:45px; }
  .inner-cta { min-height:480px; padding:75px 20px; }.inner-cta h2 { font-size:52px; }
  .schedule-upload-page { padding:0 18px 45px; }.schedule-upload-page>header { min-height:84px; }.schedule-upload-page>header .brand__copy { display:none; }.schedule-upload-page>header>a { max-width:145px; text-align:right; justify-content:flex-end; }
  .schedule-upload-panel { display:flex; flex-direction:column; align-items:stretch; gap:45px; padding:50px 0; }.schedule-upload-copy h1 { font-size:48px; }.schedule-upload-copy>p { font-size:16px; }.schedule-upload-copy button { width:100%; justify-content:center; padding:0 16px; }.schedule-upload-preview { padding:15px; border-radius:24px; }
}

/* Premium refinement: official identity, icon-led storytelling and modern navigation */
.brand__official { width:58px; height:58px; object-fit:contain; flex:0 0 auto; }
.brand__copy { font-size:14px; letter-spacing:1.7px; line-height:1.45; }
.hero::before { background-image:linear-gradient(90deg,rgba(7,11,8,.5) 0%,rgba(7,12,8,.18) 35%,rgba(7,12,8,.01) 61%,rgba(7,12,8,.04) 100%),url("../images/ibody-hero-cinematic-4k.webp"); background-position:center,center 32%; background-size:cover,cover; background-repeat:no-repeat; filter:contrast(1.06) brightness(.98); }
.hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,transparent 76%,rgba(186,244,45,.05) 88%,rgba(186,244,45,.2) 100%),linear-gradient(0deg,rgba(7,11,8,.3),transparent 34%); }
.hero__wash { z-index:1; }
.hero__media { opacity:.18; }
.hero__media img { object-position:58% 42%; }

.benefit-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; background:var(--paper); padding:20px 4.3vw; border-top:1px solid var(--line); border-bottom:1px solid var(--line); counter-reset:benefit; }
.benefit-strip article { min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; gap:0; padding:30px 28px; border:1px solid rgba(17,19,18,.12); border-radius:26px; position:relative; overflow:hidden; isolation:isolate; counter-increment:benefit; background:linear-gradient(145deg,#fdfcf7,#e9e7df); box-shadow:0 20px 46px rgba(18,22,18,.07); transition:color .35s,transform .35s,box-shadow .35s,border-color .35s; }
.benefit-strip article::before { content:"0" counter(benefit); position:absolute; left:28px; top:24px; font-size:14px; font-weight:800; letter-spacing:1.6px; color:rgba(17,19,18,.48); z-index:2; }
.benefit-strip article::after { content:""; position:absolute; width:210px; height:210px; border-radius:50%; right:-82px; top:-94px; background:radial-gradient(circle,rgba(186,244,45,.65) 0%,rgba(186,244,45,.16) 45%,transparent 72%); border:1px solid rgba(17,19,18,.08); z-index:-1; transition:transform .55s ease; }
.benefit-strip article:last-child { border-right:1px solid var(--line); }
.benefit-strip article>span { position:absolute; right:24px; top:22px; width:68px; height:68px; border-radius:50%; background:var(--lime); display:grid; place-items:center; box-shadow:0 12px 32px rgba(120,158,26,.24); transform:rotate(-5deg); transition:transform .4s,box-shadow .4s; z-index:2; }
.benefit-strip article>span svg { width:31px; height:31px; stroke-width:1.65; }
.benefit-strip article>div { position:relative; z-index:2; }
.benefit-strip h3 { margin:0 0 11px; max-width:230px; font-size:21px; line-height:1.16; letter-spacing:-.045em; }
.benefit-strip p { margin:0; max-width:270px; color:#696d69; font-size:14px; line-height:1.65; }
.benefit-strip article:nth-child(1),.benefit-strip article:nth-child(4) { background:linear-gradient(145deg,#222922,#101411); color:white; border-color:rgba(186,244,45,.18); }
.benefit-strip article:nth-child(1)::before,.benefit-strip article:nth-child(4)::before { color:rgba(255,255,255,.52); }
.benefit-strip article:nth-child(1) p,.benefit-strip article:nth-child(4) p { color:rgba(255,255,255,.62); }
.benefit-strip article:nth-child(2) { background:linear-gradient(145deg,#caff43,var(--lime)); }
.benefit-strip article:nth-child(2)>span { background:#151815; color:var(--lime); box-shadow:0 12px 32px rgba(17,19,18,.2); }
.benefit-strip article:nth-child(2)::after { background:radial-gradient(circle,rgba(255,255,255,.65),rgba(255,255,255,.08) 58%,transparent 72%); }
.benefit-strip article:nth-child(2) p { color:rgba(17,19,18,.66); }
.benefit-strip article:hover { transform:translateY(-9px); box-shadow:0 30px 65px rgba(18,22,18,.16); border-color:rgba(186,244,45,.5); }
.benefit-strip article:hover::after { transform:scale(1.18) translate(-8px,8px); }
.benefit-strip article:hover>span { transform:rotate(5deg) scale(1.09); box-shadow:0 18px 38px rgba(120,158,26,.32); }

.class-card { background:#20251f; border:1px solid rgba(255,255,255,.09); border-radius:24px; isolation:isolate; }
.class-card:nth-child(2) { background:#eae8e0; color:var(--ink); }
.class-card:nth-child(3) { background:var(--lime); color:var(--ink); }
.class-card:nth-child(4) { background:#253125; }
.class-card:nth-child(5) { background:#dedbd1; color:var(--ink); }
.class-card__orb { position:absolute; width:330px; height:330px; border:1px solid currentColor; opacity:.1; border-radius:50%; right:-95px; top:-105px; transition:transform .6s ease; }
.class-card__orb::before,.class-card__orb::after { content:""; position:absolute; border:1px solid currentColor; border-radius:50%; }
.class-card__orb::before { inset:34px -34px; }.class-card__orb::after { inset:-34px 34px; }
.class-card__icon { position:absolute; right:8%; top:12%; width:clamp(80px,9vw,150px); height:clamp(80px,9vw,150px); stroke-width:.8; opacity:.82; color:var(--lime); transition:transform .55s ease,opacity .35s; }
.class-card:nth-child(2) .class-card__icon,.class-card:nth-child(3) .class-card__icon,.class-card:nth-child(5) .class-card__icon { color:var(--ink); }
.class-card__content p { color:currentColor; opacity:.62; }
.class-card:hover .class-card__icon { transform:translate(-8px,8px) rotate(-6deg) scale(1.08); opacity:1; }
.class-card:hover .class-card__orb { transform:scale(1.1) rotate(8deg); }

.method__visual-art { background:#171b17; color:var(--lime); overflow:hidden; display:grid; place-items:center; border-radius:28px; }
.method__visual-art>svg { width:52%; height:52%; stroke-width:.55; position:relative; z-index:2; animation:slowSpin 24s linear infinite; }
.method__rings { position:absolute; width:72%; aspect-ratio:1; border:1px solid rgba(186,244,45,.28); border-radius:50%; }
.method__rings::before,.method__rings::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(186,244,45,.15); }
.method__rings::before { inset:10% -10%; }.method__rings::after { inset:-10% 10%; }
.method__metric { position:absolute; top:38px; left:38px; color:white; font-size:14px; letter-spacing:1px; font-weight:700; }
.method__metric strong { display:block; color:var(--lime); font-size:44px; line-height:1; letter-spacing:-.06em; margin-bottom:8px; }
.method__metric--bottom { top:auto; left:auto; right:38px; bottom:38px; text-align:right; }
@keyframes slowSpin { to { transform:rotate(360deg); } }

.post-card__visual { height:330px; position:relative; overflow:hidden; display:grid; place-items:center; background:#dfe6d0; border-radius:22px; }
.post-card--2 .post-card__visual { background:#171b17; color:var(--lime); }
.post-card--3 .post-card__visual { background:var(--lime); }
.post-card__visual::before { content:""; position:absolute; width:240px; height:240px; border:1px solid currentColor; border-radius:50%; opacity:.18; box-shadow:0 0 0 42px rgba(17,19,18,.04),0 0 0 84px rgba(17,19,18,.025); }
.post-card__visual>svg { width:105px; height:105px; stroke-width:.9; position:relative; z-index:2; transition:transform .45s; }
.post-card__visual>span { position:absolute; right:18px; top:18px; width:46px; height:46px; border-radius:50%; background:var(--white); color:var(--ink); display:grid; place-items:center; transition:transform .3s; }
.post-card__visual>b { position:absolute; left:20px; bottom:14px; font-size:56px; line-height:1; letter-spacing:-.07em; opacity:.12; }
.post-card:hover .post-card__visual>svg { transform:scale(1.08) rotate(-6deg); }
.post-card:hover .post-card__visual>span { transform:rotate(45deg); }

.premium-footer { padding-top:0; overflow:hidden; }
.footer-lead { min-height:390px; border-bottom:1px solid rgba(255,255,255,.13); display:grid; grid-template-columns:1.4fr .6fr; align-items:end; gap:6vw; padding:80px 0 72px; }
.footer-lead>div>span { color:var(--lime); font-size:14px; letter-spacing:2.2px; font-weight:800; }
.footer-lead h2 { font-size:clamp(48px,5.5vw,86px); line-height:.93; letter-spacing:-.065em; margin:30px 0 0; }
.footer-lead h2 em { color:var(--lime); }
.footer-lead>a { justify-self:end; min-height:64px; padding:0 26px; background:var(--lime); color:var(--ink); border-radius:14px; display:flex; align-items:center; gap:18px; font-size:14px; font-weight:800; }
.premium-footer .footer-main { padding-top:72px; position:relative; z-index:2; }
.premium-footer .footer-brand .brand__official { width:76px; height:76px; }
.premium-footer .footer-main a,.premium-footer .footer-main p { display:flex; align-items:flex-start; gap:9px; }
.premium-footer .footer-brand p { max-width:330px; }
.footer-social { color:var(--lime)!important; margin-top:10px; }
.footer-wordmark { font-size:clamp(160px,27vw,430px); font-weight:800; line-height:.66; letter-spacing:-.095em; color:rgba(255,255,255,.035); margin:70px 0 -5px; user-select:none; white-space:nowrap; }
.premium-footer .footer-bottom { position:relative; z-index:2; margin-top:0; }

.mega-menu__links { align-content:start; }
.nav-pilates-group { grid-row:span 6; }
.nav-pilates-group>a { min-height:46px; display:flex; align-items:center; border-bottom:1px solid var(--line); font-weight:700; font-size:15px; }
.mobile-submenu .nav-pilates-group>a { min-height:43px; border:0; color:white; }
.mobile-submenu .nav-pilates-group { display:block; }

.lime-button,.dark-button,.header-cta,.mobile-trigger { border-radius:14px; }
.schedule__card { border-radius:22px; }
.schedule__card>a { border-radius:14px; }
.contact-cta>a { border-radius:12px; padding:13px 18px; border:1px solid rgba(186,244,45,.45); }
.class-grid { gap:14px; }

@media (max-width:1100px) {
  .benefit-strip { grid-template-columns:1fr 1fr; }
  .benefit-strip article:nth-child(2) { border-right:1px solid var(--line); }
  .benefit-strip article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .footer-main { grid-template-columns:repeat(3,1fr); gap:44px 28px; }
  .footer-brand { grid-column:span 3; }
}

@media (max-width:760px) {
  .brand__official { width:48px; height:48px; }.brand__copy { font-size:14px; }
  .hero::before { inset:-2px; background-image:linear-gradient(180deg,rgba(7,11,8,.03) 0%,rgba(7,11,8,.06) 39%,rgba(7,11,8,.7) 70%,#0b0f0c 90%),url("../images/ibody-hero-cinematic-4k.webp"); background-position:center,68% calc(50% + 46px); background-size:cover,cover; background-repeat:no-repeat; filter:contrast(1.06) brightness(.97); }
  .hero::after { background:linear-gradient(90deg,transparent 76%,rgba(186,244,45,.06) 88%,rgba(186,244,45,.22) 100%),linear-gradient(180deg,transparent 25%,rgba(7,11,8,.04) 52%,rgba(7,11,8,.38) 78%); }
  .benefit-strip { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .benefit-strip { padding:16px 14px 20px; gap:12px; }.benefit-strip article { flex:0 0 84vw; min-height:270px; padding:30px 26px; border-radius:24px; scroll-snap-align:start; }.benefit-strip h3 { font-size:23px; max-width:245px; }.benefit-strip article>span { width:70px; height:70px; }.benefit-strip article::before { top:27px; left:26px; }
  .class-card { flex-basis:84vw; }.class-card__icon { width:132px; height:132px; top:15%; right:9%; }.class-card__orb { width:310px; height:310px; }
  .method__visual-art { height:520px; }.method__visual-art>svg { width:62%; height:62%; }.method__metric { top:27px; left:25px; }.method__metric--bottom { left:auto; top:auto; right:25px; bottom:27px; }
  .post-card__visual { height:300px; }
  .footer-lead { min-height:480px; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; padding:70px 0; }
  .footer-lead h2 { font-size:50px; }.footer-lead>a { justify-self:auto; min-height:58px; width:100%; justify-content:center; padding:0 15px; }
  .premium-footer .footer-main { grid-template-columns:1fr; }.premium-footer .footer-brand { grid-column:1; }.footer-wordmark { font-size:44vw; margin-top:60px; }
  .premium-footer .footer-bottom span:nth-child(2) { display:none; }
  .academy-mobile-nav { padding:18px 26px 12px; }
  .academy-mobile-nav>a { min-height:66px; display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.11); font-size:20px; font-weight:600; letter-spacing:-.4px; }
  .mobile-branch summary { grid-template-columns:1fr auto; min-height:66px; font-size:20px; }
  .mobile-submenu { padding-left:0; border-left:2px solid rgba(186,244,45,.55); margin:0 0 18px 4px; }
  .mobile-submenu { border-radius:0 16px 16px 0; overflow:hidden; background:rgba(255,255,255,.025); }
  .mobile-submenu>a,.mobile-submenu .nav-pilates-group>a { min-height:42px; padding-left:18px; font-size:15px; color:rgba(255,255,255,.76); }
  .mobile-submenu>.nav-third-level,.mobile-submenu .nav-third-level { margin-left:18px; }
  .mobile-submenu--simple { padding-bottom:7px; }
  .mobile-second-level { border-bottom:1px solid rgba(255,255,255,.1); }
  .mobile-second-level>summary { min-height:48px; padding-left:18px; grid-template-columns:1fr auto; color:white; font-size:16px; font-weight:700; }
  .mobile-second-level[open]>summary svg { transform:rotate(180deg); }
  .mobile-third-level { margin:2px 0 12px 18px; padding-left:16px; border-left:2px solid var(--lime); display:flex; flex-direction:column; }
  .mobile-third-level { border-radius:0 12px 12px 0; overflow:hidden; }
  .mobile-third-level>a { min-height:42px; display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.7); font-size:14px; font-weight:600; }
  .academy-dock { grid-template-columns:repeat(5,1fr); }
  .academy-dock a { min-width:0; font-size:12px; line-height:1.1; letter-spacing:-.35px; gap:3px; white-space:nowrap; }
  .academy-dock .dock-logo img { width:22px; height:22px; object-fit:contain; border-radius:50%; transition:transform .3s ease; }
  .academy-dock .dock-logo:hover img { transform:scale(1.08) rotate(4deg); }
  .academy-dock--compact .dock-logo img { width:23px; height:23px; }
  .class-card__content h3 { font-size:38px; }
}

@media (max-width:370px) {
  .academy-dock a { font-size:11px; letter-spacing:-.45px; }
}

/* Team page — isolated premium redesign */
.team-page { background:#101310; }
.team-hero { min-height:820px; height:94svh; position:relative; overflow:hidden; color:white; background:#0e110e; }
.team-hero__gallery { position:absolute; inset:0 0 0 38%; display:grid; grid-template-columns:1.08fr .92fr; gap:2px; }
.team-hero__portrait { position:relative; overflow:hidden; }
.team-hero__portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:saturate(.78) contrast(1.06); transition:transform 1.1s cubic-bezier(.2,.75,.25,1),filter .6s; }
.team-hero__portrait--2 img { object-position:center 14%; }
.team-hero__portrait--3 img { object-position:center 16%; }
.team-hero__portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,10,7,.54),transparent 50%),linear-gradient(90deg,rgba(7,10,7,.24),transparent); }
.team-hero:hover .team-hero__portrait img { transform:scale(1.025); filter:saturate(.95) contrast(1.05); }
.team-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,#0b0f0c 0%,rgba(11,15,12,.96) 33%,rgba(11,15,12,.38) 58%,rgba(11,15,12,.05) 100%),linear-gradient(0deg,rgba(11,15,12,.72),transparent 48%); }
.team-hero__shade::after { content:""; position:absolute; right:0; top:0; bottom:0; width:7px; background:var(--lime); box-shadow:0 0 55px rgba(186,244,45,.45); }
.team-hero__copy { position:absolute; z-index:2; left:6.8vw; top:51%; transform:translateY(-44%); width:min(800px,58vw); }
.team-hero__copy>p { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2.4px; margin:0 0 28px; }
.team-hero__copy h1 { font-size:clamp(70px,8.3vw,132px); line-height:.84; letter-spacing:-.075em; margin:0 0 38px; }
.team-hero__copy h1 em { color:var(--lime); font-weight:400; }
.team-hero__copy>span { display:block; max-width:610px; color:rgba(255,255,255,.72); font-size:18px; line-height:1.72; }
.team-hero__count { position:absolute; z-index:2; left:6.8vw; bottom:34px; display:flex; align-items:flex-end; gap:14px; }
.team-hero__count strong { color:var(--lime); font-size:52px; line-height:.84; letter-spacing:-.08em; }
.team-hero__count span { font-size:14px; font-weight:700; line-height:1.35; letter-spacing:1.1px; }
.team-intro { background:var(--paper); display:grid; grid-template-columns:.62fr 1.8fr; gap:8vw; align-items:start; }
.team-intro h2 { margin:0 0 40px; font-size:clamp(48px,6vw,90px); line-height:.92; letter-spacing:-.065em; }
.team-intro h2 em { color:#7fa020; font-weight:400; }
.team-intro p { max-width:850px; margin:0; font-size:20px; line-height:1.75; color:#5d625d; }
.team-showcase { padding:105px 4.3vw 130px; background:#101310; color:white; }
.team-showcase__head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin:0 0 42px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.13); }
.team-showcase__head span { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2px; }
.team-showcase__head p { margin:0; color:rgba(255,255,255,.56); font-size:15px; }
.team-grid--premium { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.team-grid--premium .team-card { min-height:580px; padding:0; position:relative; overflow:hidden; border-radius:28px; background:#1b201b; color:white; border:1px solid rgba(255,255,255,.1); isolation:isolate; }
.team-grid--premium .team-card--featured { grid-column:span 2; min-height:720px; }
.team-card__media { position:absolute; inset:0; overflow:hidden; }
.team-card__media img { width:100%; height:100%; object-fit:cover; object-position:center 14%; filter:saturate(.8) contrast(1.02); transition:transform .75s cubic-bezier(.2,.75,.25,1),filter .5s; }
.team-card__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,10,7,.96) 0%,rgba(7,10,7,.38) 36%,transparent 63%); }
.team-card__number { position:absolute; top:24px; left:25px; color:white; font-size:14px; font-weight:800; letter-spacing:1.4px; }
.team-card__copy { position:absolute; z-index:2; left:28px; right:28px; bottom:27px; }
.team-card__copy>span { display:block; padding:0 0 12px; color:var(--lime); font-size:14px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; }
.team-card__copy h3 { margin:0; font-size:clamp(25px,2.25vw,38px); line-height:1.04; letter-spacing:-.055em; }
.team-card__monogram { position:absolute; z-index:2; right:22px; top:20px; width:48px; height:48px; border-radius:50%; background:var(--lime); color:#111; display:grid; place-items:center; font-size:15px; font-weight:800; transform:rotate(-6deg); transition:transform .45s; }
.team-grid--premium .team-card__number,.team-grid--premium .team-card__monogram { padding:0; }
.team-card:hover .team-card__media img { transform:scale(1.055); filter:saturate(1) contrast(1.03); }
.team-card:hover .team-card__monogram { transform:rotate(7deg) scale(1.08); }
.team-card:nth-child(5) .team-card__shade { background:linear-gradient(0deg,rgba(7,10,7,.92),rgba(7,10,7,.08) 64%); }
.team-page .inner-cta { border-radius:36px 36px 0 0; }

@media (max-width:1000px) {
  .team-hero__gallery { left:30%; grid-template-columns:1fr 1fr; }.team-hero__portrait--3 { display:none; }
  .team-grid--premium { grid-template-columns:repeat(2,1fr); }.team-grid--premium .team-card--featured { grid-column:span 1; min-height:640px; }
}

@media (max-width:760px) {
  .team-hero { min-height:720px; height:88svh; }.team-hero__gallery { inset:0; display:block; }.team-hero__portrait { display:none; }.team-hero__portrait--1 { display:block; width:100%; height:100%; }.team-hero__portrait--1 img { object-position:58% 12%; }
  .team-hero__shade { background:linear-gradient(0deg,#0b0f0c 0%,rgba(11,15,12,.78) 43%,rgba(11,15,12,.12) 78%),linear-gradient(90deg,rgba(11,15,12,.38),transparent); }.team-hero__shade::after { width:4px; }
  .team-hero__copy { left:20px; right:20px; top:auto; bottom:95px; width:auto; transform:none; }.team-hero__copy>p { font-size:14px; line-height:1.5; margin-bottom:17px; }.team-hero__copy h1 { font-size:clamp(54px,15.5vw,72px); line-height:.87; margin-bottom:22px; }.team-hero__copy>span { font-size:15px; line-height:1.6; }.team-hero__count { left:20px; bottom:24px; }.team-hero__count strong { font-size:40px; }
  .team-intro { display:block; padding:82px 20px; }.team-intro .section-label { margin-bottom:38px; }.team-intro h2 { font-size:46px; }.team-intro p { font-size:17px; }
  .team-showcase { padding:75px 14px 95px; }.team-showcase__head { display:block; margin:0 6px 28px; }.team-showcase__head p { margin-top:12px; line-height:1.6; }
  .team-grid--premium { display:block; }.team-grid--premium .team-card,.team-grid--premium .team-card--featured { min-height:590px; margin-bottom:14px; border-radius:24px; }.team-card__copy h3 { font-size:31px; }.team-card__copy { left:23px; right:23px; bottom:24px; }.team-card__monogram { width:44px; height:44px; }
  .team-page .inner-cta { border-radius:28px 28px 0 0; }
}

/* Premium homepage motion system */
.hero { --hero-shift:0px; }
.hero::before { inset:-45px; animation:heroCinematicDrift 16s ease-in-out infinite alternate; will-change:transform; }
.hero__wash { animation:heroLightSweep 8s ease-in-out infinite alternate; }
.hero__content>* { animation:heroElementIn .85s cubic-bezier(.2,.75,.25,1) both; }
.hero__content>*:nth-child(1) { animation-delay:.1s; }
.hero__content>*:nth-child(2) { animation-delay:.2s; }
.hero__content>*:nth-child(3) { animation-delay:.32s; }
.hero__content>*:nth-child(4) { animation-delay:.44s; }
.hero__bottom>div { animation:heroStatIn .7s cubic-bezier(.2,.75,.25,1) both; animation-delay:.65s; }
.hero__bottom>div:nth-child(2) { animation-delay:.78s; }
.hero__bottom>a svg { animation:scrollPulse 1.8s ease-in-out infinite; }
.lime-button,.dark-button,.header-cta,.schedule__card>a,.contact-cta>a { overflow:hidden; position:relative; }
.lime-button::before,.header-cta::before { content:""; position:absolute; inset:-40% auto -40% -55%; width:38%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-18deg); transition:left .65s ease; }
.lime-button:hover::before,.header-cta:hover::before { left:120%; }
.lime-button svg,.dark-button svg,.text-link svg,.line-link svg,.all-classes svg,.schedule__card a svg,.contact-cta a svg { transition:transform .3s cubic-bezier(.2,.75,.25,1); }
.lime-button:hover svg,.dark-button:hover svg,.text-link:hover svg,.line-link:hover svg,.all-classes:hover svg,.schedule__card a:hover svg,.contact-cta a:hover svg { transform:translate(4px,-4px); }

.motion-section { opacity:0; transform:translateY(56px); transition:opacity .9s ease,transform .9s cubic-bezier(.2,.75,.25,1); }
.motion-section.is-visible { opacity:1; transform:none; }
.motion-section .motion-stagger-item { animation-duration:.72s; animation-timing-function:cubic-bezier(.2,.75,.25,1); animation-fill-mode:backwards; animation-play-state:paused; }
.motion-section.is-visible .motion-stagger-item { animation-name:motionItemLift; animation-play-state:running; }
.motion-stagger-item:nth-child(1) { animation-delay:.08s; }
.motion-stagger-item:nth-child(2) { animation-delay:.16s; }
.motion-stagger-item:nth-child(3) { animation-delay:.24s; }
.motion-stagger-item:nth-child(4) { animation-delay:.32s; }
.motion-stagger-item:nth-child(5) { animation-delay:.4s; }

.method__rings { animation:ringBreathe 5s ease-in-out infinite; }
.method__rings::before { animation:ringOrbit 14s linear infinite; }
.method__rings::after { animation:ringOrbit 18s linear infinite reverse; }
.clinical__number { animation:numberDrift 7s ease-in-out infinite alternate; }
.clinical__orb { animation:clinicalOrbit 16s ease-in-out infinite alternate; }
.schedule__card { transition:transform .35s ease,box-shadow .35s ease; }
.schedule__card:hover { transform:translateY(-8px); box-shadow:0 28px 75px rgba(22,25,21,.14); }
.post-card__visual::before { animation:postRingPulse 5s ease-in-out infinite; }
.post-card:nth-child(2) .post-card__visual::before { animation-delay:.65s; }
.post-card:nth-child(3) .post-card__visual::before { animation-delay:1.3s; }
.contact-cta::before { animation:ctaPulse 6s ease-in-out infinite; }
.contact-cta::after { animation:ctaPulse 6s 1s ease-in-out infinite reverse; }
.contact-cta h2 em { display:inline-block; animation:limeWordGlow 3.2s ease-in-out infinite; }

@keyframes heroCinematicDrift {
  from { transform:translate3d(0,var(--hero-shift),0) scale(1.03); }
  to { transform:translate3d(-1.1%,var(--hero-shift),0) scale(1.085); }
}
@keyframes heroLightSweep { from { opacity:.68; transform:translateX(-2%); } to { opacity:1; transform:translateX(3%); } }
@keyframes heroElementIn { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }
@keyframes heroStatIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes scrollPulse { 0%,100% { transform:translateY(0); } 50% { transform:translateY(8px); } }
@keyframes motionItemLift { from { opacity:0; transform:translateY(34px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes ringBreathe { 0%,100% { transform:scale(.96); opacity:.6; } 50% { transform:scale(1.04); opacity:1; } }
@keyframes ringOrbit { to { transform:rotate(360deg); } }
@keyframes numberDrift { from { transform:translate3d(-10px,0,0); } to { transform:translate3d(22px,12px,0); } }
@keyframes clinicalOrbit { from { transform:rotate(-12deg) translateY(-7px); } to { transform:rotate(6deg) translateY(9px); } }
@keyframes postRingPulse { 0%,100% { transform:scale(.88); opacity:.12; } 50% { transform:scale(1.08); opacity:.25; } }
@keyframes ctaPulse { 0%,100% { transform:scale(.84); opacity:.45; } 50% { transform:scale(1.08); opacity:1; } }
@keyframes limeWordGlow { 0%,100% { text-shadow:0 0 0 rgba(186,244,45,0); } 50% { text-shadow:0 0 34px rgba(186,244,45,.24); } }

@media (max-width:760px) {
  .hero::before { inset:-30px; animation-duration:13s; }
  .motion-section { transform:translateY(36px); }
  .clinical__orb { animation-duration:12s; }
}

@media (prefers-reduced-motion:reduce) {
  .motion-section { opacity:1!important; transform:none!important; }
  .motion-section .motion-stagger-item { animation:none!important; }
}

/* Sticky contact popup */
.message-fab { position:fixed; z-index:49; right:28px; bottom:28px; min-height:58px; padding:0 22px 0 16px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:#111512; color:white; box-shadow:0 18px 48px rgba(4,8,5,.32); display:flex; align-items:center; gap:11px; font:800 14px/1 "Manrope",sans-serif; letter-spacing:1px; cursor:pointer; transition:transform .3s,background .3s,color .3s,border-color .3s; }
.message-fab svg { width:27px; height:27px; color:var(--lime); stroke-width:1.7; transition:transform .3s; }
.message-fab:hover { transform:translateY(-5px); background:var(--lime); color:var(--ink); border-color:var(--lime); }
.message-fab:hover svg { color:var(--ink); transform:rotate(-7deg) scale(1.08); }
.message-dialog { width:min(680px,calc(100vw - 32px))!important; max-width:680px!important; max-height:calc(100svh - 32px); overflow-y:auto; padding:44px!important; border:1px solid rgba(186,244,45,.25)!important; border-radius:28px!important; background:#111512!important; color:white!important; box-shadow:0 35px 100px rgba(0,0,0,.48)!important; }
.message-dialog>button { top:22px!important; right:22px!important; color:white; }
.message-dialog__eyebrow { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2px; }
.message-dialog [data-slot="dialog-title"] { margin:17px 0 12px; color:white; font-size:clamp(34px,5vw,54px); line-height:.94; letter-spacing:-.055em; }
.message-dialog [data-slot="dialog-description"] { max-width:530px; color:rgba(255,255,255,.62); font-size:15px; line-height:1.65; }
.message-form { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.message-form label { display:flex; flex-direction:column; gap:8px; color:rgba(255,255,255,.72); font-size:14px; font-weight:800; letter-spacing:1px; }
.message-form label:last-of-type { grid-column:1/3; }
.message-form input,.message-form textarea { width:100%; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(255,255,255,.055); color:white; padding:14px 15px; outline:0; font:14px "Manrope",sans-serif; transition:border-color .25s,background .25s; }
.message-form input:focus,.message-form textarea:focus { border-color:var(--lime); background:rgba(255,255,255,.085); }
.message-form textarea { resize:vertical; }
.message-form button { grid-column:1/3; min-height:58px; border:0; border-radius:14px; background:var(--lime); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:14px; font:800 14px "Manrope",sans-serif; cursor:pointer; }

/* About page — experience and Group of Brands */
.about-experience { display:flex; flex-direction:column; gap:80px; }
.experience-boxes { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.experience-boxes article { min-height:285px; padding:28px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,#fdfcf7,#ebe9e1); display:flex; flex-direction:column; align-items:flex-start; position:relative; overflow:hidden; transition:transform .35s,box-shadow .35s,border-color .35s; }
.experience-boxes article::after { content:""; position:absolute; width:170px; height:170px; right:-75px; top:-75px; border-radius:50%; background:radial-gradient(circle,rgba(186,244,45,.65),rgba(186,244,45,.08) 60%,transparent 71%); transition:transform .5s; }
.experience-boxes article>svg { width:46px; height:46px; padding:10px; border-radius:14px; background:var(--lime); stroke-width:1.6; position:relative; z-index:2; }
.experience-boxes strong { margin-top:auto; color:#78951d; font-size:42px; line-height:1; letter-spacing:-.06em; }
.experience-boxes h3 { margin:12px 0 9px; font-size:20px; line-height:1.15; letter-spacing:-.04em; }
.experience-boxes p { margin:0; color:#6b706b; font-size:14px; line-height:1.6; }
.experience-boxes article:hover { transform:translateY(-8px); border-color:rgba(137,177,31,.55); box-shadow:0 25px 65px rgba(16,20,16,.12); }
.experience-boxes article:hover::after { transform:scale(1.18) translate(-8px,8px); }
.brands-section { padding:82px 5vw 55px; border-radius:36px; background:#101310; color:white; position:relative; overflow:hidden; isolation:isolate; }
.brands-section::before { content:""; position:absolute; width:650px; height:650px; left:50%; top:160px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(circle,rgba(186,244,45,.12),transparent 64%); z-index:-1; }
.brands-section__head { text-align:center; max-width:850px; margin:0 auto; }
.brands-section__head>span { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2.4px; }
.brands-section__head h2 { margin:22px 0 18px; font-size:clamp(58px,7vw,105px); line-height:.86; letter-spacing:-.075em; }
.brands-section__head h2 em { color:var(--lime); font-weight:400; }
.brands-section__head p { margin:0 auto; max-width:640px; color:rgba(255,255,255,.58); font-size:16px; line-height:1.7; }
.brands-network { width:min(420px,78vw); aspect-ratio:1; margin:28px auto 45px; position:relative; display:grid; place-items:center; }
.brands-network::before,.brands-network::after { content:""; position:absolute; inset:17%; border:1px solid rgba(186,244,45,.24); border-radius:44% 56% 58% 42%/54% 44% 56% 46%; animation:brandShape 10s ease-in-out infinite alternate; }
.brands-network::after { inset:29%; border-color:rgba(255,255,255,.14); animation-duration:8s; animation-direction:alternate-reverse; }
.brands-network__orbit { position:absolute; inset:8%; border:1px solid rgba(255,255,255,.16); border-radius:50%; animation:brandOrbit 20s linear infinite; }
.brands-network__orbit::before,.brands-network__orbit::after { content:""; position:absolute; inset:17% -9%; border:1px solid rgba(186,244,45,.2); border-radius:50%; transform:rotate(55deg); }
.brands-network__orbit::after { transform:rotate(-55deg); }
.brands-network__orbit i { position:absolute; width:18px; height:18px; border-radius:50%; background:var(--lime); box-shadow:0 0 28px rgba(186,244,45,.7); }
.brands-network__orbit i:nth-child(1) { left:48%; top:-9px; }.brands-network__orbit i:nth-child(2) { right:2%; bottom:19%; }.brands-network__orbit i:nth-child(3) { left:4%; bottom:16%; }
.brands-network__core { width:126px; height:126px; border-radius:50%; background:var(--lime); color:var(--ink); display:grid; place-items:center; position:relative; box-shadow:0 0 55px rgba(186,244,45,.25); }
.brands-network__core svg { width:78px; height:78px; opacity:.38; animation:brandOrbit 12s linear infinite reverse; }
.brands-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid rgba(255,255,255,.16); position:relative; z-index:2; }
.brand-card { min-height:410px; padding:44px 36px 18px; border:0; border-right:1px solid rgba(255,255,255,.16); border-radius:0; background:transparent; display:grid; grid-template-rows:150px 76px auto auto; align-items:start; transition:transform .35s; }
.brand-card:last-child { border-right:0; }
.brand-card:hover { transform:translateY(-6px); }
.brand-card__visual { width:100%; height:140px; display:flex; align-items:center; justify-content:flex-start; }
.brand-card__visual img { width:118px; height:118px; object-fit:contain; }
.brand-card__visual .brand-card__academy-logo { width:min(285px,88%); height:118px; object-position:left center; }
.brand-card h3 { align-self:end; margin:0 0 15px; font-size:clamp(25px,2.1vw,34px); line-height:1.02; letter-spacing:-.05em; }
.brand-card p { margin:0; color:rgba(255,255,255,.6); font-size:14px; line-height:1.7; }
.brand-card a { margin-top:25px; padding-bottom:8px; border-bottom:1px solid var(--lime); color:var(--lime); display:flex; align-items:center; gap:10px; font-size:14px; font-weight:800; }
.brand-card a svg { width:18px; transition:transform .3s; }.brand-card a:hover svg { transform:translate(4px,-4px); }
.brand-card--christina { overflow:visible; }
.brand-card__visual--portrait img { width:118px; height:118px; border-radius:50%; object-fit:cover; object-position:center 14%; border:2px solid rgba(186,244,45,.45); box-shadow:0 16px 42px rgba(0,0,0,.28); filter:saturate(.8); transition:transform .5s; }
.brand-card--christina:hover .brand-card__visual--portrait img { transform:scale(1.05); }
@keyframes brandOrbit { to { transform:rotate(360deg); } }
@keyframes brandShape { from { transform:rotate(-6deg) scale(.92); border-radius:44% 56% 58% 42%/54% 44% 56% 46%; } to { transform:rotate(8deg) scale(1.07); border-radius:61% 39% 43% 57%/42% 61% 39% 58%; } }

@media (max-width:1000px) {
  .experience-boxes { grid-template-columns:1fr 1fr; }
  .brands-grid { grid-template-columns:1fr; }
  .brand-card { min-height:340px; border-right:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .brand-card:last-child { border-bottom:0; }
}

@media (max-width:760px) {
  .message-fab { display:none; }
  .message-dialog { padding:33px 21px 24px!important; border-radius:24px!important; }
  .message-dialog [data-slot="dialog-title"] { font-size:36px; }
  .message-form { grid-template-columns:1fr; gap:14px; }
  .message-form label:last-of-type,.message-form button { grid-column:1; }
  .about-experience { gap:58px; }
  .experience-boxes { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-right:-20px; padding-right:20px; }
  .experience-boxes article { flex:0 0 82vw; min-height:270px; scroll-snap-align:start; }
  .brands-section { margin:0 -20px; padding:68px 20px 35px; border-radius:28px; }
  .brands-section__head h2 { font-size:57px; }
  .brands-network { width:min(330px,88vw); margin-bottom:34px; }
  .brands-network__core { width:104px; height:104px; }
  .brands-network__core svg { width:74px; height:74px; inset:15px; }
  .brands-grid { display:block; }
  .brand-card,.brand-card--christina { min-height:0; margin:0; padding:36px 8px; display:grid; grid-template-rows:132px auto auto auto; }
  .brand-card__visual { height:122px; }
  .brand-card__visual img,.brand-card__visual--portrait img { width:104px; height:104px; }
  .brand-card__visual .brand-card__academy-logo { width:min(245px,82%); height:104px; }
  .brand-card h3 { min-height:58px; align-self:start; }
}

/* Workshops & Events archive */
.events-experience { display:flex; flex-direction:column; gap:60px; }
.events-intro { max-width:880px; }
.events-intro>span { color:#7b971f; font-size:14px; font-weight:800; letter-spacing:2px; }
.events-intro h2 { margin:22px 0 24px; font-size:clamp(55px,7vw,104px); line-height:.86; letter-spacing:-.075em; }
.events-intro h2 em { color:#80a124; font-weight:400; }
.events-intro p { max-width:680px; margin:0; color:#656a65; font-size:17px; line-height:1.75; }
.events-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.event-archive-card { border:1px solid var(--line); border-radius:28px; background:#f5f3ec; overflow:hidden; transition:transform .35s,box-shadow .35s,border-color .35s; }
.event-archive-card:hover { transform:translateY(-8px); border-color:rgba(128,161,36,.55); box-shadow:0 28px 70px rgba(17,22,17,.13); }
.event-archive-card--featured { grid-column:1/3; display:grid; grid-template-columns:1.08fr .92fr; }
.event-archive-card__media { min-height:390px; position:relative; overflow:hidden; background:#151a16; }
.event-archive-card--featured .event-archive-card__media { min-height:560px; }
.event-archive-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,13,10,.02) 40%,rgba(10,13,10,.75)); pointer-events:none; }
.event-archive-card__media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .7s ease; }
.event-archive-card:hover .event-archive-card__media img { transform:scale(1.045); }
.event-archive-card__media>span { position:absolute; z-index:2; left:22px; bottom:22px; padding:10px 13px; border-radius:10px; background:var(--lime); color:var(--ink); font-size:14px; font-weight:800; letter-spacing:1.4px; }
.event-archive-card__media>b { position:absolute; z-index:2; top:22px; right:22px; color:white; font-size:15px; letter-spacing:1px; }
.event-archive-card__copy { padding:34px 34px 30px; display:flex; flex-direction:column; }
.event-archive-card--featured .event-archive-card__copy { padding:50px; justify-content:center; }
.event-archive-card__meta { display:flex; flex-wrap:wrap; gap:11px 18px; }
.event-archive-card__meta span { display:flex; align-items:center; gap:7px; color:#687068; font-size:14px; line-height:1.4; }
.event-archive-card__meta svg { width:16px; height:16px; color:#78991f; }
.event-archive-card h3 { margin:28px 0 16px; font-size:clamp(28px,3.1vw,46px); line-height:1; letter-spacing:-.055em; }
.event-archive-card p { margin:0; color:#606660; font-size:15px; line-height:1.72; }
.event-archive-card details { margin-top:30px; padding-top:19px; border-top:1px solid var(--line); }
.event-archive-card summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:14px; font-weight:800; cursor:pointer; }
.event-archive-card summary::-webkit-details-marker { display:none; }
.event-archive-card summary svg { width:19px; transition:transform .3s; }
.event-archive-card details[open] summary svg { transform:rotate(45deg); }
.event-archive-card details>div { padding-top:22px; }
.event-archive-card details a { margin-top:20px; display:inline-flex; gap:10px; color:#76951e; font-size:14px; font-weight:800; }
.event-gallery { margin-top:22px; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.event-gallery img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:12px; }

/* Protected lightweight administration */
.admin-access-page,.events-admin-page { min-height:100svh; padding:0 5vw 70px; background:#0b0f0c; color:white; }
.admin-access-page>header,.events-admin-page>header { min-height:100px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.13); }
.admin-access-page>header>a:last-child { color:rgba(255,255,255,.45); font-size:14px; font-weight:800; letter-spacing:1.5px; }
.events-admin-page>header>a { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.72); font-size:14px; font-weight:700; }
.admin-access-card { width:min(690px,100%); margin:9vh auto 0; padding:54px; border:1px solid rgba(255,255,255,.14); border-radius:32px; background:linear-gradient(145deg,#171d18,#0f1310); box-shadow:0 35px 100px rgba(0,0,0,.28); }
.admin-access-icon { width:70px; height:70px; margin-bottom:28px; border-radius:20px; background:var(--lime); color:var(--ink); display:grid; place-items:center; transform:rotate(-4deg); }
.admin-access-icon svg { width:32px; }
.admin-access-card>span,.events-admin-copy>span { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2px; }
.admin-access-card h1,.events-admin-copy h1 { margin:24px 0; font-size:clamp(45px,5vw,72px); line-height:.9; letter-spacing:-.065em; }
.admin-access-card h1 em,.events-admin-copy h1 em { color:var(--lime); font-weight:400; }
.admin-access-card>p,.events-admin-copy>p { color:rgba(255,255,255,.6); font-size:16px; line-height:1.7; }
.admin-access-card form { margin-top:34px; }
.admin-access-card label,.events-admin-form label { display:block; margin-bottom:8px; color:rgba(255,255,255,.7); font-size:14px; font-weight:800; letter-spacing:1px; }
.admin-access-card form>div { min-height:60px; padding:0 16px; border:1px solid rgba(255,255,255,.16); border-radius:14px; display:flex; align-items:center; gap:12px; }
.admin-access-card input,.events-admin-form input,.events-admin-form textarea { width:100%; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(255,255,255,.05); color:white; padding:14px 15px; outline:0; font:14px Manrope,sans-serif; }
.admin-access-card form>div input { padding:0; border:0; background:transparent; }
.admin-access-card input:focus,.events-admin-form input:focus,.events-admin-form textarea:focus { border-color:var(--lime); }
.admin-access-card button,.events-admin-form>button { width:100%; min-height:60px; margin-top:18px; border:0; border-radius:14px; background:var(--lime); color:var(--ink); font:800 14px Manrope,sans-serif; cursor:pointer; }
.admin-access-card button:disabled,.events-admin-form>button:disabled { opacity:.6; cursor:wait; }
.admin-access-error { margin:13px 0 0!important; color:#ff806e!important; font-size:14px!important; }
.events-admin-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; align-items:start; padding:70px 0; }
.events-admin-copy { position:sticky; top:40px; }
.events-admin-copy>div { margin-top:35px; padding:23px; border:1px solid rgba(255,255,255,.13); border-radius:20px; display:grid; grid-template-columns:50px 1fr; gap:4px 16px; }
.events-admin-copy>div svg { grid-row:1/3; width:48px; height:48px; padding:12px; border-radius:14px; background:var(--lime); color:var(--ink); }
.events-admin-copy>div strong { font-size:14px; letter-spacing:1px; }.events-admin-copy>div span { color:rgba(255,255,255,.52); font-size:14px; }
.events-admin-form { padding:36px; border:1px solid rgba(255,255,255,.14); border-radius:30px; background:linear-gradient(145deg,#171d18,#0f1310); display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.events-admin-form .full,.events-admin-image,.events-admin-status { grid-column:1/3; }
.events-admin-form textarea { resize:vertical; }
.events-admin-form small { color:rgba(255,255,255,.4); }
.events-admin-image { min-height:160px; margin:0!important; padding:25px; border:1px dashed rgba(186,244,45,.48); border-radius:18px; background:rgba(186,244,45,.05); display:flex!important; flex-direction:column; align-items:center; justify-content:center; gap:7px; cursor:pointer; text-align:center; }
.events-admin-image svg { width:34px; height:34px; color:var(--lime); }.events-admin-image span { color:rgba(255,255,255,.48); font-size:14px; font-weight:400; }.events-admin-image input { width:auto; margin-top:8px; padding:0; border:0; background:transparent; }
.events-admin-status { min-height:26px; display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.58); font-size:14px; }.events-admin-status svg { width:20px; color:var(--lime); }.events-admin-status--error svg { color:#ff806e; }

@media (max-width:900px) {
  .events-grid { grid-template-columns:1fr; }.event-archive-card--featured { grid-column:auto; display:block; }.event-archive-card--featured .event-archive-card__media { min-height:440px; }.event-archive-card--featured .event-archive-card__copy { padding:34px; }
  .events-admin-layout { grid-template-columns:1fr; }.events-admin-copy { position:static; }
}

@media (max-width:760px) {
  .events-experience { gap:40px; }.events-intro h2 { font-size:55px; }.events-grid { margin:0 -4px; gap:17px; }.event-archive-card { border-radius:22px; }.event-archive-card__media,.event-archive-card--featured .event-archive-card__media { min-height:390px; }.event-archive-card__copy,.event-archive-card--featured .event-archive-card__copy { padding:27px 22px 24px; }.event-archive-card h3 { font-size:32px; }.event-gallery { grid-template-columns:1fr 1fr; }
  .admin-access-page,.events-admin-page { padding:0 18px 45px; }.admin-access-page>header,.events-admin-page>header { min-height:84px; }.admin-access-page>header .brand__copy,.events-admin-page>header .brand__copy { display:none; }.admin-access-page>header>a:last-child { display:none; }.events-admin-page>header>a { max-width:145px; text-align:right; }
  .admin-access-card { margin-top:7vh; padding:34px 22px; border-radius:25px; }.admin-access-card h1 { font-size:44px; }
  .events-admin-layout { gap:42px; padding:48px 0; }.events-admin-copy h1 { font-size:48px; }.events-admin-form { padding:22px 18px; border-radius:24px; grid-template-columns:1fr; }.events-admin-form .full,.events-admin-image,.events-admin-status { grid-column:1; }
}

/* Events refinement: active first, four-column archive and dedicated details */
.events-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.event-archive-card,.event-archive-card--featured { grid-column:auto; display:block; border-radius:24px; }
.event-archive-card__link { height:100%; display:flex; flex-direction:column; color:inherit; }
.event-archive-card__media,.event-archive-card--featured .event-archive-card__media { min-height:300px; aspect-ratio:4/4.3; }
.event-archive-card__copy,.event-archive-card--featured .event-archive-card__copy { flex:1; padding:25px 22px 23px; justify-content:flex-start; }
.event-archive-card__meta { display:grid; gap:8px; }
.event-archive-card h3 { margin:21px 0 12px; font-size:clamp(23px,1.85vw,31px); }
.event-archive-card p { font-size:14px; }
.event-archive-card__more { margin-top:auto; padding-top:25px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#151815; font-size:14px; font-weight:800; }
.event-archive-card__more svg { width:19px; transition:transform .3s; }
.event-archive-card:hover .event-archive-card__more svg { transform:translate(4px,-4px); }
.events-empty { min-height:300px; padding:48px; border:1px solid var(--line); border-radius:28px; background:linear-gradient(135deg,#f8f6ef,#eeece4); display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.events-empty::after { content:""; position:absolute; width:360px; height:360px; right:-100px; top:-145px; border-radius:50%; border:1px solid rgba(128,161,36,.28); box-shadow:0 0 0 45px rgba(186,244,45,.05),0 0 0 90px rgba(128,161,36,.04); }
.events-empty>span { color:#78951d; font-size:14px; font-weight:800; letter-spacing:2px; }
.events-empty h3 { max-width:760px; margin:24px 0 0; font-size:clamp(35px,4vw,60px); line-height:.98; letter-spacing:-.055em; }
.events-history-toggle { padding-top:42px; border-top:1px solid var(--line); display:flex; justify-content:center; }
.events-history-toggle button { min-width:290px; min-height:62px; padding:0 24px; border:1px solid #161a17; border-radius:16px; background:#111512; color:white; display:flex; align-items:center; justify-content:center; gap:18px; font:800 14px Manrope,sans-serif; letter-spacing:.7px; cursor:pointer; transition:background .3s,color .3s,transform .3s; }
.events-history-toggle button:hover { background:var(--lime); color:var(--ink); transform:translateY(-3px); }
.events-history-toggle button svg { width:19px; transition:transform .3s; }.events-history-toggle button[aria-expanded="true"] svg { transform:rotate(180deg); }
.events-history { display:flex; flex-direction:column; gap:35px; animation:eventArchiveIn .45s ease-out both; }
.events-history__head { display:flex; align-items:end; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:20px; }
.events-history__head span { color:#78951d; font-size:14px; font-weight:800; letter-spacing:2px; }.events-history__head h3 { margin:0; font-size:clamp(28px,3vw,48px); letter-spacing:-.05em; }
@keyframes eventArchiveIn { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }

.event-detail-page { background:var(--paper); }
.event-detail-hero { min-height:760px; position:relative; display:flex; align-items:flex-end; overflow:hidden; background:#0b0f0c; color:white; }
.event-detail-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.event-detail-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,10,8,.9) 0%,rgba(7,10,8,.5) 48%,rgba(7,10,8,.15) 80%),linear-gradient(0deg,rgba(7,10,8,.82),transparent 52%); }
.event-detail-hero__copy { width:min(1120px,90vw); margin:0 auto; padding:190px 0 72px; position:relative; z-index:2; }
.event-detail-hero__copy>a { margin-bottom:54px; display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.72); font-size:14px; font-weight:800; }
.event-detail-hero__copy>a svg { width:18px; }
.event-detail-hero__copy>span { display:block; color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2px; }
.event-detail-hero h1 { max-width:1050px; margin:22px 0 27px; font-size:clamp(58px,7vw,108px); line-height:.88; letter-spacing:-.075em; }
.event-detail-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.68); font-size:17px; line-height:1.7; }
.event-detail-content { display:grid; grid-template-columns:1.35fr .65fr; gap:8vw; align-items:start; }
.event-detail-meta { padding-bottom:28px; border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:14px 25px; }
.event-detail-meta span { display:flex; align-items:center; gap:8px; color:#626862; font-size:14px; }.event-detail-meta svg { width:18px; color:#78951d; }
.event-detail-main h2 { margin:58px 0 30px; font-size:clamp(52px,5vw,78px); line-height:.88; letter-spacing:-.065em; }.event-detail-main h2 em { color:#7c9b21; font-weight:400; }
.event-detail-main>p { max-width:880px; color:#4f554f; font-size:18px; line-height:1.85; white-space:pre-line; }
.event-detail-content aside { padding:38px; border-radius:27px; background:#111512; color:white; position:sticky; top:110px; }
.event-detail-content aside>span { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:2px; }.event-detail-content aside h3 { margin:24px 0 17px; font-size:35px; line-height:1; letter-spacing:-.05em; }.event-detail-content aside p { color:rgba(255,255,255,.6); font-size:14px; line-height:1.7; }
.event-book-button { width:100%; min-height:60px; margin-top:26px; border:0; border-radius:15px; background:var(--lime); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:14px; font:800 14px Manrope,sans-serif; cursor:pointer; }.event-book-button svg { width:19px; }
.event-detail-gallery { margin-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }.event-detail-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:22px; }
.event-external-link { margin-top:38px; padding-bottom:9px; border-bottom:1px solid #78951d; color:#78951d; display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:800; }
.event-detail-state { min-height:70svh; padding:180px 5vw 100px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:25px; }.event-detail-state h1 { font-size:clamp(45px,7vw,90px); letter-spacing:-.065em; }.event-detail-state a { display:flex; gap:10px; font-size:14px; font-weight:800; }
.event-book-dialog { width:min(720px,calc(100vw - 32px))!important; max-width:720px!important; max-height:calc(100svh - 32px); overflow-y:auto; padding:44px!important; border:1px solid rgba(186,244,45,.25)!important; border-radius:28px!important; background:#111512!important; color:white!important; }
.event-book-dialog__eyebrow { color:var(--lime); font-size:14px; font-weight:800; letter-spacing:1.7px; }.event-book-dialog [data-slot="dialog-title"] { margin:18px 0 12px; color:white; font-size:clamp(40px,5vw,62px); line-height:.9; letter-spacing:-.06em; }.event-book-dialog [data-slot="dialog-title"] em { color:var(--lime); font-weight:400; }.event-book-dialog [data-slot="dialog-description"] { color:rgba(255,255,255,.62); font-size:14px; }
.event-book-form { margin-top:28px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }.event-book-form label { display:flex; flex-direction:column; gap:8px; color:rgba(255,255,255,.72); font-size:14px; font-weight:800; }.event-book-form label:last-of-type { grid-column:1/3; }.event-book-form input,.event-book-form textarea { width:100%; padding:14px 15px; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(255,255,255,.055); color:white; outline:0; font:14px Manrope,sans-serif; }.event-book-form input:focus,.event-book-form textarea:focus { border-color:var(--lime); }.event-book-form button { grid-column:1/3; min-height:58px; border:0; border-radius:14px; background:var(--lime); color:var(--ink); display:flex; align-items:center; justify-content:center; gap:12px; font:800 14px Manrope,sans-serif; cursor:pointer; }
.event-book-success { margin-top:28px; padding:30px; border:1px solid rgba(186,244,45,.24); border-radius:20px; background:rgba(186,244,45,.07); }.event-book-success strong { color:var(--lime); }.event-book-success p { margin:12px 0 0; color:rgba(255,255,255,.68); line-height:1.7; }

@media (max-width:1100px) { .events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.event-detail-content { grid-template-columns:1fr; }.event-detail-content aside { position:static; } }
@media (max-width:760px) {
  .events-grid { grid-template-columns:1fr; }.event-archive-card__media,.event-archive-card--featured .event-archive-card__media { min-height:360px; }.events-empty { min-height:270px; padding:32px 24px; }.events-history-toggle { padding-top:30px; }.events-history-toggle button { width:100%; min-width:0; }.events-history__head { display:block; }.events-history__head h3 { margin-top:10px; font-size:34px; }
  .event-detail-hero { min-height:760px; }.event-detail-hero>img { object-position:center; }.event-detail-hero__copy { width:auto; margin:0; padding:160px 20px 65px; }.event-detail-hero__copy>a { margin-bottom:42px; }.event-detail-hero h1 { font-size:55px; }.event-detail-hero p { font-size:15px; }.event-detail-content { display:block; }.event-detail-meta { display:grid; }.event-detail-main h2 { margin-top:45px; font-size:53px; }.event-detail-main>p { font-size:16px; }.event-detail-content aside { margin-top:50px; padding:30px 24px; }.event-detail-gallery { grid-template-columns:1fr; }.event-book-dialog { padding:33px 21px 24px!important; border-radius:24px!important; }.event-book-form { grid-template-columns:1fr; }.event-book-form label:last-of-type,.event-book-form button { grid-column:1; }
}

/* Final WordPress cascade guarantees */
.site-header.ibody-elementor-header { border-radius:0; }
.site-header.is-scrolled { height:82px; background:rgba(9,12,10,.94); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.ibody-menu .sub-menu { border-radius:18px; }
.ibody-menu>li:nth-child(3)>.sub-menu { border-radius:24px; }
.events-experience .events-grid { grid-template-columns:repeat(var(--event-columns,4),minmax(0,1fr)); }
.journal-grid { grid-template-columns:repeat(var(--post-columns,3),minmax(0,1fr)); }
.ibody-motion { opacity:0; transform:translateY(48px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1); }
.ibody-motion.is-visible { opacity:1; transform:none; }
body.ibody-modal-open { overflow:hidden; }
@media(max-width:1100px){.events-experience .events-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){.site-header.is-scrolled{height:82px}.events-experience .events-grid,.journal-grid{grid-template-columns:1fr}.message-fab{display:none!important;}}

/* Schedule upload: administrator sign-in and mobile-friendly uploader */
.admin-access-card form>div+label { margin-top:20px; }
.admin-access-card form>div span { color:var(--lime); font-size:20px; }
.schedule-upload-copy form { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.schedule-upload-copy form .schedule-upload-file { min-height:66px; padding:0 24px; border:1px solid rgba(186,244,45,.45); border-radius:16px; display:inline-flex; align-items:center; justify-content:center; color:var(--lime); font-size:14px; font-weight:800; cursor:pointer; }
.schedule-upload-copy form button { margin:0; }
.schedule-upload-status strong { color:var(--lime); }
@media(max-width:760px){.schedule-upload-copy form{display:grid}.schedule-upload-copy form .schedule-upload-file,.schedule-upload-copy form button{width:100%}}
