﻿/* Matesmaniacos OAOA V2: one stylesheet for frontend and Gutenberg. */
:root {
  --navy:#171717; --blue:#99BAFA; --green:#7DD695; --pink:#F5A4E6;
  --ink:#171717; --muted:#444444; --white:#FFFFFF;
  --pale:#EAF1FF; --pale2:#F0FBF4; --border:#E2E7E8; --radius:22px;
  --mates-header-offset:105px;
  --mates-section-padding-top:87px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { max-width:100%; }
.shell { width:min(1110px,calc(100% - 40px)); margin-inline:auto; }
.wp-site-blocks > * { margin-block-start:0; }
.wp-site-blocks > header.wp-block-template-part {
  position:sticky; top:var(--wp-admin--admin-bar--height,0px); z-index:30;
  padding:0; margin:0; border:0; background:#fff;
}
.wp-site-blocks > footer.wp-block-template-part { margin:0; padding:0; background:#171717; }
.wp-block-post-content > :is(.hero,.section) { margin-block:0!important; max-width:none; }
.topnote { margin:0; padding:5px; background:#171717; color:#fff; text-align:center; font-size:12px; font-weight:650; }
.topnote p { margin:0; }
.site-header { background:#fff; border-bottom:1px solid #E6E6E6; }
.site-header .head {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap;
  gap:24px; min-height:80px; padding-block:8px;
}
.site-header .brand-logo {
  display:block; position:static; flex:0 1 260px; width:260px;
  min-width:0; max-width:calc(100% - 70px); height:auto;
  margin:0 auto 0 0; padding:0; overflow:visible; background:#fff;
}
.site-header .brand-logo a { display:block; width:100%; overflow:visible; }
/* Full horizontal logo: native PNG transparency, no clipping or masks. */
.site-header .brand-logo img {
  display:block; position:static; width:auto; max-width:100%; height:auto;
  max-height:none; aspect-ratio:auto; object-fit:contain; object-position:center;
  border:0; border-radius:0; box-shadow:none; filter:none; transform:none;
  clip-path:none; background:#fff;
}
.site-header .header-navigation { flex:0 1 auto; min-width:0; margin:0; color:#171717; }
.site-header .wp-block-site-title { display:none; }
/* Disclosure enhancement only; the editor and no-JS fallback retain normal links. */
.site-header .header-navigation:not(.mates-dropdown-ready) > .wp-block-navigation__container { flex-wrap:wrap; gap:8px 16px; }
.site-header .header-navigation.mates-dropdown-ready { position:relative; display:block; flex:0 0 auto; }
.header-navigation .mates-dropdown-toggle {
  display:flex; align-items:center; justify-content:center; width:46px; min-height:46px;
  padding:9px; border:1px solid #99BAFA; border-radius:12px;
  background:#EAF1FF; color:#171717; cursor:pointer;
}
.header-navigation .mates-dropdown-toggle svg { display:block; width:24px; height:24px; fill:currentColor; }
.header-navigation.mates-dropdown-ready > .mates-dropdown-panel {
  position:absolute; z-index:40; top:calc(100% + 12px); right:0;
  display:flex; flex-direction:column; align-items:stretch; flex-wrap:nowrap;
  width:250px; max-width:calc(100vw - 34px); max-height:min(60vh,420px);
  margin:0!important; padding:12px; gap:4px; overflow-y:auto;
  background:#fff; color:#171717; border:1px solid #E2E7E8; border-radius:14px;
  box-shadow:0 10px 28px #17171720; list-style:none;
}
.header-navigation.mates-dropdown-ready > .mates-dropdown-panel[hidden] { display:none!important; }
.header-navigation .mates-dropdown-panel > .wp-block-navigation-item { width:100%; margin:0; }
.header-navigation .mates-dropdown-panel .wp-block-navigation-item__content {
  display:block; width:100%; padding:11px 14px; border-radius:8px;
  font-size:16px; line-height:1.4; overflow-wrap:anywhere;
}
.header-navigation .mates-dropdown-panel .wp-block-navigation-item__content:hover { background:#EAF1FF; }
:where(#inicio,#sobre-mi,#metodo,#formaciones,#materiales,#testimonios,#instagram,#contacto) {
  scroll-margin-top:calc(var(--mates-header-offset) + 16px - var(--mates-section-padding-top) + var(--wp-admin--admin-bar--height,0px));
}
.hero {
  padding:72px 0 80px; overflow:hidden;
  background:linear-gradient(115deg,#F4F8FF 0%,#E4EEFF 60%,#FDEAF9 100%);
}
.hero-grid.wp-block-columns {
  display:grid!important; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  align-items:center; gap:60px; width:min(1110px,calc(100% - 40px)); margin:0 auto;
}
.hero-grid > .wp-block-column { min-width:0; margin:0; }
.hero-grid > .wp-block-column > * { margin-block-start:0; }
.hero .eyebrow { margin:0 0 17px; font-size:11px; font-weight:760; letter-spacing:.135em; text-transform:uppercase; color:#303030; }
.hero h1 { margin:0; max-width:690px; font-size:clamp(40px,5vw,65px); line-height:1.16; letter-spacing:-.055em; color:#171717; }
.hero .lede { margin:23px 0 27px; max-width:570px; font-size:17px; color:#444; }
.hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin:0; }
.hero .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px;
  padding:12px 23px; border:1.5px solid #99BAFA; border-radius:999px;
  font-size:14px; line-height:1.2; font-weight:700; transition:transform .15s ease;
}
.hero .primary .wp-block-button__link { background:#99BAFA; color:#171717; }
.hero .primary .wp-block-button__link:hover { background:#7DD695; }
.hero .secondary .wp-block-button__link { background:#fff; color:#171717; border-color:#F5A4E6; }
.hero .secondary .wp-block-button__link:hover { background:#FCE6F8; }
.hero .social { margin:23px 0 0; font-size:13px; color:#444; }
.hero-grid .hero-art {
  display:flex; align-items:center; justify-content:center; position:relative;
  height:430px; min-width:0; isolation:isolate; margin:0;
}
/* Decoration cannot escape into other sections or cover the face. */
.hero-art::before,.hero-art::after { content:""; position:absolute; border-radius:50%; pointer-events:none; z-index:0; }
.hero-art::before { width:325px; height:325px; top:21px; right:30px; background:linear-gradient(135deg,#99BAFA,#7DD695); }
.hero-art::after { width:110px; height:110px; top:276px; right:14px; background:#F5A4E6; }
.hero-art > .blob { display:none; } /* Compatibility with an earlier saved pattern. */
.hero-art > .photo-frame {
  display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
  flex:none; width:min(335px,84%); height:315px; margin:0; padding:7px;
  border:0; border-radius:34px; overflow:hidden; background:#fff;
  box-shadow:0 22px 40px #17171720;
}
.hero-art .photo-placeholder {
  display:flex; position:relative; flex-direction:column; align-items:center; justify-content:center;
  gap:11px; width:100%; height:100%; padding:22px; border-radius:27px; overflow:hidden;
  background:linear-gradient(145deg,#F7F9FC,#EAF1FF); text-align:center;
}
.hero-art .photo-placeholder::before {
  content:""; display:block; flex:none; width:58px; height:58px; border-radius:50%;
  background-color:#fff;
  background-image:radial-gradient(circle at 50% 34%,#99BAFA 0 10px,transparent 10.5px),radial-gradient(ellipse at 50% 105%,#99BAFA 0 20px,transparent 20.5px);
  box-shadow:0 4px 14px #17171712;
}
.hero-art .photo-placeholder .photo-placeholder-title { margin:0; color:#171717; font-size:17px; line-height:1.35; font-weight:700; }
.hero-art .photo-placeholder .photo-placeholder-note { margin:0; color:#526480; font-size:13px; line-height:1.4; }
/* A core/image block can replace the placeholder or be inserted into its inner area. */
.hero-art > .photo-frame > .wp-block-image {
  display:block; position:relative; z-index:1; flex:none; width:100%; height:100%; margin:0;
  overflow:hidden; border-radius:27px;
}
.hero-art .photo-placeholder:has(> .wp-block-image) { display:block; padding:0; background:transparent; }
.hero-art .photo-placeholder:has(> .wp-block-image)::before,
.hero-art .photo-placeholder:has(> .wp-block-image) > :not(.wp-block-image) { display:none!important; }
.hero-art .photo-placeholder > .wp-block-image {
  display:block; position:absolute; z-index:1; inset:0; width:100%; height:100%;
  max-width:none; margin:0; overflow:hidden; border-radius:27px;
}
.hero-art :is(.photo-frame,.photo-placeholder) > .wp-block-image img {
  display:block; width:100%; height:100%; object-fit:cover; object-position:50% 44%;
}
.hero-art > .hero-photo-pill {
  position:absolute; z-index:2; margin:0; padding:9px 16px;
  border:1px solid #FFFFFFCC; border-radius:999px; color:#171717;
  font-size:13px; line-height:1; font-weight:720; white-space:nowrap;
  box-shadow:0 8px 22px #17171718;
}
.hero-art > .pill-manipular { top:44px; left:4px; background:#99BAFA; }
.hero-art > .pill-representar { top:156px; right:0; background:#7DD695; }
.hero-art > .pill-razonar { bottom:44px; left:20px; background:#F5A4E6; }
.hero-art figure.hero-monogram {
  position:absolute; z-index:2; right:12px; bottom:5px; width:68px; height:68px;
  margin:0; padding:0; border:0; border-radius:0; box-shadow:none;
}
.hero-art .hero-monogram img { display:block; width:68px; height:68px; border:4px solid #fff; border-radius:50%; box-shadow:0 7px 20px #17171720; }
.section { padding:87px 0; }
.section.soft { background:#F0FBF4; }
.section h2 { margin:0; font-size:clamp(30px,3.5vw,43px); line-height:1.16; letter-spacing:-.055em; color:#171717; }
.section h3 { margin:0; font-size:19px; line-height:1.16; letter-spacing:-.03em; color:#171717; }
.section .kicker { margin:0 0 15px; font-size:11px; font-weight:760; letter-spacing:.13em; text-transform:uppercase; color:#333; }
.section .intro { margin:17px 0 0; max-width:670px; font-size:16px; color:#444; }
.section .shell > * { margin-inline:0!important; }
.about.wp-block-columns {
  display:grid!important; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  align-items:center; gap:80px; width:min(1110px,calc(100% - 40px)); margin:0 auto;
}
.about > .wp-block-column { min-width:0; margin:0; }
.about > .figure {
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  min-height:340px; padding:18px; border:1px solid #EFCDED; border-radius:30px;
  background:linear-gradient(145deg,#E4EEFF,#FBE6F7); text-align:center;
}
.about .figure figure { margin:0; }
.about .figure img { display:block; width:min(220px,100%); height:auto; border-radius:50%; box-shadow:0 14px 30px #1717171a; }
.about .figure p { margin:0; color:#526480; font-size:13px; }
.about .paragraph { font-size:17px; line-height:1.82; color:#333; }
.textlink { color:#171717; border-bottom:1px solid #F5A4E6; padding-bottom:4px; font-size:14px; font-weight:760; }
.principles-header { max-width:680px; margin:0 0 36px; }
.principles.wp-block-columns { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-block:0; }
:is(.principles,.course-grid,.resource-cards,.testimonials,.insta-grid) > .wp-block-column { min-width:0; margin:0; }
.principle { min-height:187px; padding:27px; border:1px solid #E1E7E3; border-radius:22px; background:#EFF4FF; box-shadow:0 12px 35px #1717170A; }
.principles > .wp-block-column:nth-child(2) .principle { background:#E9F9EF; }
.principles > .wp-block-column:nth-child(3) .principle { background:#FDEDF9; }
.principles > .wp-block-column:nth-child(4) .principle { background:#fff; }
.principle .num { display:inline-block; margin:0 0 18px; padding:6px 10px; border-radius:8px; background:#99BAFA; color:#171717; font-size:12px; font-weight:750; }
.principles > .wp-block-column:nth-child(2) .num { background:#7DD695; }
.principles > .wp-block-column:nth-child(3) .num { background:#F5A4E6; }
:is(.principle,.course,.resource) p { margin:10px 0 0; color:#444; font-size:14px; }
.section-title { display:block; margin:0 0 33px; }
.course-grid.wp-block-columns { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:0; }
.course { overflow:hidden; border:1px solid #E2E7E8; border-radius:24px; background:#fff; }
.course-illustration { display:flex; align-items:center; justify-content:center; min-height:185px; margin:0; padding:25px; background:linear-gradient(125deg,#DAE7FF,#B9D0FF); }
figure.course-illustration { padding:0; overflow:hidden; }
.course-illustration img { display:block; width:100%; height:205px; object-fit:contain; background:#dff0fc; }
.course-illustration.peach { background:linear-gradient(125deg,#F9D8F2,#DDF6E5); }
.course .math-illustration { margin:0; color:#171717; font-size:60px; font-weight:850; letter-spacing:-.12em; }
.course-body { padding:28px; }
.course-body .kicker { margin:0 0 9px; }
.resources { background:#171717; color:#fff; }
.resources :is(h2,h3) { color:#fff; }
.resources .kicker { color:#7DD695; }
.resources .intro { color:#F2F2F2; }
.resource-cards.wp-block-columns { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; margin-bottom:0; }
.resource-cards > .wp-block-column { display:flex; min-width:0; }
.resources .resource {
  display:flex; flex-direction:column; align-items:center; width:100%; min-width:0;
  padding:clamp(24px,3vw,36px); border:1px solid #C8D8F4; border-radius:22px;
  background:#E6EFFF; color:#171717; text-align:center; box-shadow:0 10px 24px #00000012;
}
.resources .resource-cards > .wp-block-column:nth-child(2) .resource { border-color:#B8E0C4; background:#DCF7E5; }
.resources .resource::before {
  display:grid; place-items:center; width:56px; height:56px; margin-bottom:18px;
  border:1px solid #A8C3F2; border-radius:17px; background:#fff; color:#284878;
  content:"∑"; font-size:31px; font-weight:750; line-height:1;
}
.resources .resource-cards > .wp-block-column:nth-child(2) .resource::before { content:"◇"; border-color:#9FD5AE; color:#256144; }
.resources .resource :is(h3,.kicker) { color:#171717; }
.resources .resource .kicker { margin:0 0 8px; }
.resources .resource h3 { max-width:30ch; margin:0; font-size:clamp(21px,2vw,25px); line-height:1.25; }
.resources .resource p { max-width:38ch; margin:12px 0 0; color:#303943; font-size:15px; line-height:1.6; }
.resources .resource .wp-block-buttons { display:flex; justify-content:center; width:100%; margin-top:auto; padding-top:24px; }
.resources .resource .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px;
  border:1.5px solid #D77CC0; border-radius:999px; background:#fff; color:#171717;
  padding:10px 22px; font-size:15px; font-weight:700; overflow-wrap:anywhere;
}
.resources .resource .wp-block-button__link:hover { background:#FDEDF9; }
.resources .resource .wp-block-button__link:focus-visible { outline:3px solid #171717; outline-offset:3px; }
.resources .resource .wp-block-buttons + p { margin-top:12px; font-size:13px; }
.resources .resource .resource-external {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
#testimonios.section { padding-block:clamp(52px,5vw,68px); }
.testimonials.wp-block-columns { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:32px; margin-bottom:0; }
.quote { margin:0; padding:25px; border:1px dashed #E8AAD9; border-radius:22px; background:#FFF0FB; color:#444; }
.quote cite { color:#171717; font-style:normal; font-weight:700; }
.insta-grid.wp-block-columns { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin-top:30px; margin-bottom:0; }
.insta-grid .reel {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  position:relative; isolation:isolate; gap:14px; width:100%; max-width:100%; min-width:0;
  min-height:0; height:100%; aspect-ratio:3/4; padding:14px;
  border:1px solid #CADCFD; border-radius:18px; background:linear-gradient(145deg,#EDF3FF,#C9DAFF);
  text-align:center; color:#171717; overflow-wrap:anywhere;
}
.insta-grid > .wp-block-column:nth-child(2) .reel { border-color:#B7E5C4; background:linear-gradient(145deg,#EEF9F1,#C8EED4); }
.insta-grid > .wp-block-column:nth-child(3) .reel { border-color:#EFC4E9; background:linear-gradient(145deg,#FFF2FC,#F7CFF0); }
.insta-grid .reel > * { margin:0; max-width:100%; }
.insta-grid .reel h3 { font-size:21px; line-height:1.18; letter-spacing:-.03em; }
.insta-grid .reel p { font-size:12px; font-weight:700; line-height:1.5; }
.insta-grid .reel .play { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#fff; color:#171717; font-size:20px; flex:none; }
.insta-grid .reel .wp-block-image {
  position:static!important; inset:auto!important; float:none!important;
  transform:none!important; width:78px; height:auto; margin:0; padding:0; border:0; box-shadow:none;
}
.insta-grid .reel img { display:block; position:static; width:78px; height:auto; max-width:100%; object-fit:contain; border-radius:50%; }
#instagram .instagram-fallback { margin-top:30px; }
#instagram .instagram-fallback-card { transition:transform .16s ease,box-shadow .16s ease; }
#instagram .instagram-fallback-card:hover,
#instagram .instagram-fallback-card:focus-within { transform:translateY(-3px); box-shadow:0 10px 30px #203d6519; }
#instagram .instagram-fallback-card .instagram-fallback-image { width:clamp(78px,9vw,112px); }
#instagram .instagram-fallback-card .instagram-fallback-image img { width:100%; height:auto; }
#instagram .instagram-fallback-card .instagram-fallback-label { font-size:16px; font-weight:750; line-height:1.3; }
#instagram .instagram-fallback-card .wp-block-buttons { display:flex; justify-content:center; margin-top:auto; }
#instagram .instagram-fallback-card .wp-block-button__link {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px;
  max-width:100%; padding:9px 12px; border:1px solid #99BAFA; border-radius:999px;
  background:#fff; color:#171717; font-size:13px; font-weight:700;
  white-space:normal; overflow-wrap:anywhere;
}
#instagram .instagram-fallback-card .wp-block-button__link:hover { background:#F5A4E6; }
#instagram .instagram-fallback-card .wp-block-button__link:focus-visible { outline:3px solid #171717; outline-offset:3px; }
#instagram .spotlight-feed-slot { display:none; min-width:0; margin-top:30px; }
#instagram.instagram-live .instagram-fallback { display:none!important; }
#instagram.instagram-live .spotlight-feed-slot { display:block; }
.editor-styles-wrapper #instagram .spotlight-feed-slot { display:block; min-height:72px; border:1px dashed #99BAFA; border-radius:18px; }
.editor-styles-wrapper #instagram .spotlight-feed-slot:empty::before { content:"Bloque Spotlight: inserta aquí el feed cuando esté conectado"; display:block; padding:18px; color:#526480; }
.preview-note { margin-top:9px; color:#61708a; font-size:12px; }
.site-footer { display:block; margin:0; padding:65px 0 30px; background:#171717; color:#fff; }
.site-footer .foot-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); gap:40px; }
.site-footer .foot-grid > * { min-width:0; margin:0; }
.footer-brand-logo { display:block; margin:0 0 16px; padding:0; width:240px; max-width:100%; }
.footer-brand-logo a { display:block; }
.footer-brand-logo img { display:block; width:auto; height:auto; max-width:100%; object-fit:contain; border:0; border-radius:0; filter:none; }
.site-footer p { color:#E0E0E0; font-size:14px; }
.site-footer p.footer-brand-name { margin:0; color:#fff; font-size:21px; letter-spacing:-.04em; }
.site-footer h4 { margin:0 0 14px; color:#fff; font-size:13px; }
.site-footer .wp-block-navigation { color:#fff; font-size:13px; }
.site-footer .wp-block-navigation__container { display:grid; gap:10px; }
.site-footer .copyright { width:min(1110px,calc(100% - 40px)); margin:45px auto 0; padding-top:22px; border-top:1px solid #454545; color:#D1D1D1; font-size:12px; }
.site-footer a { overflow-wrap:anywhere; }
.wp-site-blocks :is(a,button):focus-visible { outline:3px solid #171717; outline-offset:4px; }
.site-footer :is(a,button):focus-visible { outline-color:#7DD695; }
.skip-link { position:absolute; top:-5rem; left:1rem; z-index:100001; padding:.5rem; background:#fff; color:#171717; }
.skip-link:focus { top:.5rem; }
.back-to-top {
  position:fixed; right:max(20px,calc(50vw - 555px)); bottom:24px; z-index:20;
  display:grid; place-items:center; width:48px; height:48px; padding:0;
  border:0; border-radius:50%; background:#99BAFA; color:#fff;
  box-shadow:0 3px 12px #17171724; cursor:pointer;
}
.back-to-top[hidden] { display:none; }
.back-to-top svg { display:block; width:24px; height:24px; fill:currentColor; }
.back-to-top:focus-visible { outline:3px solid #171717; outline-offset:3px; }
@media(max-width:900px) {
  .hero-grid.wp-block-columns { gap:20px; }
  .hero-grid .hero-art { height:350px; }
  .hero-art::before { width:265px; height:265px; right:10px; }
  .hero-art::after { top:216px; right:-6px; }
  .hero-art > .photo-frame { height:270px; }
  .hero-art > .pill-manipular { top:22px; left:0; }
  .hero-art > .pill-representar { top:132px; right:0; }
  .hero-art > .pill-razonar { bottom:22px; left:12px; }
  .about.wp-block-columns { gap:30px; }
}
@media(max-width:680px) {
  :root { --mates-header-offset:97px; --mates-section-padding-top:65px; }
  .shell,.hero-grid.wp-block-columns,.about.wp-block-columns { width:min(550px,calc(100% - 34px)); }
  .site-header .head { min-height:72px; gap:16px; }
  .site-header .brand-logo { flex-basis:240px; width:240px; max-width:calc(100% - 62px); }
  .hero { padding:50px 0 65px; }
  .hero-grid.wp-block-columns { grid-template-columns:minmax(0,1fr); gap:0; }
  .hero h1 { font-size:clamp(39px,10vw,52px); }
  .hero-grid .hero-art { height:360px; margin-top:13px; }
  .hero-art::before { left:50%; right:auto; transform:translateX(-45%); }
  .hero-art::after { left:calc(50% + 52px); right:auto; }
  .hero-art > .photo-frame { width:min(330px,82%); }
  .hero-art > .pill-manipular { top:18px; left:0; }
  .hero-art > .pill-representar { top:118px; right:0; }
  .hero-art > .pill-razonar { bottom:18px; left:12px; }
  .hero .actions { flex-direction:column; }
  .hero .wp-block-button,.hero .wp-block-button__link { width:100%; }
  .section { padding:65px 0; }
  .about.wp-block-columns,.principles.wp-block-columns,.course-grid.wp-block-columns,.resource-cards.wp-block-columns,.testimonials.wp-block-columns { grid-template-columns:minmax(0,1fr); }
  .about.wp-block-columns { gap:23px; }
  .about > .figure { min-height:245px; }
  .principle { min-height:0; }
  .insta-grid.wp-block-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .insta-grid > .wp-block-column { grid-column:auto; width:auto; min-width:0; }
  .insta-grid .reel { aspect-ratio:3/4; height:auto; min-height:0; }
  .site-footer .foot-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
  .site-footer .copyright { width:min(550px,calc(100% - 34px)); }
  .back-to-top {
    right:max(17px,calc(50vw - 275px),env(safe-area-inset-right));
    bottom:max(16px,env(safe-area-inset-bottom));
  }
}
@media(max-width:640px) {
  .resources .resource { padding:18px 18px 20px; }
  .resources .resource::before { width:48px; height:48px; margin-bottom:12px; font-size:27px; }
  .resources .resource p { margin-top:8px; }
  .resources .resource .wp-block-buttons { padding-top:16px; }
  .resources .resource .wp-block-button__link { min-height:44px; padding:8px 18px; font-size:14px; }
  .resource-cards.wp-block-columns { gap:14px; }
}
@media(max-width:430px) {
  #instagram .instagram-fallback-card { gap:8px; padding:10px; }
  #instagram .instagram-fallback-card .instagram-fallback-image { width:64px; }
  #instagram .instagram-fallback-card .instagram-fallback-label { font-size:14px; line-height:1.2; }
  #instagram .instagram-fallback-card .wp-block-button__link { padding:8px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}

.insta-grid > .wp-block-column:nth-child(4) .reel { border-color:#CDDFE4; background:linear-gradient(145deg,#EDF3FF,#DAF7E4); }
.course-grid > .wp-block-column > .course { height:100%; }
