:root{--navy: #0d1b45;--navy-2: #16295f;--red: #d9202e;--gold: #f2b705;--paper: #fafaf7;--ink: #101323;--ink-soft: #4a4f63;--line: rgba(13, 27, 69, .14);--line-light: rgba(250, 250, 247, .16);--whatsapp: #25d366;--whatsapp-dark: #1da851;--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--pad-x: clamp(1.25rem, 5vw, 5rem);--maxw: 72rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}::selection{background:var(--gold);color:var(--navy)}a{color:inherit}.eyebrow{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}.eyebrow-light{color:var(--gold)}.section-sub{color:var(--ink-soft);max-width:34rem}.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.5rem;font-family:var(--font-body);font-size:.9375rem;font-weight:600;text-decoration:none;border-radius:2rem;transition:transform .18s ease,background-color .18s ease,border-color .18s ease}.btn svg{width:.85em;height:.85em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.btn:hover svg{transform:translate(2px,-2px)}.btn-primary{background:var(--red);color:#fff;border:1px solid var(--red)}.btn-primary:hover{background:#b81a26;border-color:#b81a26;transform:translateY(-1px)}.btn-ghost{color:var(--paper);border:1px solid var(--line-light)}.btn-ghost:hover{border-color:var(--paper);transform:translateY(-1px)}.btn-whatsapp{background:var(--whatsapp);color:var(--navy);border:1px solid var(--whatsapp)}.btn-whatsapp:hover{background:var(--whatsapp-dark);border-color:var(--whatsapp-dark);transform:translateY(-1px)}.btn-whatsapp svg{width:1.05em;height:1.05em;fill:currentColor;stroke:none}.btn-whatsapp:hover svg{transform:none}:is(a,button):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--pad-x);background:color-mix(in srgb,var(--navy) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-light);color:var(--paper)}.wordmark{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:1.05rem;font-weight:600;text-decoration:none;white-space:nowrap}.wordmark-logo{width:auto;height:1.7rem;display:block}.site-nav{display:flex;align-items:center;gap:clamp(.9rem,2.5vw,1.75rem);font-size:.875rem;font-weight:500}.site-nav a{text-decoration:none;opacity:.82;transition:opacity .15s ease}.site-nav a:hover{opacity:1}.nav-phone{font-family:var(--font-mono);font-size:.8125rem;padding:.4rem .9rem;border:1px solid var(--line-light);border-radius:2rem;opacity:1!important}.nav-phone:hover{border-color:var(--gold);color:var(--gold)}.hero{background:var(--navy);color:var(--paper);padding:clamp(5rem,12vh,8.5rem) var(--pad-x) clamp(4rem,10vh,7rem);margin-top:-1px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,6vw,5rem)}.hero-copy{min-width:0}.hero-media{position:relative;min-width:0}.hero-media picture img{display:block;width:100%;height:auto;border-radius:2px}.hero-media:before{content:"";position:absolute;top:-.75rem;right:-.75rem;bottom:.75rem;left:.75rem;border:1px solid var(--gold);opacity:.55;pointer-events:none}.hero-logo{position:absolute;right:-1.4rem;bottom:-1.4rem;width:clamp(4.5rem,8vw,6.5rem);height:auto;aspect-ratio:1;padding:.85rem;background:var(--paper);border-radius:50%;box-shadow:0 10px 30px #00000052}.hero h1{font-family:var(--font-display);font-size:clamp(3rem,9vw,6.5rem);font-weight:500;line-height:1.02;letter-spacing:-.015em;margin:1.1rem 0 1.5rem;max-width:14ch}.hero h1 em{font-style:italic;color:var(--gold)}.hero-sub{font-size:clamp(1.0625rem,2vw,1.1875rem);line-height:1.65;color:#fafaf7c7;max-width:32rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.4rem}.hero-badge{display:flex;align-items:center;gap:.6rem;margin-top:3.2rem;font-family:var(--font-mono);font-size:.8125rem;color:#fafaf7b8}.badge-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);flex-shrink:0}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,4vw,3.5rem);max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,8vh,5.5rem) var(--pad-x)}.pillar{border-top:2px solid var(--navy);padding-top:1.1rem}.pillar h2{font-family:var(--font-display);font-size:1.3125rem;font-weight:600;color:var(--navy);margin-bottom:.4rem}.pillar p{font-size:.9375rem;color:var(--ink-soft)}.courses{max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,6vh,4rem) var(--pad-x) clamp(4rem,9vh,6.5rem)}.section-head h2{font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:500;line-height:1.12;color:var(--navy);margin:.8rem 0 .9rem}.catalogue{list-style:none;margin-top:2.75rem;columns:2;column-gap:clamp(2.5rem,6vw,5rem)}.catalogue li{display:flex;align-items:baseline;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);break-inside:avoid;transition:padding-left .18s ease}.catalogue li:hover{padding-left:.4rem}.idx{font-family:var(--font-mono);font-size:.8125rem;color:var(--red);flex-shrink:0}.course{font-size:.9688rem;font-weight:500;color:var(--navy);flex:1}.tag{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);flex-shrink:0}.courses-note{margin-top:2.5rem;font-size:.9375rem;color:var(--ink-soft)}.courses-note a{color:var(--red);font-weight:600;text-decoration-color:#d9202e59;text-underline-offset:3px}.why{background:var(--navy);color:var(--paper);padding:clamp(4rem,10vh,7rem) var(--pad-x)}.why .section-head,.why-grid{max-width:var(--maxw);margin:0 auto}.why .section-head h2{color:var(--paper);max-width:22ch}.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:3rem;background:var(--line-light);border:1px solid var(--line-light)}.why-item{background:var(--navy-2);padding:clamp(1.5rem,3.5vw,2.5rem)}.why-item h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:.55rem;color:var(--gold)}.why-item p{font-size:.9375rem;color:#fafaf7c7}.visit{padding:clamp(4.5rem,10vh,7.5rem) var(--pad-x)}.visit-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:start}.visit-card{border:1px solid var(--line);border-top:3px solid var(--red);padding:clamp(1.75rem,4vw,2.5rem);background:#fff}.visit-row{padding-bottom:1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--line)}.visit-label{display:block;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.45rem}.visit-value{font-size:.9688rem;color:var(--navy)}.visit-phone{font-family:var(--font-display);font-size:1.5rem;font-weight:600;text-decoration:none}.visit-phone:hover{color:var(--red)}.visit-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}.gallery{padding:clamp(4rem,9vh,6.5rem) var(--pad-x);max-width:var(--maxw);margin-inline:auto}.gallery-grid{list-style:none;display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:3rem}@media (min-width: 46rem){.gallery-grid{grid-template-columns:repeat(6,1fr)}.gallery-item:nth-child(-n+2){grid-column:span 3}.gallery-item:nth-child(n+3){grid-column:span 2}}.gallery-item{display:grid}.gallery-btn{height:100%;display:block;width:100%;padding:0;border:1px solid var(--line);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .18s ease,transform .18s ease}.gallery-btn img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;transition:transform .4s ease}.gallery-btn:hover{border-color:var(--navy);transform:translateY(-2px)}.gallery-btn:hover img{transform:scale(1.03)}.gallery-cap{display:block;padding:.9rem 1.05rem 1.05rem;font-size:.875rem;line-height:1.5;color:var(--ink-soft);border-top:2px solid var(--red)}.lightbox{width:min(94vw,68rem);max-height:92vh;padding:0;border:none;background:transparent;overflow:visible}.lightbox::backdrop{background:#060c20e0}.lightbox img{display:block;width:100%;max-height:82vh;object-fit:contain;margin-inline:auto}.lightbox-cap{margin-top:.9rem;text-align:center;color:var(--paper);font-size:.875rem}.lightbox-close{position:absolute;top:.6rem;right:.6rem;z-index:1;width:2.2rem;height:2.2rem;display:grid;place-items:center;padding:0;border:1px solid rgba(250,250,247,.35);border-radius:50%;background:#060c2099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--paper);cursor:pointer}.lightbox-close svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.lightbox-close:hover{border-color:var(--paper)}.site-footer{background:var(--navy);color:var(--paper);text-align:center;padding:3rem var(--pad-x) 2.5rem}.footer-logo{width:4.5rem;height:auto;margin:0 auto 1.1rem;display:block}.footer-mark{font-family:var(--font-display);font-size:1.125rem;font-weight:600}.footer-line{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:.6rem 0 1.4rem}.footer-fine{font-size:.8125rem;color:#fafaf78c}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.btn svg,.catalogue li,.gallery-btn,.gallery-btn img{transition:none}}@media (max-width: 960px){.hero{grid-template-columns:1fr;gap:3rem}.hero-media{max-width:26rem}}@media (max-width: 860px){.visit-inner{grid-template-columns:1fr}}@media (max-width: 760px){.site-nav a:not(.nav-phone){display:none}.pillars{grid-template-columns:1fr;gap:2rem}.catalogue{columns:1}.why-grid{grid-template-columns:1fr}}@media (max-width: 520px){.site-header{padding-inline:1rem}.wordmark{font-size:.9rem;gap:.45rem}.wordmark-logo{height:1.4rem}.nav-phone{font-size:.75rem;padding:.35rem .7rem}.hero-logo{right:-.5rem;bottom:-.5rem}}@media (max-width: 420px){.tag{display:none}}
