* { box-sizing: border-box; } body {margin: 0;}:root{--mkr-primary:#0B9DE4;--mkr-primaryDark:#0B9DE4;--mkr-secondary:#FFB433;--mkr-accent:#7CA982;--mkr-bg:#FBF9F4;--mkr-surface:#FFFFFF;--mkr-text:#1A2B3D;--mkr-textMuted:#5C6B7A;--mkr-border:#E0D9C4;}:root{--bg:#FCFBFF;--ink:#3A3650;--brand:#7C6BD0;--brand-deep:#5B49B0;--accent:#3FB7A3;--accent-deep:#1E7E70;--surface:#F3F1FB;--line:#E7E3F4;--muted:#645F80;--white:#fff;--radius:28px;--radius-sm:16px;--radius-lg:40px;--shadow-sm:0 6px 20px rgba(58,54,80,.08);--shadow:0 18px 50px rgba(58,54,80,.14);--shadow-lg:0 30px 80px rgba(58,54,80,.20);--grad-pink:linear-gradient(135deg,#F7E9FF 0%,#EAF6F2 100%);--grad-warm:linear-gradient(150deg,#FFF1F6 0%,#F1ECFF 55%,#E9F7F3 100%);--maxw:1200px;--ease:cubic-bezier(.22,.61,.36,1);--font-display:"Quicksand",system-ui,sans-serif;--font-body:"Mulish",system-ui,sans-serif;}*{box-sizing:border-box;}*::before{box-sizing:border-box;}*::after{box-sizing:border-box;}html{-webkit-text-size-adjust:100%;}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:clamp(15px,.6vw + 14px,17px);overflow-x:hidden;-webkit-font-smoothing:antialiased;}img{max-width:100%;display:block;height:auto;}h1{font-family:var(--font-display);line-height:1.12;margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em;}h2{font-family:var(--font-display);line-height:1.12;margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em;}h3{font-family:var(--font-display);line-height:1.12;margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em;}h4{font-family:var(--font-display);line-height:1.12;margin:0;color:var(--ink);font-weight:700;letter-spacing:-.01em;}p{margin:0 0 1em;}a{color:var(--brand-deep);text-decoration:none;}ul{margin:0;padding:0;}li{list-style:none;}button{font-family:inherit;cursor:pointer;}.crumb ol{list-style:none;padding-left:0;margin:0;}.crumbs ol{list-style:none;padding-left:0;margin:0;}.no-js [data-rv]{opacity:1!important;transform:none!important;}.no-js .frame{opacity:1!important;transform:none!important;}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:6px;}.wrap{width:min(100% - 40px,var(--maxw));margin-inline:auto;}.section{padding:clamp(56px,9vw,120px) 0;}.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-deep);background:var(--surface);padding:.5em 1.1em;border-radius:100px;border:1px solid var(--line);}.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--muted);max-width:60ch;}.blob-head{position:relative;display:inline-block;}.blob-head::before{content:"";position:absolute;z-index:-1;width:120px;height:120px;left:-44px;top:-38px;border-radius:50% 60% 55% 45%/55% 45% 60% 50%;background:radial-gradient(circle at 35% 35%,#F4D9FF,#E5D6FF 60%,transparent 72%);filter:blur(2px);opacity:.9;}.blob-head.is-accent::before{background:radial-gradient(circle at 35% 35%,#C7F2E8,#D8F5EF 60%,transparent 72%);}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--font-display);font-weight:600;font-size:1rem;padding:.85em 1.6em;border-radius:100px;border:2px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s;min-height:48px;text-align:center;}.btn svg{width:1.1em;height:1.1em;flex:none;}.btn--primary{background:var(--brand-deep);color:#fff;box-shadow:0 10px 26px rgba(124,107,208,.4);}.btn--primary:hover{background:#4A3A93;transform:translateY(-2px);box-shadow:0 16px 34px rgba(124,107,208,.5);}.btn--ghost{background:rgba(255,255,255,.7);color:var(--brand-deep);border-color:var(--line);}.btn--ghost:hover{background:#fff;border-color:var(--brand);transform:translateY(-2px);}.btn--accent{background:var(--accent-deep);color:#fff;box-shadow:0 10px 26px rgba(30,126,112,.32);}.btn--accent:hover{background:#19695d;transform:translateY(-2px);}.btn--block{width:100%;}.site-header{position:sticky;top:0;z-index:60;background:rgba(252,251,255,.82);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s;}.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 28px rgba(58,54,80,.07);}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px;width:min(100% - 40px,var(--maxw));margin-inline:auto;}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--ink);letter-spacing:-.02em;}.brand__mark{width:38px;height:38px;flex:none;}.nav__menu{display:flex;align-items:center;gap:.35rem;}.nav__menu a:not(.btn){font-family:var(--font-display);font-weight:600;color:var(--ink);padding:.5em .9em;border-radius:100px;font-size:.96rem;transition:background .2s,color .2s;}.nav__menu a:not(.btn):hover{background:var(--surface);color:var(--brand-deep);}.nav__menu a:not(.btn)[aria-current="page"]{background:var(--surface);color:var(--brand-deep);}.nav__menu a.btn--primary{color:#fff;}.nav__menu a.btn--primary:hover{color:#fff;}.nav__cta{margin-left:.4rem;}.nav__actions{display:flex;align-items:center;gap:.6rem;}.nav__toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:4px;}.nav__toggle span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;}body.nav-open .nav__toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}body.nav-open .nav__toggle span:nth-child(2){opacity:0;}body.nav-open .nav__toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}.hero{position:relative;padding:clamp(20px,3vw,40px) 0 clamp(40px,6vw,90px);}.hero__stage{position:relative;width:min(100% - 28px,1320px);margin-inline:auto;border-radius:var(--radius-lg);overflow:hidden;min-height:clamp(460px,62vw,640px);background:var(--surface);box-shadow:var(--shadow);}.hero__bg{position:absolute;inset:0;z-index:0;}.hero__bg img{width:100%;height:100%;object-fit:cover;will-change:transform;transform:scale(1.06);}.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(58,54,80,.46) 0%,rgba(58,54,80,.16) 46%,rgba(58,54,80,0) 70%);}.hero__inner{position:relative;z-index:2;display:flex;align-items:center;min-height:clamp(460px,62vw,640px);padding:clamp(20px,4vw,56px);}.glass{position:relative;width:min(100%,488px);background:rgba(252,251,255,.92);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(26px) scale(.98);transition:opacity .7s var(--ease),transform .7s var(--ease);}.hero.reveal .glass{opacity:1;transform:none;}.glass__eyebrow{color:var(--brand-deep);background:rgba(255,255,255,.7);}.glass h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:.5rem 0 .55rem;font-weight:700;}.glass h1 .hl{color:var(--brand-deep);}.glass__copy{color:#46415e;font-size:clamp(1rem,1.2vw,1.12rem);margin-bottom:1.2rem;}.miniform{display:grid;grid-template-columns:1fr 1fr auto;gap:.55rem;margin-top:.4rem;}.miniform .field{margin:0;}.miniform label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}.miniform input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:12px;padding:.7em .9em;font-family:var(--font-body);font-size:.95rem;color:var(--ink);min-height:46px;}.miniform input::placeholder{color:#8a85a3;}.miniform input:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}.miniform .field.bad input{border-color:#d6455f;background:#fff4f6;}.miniform .btn{padding:.6em 1.2em;min-height:46px;white-space:nowrap;}.miniform .err{display:none;}.miniform .field.bad .err{display:block;grid-column:1/-1;color:#b3293f;font-size:.78rem;margin-top:.1rem;}.miniform__note{font-size:.8rem;color:var(--muted);margin:.7rem 0 0;grid-column:1/-1;}.glass .form-ok{display:none;background:rgba(63,183,163,.16);border:1px solid #b6e7dd;color:var(--accent-deep);border-radius:14px;padding:.9em 1.1em;font-weight:600;margin-top:.6rem;}.glass .form-ok.show{display:block;}.hero__chips{position:absolute;z-index:3;right:clamp(16px,3vw,40px);bottom:clamp(16px,3vw,40px);display:flex;flex-direction:column;gap:.6rem;align-items:flex-end;}.hero__chip{display:inline-flex;align-items:center;gap:.5em;background:rgba(252,251,255,.86);backdrop-filter:blur(8px);border-radius:100px;padding:.55em 1em;font-family:var(--font-display);font-weight:600;font-size:.86rem;color:var(--ink);box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.7);}.hero__chip svg{width:1.05em;height:1.05em;color:var(--accent-deep);}.trust{padding:1.6rem 0;background:var(--surface);border-block:1px solid var(--line);overflow:hidden;}.marquee{display:flex;width:max-content;gap:0;}.marquee__track{display:flex;align-items:center;gap:2.6rem;padding-right:2.6rem;animation:marq 28s linear infinite;}.trust:hover .marquee__track{animation-play-state:paused;}.marquee__item{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:600;color:var(--muted);white-space:nowrap;font-size:.96rem;}.marquee__item svg{width:1.1em;height:1.1em;color:var(--brand);}[data-rv]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);}[data-rv].in{opacity:1;transform:none;}[data-rv].d1{transition-delay:.08s;}[data-rv].d2{transition-delay:.16s;}[data-rv].d3{transition-delay:.24s;}.section-head{max-width:64ch;}.section-head h2{font-size:clamp(1.8rem,3.4vw,2.7rem);margin:.7rem 0 .5rem;}.section-head.center{margin-inline:auto;text-align:center;}.welcome{background:var(--grad-warm);}.welcome__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;}.welcome__media{position:relative;}.welcome__media .frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);clip-path:inset(0 0 0 0 round var(--radius));}.welcome__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}.welcome__badge{position:absolute;left:-18px;bottom:-18px;background:#fff;border-radius:22px;padding:1rem 1.3rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);}.welcome__badge .num{font-family:var(--font-display);font-weight:700;font-size:1.7rem;color:var(--brand-deep);line-height:1;}.welcome__badge .lab{font-size:.84rem;color:var(--muted);line-height:1.3;}.feats{display:grid;gap:1rem;margin-top:1.6rem;}.feat{display:flex;gap:.9rem;align-items:flex-start;}.feat__ic{flex:none;width:44px;height:44px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-deep);}.feat__ic svg{width:22px;height:22px;}.feat h3{font-size:1.08rem;margin-bottom:.2rem;}.feat p{margin:0;color:var(--muted);font-size:.96rem;}.programs{background:var(--bg);}.pfilter{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.4rem 0 2rem;}.pfilter button{font-family:var(--font-display);font-weight:600;font-size:.92rem;padding:.6em 1.2em;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:background .2s,color .2s,border-color .2s,transform .15s;}.pfilter button:hover{border-color:var(--brand);transform:translateY(-1px);}.pfilter button.on{background:var(--brand);color:#fff;border-color:var(--brand);}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,28px);}.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease);display:flex;flex-direction:column;}.pcard.hide{display:none;}.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow);}.pcard__media{position:relative;aspect-ratio:4/5;overflow:hidden;}.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}.pcard:hover .pcard__media img{transform:scale(1.06);}.pcard__tag{position:absolute;top:12px;left:12px;background:rgba(252,251,255,.92);color:var(--brand-deep);font-family:var(--font-display);font-weight:600;font-size:.76rem;padding:.4em .9em;border-radius:100px;box-shadow:var(--shadow-sm);}.pcard__body{padding:clamp(18px,2vw,24px);display:flex;flex-direction:column;flex:1;}.pcard__body h3{font-size:1.3rem;margin-bottom:.15rem;}.pcard__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 .7rem;}.pcard__meta span{font-size:.78rem;font-weight:600;color:#1A6F62;background:#E7F6F2;border-radius:100px;padding:.3em .75em;}.pcard__body p{color:var(--muted);font-size:.95rem;margin-bottom:1rem;}.pcard__link{margin-top:auto;display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-display);font-weight:600;color:var(--brand-deep);}.pcard__link svg{width:1em;height:1em;transition:transform .25s;}.pcard__link:hover svg{transform:translateX(4px);}.statsband{background:var(--brand-deep);color:#fff;border-radius:var(--radius-lg);padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,40px);}.stat{text-align:center;}.stat .n{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1;}.stat .l{font-size:.92rem;margin-top:.3rem;}.values{background:var(--grad-pink);}.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,26px);margin-top:2rem;}.vcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,30px);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}.vcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);}.vcard__ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:1rem;background:var(--surface);color:var(--brand-deep);border:1px solid var(--line);}.vcard__ic svg{width:26px;height:26px;}.vcard h3{font-size:1.2rem;margin-bottom:.4rem;}.vcard p{color:var(--muted);margin:0;font-size:.96rem;}.qband{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;display:flex;align-items:center;}.qband__bg{position:absolute;inset:0;z-index:0;}.qband__bg img{width:100%;height:120%;object-fit:cover;will-change:transform;}.qband__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(58,54,80,.72),rgba(58,54,80,.35));}.qband__in{position:relative;z-index:2;padding:clamp(30px,5vw,60px);max-width:760px;color:#fff;}.qband blockquote{font-family:var(--font-display);font-weight:600;font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.3;margin:0 0 1rem;}.qband cite{font-style:normal;color:#EDE9FB;font-weight:600;}.qband cite span{display:block;font-weight:400;font-size:.9rem;opacity:.9;font-family:var(--font-body);}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,26px);margin-top:2rem;counter-reset:step;}.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,28px);box-shadow:var(--shadow-sm);position:relative;}.step::before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-weight:700;font-size:1.1rem;width:42px;height:42px;border-radius:14px;background:var(--brand);color:#fff;display:grid;place-items:center;margin-bottom:1rem;}.step h3{font-size:1.12rem;margin-bottom:.3rem;}.step p{color:var(--muted);margin:0;font-size:.94rem;}.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,26px);margin-top:2rem;}.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}.tcard__media{aspect-ratio:1/1;overflow:hidden;}.tcard__media img{width:100%;height:100%;object-fit:cover;}.tcard__body{padding:1.1rem 1.2rem 1.3rem;}.tcard h3{font-size:1.08rem;margin-bottom:.1rem;}.tcard .role{color:var(--brand-deep);font-weight:600;font-size:.88rem;}.tcard p{color:var(--muted);font-size:.9rem;margin:.5rem 0 0;}.gctrl{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.2rem 0 1.8rem;}.gctrl button{font-family:var(--font-display);font-weight:600;font-size:.9rem;padding:.55em 1.1em;border-radius:100px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:.2s;}.gctrl button:hover{border-color:var(--brand);}.gctrl button.on{background:var(--brand);color:#fff;border-color:var(--brand);}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,18px);}.gitem{margin:0;border-radius:var(--radius-sm);overflow:hidden;position:relative;aspect-ratio:1/1;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease);}.gitem:hover{transform:scale(1.02);}.gitem img{width:100%;height:100%;object-fit:cover;}.gitem figcaption{position:absolute;inset:auto 0 0 0;padding:.7em .9em;font-size:.82rem;color:#fff;background:linear-gradient(transparent,rgba(58,54,80,.78));font-family:var(--font-display);font-weight:600;opacity:0;transform:translateY(8px);transition:.3s;}.gitem:hover figcaption{opacity:1;transform:none;}.gitem.hide{display:none;}.lb{position:fixed;inset:0;z-index:100;background:rgba(33,30,48,.92);display:none;align-items:center;justify-content:center;padding:24px;}.lb.open{display:flex;}.lb img{max-width:90vw;max-height:80vh;border-radius:14px;box-shadow:var(--shadow-lg);}.lb__x{position:absolute;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;}.lb__nav{position:absolute;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);color:#fff;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;}.lb__x{top:20px;right:20px;}.lb__x:hover{background:rgba(255,255,255,.28);}.lb__nav:hover{background:rgba(255,255,255,.28);}.lb__nav.prev{left:18px;top:50%;transform:translateY(-50%);}.lb__nav.next{right:18px;top:50%;transform:translateY(-50%);}.lb__cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#fff;font-size:.9rem;}.faq{max-width:820px;margin-inline:auto;}.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.8rem;overflow:hidden;}.faq__q{width:100%;text-align:left;background:none;border:0;padding:1.1em 1.3em;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font-display);font-weight:600;font-size:1.04rem;color:var(--ink);}.faq__q::after{content:"";width:12px;height:12px;flex:none;border-right:2px solid var(--brand-deep);border-bottom:2px solid var(--brand-deep);transform:rotate(45deg);transition:transform .3s;}.faq__item.open .faq__q::after{transform:rotate(-135deg);}.faq__a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}.faq__item.open .faq__a{max-height:320px;}.faq__a p{padding:0 1.3em 1.2em;margin:0;color:var(--muted);}.cta{background:var(--grad-pink);}.cta__card{background:var(--brand-deep);color:#fff;border-radius:var(--radius-lg);padding:clamp(34px,5vw,64px);text-align:center;position:relative;overflow:hidden;}.cta__card::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);top:-90px;right:-60px;}.cta__card h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);position:relative;}.cta__card p{color:#FFFFFF;max-width:52ch;margin-inline:auto;position:relative;}.cta__actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem;position:relative;}.cta .btn--ghost{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.5);}.cta .btn--ghost:hover{background:rgba(255,255,255,.28);}.cta .btn--accent{background:#fff;color:var(--brand-deep);}.cta .btn--accent:hover{background:#F0ECFF;}.contact__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:start;}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,38px);box-shadow:var(--shadow-sm);}.field{margin-bottom:1rem;}.field label{display:block;font-family:var(--font-display);font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--ink);}.field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8em 1em;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:#fff;min-height:48px;}.field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8em 1em;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:#fff;min-height:48px;}.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8em 1em;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:#fff;min-height:48px;}.field textarea{min-height:120px;resize:vertical;}.field input:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}.field select:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}.field textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand);}.field.bad input{border-color:#d6455f;background:#fff5f7;}.field.bad select{border-color:#d6455f;background:#fff5f7;}.field.bad textarea{border-color:#d6455f;background:#fff5f7;}.field .err{display:none;color:#b3293f;font-size:.8rem;margin-top:.3rem;}.field.bad .err{display:block;}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}.form-ok{display:none;background:#E7F6F2;border:1px solid #b6e7dd;color:var(--accent-deep);border-radius:14px;padding:1.1em 1.3em;font-weight:600;}.form-ok.show{display:block;}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,3vw,34px);}.info-row{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line);}.info-row:last-child{border-bottom:0;}.info-row .ic{flex:none;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-deep);}.info-row .ic svg{width:20px;height:20px;}.info-row h3{font-size:.96rem;margin-bottom:.15rem;}.info-row a{color:var(--muted);margin:0;font-size:.95rem;}.info-row p{color:var(--muted);margin:0;font-size:.95rem;}.info-row a:hover{color:var(--brand-deep);}.map-frame{border:0;width:100%;height:300px;border-radius:var(--radius);margin-top:1.6rem;box-shadow:var(--shadow-sm);}.phero{background:var(--grad-warm);padding:clamp(40px,6vw,90px) 0 clamp(30px,4vw,56px);}.crumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem;}.crumb ol{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;}.crumb a{color:var(--muted);}.crumb a:hover{color:var(--brand-deep);}.crumb li:not(:last-child)::after{content:"›";margin-left:.4rem;color:var(--line);}.crumb [aria-current="page"]{color:var(--ink);font-weight:600;}.phero h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-bottom:.6rem;}.phero p{max-width:62ch;}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);align-items:center;}.split.rev .split__media{order:2;}.split__media .frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);clip-path:inset(0 0 0 0 round var(--radius));}.split__media img{width:100%;object-fit:cover;aspect-ratio:4/3;}.split ul.check{display:grid;gap:.7rem;margin-top:1.2rem;}.split ul.check li{position:relative;padding-left:2rem;color:var(--ink);}.split ul.check li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--accent-deep);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center;}.tuition{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(16px,2vw,24px);margin-top:2rem;}.tcard-fee{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,2.6vw,30px);box-shadow:var(--shadow-sm);}.tcard-fee h3{font-size:1.15rem;margin-bottom:.2rem;}.tcard-fee .price{font-family:var(--font-display);font-weight:700;font-size:1.9rem;color:var(--brand-deep);margin:.4rem 0;}.tcard-fee .price span{font-size:.9rem;color:var(--muted);font-weight:500;}.tcard-fee ul{display:grid;gap:.5rem;margin-top:.8rem;}.tcard-fee li{position:relative;padding-left:1.5rem;color:var(--muted);font-size:.92rem;}.tcard-fee li::before{content:"✓";position:absolute;left:0;color:var(--accent-deep);font-weight:700;}.footer{background:var(--ink);color:#D9D5EC;padding:clamp(46px,6vw,80px) 0 2rem;}.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,48px);}.footer .brand{color:#fff;margin-bottom:1rem;}.footer p{color:#B6B1CE;font-size:.94rem;}.footer h4{color:#fff;font-size:1rem;margin-bottom:1rem;font-family:var(--font-display);}.footer__links{list-style:none;padding-left:0;margin:0;display:grid;gap:.6rem;}.footer__links a{color:#C3BFDC;font-size:.94rem;}.footer__links a:hover{color:#fff;}.footer__nap{font-style:normal;color:#B6B1CE;font-size:.94rem;line-height:1.8;}.footer__nap a{color:#C3BFDC;}.footer__nap a:hover{color:#fff;}.footer__social{display:flex;gap:.6rem;margin-top:1rem;}.footer__social a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:background .2s;}.footer__social a:hover{background:var(--brand);}.footer__social svg{width:20px;height:20px;}.footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.6rem;padding-top:1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.86rem;color:#B6B1CE;}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--accent);z-index:90;}.totop{position:fixed;right:20px;bottom:20px;width:50px;height:50px;border-radius:50%;border:0;background:var(--brand);color:#fff;box-shadow:var(--shadow);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;z-index:80;}.totop.show{opacity:1;visibility:visible;transform:none;}.totop svg{width:22px;height:22px;}.nf{min-height:64vh;display:grid;place-items:center;text-align:center;padding:60px 0;background:var(--grad-warm);}.nf h1{font-size:clamp(4rem,14vw,8rem);color:var(--brand-deep);line-height:1;}.nf p{max-width:46ch;margin-inline:auto;color:var(--muted);}.nf__actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:1.6rem;}.cursor{display:none!important;}.crumb ol{list-style:none;padding-left:0;margin:0;}.crumbs ol{list-style:none;padding-left:0;margin:0;}.breadcrumb ol{list-style:none;padding-left:0;margin:0;}nav[aria-label="Breadcrumb"] ol{list-style:none;padding-left:0;margin:0;}nav[aria-label="breadcrumb"] ol{list-style:none;padding-left:0;margin:0;}.marquee{overflow:hidden!important;display:flex!important;flex-wrap:nowrap!important;max-width:100%;animation:none!important;}.marquee__row{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;animation:none!important;}.marquee__track{flex:0 0 auto!important;display:flex!important;align-items:center;width:max-content!important;min-width:0!important;white-space:nowrap;padding-right:2.5rem;animation:mqxloop 34s linear infinite!important;}.marquee__track>*{flex:0 0 auto;}.no-js [data-rv]{opacity:1!important;transform:none!important;clip-path:none!important;}.no-js .frame{opacity:1!important;transform:none!important;clip-path:none!important;}.avail-badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;padding:.3em .8em;border-radius:999px;letter-spacing:.01em;margin-top:4px;margin-bottom:6px;}.avail-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}.avail-badge--open{background:#dcfce7;color:#15803d;}.avail-badge--few{background:#fff7ed;color:#c2410c;}.avail-badge--waitlist{background:#f1f5f9;color:#64748b;}.gallery-page .phero{padding:clamp(30px,4vw,56px) 0 clamp(18px,2.5vw,30px);}.gallery-page .section.values{padding:clamp(34px,4.5vw,58px) 0 clamp(56px,8vw,96px);}.gallery-page .section-head h2{margin-top:.5rem;}.gallery-page .gctrl{margin:1rem 0 1.25rem;}footer ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.site-footer ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.foot ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer__links{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.foot-links{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer-col ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer__col ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.fcol ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.f-col ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer-grid ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer__grid ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer-top ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.footer__top ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.foot__top ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}.fgrid-top ul{list-style:none!important;padding-left:0!important;padding-inline-start:0!important;margin-left:0!important;}footer li{list-style:none!important;}.footer li{list-style:none!important;}.site-footer li{list-style:none!important;}.foot li{list-style:none!important;}footer li::marker{content:""!important;}.footer li::marker{content:""!important;}.site-footer li::marker{content:""!important;}.foot li::marker{content:""!important;}:root{--c-primary:#0B9DE4;--c-primary-dark:#076694;--c-primary-soft:#d3edfa;--grad-warm:linear-gradient(135deg, #30ace8 0%, #0B9DE4 50%, #097eb6 100%);--grad-hero:radial-gradient(1200px 600px at 80% -10%, #d8effb 0%, rgba(255,255,255,0) 60%);--brand:#0B9DE4;--brand-dark:#0876ab;--brand-dk:#0876ab;--brand-deep:#075e89;--brand-dim:#086ea0;--brand-soft:#daf0fb;--brand-ink:#076694;--brand-text:#076694;--c-secondary:#FFB433;--c-secondary-soft:#fff3de;--accent:#FFB433;--accent-bright:#ffbf52;--accent-dark:#bf8726;--accent-dk:#bf8726;--accent-deep:#996c1f;--accent-ink:#a67521;--accent-text:#a67521;}#ibr4k{height:36px;width:auto;display:block;flex:0 0 auto;}#ieej{display:contents;}#i2pcj{display:block;font-size:0.72em;font-weight:400;opacity:0.7;line-height:1.2;}#igt5j{display:inline-flex;flex-direction:column;justify-content:center;line-height:1.15;}#ipbe{display:inline-flex;align-items:center;gap:10px;}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}*::before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}.marquee__track{animation:none;}.hero__bg img{transform:none;}[data-rv]{opacity:1!important;transform:none!important;}.glass{opacity:1!important;transform:none!important;}.frame{opacity:1!important;transform:none!important;}.marquee__track{animation:none!important;transform:none!important;}}@media (max-width:980px){.welcome__grid{grid-template-columns:1fr;}.split{grid-template-columns:1fr;}.contact__grid{grid-template-columns:1fr;}.split.rev .split__media{order:0;}.pgrid{grid-template-columns:repeat(2,1fr);}.vgrid{grid-template-columns:repeat(2,1fr);}.tgrid{grid-template-columns:repeat(2,1fr);}.gallery{grid-template-columns:repeat(2,1fr);}.steps{grid-template-columns:repeat(2,1fr);}.statsband{grid-template-columns:repeat(2,1fr);}.footer__grid{grid-template-columns:1fr 1fr;}.nav__toggle{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:0!important;max-height:46px!important;flex:0 0 46px!important;align-self:center!important;box-sizing:border-box!important;overflow:hidden!important;}.nav-toggle{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:0!important;max-height:46px!important;flex:0 0 46px!important;align-self:center!important;box-sizing:border-box!important;overflow:hidden!important;}.nav__toggle{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:0!important;max-height:46px!important;flex:0 0 46px!important;align-self:center!important;box-sizing:border-box!important;overflow:visible!important;padding:0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;}.nav-toggle{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:0!important;max-height:46px!important;flex:0 0 46px!important;align-self:center!important;box-sizing:border-box!important;overflow:visible!important;padding:0!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;}}@media (min-width:901px){.site-header .nav__menu > li.nav__cta{display:flex!important;align-items:center!important;}.site-header .nav__menu > li.nav__cta-m{display:flex!important;align-items:center!important;}.site-header .nav__menu > li.nav__drawer-cta{display:flex!important;align-items:center!important;}.site-header .nav__menu > li.nav__cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}.site-header .nav__menu > li.nav__cta-m > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}.site-header .nav__menu > li.nav__drawer-cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}.site-header .nav:has(> .nav__cta) .nav__menu > li.nav__cta{display:none!important;}.site-header .nav:has(> .nav__cta) .nav__menu > li.nav__cta-m{display:none!important;}.site-header .nav:has(> .nav__cta) .nav__menu > li.nav__drawer-cta{display:none!important;}.site-header .nav:has(> .nav__actions) .nav__menu > li.nav__cta{display:none!important;}.site-header .nav:has(> .nav__actions) .nav__menu > li.nav__cta-m{display:none!important;}.site-header .nav:has(> .nav__actions) .nav__menu > li.nav__drawer-cta{display:none!important;}.site-header .nav:has(> .nav__cta--desktop) .nav__menu > li.nav__cta{display:none!important;}.site-header .nav:has(> .nav__cta--desktop) .nav__menu > li.nav__cta-m{display:none!important;}.site-header .nav:has(> .nav__cta--desktop) .nav__menu > li.nav__drawer-cta{display:none!important;}.site-header .nav:has(> .nav__cta--desk) .nav__menu > li.nav__cta{display:none!important;}.site-header .nav:has(> .nav__cta--desk) .nav__menu > li.nav__cta-m{display:none!important;}.site-header .nav:has(> .nav__cta--desk) .nav__menu > li.nav__drawer-cta{display:none!important;}.site-header .hbar:has(> .hbar__cta) .nav__menu > li.nav__cta{display:none!important;}.site-header .hbar:has(> .hbar__cta) .nav__menu > li.nav__cta-m{display:none!important;}.site-header .hbar:has(> .hbar__cta) .nav__menu > li.nav__drawer-cta{display:none!important;}.site-header .nav__menu > li.nav__cta--mob{display:none!important;}.site-header .nav__menu.is-mobile-dup{display:none!important;}.site-header .topbar a[href*="tour"]{display:none!important;}}@media (max-width:900px){.nav__toggle{display:inline-flex!important;position:relative!important;z-index:1002!important;}.nav-toggle{display:inline-flex!important;position:relative!important;z-index:1002!important;}.nav__menu{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:100vh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.15rem!important;margin:0!important;padding:84px 22px 32px!important;background:var(--bg,#ffffff)!important;border:0!important;border-radius:0!important;transform:translateY(-101%)!important;transition:transform .35s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;box-shadow:0 26px 60px rgba(0,0,0,.22)!important;z-index:1001!important;list-style:none!important;}.nav-menu{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:100vh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.15rem!important;margin:0!important;padding:84px 22px 32px!important;background:var(--bg,#ffffff)!important;border:0!important;border-radius:0!important;transform:translateY(-101%)!important;transition:transform .35s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;box-shadow:0 26px 60px rgba(0,0,0,.22)!important;z-index:1001!important;list-style:none!important;}ul#nav-menu{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:100vh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.15rem!important;margin:0!important;padding:84px 22px 32px!important;background:var(--bg,#ffffff)!important;border:0!important;border-radius:0!important;transform:translateY(-101%)!important;transition:transform .35s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;box-shadow:0 26px 60px rgba(0,0,0,.22)!important;z-index:1001!important;list-style:none!important;}body.nav-open .nav__menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open .nav-menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open ul#nav-menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}.nav__menu li{width:100%!important;list-style:none!important;}.nav-menu li{width:100%!important;list-style:none!important;}ul#nav-menu li{width:100%!important;list-style:none!important;}.nav__menu a:not(.btn){color:var(--ink,#1f2430)!important;display:block!important;width:100%!important;padding:.8rem .2rem!important;font-size:1.18rem!important;border-bottom:1px solid var(--line,rgba(0,0,0,.08))!important;}.nav-menu a:not(.btn){color:var(--ink,#1f2430)!important;display:block!important;width:100%!important;padding:.8rem .2rem!important;font-size:1.18rem!important;border-bottom:1px solid var(--line,rgba(0,0,0,.08))!important;}ul#nav-menu a:not(.btn){color:var(--ink,#1f2430)!important;display:block!important;width:100%!important;padding:.8rem .2rem!important;font-size:1.18rem!important;border-bottom:1px solid var(--line,rgba(0,0,0,.08))!important;}.nav__menu .btn{display:inline-flex!important;margin-top:1rem!important;width:auto!important;}.nav-menu .btn{display:inline-flex!important;margin-top:1rem!important;width:auto!important;}ul#nav-menu .btn{display:inline-flex!important;margin-top:1rem!important;width:auto!important;}body.nav-open{overflow:hidden!important;}body{overflow-x:clip!important;}.marquee{overflow:hidden!important;}body.nav-open .nav__toggle span{background:var(--ink)!important;}body.nav-open .nav__toggle span::before{background:var(--ink)!important;}body.nav-open .nav__toggle span::after{background:var(--ink)!important;}.nav__menu{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.1rem!important;margin:0!important;padding:86px 24px 40px!important;background:var(--bg)!important;transform:translateX(102%)!important;transition:transform .34s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;z-index:1001!important;box-shadow:none!important;border:0!important;}.nav-menu{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.1rem!important;margin:0!important;padding:86px 24px 40px!important;background:var(--bg)!important;transform:translateX(102%)!important;transition:transform .34s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;z-index:1001!important;box-shadow:none!important;border:0!important;}#nav-menu{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.1rem!important;margin:0!important;padding:86px 24px 40px!important;background:var(--bg)!important;transform:translateX(102%)!important;transition:transform .34s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;z-index:1001!important;box-shadow:none!important;border:0!important;}ul.nav__menu.is-mobile-dup{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.1rem!important;margin:0!important;padding:86px 24px 40px!important;background:var(--bg)!important;transform:translateX(102%)!important;transition:transform .34s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;z-index:1001!important;box-shadow:none!important;border:0!important;}.masthead__nav.nav__menu{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:.1rem!important;margin:0!important;padding:86px 24px 40px!important;background:var(--bg)!important;transform:translateX(102%)!important;transition:transform .34s ease!important;visibility:hidden!important;pointer-events:none!important;opacity:1!important;z-index:1001!important;box-shadow:none!important;border:0!important;}body.nav-open .nav__menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open .nav-menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open #nav-menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open ul.nav__menu.is-mobile-dup{transform:none!important;visibility:visible!important;pointer-events:auto!important;}body.nav-open .masthead__nav.nav__menu{transform:none!important;visibility:visible!important;pointer-events:auto!important;}.site-header{z-index:1100!important;}body.nav-open .site-header{background:var(--bg)!important;}.site-header .nav__toggle{position:relative!important;z-index:1102!important;}.nav__toggle{position:relative!important;z-index:1102!important;}.nav-toggle{position:relative!important;z-index:1102!important;}body.nav-open{overflow:hidden!important;}body.nav-open .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;transform:none!important;background:var(--bg)!important;}body.nav-open header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;transform:none!important;background:var(--bg)!important;}body.nav-open .nav__toggle{position:relative!important;}body.nav-open .nav-toggle{position:relative!important;}body.nav-open .nav__toggle > *{opacity:0!important;}body.nav-open .nav-toggle > *{opacity:0!important;}body.nav-open .nav__toggle::before{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:23px!important;height:2.5px!important;background:var(--ink)!important;border-radius:2px!important;margin:0!important;transition:none!important;}body.nav-open .nav-toggle::before{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:23px!important;height:2.5px!important;background:var(--ink)!important;border-radius:2px!important;margin:0!important;transition:none!important;}body.nav-open .nav__toggle::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:23px!important;height:2.5px!important;background:var(--ink)!important;border-radius:2px!important;margin:0!important;transition:none!important;}body.nav-open .nav-toggle::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:23px!important;height:2.5px!important;background:var(--ink)!important;border-radius:2px!important;margin:0!important;transition:none!important;}body.nav-open .nav__toggle::before{transform:translate(-50%,-50%) rotate(45deg)!important;}body.nav-open .nav-toggle::before{transform:translate(-50%,-50%) rotate(45deg)!important;}body.nav-open .nav__toggle::after{transform:translate(-50%,-50%) rotate(-45deg)!important;}body.nav-open .nav-toggle::after{transform:translate(-50%,-50%) rotate(-45deg)!important;}.nav__toggle{margin-left:auto!important;flex:0 0 auto!important;order:99!important;}.nav-toggle{margin-left:auto!important;flex:0 0 auto!important;order:99!important;}.site-header .nav{justify-content:space-between!important;}.site-header .header-inner{justify-content:space-between!important;}.site-header .header__in{justify-content:space-between!important;}.site-header .header__inner{justify-content:space-between!important;}.site-header .hbar{justify-content:space-between!important;}.site-header .masthead__bar{justify-content:space-between!important;}.site-header .container > .nav{justify-content:space-between!important;}.site-header .nav__cta{margin-left:auto!important;}.site-header .nav__actions{margin-left:auto!important;}.site-header .header__cta{margin-left:auto!important;}.site-header .nav__drawer-cta{margin-left:auto!important;}.site-header .nav__cta .btn:not(.nav__toggle){display:none!important;}.site-header .nav__actions .btn{display:none!important;}.site-header .header__cta .btn{display:none!important;}body.nav-open .nav__toggle{position:fixed!important;top:16px!important;right:16px!important;left:auto!important;bottom:auto!important;margin:0!important;z-index:1300!important;}body.nav-open .nav-toggle{position:fixed!important;top:16px!important;right:16px!important;left:auto!important;bottom:auto!important;margin:0!important;z-index:1300!important;}body.nav-open .site-header{z-index:1200!important;}#nav-menu a:not(.btn){border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;}.nav__menu a:not(.btn){border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;}.nav-menu a:not(.btn){border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;}#primary-nav a:not(.btn){border-radius:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;}#nav-menu > li.nav__cta{display:block!important;width:100%!important;margin-top:1rem!important;}#nav-menu > li.nav__cta-m{display:block!important;width:100%!important;margin-top:1rem!important;}#nav-menu > li.nav__drawer-cta{display:block!important;width:100%!important;margin-top:1rem!important;}.nav__menu > li.nav__cta{display:block!important;width:100%!important;margin-top:1rem!important;}.nav__menu > li.nav__cta-m{display:block!important;width:100%!important;margin-top:1rem!important;}.nav__menu > li.nav__drawer-cta{display:block!important;width:100%!important;margin-top:1rem!important;}#nav-menu > li.nav__cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}#nav-menu > li.nav__cta-m > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}#nav-menu > li.nav__drawer-cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}.nav__menu > li.nav__cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}.nav__menu > li.nav__cta-m > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}.nav__menu > li.nav__drawer-cta > a{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:100%!important;white-space:nowrap!important;text-align:center!important;}}@media (min-width:861px){.site-header .nav__menu .nav__cta{display:none!important;}}@media (max-width:860px){.nav__menu{position:fixed;inset:72px 0 auto 0;background:rgba(252,251,255,.98);backdrop-filter:blur(16px);flex-direction:column;align-items:stretch;gap:.2rem;padding:1rem 20px 1.5rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s;max-height:calc(100vh - 72px);overflow:auto;}body.nav-open .nav__menu{transform:none;opacity:1;pointer-events:auto;}.nav__menu a:not(.btn){padding:.8em 1em;font-size:1.05rem;}.nav__menu .nav__cta{margin:.4rem 0 0;}.nav__menu .btn{width:100%;}.nav__toggle{display:flex;}.nav__actions .nav__cta--top{display:none;}.hero__stage{min-height:auto;border-radius:var(--radius);}.hero__bg{position:relative;height:auto;}.hero__bg img{position:relative;height:clamp(220px,42vw,320px);transform:none;}.hero__bg::after{display:none;}.hero__inner{position:relative;display:block;min-height:auto;padding:0;}.glass{width:100%;border-radius:0 0 var(--radius) var(--radius);box-shadow:none;border-left:0;border-right:0;border-bottom:0;background:rgba(252,251,255,.96);}.hero__chips{position:relative;right:auto;bottom:auto;flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:1rem;align-items:center;}}@media (min-width:769px){footer ul{text-align:left;}.footer ul{text-align:left;}.site-footer ul{text-align:left;}.foot ul{text-align:left;}.footer__links{text-align:left;}.foot-links{text-align:left;}}@media (max-width:768px){.wrap{width:min(100% - 32px,var(--maxw));}.nav{width:min(100% - 32px,var(--maxw));}.section{padding:clamp(40px,8vw,64px) 0;}.phero{padding:clamp(28px,7vw,56px) 0 clamp(22px,5vw,40px);}body{font-size:clamp(15px,3.6vw,16px);}.glass h1{font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.18;}.phero h1{font-size:clamp(1.7rem,7vw,2.3rem);line-height:1.16;}.section-head h2{line-height:1.2;}.cta__card h2{line-height:1.2;}.qband blockquote{line-height:1.2;}.section-head h2{font-size:clamp(1.5rem,6vw,2rem);}h1{overflow-wrap:anywhere;word-break:break-word;}h2{overflow-wrap:anywhere;word-break:break-word;}h3{overflow-wrap:anywhere;word-break:break-word;}p{overflow-wrap:anywhere;word-break:break-word;}a{overflow-wrap:anywhere;word-break:break-word;}li{overflow-wrap:anywhere;word-break:break-word;}address{overflow-wrap:anywhere;word-break:break-word;}.lead{overflow-wrap:anywhere;word-break:break-word;}.footer__nap{overflow-wrap:anywhere;word-break:break-word;}blockquote{overflow-wrap:anywhere;word-break:break-word;}.brand{font-size:1.15rem;gap:.5rem;}.brand__mark{width:34px;height:34px;}.btn{font-size:1rem;padding:.85em 1.5em;min-height:48px;line-height:1.25;}.btn svg{width:1em;height:1em;flex:none;}a.btn[href^="tel:"]{white-space:nowrap;}.cta__actions{flex-direction:column;align-items:stretch;gap:.7rem;}.nf__actions{flex-direction:column;align-items:stretch;gap:.7rem;}.cta__actions .btn{width:100%;}.nf__actions .btn{width:100%;}.pgrid{grid-template-columns:repeat(2,1fr);}.vgrid{grid-template-columns:repeat(2,1fr);}.tgrid{grid-template-columns:repeat(2,1fr);}.gallery{grid-template-columns:repeat(2,1fr);}.tuition{grid-template-columns:repeat(2,1fr);}.steps{grid-template-columns:repeat(2,1fr);}.statsband{grid-template-columns:repeat(2,1fr);padding:clamp(24px,6vw,40px);}.welcome__grid{grid-template-columns:1fr;}.split{grid-template-columns:1fr;}.contact__grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.miniform{grid-template-columns:1fr;}.tuition{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}img{max-width:100%;}iframe{max-width:100%;}.map-frame{max-width:100%;}.map-frame{height:260px;}.welcome__media img{aspect-ratio:4/3;}.qband{min-height:320px;}.welcome__media{margin-bottom:1.6rem;}.welcome__badge{left:auto;right:0;bottom:-14px;}.footer__grid{grid-template-columns:1fr;gap:1.8rem;}.footer__nap{line-height:1.9;}.footer__nap a{overflow-wrap:anywhere;word-break:break-word;}.footer__links a{overflow-wrap:anywhere;word-break:break-word;}.info-row a{overflow-wrap:anywhere;word-break:break-word;}.footer__social{gap:.7rem;}.footer__bottom{flex-direction:column;gap:.5rem;align-items:flex-start;text-align:left;}.info-row{padding:1rem 0;}.map-frame{margin-top:1.2rem;}.blob-head::before{width:84px;height:84px;left:-22px;top:-22px;}.faq__q{padding:1em 1.1em;font-size:1rem;}}@media (max-width:700px){.gallery-page .phero{padding:28px 0 22px;}.gallery-page .section.values{padding:34px 0 58px;}}@media (max-width:680px){.pgrid{grid-template-columns:1fr;}.vgrid{grid-template-columns:1fr;}.tgrid{grid-template-columns:1fr;}.gallery{grid-template-columns:1fr;}.steps{grid-template-columns:1fr;}.statsband{grid-template-columns:1fr;}.footer__grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.miniform{grid-template-columns:1fr;}.welcome__badge{left:0;}.blob-head::before{width:90px;height:90px;left:-26px;top:-26px;}.footer__bottom{flex-direction:column;}}@media (max-width:480px){.wrap{width:min(100% - 32px,var(--maxw));}.nav{width:min(100% - 32px,var(--maxw));}.pgrid{grid-template-columns:1fr;}.vgrid{grid-template-columns:1fr;}.tgrid{grid-template-columns:1fr;}.gallery{grid-template-columns:1fr;}.steps{grid-template-columns:1fr;}.footer__grid{grid-template-columns:1fr;}.tuition{grid-template-columns:1fr;}.statsband{grid-template-columns:repeat(2,1fr);}.pfilter{gap:.45rem;}.gctrl{gap:.45rem;}.pfilter button{font-size:.86rem;padding:.55em 1em;}.gctrl button{font-size:.86rem;padding:.55em 1em;}.pcard__meta{gap:.4rem;}.miniform .btn{min-height:48px;}.hero__stage{width:min(100% - 24px,1320px);}.footer__bottom span{max-width:100%;}}@media (max-width:380px){.wrap{width:min(100% - 28px,var(--maxw));}.nav{width:min(100% - 28px,var(--maxw));}}@media (max-width:360px){.wrap{width:min(100% - 28px,var(--maxw));}.nav{width:min(100% - 28px,var(--maxw));}.glass h1{font-size:clamp(1.55rem,7.4vw,2rem);}.nf h1{font-size:clamp(3.4rem,20vw,5rem);}.pcard__meta span{font-size:.74rem;}}

/* mkr-template-hardening v4 */

/* <source> must never generate a box.
   source is NOT in the HTML spec's display:none UA list — it simply isn't
   painted because <picture> renders only its <img>. Templates set <picture> to
   display:contents, which dissolves the picture box and hoists its <source>
   children into the parent's formatting context; inside a grid each one then
   blockifies into a real grid item. With two sources per photo a 12-photo,
   4-column gallery became 36 items and photos landed one per row behind
   invisible cells. */
source{ display:none!important; }

/* A photo-stream whose items were emitted inside one wrapper div. The grid then
   holds a single item and every photo stacks in one column. display:contents
   dissolves the wrapper so the photos become the grid items they were meant to
   be. !important because one hydrator variant puts the wrapper grid in an
   inline style attribute. */
[data-mkr-section="photo-stream"] > div:only-child:not([class]){
  display:contents!important;
}

/* Injected MKR widgets are emitted outside the template's content container and
   with no max-width, so they run edge-to-edge while every other section sits in
   the content column. !important on the inline padding because the generated
   per-element #id rule always beats an attribute selector. */
[data-mkr-google-reviews]{
  width:100%;
  max-width:var(--maxw, 1240px);
  margin-inline:auto;
  box-sizing:border-box;
  padding-inline:clamp(1.1rem, 4vw, 2.4rem)!important;
}

/* The Google-reviews widget's LAYOUT, as a fallback.
   The widget is styled ENTIRELY by inline styles — it renders self-contained, so
   it can be concatenated into any template. That makes it the single block on the
   page with NO class-based CSS of its own, so once GrapesJS lifts those inline
   styles into per-element #i… rules, every pixel of it depends on those rules
   surviving. They did not: the footer patch swallowed them into
   @media (min-width:769px) (see splitSwallowedFooterPatch), and below 769px a
   live site served the widget as bare markup — no cards, no rows, run-together
   text, black stars and a 128px avatar.
   Keyed on the .grw-* classes and the widget's own structure, both of which
   survive the round-trip untouched. Deliberately NOT !important and
   class-specificity only, so the real inline / #id styles — which carry the
   school's own accent and theme — still win wherever they survive. */
[data-mkr-google-reviews] .grw-head{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:18px;
}
[data-mkr-google-reviews] .grw-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px;
}
[data-mkr-google-reviews] .grw-list{ display:flex; flex-direction:column; gap:14px; }
[data-mkr-google-reviews] .grw-card{
  display:flex; flex-direction:column; gap:8px;
  padding:16px; border:1px solid #e7ebee; border-radius:14px; box-sizing:border-box;
}
[data-mkr-google-reviews][data-mkr-grw-theme="light"] .grw-card{ background:#fff; color:#0b2129; }
[data-mkr-google-reviews][data-mkr-grw-theme="dark"] .grw-card{
  background:#111827; color:#f8fafc; border-color:#374151;
}
/* Card header row: avatar + name/time column + the Google glyph. */
[data-mkr-google-reviews] .grw-card > div:first-child{ display:flex; align-items:center; gap:10px; }
[data-mkr-google-reviews] .grw-card > div:first-child > div{ min-width:0; flex:1; }
[data-mkr-google-reviews] .grw-card picture{ display:contents; }
[data-mkr-google-reviews] .grw-card > div:first-child img{
  width:40px; height:40px; border-radius:50%; object-fit:cover; flex:0 0 auto;
}
[data-mkr-google-reviews] .grw-card > div:last-child{ font-size:13.5px; line-height:1.55; }
/* Star rows. The filled run carries aria-hidden; the greyed-out remainder is the
   span nested inside it. */
[data-mkr-google-reviews] span[aria-hidden="true"]{ color:#FBBC04; }
[data-mkr-google-reviews] span[aria-hidden="true"] span{ color:#d6d9dc; }
/* A legibility floor, not a brand match: the button's real colour is the school's
   accent and lives in the inline style. Without a background here the white label
   would sit on nothing at all. */
[data-mkr-google-reviews] .grw-review-btn{
  margin-left:auto; padding:9px 16px; border-radius:10px;
  background:#008CCF; color:#fff; font-weight:700; text-decoration:none; white-space:nowrap;
}

/* Phone: the head runs out of room, the CTA wraps to a line of its own, and
   margin-left:auto then strands it against the right edge — measured on a live
   375px page as a 163px button beside 177px of nothing, under a left-aligned
   rating row. The house rule is a full-width body button on mobile.
   !important because the CTA's margin is an inline style — and, once the editor
   has lifted it, a per-element #id rule — either of which outranks an attribute
   selector. This is a media query, so it cannot live in the inline style the
   widget renders with; it has to be here. */
@media (max-width:600px){
  [data-mkr-google-reviews] .grw-head{ gap:10px; }
  [data-mkr-google-reviews] .grw-review-btn{
    margin-left:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    text-align:center;
  }
}

/* Quote bands, sized to the quote.
   A template's quote band is display type — .qband blockquote is
   clamp(1.4rem, …, 2.2rem) over max-width:24ch — laid out for a dozen-odd
   words of marketing copy. Real reviews are routinely five times that, and a
   478-character one filled a 770px band with an 18-line wall of 22px bold text.
   The hydrator stamps data-mkr-quote-len (m = long, l = long enough to lead
   with a sentence and disclose the rest), so the type steps down and the measure
   widens only where it is needed; a short quote keeps the template's own look.
   Attribute selector, no !important: the header stylesheet loads AFTER the page
   stylesheet, so equal specificity resolves this way round, and a school that
   really styled its own blockquote by id still wins. */
blockquote[data-mkr-quote-len]{
  font-size:clamp(1.05rem, .82rem + .95vw, 1.5rem);
  line-height:1.45;
  max-width:46ch;
}
/* <details> requires <summary> FIRST in the markup, which puts the toggle
   between the lede and the rest — the quote reads as if interrupted once opened.
   Flex order:N moves it visually to the end without touching the DOM order the
   element needs. Closed, only the summary renders, so the order is moot. */
blockquote[data-mkr-quote-len] .mkr-quote-more{
  display:flex; flex-direction:column; align-items:center;
}
blockquote[data-mkr-quote-len] .mkr-quote-rest{ order:1; }
blockquote[data-mkr-quote-len] .mkr-quote-more > summary{
  order:2;
  display:inline-block; margin-top:.7rem; cursor:pointer;
  font-size:.74em; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  text-decoration:underline; text-underline-offset:3px; opacity:.82;
  list-style:none;
}
blockquote[data-mkr-quote-len] .mkr-quote-more > summary::-webkit-details-marker{ display:none; }
blockquote[data-mkr-quote-len] .mkr-quote-more > summary:hover{ opacity:1; }
/* Two real labels, CSS picks which shows — so the accessible name is correct in
   both states, which a content:"" pseudo-element cannot guarantee. */
blockquote[data-mkr-quote-len] .mkr-quote-less-label{ display:none; }
blockquote[data-mkr-quote-len] .mkr-quote-more[open] .mkr-quote-more-label{ display:none; }
blockquote[data-mkr-quote-len] .mkr-quote-more[open] .mkr-quote-less-label{ display:inline; }
/* The disclosed remainder reads as a continuation of the lede, so it keeps the
   quote's own type. */
blockquote[data-mkr-quote-len] .mkr-quote-rest{ display:block; margin-top:.4rem; }

/* The brand block's LAYOUT, as a fallback.
   The generated header markup (logo + school name + tagline) carries no classes
   — its layout came from inline styles, which GrapesJS converts to per-element
   id rules the first time the header is saved from the editor. Those id rules
   live only in the Header-css payload, and upsertHeaderFooter publishes the
   header with an EMPTY Header-css. So any site whose header HTML is the
   editor-saved (id-keyed, style-less) form while its stylesheet is regenerated
   gets a header with NO brand CSS: picture stops being display:contents, the logo
   renders at its intrinsic size (a 500px PNG became a 149px-tall logo and a
   150px-tall header bar), the name/tagline wrapper stops being a flex column so
   the tagline runs inline after the name, and the school name wraps over four
   lines. Keyed on the data-mkr-* contract so it holds for every template.
   Deliberately NOT !important and attribute-selector specificity only, so a real
   per-element id rule — i.e. styling the school actually saved — still wins. */
[data-mkr-logo]{ display:inline-flex; align-items:center; gap:10px; }
[data-mkr-logo] picture{ display:contents; }
[data-mkr-logo] img{ height:36px; width:auto; display:block; flex:0 0 auto; }
[data-mkr-logo] > span{
  display:inline-flex; flex-direction:column; justify-content:center; line-height:1.15;
}

/* The tagline is sized by an inline font-size:0.72em on the generated brand
   markup, so it shrinks with the school name and drops under 11px on tablets.
   The display:block here is part of the same fallback as the brand rules above. */
[data-mkr-field="school.tagline"]{ display:block; font-weight:400; opacity:.7; line-height:1.2; }
[data-mkr-field="school.tagline"]{ font-size:max(11.5px, .72em)!important; }

/* A phone number is never a wrap opportunity. Templates put the click-to-call
   link in the header row beside the school name; a long name squeezes the link
   and the number breaks at its hyphens — "507-" / "824-" / "6222" on three
   lines. Keyed on the tel: href (plain HTML semantics) so it holds for every
   template's phone link wherever it sits, and so it survives the header being
   republished from the editor — the class-keyed version of this rule lived only
   in the published stylesheet, never in the Header-styles payload the editor
   regenerates from, so every header submit dropped it and re-broke the number. */
a[href^="tel:"]{ white-space:nowrap; }

/* ...and let the brand yield the space instead. The generated brand block
   (logo + school name + tagline) is a flex item whose min-content width is set
   by the school name, so with the default min-width:auto it refuses to shrink
   and squeezes the phone/CTA block next to it. The name is already styled to
   wrap inside the brand; this lets it. */
[data-mkr-logo]{ min-width:0; }

/* Scroll-reveal must not be able to hide content permanently. Reveal-gated
   blocks start at opacity:0 and are shown by template JS loaded from a CDN; if
   that request is blocked or fails, the page body never appears. Reveal them
   regardless after 4s — in the normal case the observer has long since run. */
[data-rv]{ animation: mkr-reveal-failsafe .01s linear 4s forwards; }
@keyframes mkr-reveal-failsafe{ to{ opacity:1; transform:none; } }
.no-js [data-rv]{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  [data-rv]{ animation:none; opacity:1; transform:none; }
}
