


:root{
  --cream:#F5EEDE;--cream-2:#EFE6D0;--panel:#F7F0DF;
  --blue:#4577FE;--orange:#FF8354;--orange-deep:#F0663A;
  --ink:#26232A;--muted:#6B6153;--line:#E2D7C0;
  --maxw:1150px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:'Figtree',sans-serif;background:var(--cream);color:var(--ink);line-height:1.62}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.disp{font-family:'Fraunces',serif;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 1;font-weight:560;line-height:1.04;letter-spacing:-.015em}
.disp em{font-style:italic;font-variation-settings:'opsz' 144,'SOFT' 40,'WONK' 1;color:var(--orange);font-weight:500}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--orange)}

/* section id divider */
.divider{max-width:var(--maxw);margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:12px}
.divider .id{font-family:ui-monospace,'Courier New',monospace;font-size:11px;letter-spacing:.06em;color:var(--blue);
  background:rgba(69,119,254,.08);border:1px solid rgba(69,119,254,.22);padding:3px 9px;border-radius:6px;white-space:nowrap}
.divider .ln{flex:1;height:1px;background:var(--line)}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(245,238,222,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hbar{max-width:var(--maxw);margin:0 auto;padding:14px 40px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand .seal{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--blue);display:grid;place-items:center;flex:none}
.brand .seal svg{width:26px;height:26px}
.brand .name{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40;font-weight:600;font-size:15.5px;line-height:1.15;color:var(--ink)}
.brand .name small{display:block;font-family:'Figtree';font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;gap:28px;align-items:center;font-size:14.5px;font-weight:500;color:var(--ink)}
.nav a{color:inherit;text-decoration:none}
.nav a:hover{color:var(--orange)}
.navcta{display:flex;align-items:center;gap:14px}
.pill{background:var(--blue);color:var(--cream);padding:10px 17px;border-radius:40px;font-weight:600;font-size:14px;text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.pill svg{width:15px;height:15px}
.burger{display:none;width:44px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:22px;height:22px}

/* buttons */
.btn{font-family:'Figtree';font-weight:600;font-size:15px;padding:14px 26px;border-radius:40px;cursor:pointer;border:1.5px solid transparent;transition:.2s;text-decoration:none;display:inline-flex;align-items:center;gap:9px}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 22px -8px rgba(255,131,84,.65),0 2px 5px rgba(38,35,42,.10)}
.btn-primary:hover{background:var(--orange-deep);box-shadow:0 14px 28px -8px rgba(240,102,58,.7),0 2px 6px rgba(38,35,42,.12);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--blue);color:var(--cream)}

/* sections */
.section{padding:82px 0}
.section.alt{background:var(--cream-2)}
.kicker{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.kicker .mark svg{width:20px;height:20px;display:block}
.kicker span{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--muted)}
h2.head{font-family:'Fraunces',serif;font-variation-settings:'opsz' 80,'WONK' 1;font-weight:560;font-size:40px;letter-spacing:-.01em;line-height:1.08;color:var(--ink);max-width:20ch}
h2.head em{font-style:italic;color:var(--orange);font-variation-settings:'opsz' 80,'SOFT' 40}
.lead{color:var(--muted);font-size:17px;max-width:58ch;margin-top:14px}

/* placeholder */
.ph{position:relative;max-width:100%;border-radius:16px;border:1.5px dashed rgba(38,35,42,.20);
  background:linear-gradient(135deg,rgba(69,119,254,.05),rgba(255,131,84,.05)),var(--cream-2);
  display:grid;place-items:center;text-align:center;color:var(--muted);overflow:hidden}
.ph .in{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px}
.ph .in svg{width:34px;height:34px;opacity:.5}
.ph .in .lab{font-size:12.5px;font-weight:600;letter-spacing:.04em}
.ph .in .sub{font-size:11px;opacity:.75}

/* hero */
.hero{position:relative;padding:6px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding-top:34px}
.hero h1{font-size:72px;margin:16px 0 0;color:var(--ink)}
.hero .sub{font-size:18.5px;color:var(--muted);max-width:31ch;margin-top:22px}
.cta-row{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.trust{display:flex;gap:28px;margin-top:42px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap}
.trust .t{font-size:13.5px;color:var(--muted)}
.trust .t b{display:block;font-family:'Fraunces',serif;font-variation-settings:'opsz' 40;font-size:25px;color:var(--ink);font-weight:600;line-height:1}
.trust .t b span{color:var(--orange)}
.trust .t b span.cu{color:var(--ink)}
.art,.art-ph{position:relative;aspect-ratio:4/4.5;border-radius:230px 230px 26px 26px;overflow:hidden}
.art{
  background:radial-gradient(120% 90% at 50% 12%,#6f97ff 0%,#4577fe 46%,#3560c8 100%);
  box-shadow:0 30px 60px -30px rgba(34,48,102,.5)}
.art .yantra{position:absolute;inset:0;display:grid;place-items:center;opacity:.95}
.art .yantra svg{width:78%;height:78%}
.art .cap{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;color:#E7ECFb;font-size:12px;
  background:linear-gradient(transparent,rgba(20,28,50,.65));display:flex;justify-content:space-between}
.floaty{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px;
  box-shadow:0 14px 30px -16px rgba(38,35,42,.4);font-size:12.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:9px}
.floaty .dot{width:9px;height:9px;border-radius:50%}
.f1{top:13%;left:-24px}.f2{bottom:15%;right:-20px}
@media(max-width:520px){.f1{right:auto;left:8px}.f2{left:auto;right:8px;bottom:8%}}

/* nosotros */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.stack-cards{display:flex;flex-direction:column;gap:18px;margin-top:30px}
.mini{background:var(--panel);border:1px solid rgba(38,35,42,.06);border-radius:16px;padding:24px 26px;box-shadow:0 10px 26px -20px rgba(38,35,42,.45)}
.mini h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:20px;color:var(--ink);margin-bottom:7px}
.mini p{font-size:15px;color:var(--muted)}
.nos-ph{aspect-ratio:4/5;min-height:340px}

/* clases */
.clase-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}
.clase{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px 30px 32px;transition:.2s}
.clase:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(38,35,42,.4)}
.clase .ic{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;margin-bottom:18px}
.clase .ic svg{width:27px;height:27px}
.clase.on .ic{background:rgba(69,119,254,.12)}
.clase.pr .ic{background:rgba(255,131,84,.14)}
.clase h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:23px;color:var(--ink);margin-bottom:8px}
.clase p{font-size:15px;color:var(--muted)}


/* clases: accent edge + bullet list */
.clase{position:relative}
.clase::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:18px 18px 0 0}
.clase.pr::before{background:var(--orange)}
.clase.on::before{background:var(--blue)}
.clase-list{list-style:none;margin-top:18px;padding-top:16px;border-top:1px solid rgba(38,35,42,.10);display:flex;flex-direction:column;gap:10px}
.clase-list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--muted)}
.clase-list li::before{content:'';position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%}
.clase.pr .clase-list li::before{background:var(--orange)}
.clase.on .clase-list li::before{background:var(--blue)}

/* formaciones */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.fcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s;text-decoration:none;color:inherit;display:block}
.fcard:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(38,35,42,.42)}
.fcard .top{height:140px;position:relative;display:grid;place-items:center}
.fcard.c1 .top{background:radial-gradient(120% 120% at 30% 20%,#5a86ff,#4577fe)}
.fcard.c2 .top{background:radial-gradient(120% 120% at 30% 20%,#ff9a6f,#ff7343)}
.fcard.c3 .top{background:radial-gradient(120% 120% at 30% 20%,#4577fe,#3560c8)}
.fcard .top svg{width:66px;height:66px;opacity:.95}
.fcard .body{padding:22px 24px 26px}
.fcard .body .lab{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fcard .body h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:22px;margin:7px 0 8px;color:var(--ink)}
.fcard .body p{font-size:14px;color:var(--muted);line-height:1.55}
.fcard .body .go{margin-top:16px;font-weight:600;font-size:14px;color:var(--orange);display:flex;align-items:center;gap:7px}

/* maestra (blue band) */
.maestra{background:var(--blue);color:#EAF0FF}
.maestra .two-col{gap:56px}
.maestra .eyebrow{color:#FFD9C8}
.maestra h2.head{color:#fff;max-width:16ch}
.maestra h2.head em{color:#FFCBB4}
.maestra p.body{font-size:16.5px;color:#E4ECFF;margin-top:18px;max-width:52ch}
.creds{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:12px}
.creds li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#EAF0FF}
.creds li svg{width:20px;height:20px;flex:none;margin-top:2px}
.mlinks{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.mlink{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  color:#fff;text-decoration:none;padding:10px 16px;border-radius:40px;font-size:14px;font-weight:600}
.mlink:hover{background:rgba(255,255,255,.2)}
.mlink svg{width:16px;height:16px}
.maestra-ph{aspect-ratio:4/5;min-height:400px;border-color:rgba(255,255,255,.4);
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03));color:#DCE6FF}
.maestra-ph .in svg{opacity:.7}

/* eventos */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.gallery .ph{aspect-ratio:3/4}
.gallery .ph.wide{grid-column:span 1}

/* institucional */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.logos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.logobox{aspect-ratio:16/7;border-radius:13px;border:1px dashed rgba(38,35,42,.2);background:var(--panel);
  display:grid;place-items:center;color:var(--muted);font-size:12.5px;font-weight:600;text-align:center;padding:10px}

/* contacto */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:stretch}
.cbox{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:38px 40px}
.cbox h2.head{font-size:34px}
.crow{display:flex;gap:13px;align-items:center;margin-top:18px;font-size:15.5px;color:var(--ink)}
.crow svg{width:20px;height:20px;flex:none;color:var(--orange)}
.socials{display:flex;gap:12px;margin-top:26px}
.soc{width:44px;height:44px;border-radius:12px;background:var(--cream-2);border:1px solid var(--line);display:grid;place-items:center}
.soc svg{width:20px;height:20px}
.map-ph{border-radius:20px;min-height:360px}

/* footer */
footer{background:var(--blue);color:#EEF3FF;padding:56px 0 34px;border-radius:30px 30px 0 0}
.fgrid{display:grid;grid-template-columns:1.4fr 1.5fr;gap:48px;align-items:center}.fcols{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end}
footer .fbrand .disp{color:#fff;font-size:23px}
footer .fbrand em{color:var(--orange)}
footer .fbrand p{color:#D6E0FF;font-size:14px;margin-top:12px;max-width:34ch}
footer h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#B9C8FF;margin-bottom:14px;font-weight:700}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer a{color:#EAF0FF;text-decoration:none;font-size:14.5px}
footer a:hover{color:#fff;text-decoration:underline}
.fbottom{border-top:1px solid rgba(255,255,255,.2);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;font-size:12.5px;color:#C6D3FF;flex-wrap:wrap;gap:10px}


/* count-up: reserve width so numbers don't reflow */
.cu{font-variant-numeric:tabular-nums}
/* floating whatsapp */
.wa-float{position:fixed;right:26px;bottom:26px;z-index:80;width:60px;height:60px;border-radius:50%;
  background:var(--orange);display:grid;place-items:center;text-decoration:none;
  box-shadow:0 12px 26px -8px rgba(255,131,84,.7),0 3px 8px rgba(38,35,42,.18)}
.wa-float svg{width:32px;height:32px;color:#fff;position:relative;z-index:2}
.wa-float::before,.wa-float::after{content:'';position:absolute;inset:0;border-radius:50%;
  border:2px solid var(--blue);animation:wapulse 6s ease-out infinite}
.wa-float::after{animation-delay:.6s}
.wa-float:hover{background:var(--orange-deep)}
@keyframes wapulse{0%{transform:scale(1);opacity:.55}12%{opacity:.45}22%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@media(prefers-reduced-motion:reduce){.wa-float::before,.wa-float::after{animation:none}}
@media(max-width:520px){.wa-float{right:18px;bottom:18px;width:54px;height:54px}.wa-float svg{width:29px;height:29px}}


/* scroll-down mouse cue */
.scrollcue{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-left:2px}
.mouse{width:26px;height:40px;border:2px solid var(--muted);border-radius:16px;display:flex;justify-content:center;padding-top:7px;opacity:.8;transition:.2s}
.scrollcue:hover .mouse{border-color:var(--orange);opacity:1}
.wheel{width:4px;height:8px;border-radius:3px;background:var(--muted);animation:scrolldrop 1.6s ease-in-out infinite}
.scrollcue:hover .wheel{background:var(--orange)}
@keyframes scrolldrop{0%{transform:translateY(0);opacity:0}25%{opacity:1}70%{transform:translateY(9px);opacity:0}100%{opacity:0}}
.art-ph .in svg{width:38px;height:38px}
@media(prefers-reduced-motion:reduce){.wheel{animation:none}}


/* concept marquee band */
.marquee{background:var(--orange);overflow:hidden;padding:15px 0;position:relative;box-shadow:inset 0 9px 12px -8px rgba(38,35,42,.40),inset 0 -9px 12px -8px rgba(38,35,42,.40)}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--orange),transparent)}
.marquee::after{right:0;background:linear-gradient(270deg,var(--orange),transparent)}
.mq-track{display:flex;width:max-content;animation:mqscroll 34s linear infinite}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-item{display:inline-flex;align-items:center;gap:26px;padding:0 26px;white-space:nowrap;
  font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-style:italic;
  font-weight:500;font-size:20px;color:#fff}
.mq-item .sep{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.6;flex:none;font-style:normal}
@keyframes mqscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.mq-track{animation:none}}
@media(max-width:520px){.mq-item{font-size:17px;gap:20px;padding:0 20px}}


/* Spotify button: brand black bg, white text, green mark (official treatment) */
.mlink-sp{background:#191414;border-color:#191414;color:#fff}
.mlink-sp:hover{background:#000;border-color:#000}
.mlink-sp .sp-ic{width:18px;height:18px}
.mlink-sp .sp-ic use{color:#1DB954}


/* eventos gallery (two opposing marquee rows) */
.gal{display:flex;flex-direction:column;gap:16px;margin-top:38px}
.gal-row{overflow:hidden;position:relative}
.gal-row::before,.gal-row::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.gal-row::before{left:0;background:linear-gradient(90deg,var(--cream),transparent)}
.gal-row::after{right:0;background:linear-gradient(270deg,var(--cream),transparent)}
.gal-track{display:flex;gap:16px;width:max-content}
.gal-row[data-dir="left"] .gal-track{animation:galleft 46s linear infinite}
.gal-row[data-dir="right"] .gal-track{animation:galright 46s linear infinite}
.gal-row:hover .gal-track{animation-play-state:paused}
@keyframes galleft{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes galright{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.gal-tile{flex:none;width:224px;height:150px;border-radius:14px;cursor:pointer;position:relative;overflow:hidden;
  border:1.5px dashed rgba(38,35,42,.18);
  background:linear-gradient(135deg,rgba(69,119,254,.06),rgba(255,131,84,.06)),var(--cream-2);
  display:grid;place-items:center;color:var(--muted);transition:transform .2s,box-shadow .2s}
.gal-tile:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(38,35,42,.5)}
.gt-in{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:8px}
.gt-in svg{width:26px;height:26px;opacity:.5}
.gt-in span{font-size:12px;font-weight:600;letter-spacing:.04em}
@media(prefers-reduced-motion:reduce){.gal-track{animation:none}}
@media(max-width:520px){.gal-tile{width:180px;height:124px}}

/* lightbox */
.lb{position:fixed;inset:0;z-index:120;background:rgba(10,8,12,.88);display:none;flex-direction:column;
  align-items:center;justify-content:center;padding:40px 20px}
.lb.open{display:flex}
.lb-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}
.lb-close:hover{background:rgba(255,255,255,.22)}
.lb-close svg{width:22px;height:22px}
.lb-stage{display:flex;align-items:center;gap:18px;width:100%;max-width:1020px;justify-content:center}
.lb-nav{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;flex:none;
  background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}
.lb-nav:hover{background:rgba(255,255,255,.22)}
.lb-nav svg{width:24px;height:24px}
.lb-main{flex:1;max-width:760px;aspect-ratio:3/2;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,rgba(69,119,254,.16),rgba(255,131,84,.16)),#241f2a;
  display:grid;place-items:center;color:#cfc7d2}
.lb-main .gt-in svg{width:40px;height:40px;opacity:.6}
.lb-main .gt-in span{font-size:15px;font-weight:600}
.lb-thumbs{display:flex;gap:10px;margin-top:22px;max-width:100%;overflow-x:auto;padding:6px 4px;scrollbar-width:thin}
.lb-thumb{flex:none;width:80px;height:54px;border-radius:9px;cursor:pointer;overflow:hidden;opacity:.45;
  border:2px solid transparent;color:#c9c2cf;font-size:11px;font-weight:600;transition:.15s;
  background:linear-gradient(135deg,rgba(69,119,254,.14),rgba(255,131,84,.14)),#2b2531;display:grid;place-items:center}
.lb-thumb.active{opacity:1;border-color:#fff}
.lb-thumb:hover{opacity:.85}
@media(max-width:640px){.lb-nav{width:42px;height:42px}.lb-stage{gap:8px}.lb-main{max-width:100%}}


/* institucional image slot */
.inst-ph{aspect-ratio:4/3;min-height:300px}
/* trusted-by logo marquee */
.trusted{margin-top:56px}
.trusted-cap{text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:22px}
.logo-marquee{overflow:hidden;position:relative}
.logo-marquee::before,.logo-marquee::after{content:'';position:absolute;top:0;bottom:0;width:110px;z-index:2;pointer-events:none}
.logo-marquee::before{left:0;background:linear-gradient(90deg,var(--cream-2),transparent)}
.logo-marquee::after{right:0;background:linear-gradient(270deg,var(--cream-2),transparent)}
.lm-track{display:flex;gap:20px;width:max-content;align-items:center;animation:lmscroll 40s linear infinite}
.logo-marquee:hover .lm-track{animation-play-state:paused}
@keyframes lmscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.lm-item{flex:none;width:180px;height:84px;border-radius:12px;border:1px solid rgba(38,35,42,.10);
  background:var(--panel);display:grid;place-items:center;text-align:center;padding:12px;
  color:var(--muted);font-size:12.5px;font-weight:600;
  filter:grayscale(1);opacity:.7;transition:.2s}
.lm-item:hover{filter:grayscale(0);opacity:1}
@media(prefers-reduced-motion:reduce){.lm-track{animation:none}}


/* social icons: authentic brand treatment */
.soc.ig,.soc.fb,.soc.yt{border:none;color:#fff}
.soc.yt{background:#FF0000}
.soc.ig{background:linear-gradient(45deg,#feda75 0%,#fa7e1e 26%,#d62976 52%,#962fbf 76%,#4f5bd5 100%)}
.soc.fb{background:#1877F2}
.soc.ig:hover,.soc.fb:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(38,35,42,.5)}
.soc.ig svg,.soc.fb svg{color:#fff}


/* footer logo placeholder circle */
.fbrand{display:flex;flex-direction:column;align-items:center;text-align:center}
.flogo{width:88px;height:88px;border-radius:50%;background:#FBFAF4;display:grid;place-items:center;
  margin-bottom:20px;
  box-shadow:inset 0 3px 8px -2px rgba(38,35,42,.24), 0 4px 12px -6px rgba(0,0,0,.25)}
.flogo svg{width:52px;height:52px}



/* reviews (testimonials from Google) */
.rev-head{text-align:center;max-width:640px;margin:0 auto}
.rev-head .kicker{justify-content:center}
.rev-head h2.head{max-width:none}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;align-items:start}
.rev-card{background:var(--panel);border:1px solid rgba(38,35,42,.07);border-radius:20px;padding:28px 28px 24px;
  box-shadow:0 14px 30px -22px rgba(38,35,42,.5)}
.rev-card.feat{transform:translateY(-14px)}
.rev-stars{display:flex;gap:3px;color:var(--orange);margin-bottom:14px}
.rev-stars svg{width:17px;height:17px}
.rev-quote{font-size:15.5px;color:var(--ink);line-height:1.6}
.rev-foot{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(38,35,42,.10)}
.rev-av{width:44px;height:44px;border-radius:50%;flex:none;overflow:hidden;
  background:linear-gradient(135deg,rgba(69,119,254,.18),rgba(255,131,84,.18)),var(--cream-2);
  display:grid;place-items:center;color:var(--muted);font-size:14px;font-weight:700}
.rev-who .n{font-size:14.5px;font-weight:700;color:var(--ink)}
.rev-who .m{font-size:12.5px;color:var(--muted)}
.rev-src{display:inline-flex;align-items:center;gap:8px;justify-content:center;margin:26px auto 0;
  font-size:13px;color:var(--muted);width:100%}
.rev-src svg{width:16px;height:16px}
@media(max-width:820px){.rev-grid{grid-template-columns:1fr}.rev-card.feat{transform:none}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.faq-list{display:flex;flex-direction:column}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;
  justify-content:space-between;gap:20px;padding:24px 4px;font-family:'Fraunces',serif;
  font-variation-settings:'opsz' 40,'WONK' 1;font-size:20px;color:var(--ink);transition:color .2s}
.faq-q:hover{color:var(--orange)}
.faq-item.open .faq-q{color:var(--orange)}
.faq-ic{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);flex:none;display:grid;place-items:center;
  color:var(--muted);transition:.2s}
.faq-item.open .faq-ic{background:var(--orange);border-color:var(--orange);color:#fff}
.faq-ic svg{width:18px;height:18px}
.faq-a{max-height:0;overflow:hidden;transition:max-height .32s ease}
.faq-a .inner{padding:0 4px 24px;color:var(--muted);font-size:15.5px;line-height:1.62;max-width:60ch}
@media(max-width:820px){.faq-wrap{grid-template-columns:1fr;gap:8px}}

/* mobile menu panel */
.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(18,15,22,.985);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.mobile-menu.open{opacity:1;visibility:visible}
.mm-close{position:absolute;top:20px;right:22px;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center}
.mm-close:hover{background:rgba(255,255,255,.22)}
.mm-close svg{width:24px;height:24px}
.mm-inner{display:flex;flex-direction:column;align-items:center;gap:30px;transform:translateY(10px);transition:transform .3s ease;padding:24px}
.mobile-menu.open .mm-inner{transform:translateY(0)}
.mm-brand{display:flex;flex-direction:column;align-items:center;gap:14px}
.mm-seal{width:74px;height:74px;border-radius:50%;background:#FBFAF4;display:grid;place-items:center;
  box-shadow:inset 0 3px 8px -2px rgba(38,35,42,.24)}
.mm-seal svg{width:44px;height:44px}
.mm-name{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40;font-weight:600;font-size:19px;color:#fff;text-align:center;line-height:1.2}
.mm-name small{display:block;font-family:'Figtree';font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:3px}
.mm-nav{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(78vw,300px)}
.mm-nav a{font-family:'Fraunces',serif;font-variation-settings:'opsz' 60,'WONK' 1;font-size:24px;color:#F3EEE2;
  text-decoration:none;padding:11px 10px;width:100%;text-align:center;border-radius:12px;transition:.18s}
.mm-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
.mm-nav a.mm-campus{margin-top:10px;background:var(--orange);color:#fff;font-family:'Figtree';font-weight:600;
  font-size:16px;font-variation-settings:normal;padding:14px 10px;box-shadow:0 12px 26px -10px rgba(255,131,84,.7)}
.mm-nav a.mm-campus:hover{background:var(--orange-deep)}
.mm-socials{display:flex;gap:14px;margin-top:6px}
.mm-socials .soc{width:46px;height:46px}
.soc.wa-s{background:#25D366;color:#fff;border:none}
.soc.wa-s svg{width:22px;height:22px}

/* ---------- responsive ---------- */
@media(max-width:980px){
  h2.head{font-size:34px}
  .hero h1{font-size:56px}
  .hero-grid{gap:40px}
}
@media(max-width:960px){
  .nav,.navcta .pill{display:none}
  .burger{display:flex}
}
@media(max-width:820px){
  .wrap,.hbar,.divider{padding-left:24px;padding-right:24px}
  .section{padding:60px 0}
  .hero-grid,.two-col,.inst,.contact{grid-template-columns:1fr}
  .hero h1{font-size:52px}
  .hero .art{max-width:420px;margin-top:8px}
  .clase-grid,.cards,.gallery,.logos{grid-template-columns:1fr}
  .cards{gap:16px}
  .gallery{grid-template-columns:1fr 1fr}
  .maestra-ph{min-height:320px;order:-1}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .wrap,.hbar,.divider{padding-left:18px;padding-right:18px}
  .hero h1{font-size:42px}
  h2.head{font-size:29px}
  .trust{gap:20px}
  .gallery{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .cbox{padding:28px 24px}
  .fbottom{flex-direction:column}
}

/* ===== responsive pass (session 2) ===== */
/* institucional image: never exceed column; width-led on small screens */
@media(max-width:820px){ .inst-ph{min-height:0;aspect-ratio:16/10} }
/* HERO — center on tablet & mobile */
@media(max-width:960px){
  .hero-grid{text-align:center}
  .hero .eyebrow{display:block}
  .hero .sub{margin-left:auto;margin-right:auto}
  .cta-row{justify-content:center}
  .trust{justify-content:center}
}
/* MOBILE hero — scroll cue below the buttons */
@media(max-width:640px){
  .cta-row{flex-direction:column;align-items:center}
  .cta-row .btn{width:100%;max-width:320px;justify-content:center}
  .scrollcue{order:3;margin:6px 0 0}
}
/* FORMACIONES — taller image area on tablet & mobile */
@media(max-width:960px){
  .fcard .top{height:240px}
}
@media(max-width:520px){
  .fcard .top{height:210px}
}
/* FOOTER — tablet: brand cluster centered on top, two link columns side-by-side below */
@media(max-width:820px){
  .fgrid{grid-template-columns:1fr;gap:38px;align-items:stretch;text-align:center}
  .fbrand{align-items:center}
  .flogo{margin-left:auto;margin-right:auto}
  .fbrand .disp,.fbrand p{text-align:center}
  .fcols{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end}
  .fbottom{justify-content:center;gap:14px;text-align:center}
}
/* FOOTER — mobile: center everything, stack the columns */
@media(max-width:520px){
  .fcols{grid-template-columns:1fr;gap:28px;align-items:center}
  .fbottom{flex-direction:column}
}



/* ============================================================
   SUBPAGE COMPONENTS (formación pages + profesores) — same tokens
   ============================================================ */
/* breadcrumb */
.crumbs{max-width:var(--maxw);margin:0 auto;padding:22px 40px 0;font-size:13px;color:var(--muted);display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--orange)}
.crumbs .sep{opacity:.5}
.crumbs .cur{color:var(--ink);font-weight:600}
@media(max-width:820px){.crumbs{padding-left:24px;padding-right:24px}}
@media(max-width:520px){.crumbs{padding-left:18px;padding-right:18px}}

/* subpage hero */
.subhero{padding:26px 0 68px}
.subhero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}
.subhero h1{font-size:60px;margin:16px 0 0;color:var(--ink)}
.subhero .sub{font-size:18px;color:var(--muted);max-width:42ch;margin-top:20px}
.fbadge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,131,84,.12);border:1px solid rgba(255,131,84,.35);
  color:var(--orange-deep);padding:7px 14px;border-radius:40px;font-size:12.5px;font-weight:700;letter-spacing:.02em}
.fbadge svg{width:14px;height:14px}
.keyfacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.kf{display:inline-flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:40px;
  padding:9px 15px;font-size:13.5px;font-weight:600;color:var(--ink)}
.kf svg{width:15px;height:15px;color:var(--orange)}
.subhero .art{aspect-ratio:4/4.3;border-radius:220px 220px 26px 26px}
.subhero .art .cap{background:linear-gradient(transparent,rgba(20,28,50,.6))}
@media(max-width:980px){.subhero h1{font-size:48px}}
@media(max-width:960px){.subhero-grid{grid-template-columns:1fr;text-align:center}
  .subhero .sub{margin-left:auto;margin-right:auto}.keyfacts{justify-content:center}.subhero .cta-row{justify-content:center}
  .subhero .art{max-width:420px;margin:8px auto 0}}
@media(max-width:520px){.subhero h1{font-size:38px}.subhero{padding-bottom:48px}}

/* feature / áreas grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.feat{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px;transition:.2s;position:relative}
.feat:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(38,35,42,.4)}
.feat .ic{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;background:rgba(69,119,254,.10)}
.feat .ic svg{width:26px;height:26px;color:var(--blue)}
.feat.o .ic{background:rgba(255,131,84,.14)}
.feat.o .ic svg{color:var(--orange)}
.feat h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:20px;color:var(--ink);margin-bottom:7px}
.feat p{font-size:14.5px;color:var(--muted);line-height:1.55}
.note{margin-top:26px;font-size:13.5px;color:var(--muted);display:inline-flex;gap:9px;align-items:flex-start;max-width:60ch}
.note svg{width:17px;height:17px;color:var(--orange);flex:none;margin-top:2px}
@media(max-width:820px){.feat-grid{grid-template-columns:1fr}}

/* grados (stepped) */
.grados{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px}
.grado{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px 22px;position:relative;overflow:hidden}
.grado::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--blue)}
.grado.g0::before{background:var(--line)}
.grado.g3::before{background:var(--orange)}
.grado .n{font-family:'Figtree';font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.grado h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:20px;color:var(--ink);margin-bottom:8px}
.grado p{font-size:13.5px;color:var(--muted);line-height:1.5}
@media(max-width:820px){.grados{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.grados{grid-template-columns:1fr}}

/* niveles */
.niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.nivel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 26px;position:relative;overflow:hidden}
.nivel .num{position:absolute;top:16px;right:22px;font-family:'Fraunces',serif;font-variation-settings:'opsz' 144;font-size:52px;line-height:1;color:rgba(69,119,254,.14);font-weight:600}
.nivel .badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.nivel h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:22px;color:var(--ink);margin-bottom:8px}
.nivel p{font-size:14.5px;color:var(--muted);line-height:1.55}
.nivel ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:9px}
.nivel li{position:relative;padding-left:22px;font-size:14px;color:var(--muted)}
.nivel li::before{content:'';position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--orange)}
@media(max-width:820px){.niveles{grid-template-columns:1fr}}

/* para quién */
.forwho{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.forwho-col{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px 30px}
.forwho-col h3{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:20px;margin-bottom:16px;color:var(--ink)}
.forwho-list{list-style:none;display:flex;flex-direction:column;gap:13px}
.forwho-list li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--muted)}
.forwho-list li svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--orange)}
@media(max-width:820px){.forwho{grid-template-columns:1fr}}

/* equipo (yogaterapia) */
.equipo{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}
.eperson{display:flex;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 22px;flex:1;min-width:270px}
.eperson .av{width:60px;height:60px;border-radius:50%;flex:none;overflow:hidden;font-family:'Fraunces',serif;
  background:linear-gradient(135deg,rgba(69,119,254,.18),rgba(255,131,84,.18)),var(--cream-2);display:grid;place-items:center;color:var(--muted);font-size:18px;font-weight:600}
.eperson .nm{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:18px;color:var(--ink)}
.eperson .rl{font-size:13.5px;color:var(--muted);margin-top:2px}
.eperson{align-items:flex-start}
.eperson.feat{flex:1.7;border-color:rgba(255,131,84,.38);background:linear-gradient(180deg,rgba(255,131,84,.06),transparent),var(--panel)}
.eperson.feat .av{width:72px;height:72px;font-size:22px}
.eperson .av svg{width:28px;height:28px;color:var(--muted)}
.eperson p{font-size:14px;color:var(--muted);line-height:1.55;margin-top:9px;max-width:46ch}

/* downloadable material list */
.dl-list{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:13px}
.dl-list li{display:flex;gap:13px;align-items:center;font-size:15px;color:var(--ink)}
.dl-list li svg{width:20px;height:20px;color:var(--orange);flex:none}
.dl-list li small{display:block;color:var(--muted);font-size:13px;font-weight:400}

/* cross-nav (otras formaciones) */
.crossnav{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.xcard{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;text-decoration:none;color:inherit;transition:.2s}
.xcard:hover{transform:translateY(-3px);box-shadow:0 20px 38px -26px rgba(38,35,42,.42)}
.xcard .xic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:none;background:radial-gradient(120% 120% at 30% 20%,#5a86ff,#4577fe)}
.xcard.o .xic{background:radial-gradient(120% 120% at 30% 20%,#ff9a6f,#ff7343)}
.xcard .xic svg{width:26px;height:26px;color:#fff}
.xcard .xt .l{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600}
.xcard .xt h4{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:17px;color:var(--ink);margin-top:3px}
@media(max-width:820px){.crossnav{grid-template-columns:1fr}}

/* profesores */
.prof-caption{font-size:13px;color:var(--muted);background:rgba(69,119,254,.06);border:1px dashed rgba(69,119,254,.3);
  border-radius:12px;padding:11px 16px;margin-top:22px;display:inline-flex;gap:9px;align-items:flex-start;max-width:62ch}
.prof-caption svg{width:16px;height:16px;color:var(--blue);flex:none;margin-top:2px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{background:var(--panel);border:1px solid var(--line);border-radius:40px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:8px;font-family:'Figtree'}
.chip:hover{border-color:var(--orange);color:var(--orange)}
.chip.active{background:var(--blue);border-color:var(--blue);color:var(--cream)}
.chip .ct{font-size:12px;opacity:.72;font-weight:700}
.prof-count{font-size:13.5px;color:var(--muted);margin-top:18px}
.prof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px}
.prof-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center;transition:.2s}
.prof-card:hover{transform:translateY(-3px);box-shadow:0 22px 40px -26px rgba(38,35,42,.4)}
.prof-av{width:84px;height:84px;border-radius:50%;margin:0 auto 16px;overflow:hidden;font-family:'Fraunces',serif;
  background:linear-gradient(135deg,rgba(69,119,254,.18),rgba(255,131,84,.18)),var(--cream-2);display:grid;place-items:center;color:var(--muted);font-size:24px;font-weight:600}
.prof-av img{width:100%;height:100%;object-fit:cover}
.prof-card .nm{font-family:'Fraunces',serif;font-variation-settings:'opsz' 40,'WONK' 1;font-weight:600;font-size:18px;color:var(--ink);line-height:1.2}
.prof-card .ti{font-size:13px;color:var(--muted);margin-top:4px}
.prof-card .gn{font-size:12px;color:var(--muted);margin-top:2px;opacity:.85}
.prof-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px}
.ptag{font-size:11px;font-weight:600;letter-spacing:.01em;padding:4px 10px;border-radius:30px;background:rgba(69,119,254,.10);color:var(--blue)}
.ptag.o{background:rgba(255,131,84,.14);color:var(--orange-deep)}
.ptag.sp{background:rgba(38,35,42,.06);color:var(--muted)}
.prof-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:44px 0;font-size:15px}
@media(max-width:960px){.prof-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.prof-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.prof-grid{grid-template-columns:1fr}}

/* --- real image assets --- */
.brand .seal,.mm-brand .mm-seal{border:none;overflow:hidden}
.seal img,.mm-seal img{width:100%;height:100%;object-fit:contain;border-radius:50%;display:block}
.flogo{overflow:hidden}
.flogo img{width:100%;height:100%;object-fit:contain;display:block}
.ph-img-filled{border:none!important;background:none!important;padding:0}
.ph-img-filled img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.gal-tile{border:none!important}
.gal-tile img{width:100%;height:100%;object-fit:cover;display:block}
.lb-img{width:100%;height:100%;object-fit:contain;display:block}
.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lm-item img{max-width:80%;max-height:66%;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.2s}
.lm-item:hover img{filter:none;opacity:1}
.art.art-photo{overflow:hidden}
.art-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.art-photo .cap{z-index:2}

/* --- professor profile pages --- */
.pwrap{max-width:var(--maxw);margin:0 auto;padding:4px 40px 74px}
.pback{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted);text-decoration:none;font-weight:600}
.pback svg{width:15px;height:15px}
.pback:hover{color:var(--orange-deep)}
.pgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:start;margin-top:24px}
.pname{font-family:'Fraunces',serif;font-variation-settings:'opsz' 144;font-weight:600;font-size:clamp(33px,6vw,52px);line-height:1.03;letter-spacing:-.015em;color:var(--ink);margin:0}
.ptitle{font-size:16px;color:var(--orange-deep);font-weight:600;margin-top:11px}
.pmeta{margin-top:28px;display:flex;flex-direction:column}
.prow{display:flex;gap:16px;padding:13px 2px;border-top:1px solid var(--line);font-size:15px;align-items:baseline}
.prow:last-child{border-bottom:1px solid var(--line)}
.prow .k{flex:none;width:180px;color:var(--muted);font-weight:600}
.prow .v{color:var(--ink);flex:1}
.pvtags{display:flex;flex-wrap:wrap;gap:7px}
.pvtag{font-size:12px;font-weight:600;padding:4px 11px;border-radius:30px;background:var(--orange-soft);color:var(--orange-deep)}
.pcta{margin-top:30px}
.pphoto .ring{aspect-ratio:1;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,rgba(69,119,254,.16),rgba(255,131,84,.16)),var(--cream-2);box-shadow:0 30px 60px -30px rgba(34,48,102,.42);border:6px solid var(--panel)}
.pphoto .ring img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){.pgrid{grid-template-columns:1fr;gap:26px}.pphoto{max-width:210px;margin:0 auto;order:-1}.pname,.ptitle{text-align:center}.prow .k{width:150px}}
@media(max-width:520px){.pwrap{padding-left:18px;padding-right:18px}.prow{flex-direction:column;gap:3px}.prow .k{width:auto}}
/* clickable prof cards on the grid */
.prof-card{text-decoration:none;color:inherit;cursor:pointer}
.prof-more{margin-top:12px;font-size:12px;font-weight:700;color:var(--blue);opacity:0;transition:.18s}
.prof-card:hover .prof-more{opacity:1}
