:root{--navy:#102a56;--deep:#0b2145;--blue:#3f63ad;--sky:#afdfff;--ice:#e7f4ff;--paper:#f6f9fd;--ink:#183154;--muted:#586e89;--line:#dbe5f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.12;letter-spacing:-.055em}h1{font-size:clamp(3.7rem,7.3vw,8.4rem)}h2{font-size:clamp(2.3rem,4.3vw,4.8rem)}h3{font-size:1.3rem}.container{width:min(1220px,calc(100% - 64px));margin-inline:auto}.eyebrow{font-weight:800;font-size:.74rem;letter-spacing:.17em;color:var(--sky);text-transform:uppercase}.eyebrow.blue{color:var(--blue)}.site-header{position:sticky;top:0;z-index:50;background:#244e94;box-shadow:0 2px 20px #091b391a}.header-inner{max-width:1340px;margin:auto;min-height:82px;padding:0 34px;display:flex;align-items:center;gap:34px}.logo-link img{display:block;width:210px;height:auto}.site-header nav{display:flex;align-items:center;gap:27px;margin-left:auto;color:#e8f2ff;font-size:.9rem;font-weight:700}.site-header nav a{transition:color .2s}.site-header nav a:hover,.site-header nav a[aria-current]{color:#b4e7ff}.header-actions{display:flex;gap:10px;align-items:center}.student-link,.contact-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:9px;font-size:.82rem;font-weight:800;white-space:nowrap;transition:transform .2s,background .2s}.student-link{background:#b9e9ff;color:#153c78}.student-link:hover{background:#e1f5ff;transform:translateY(-2px)}.contact-link{background:#173c77;color:#fff}.contact-link:hover{background:#0b2a5a}.menu-toggle{display:none}.button{border:0;border-radius:9px;padding:17px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:42px;font-size:.92rem;font-weight:800;line-height:1.3;transition:transform .25s,background .25s}.button:hover{transform:translateY(-3px)}.button-light{background:#b3e4ff;color:var(--deep)}.button-light:hover{background:#d5f1ff}.button-outline{border:1px solid #8eaccb;color:#fff}.button-outline:hover{background:#ffffff15}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#234d91}.home-hero,.inner-hero,.detail-hero{background:linear-gradient(125deg,#0c254f,#285ba6);color:#fff;position:relative;overflow:hidden}.home-hero:before,.inner-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 50%,#609ad535,transparent 42%);pointer-events:none}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.16fr .84fr;align-items:center;position:relative}.hero-copy{padding:80px 0;position:relative;z-index:2}.hero-copy h1{margin:22px 0 25px;line-height:1.025}.hero-copy em,.inner-hero em,.contact-hero em{font-style:normal;color:#b3e4ff}.hero-lead{font-size:1.18rem;max-width:620px;line-height:1.65;color:#d8e8fb}.hero-buttons{display:flex;gap:12px;margin-top:33px}.hero-bottomline{display:flex;gap:18px;align-items:center;margin-top:66px;color:#adc9e8;font-size:.83rem}.hero-bottomline span:first-child{font-weight:800;color:#b3e4ff;border-right:1px solid #7292bb;padding-right:18px}.hero-visual{height:600px;position:relative;display:grid;place-items:center;animation:breathe 8s ease-in-out infinite}.visual-ring{position:absolute;border:1px solid #b7dbfa50;border-radius:50%;transform:rotate(-23deg)}.ring-a{width:440px;height:440px;animation:orbit 18s linear infinite}.ring-b{width:590px;height:315px;animation:orbit 24s linear infinite reverse}.visual-core{font:800 360px/.8 Manrope;color:#7fb8eb70;text-shadow:21px 22px 0 #0b285a64;transform:rotate(-9deg);letter-spacing:-.13em}.visual-tag{position:absolute;border:1px solid #a8d0f077;color:#eaf6ff;padding:8px 13px;font-size:.7rem;letter-spacing:.18em;font-weight:800;background:#29589888;backdrop-filter:blur(8px)}.tag-one{top:104px;left:4%}.tag-two{right:0;top:47%}.tag-three{left:12%;bottom:78px}@keyframes orbit{to{transform:rotate(337deg)}}@keyframes breathe{50%{transform:translateY(-13px)}}.quick-choice,.featured,.catalog-section,.related{padding-block:100px}.section-intro{max-width:720px;margin-bottom:40px}.section-intro h2{margin-bottom:16px}.section-intro>p:last-child,.split-intro>p{color:var(--muted);font-size:1.1rem}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.choice{min-height:330px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:27px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s}.choice:hover,.course-card:hover{transform:translateY(-6px);border-color:#8db7e8;box-shadow:0 18px 40px #193d741b}.choice-num{font-size:.75rem;letter-spacing:.14em;color:var(--blue);font-weight:800}.choice-symbol{color:#5b95d2;font-size:3.6rem;line-height:1;margin:27px 0 13px}.choice h3{font-size:1.58rem;margin:0 0 10px}.choice p{color:var(--muted);margin:0}.choice-link{margin-top:auto;padding-top:22px;color:var(--blue);font-size:.9rem;font-weight:800;display:flex;justify-content:space-between}.manifesto{background:#e4f2ff;padding:67px 0}.manifesto-grid{display:grid;grid-template-columns:170px 1fr 70px;align-items:center;gap:35px}.manifesto h2{font-size:clamp(1.8rem,3.3vw,3.3rem);margin:0}.manifesto h2 span{color:var(--blue)}.manifesto .eyebrow{margin:0;color:var(--blue)}.manifesto-star{font-size:4rem;color:#659bd6;animation:rotateSlow 30s linear infinite}@keyframes rotateSlow{to{transform:rotate(360deg)}}.split-intro{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}.split-intro>p{max-width:340px}.featured-grid,.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.featured-grid{grid-template-columns:repeat(4,1fr)}.course-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;min-height:265px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;transition-delay:0ms}.card-top{display:flex;justify-content:space-between;gap:10px;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card-top span:last-child{font-size:1.4rem;line-height:1}.course-card h3{font-size:1.3rem;margin:23px 0 11px}.course-card p{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:14px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.72rem}.card-foot b{color:var(--blue);white-space:nowrap}.steps{background:var(--paper);padding:105px 0}.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.steps-grid>div>p:not(.eyebrow){color:var(--muted);font-size:1.1rem;max-width:480px}.text-link,.official-link{display:inline-flex;gap:35px;align-items:center;color:var(--blue);font-weight:800;border-bottom:1px solid var(--blue);padding-bottom:8px;margin-top:20px}.step-list{list-style:none;padding:0;margin:0}.step-list li{display:flex;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}.step-list li:first-child{padding-top:0}.step-list li>span{color:var(--blue);font-size:.8rem;font-weight:800}.step-list h3{font-size:1.16rem;margin:0 0 7px}.step-list p{color:var(--muted);margin:0}.cta-band{background:var(--navy);color:#fff;padding:70px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.cta-inner h2{font-size:clamp(2.1rem,4vw,4rem);margin:15px 0}.cta-inner p:last-child{color:#c5d8ee;margin:0}.cta-inner .button{flex:none}.site-footer{background:var(--deep);color:#d4e3f5;padding:74px 0 26px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:70px}.footer-logo{width:285px;max-width:100%;height:auto;display:block}.footer-grid p{margin:22px 0 0;color:#a7bedb}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:12px;font-size:.88rem}.footer-grid strong{color:white;margin-bottom:8px}.footer-grid a:hover{color:#b9e9ff}.footer-end{border-top:1px solid #3b5680;display:flex;justify-content:space-between;gap:20px;margin-top:70px;padding-top:24px;font-size:.76rem;color:#93acca}.inner-hero-grid{min-height:445px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;position:relative}.inner-hero h1{font-size:clamp(3.4rem,6vw,6.3rem);margin:15px 0 25px}.inner-hero .hero-lead{max-width:650px}.inner-hero .button{margin-top:15px}.inner-art{position:relative;height:400px;display:grid;place-items:center}.inner-art>span{font:800 220px Manrope;color:#82b7eb72;transform:rotate(-12deg);letter-spacing:-.08em}.inner-orbit{position:absolute;width:350px;height:350px;border:1px solid #c1e7ff70;border-radius:50%;animation:orbit 22s linear infinite}.catalog-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:15px 0}.filter-tabs button{flex:none;border:1px solid var(--line);background:#fff;border-radius:99px;color:#56708e;font-size:.79rem;font-weight:800;padding:9px 14px}.filter-tabs button.active{background:var(--navy);color:white;border-color:var(--navy)}.catalog-search{background:var(--paper);border-radius:8px;display:flex;align-items:center;padding:8px 12px;gap:8px;flex:none}.catalog-search span{font-size:1.6rem;color:var(--blue);line-height:1}.catalog-search input{border:0;outline:0;background:transparent;width:180px}.catalog-count{color:var(--muted);font-size:.8rem;margin:24px 0}.catalog-empty{border:1px dashed var(--line);padding:35px;border-radius:14px;color:var(--muted)}.source-note{font-size:.82rem;color:var(--muted);margin-top:25px}.source-note a{text-decoration:underline}.editorial{background:#dceeff;padding:52px 0}.editorial-grid{display:flex;align-items:center;gap:32px}.editorial-marker{font-size:3rem;color:var(--blue)}.editorial p{font:700 clamp(1.4rem,2.5vw,2.4rem)/1.3 Manrope;letter-spacing:-.04em;margin:0;flex:1}.editorial a{white-space:nowrap;font-weight:800;color:var(--blue)}.detail-hero{padding:37px 0 85px}.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.76rem;color:#c1d8ee;margin-bottom:70px}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span:last-child{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-head{display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:50px}.detail-head h1{font-size:clamp(2.7rem,5vw,5rem);margin:15px 0 23px}.detail-head p:not(.eyebrow){font-size:1.12rem;color:#d6e6f7;max-width:690px}.detail-actions{display:flex;gap:24px;align-items:center;margin-top:30px}.detail-back{text-decoration:underline;text-underline-offset:5px}.detail-orbit{border:1px solid #b2dfff6e;border-radius:50%;aspect-ratio:1;display:grid;place-items:center;animation:breathe 8s ease-in-out infinite}.detail-orbit span{font-size:10rem;color:#83b8ea9c;animation:rotateSlow 40s linear infinite}.detail-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:100px;padding-block:95px}.detail-main h2{font-size:clamp(2rem,3vw,3rem)}.detail-main h3{font-size:1.45rem;margin:33px 0 12px}.detail-main>p{color:#506985}.detail-focus{font-size:1.18rem!important}.detail-divider{height:1px;background:var(--line);margin:38px 0}.notice{background:#eaf5ff;border-left:4px solid #75b5e9;padding:22px 24px;margin:40px 0}.notice strong{font-family:Manrope}.notice p{margin:6px 0 0;color:#506985}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:1.4rem;color:var(--blue)}.faq details[open] summary:after{content:'−'}.faq p{color:var(--muted);margin:10px 0 0}.info-box{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px;position:sticky;top:106px}.info-box dl{margin:0}.info-box dl>div{border-bottom:1px solid var(--line);padding:14px 0}.info-box dt{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.09em}.info-box dd{margin:5px 0 0;font-weight:700;font-size:.9rem;line-height:1.4}.info-box>a{display:flex;justify-content:space-between;background:var(--navy);color:#fff;border-radius:8px;padding:14px;margin-top:24px;font-size:.84rem;font-weight:800}.info-caption{font-size:.76rem;color:var(--muted)}.related{padding-top:20px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:105px}.about-story>div:nth-child(2){padding-top:20px;color:var(--muted);font-size:1.1rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.values-grid span{color:var(--blue);font-weight:800}.values-grid h3{font-size:1.45rem;margin:25px 0 10px}.values-grid p{color:var(--muted)}.contact-hero{padding:95px 0}.contact-hero h1{font-size:clamp(3.2rem,6vw,6.2rem);margin:20px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding-block:95px}.contact-info>a{border-bottom:1px solid var(--line);padding:20px 0;display:flex;align-items:center;gap:12px;font:800 1.2rem Manrope}.contact-info>a span{display:block;width:105px;color:var(--blue);font:.8rem 'DM Sans';font-weight:800;letter-spacing:.1em}.contact-info>a b{margin-left:auto;color:var(--blue)}.contact-info>p:last-child{margin-top:30px;color:var(--muted)}.lead-form{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:38px}.lead-form h2{font-size:2.4rem}.lead-form label:not(.consent){display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-size:.84rem;font-weight:800}.lead-form input:not([type=checkbox]),.lead-form textarea,.lead-form select{border:1px solid #ccdbeb;background:#fff;border-radius:8px;padding:13px 14px;outline-color:var(--blue);font-size:.95rem;color:var(--ink);width:100%}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.75rem;color:var(--muted);line-height:1.5;margin:0 0 22px}.consent input{margin-top:3px;flex:none}.consent a{text-decoration:underline}.lead-form .button{width:100%}.form-help{font-size:.72rem;color:var(--muted);margin:12px 0 0;text-align:center}.reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.js-ready .reveal:not(.visible){opacity:0;transform:translateY(20px)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.header-inner{gap:18px}.logo-link img{width:180px}.site-header nav{gap:15px;font-size:.8rem}.student-link,.contact-link{font-size:.75rem;padding:11px}.featured-grid{grid-template-columns:repeat(2,1fr)}.hero-visual{opacity:.7}.detail-content{gap:45px}}
@media(max-width:850px){.header-inner{min-height:72px;padding:0 22px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#244e94;padding:18px 24px 27px;box-shadow:0 15px 22px #081c3b35;flex-direction:column;align-items:flex-start;font-size:1rem}.site-header nav.open{display:flex}.header-actions{margin-left:auto}.contact-link{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.menu-toggle span{width:22px;height:2px;background:white}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:680px}.hero-visual{position:absolute;right:-170px;top:10px;opacity:.16;pointer-events:none;width:550px}.choice-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.steps-grid,.contact-layout,.about-story{gap:45px}.inner-hero-grid{grid-template-columns:1fr}.inner-art{position:absolute;right:-100px;opacity:.17;pointer-events:none}.detail-head{grid-template-columns:1fr}.detail-orbit{display:none}.detail-content{grid-template-columns:1fr}.info-box{position:static}.detail-side{max-width:600px}}
@media(max-width:620px){.container{width:calc(100% - 36px)}.header-inner{padding:0 12px;gap:6px}.logo-link img{width:155px}.student-link{font-size:.7rem;padding:9px}.student-link span{display:none}.home-hero .hero-grid{min-height:620px}.hero-copy{padding:70px 0}.hero-copy h1{font-size:clamp(3.5rem,14vw,5.2rem)}.hero-lead{font-size:1.04rem}.hero-buttons{align-items:flex-start;flex-direction:column}.hero-bottomline{margin-top:50px}.quick-choice,.featured,.catalog-section,.related{padding-block:70px}.choice-grid,.featured-grid,.course-grid,.steps-grid,.about-story,.contact-layout,.values-grid,.footer-grid{grid-template-columns:1fr}.choice{min-height:260px}.choice-symbol{margin:14px 0}.manifesto-grid{grid-template-columns:1fr 35px;gap:10px}.manifesto-grid .eyebrow{grid-column:1/-1}.manifesto-star{font-size:2rem}.manifesto h2{font-size:1.7rem}.split-intro{display:block}.split-intro>p{max-width:100%}.steps{padding:75px 0}.cta-inner{align-items:start;flex-direction:column;gap:25px}.cta-inner .button{width:100%}.footer-grid{gap:32px}.footer-end{flex-direction:column;gap:9px;margin-top:45px}.inner-hero-grid{min-height:470px}.inner-hero h1{font-size:clamp(3.2rem,13vw,5rem)}.inner-art{right:-170px}.catalog-controls{display:block;padding-bottom:13px}.filter-tabs{padding-bottom:10px}.catalog-search{width:100%}.catalog-search input{width:100%}.course-card{min-height:225px}.editorial-grid{display:block}.editorial-marker{display:block;line-height:1}.editorial a{display:inline-block;margin-top:20px}.breadcrumbs{margin-bottom:40px}.detail-hero{padding-bottom:65px}.detail-head h1{font-size:clamp(2.5rem,10vw,4.2rem)}.detail-actions{align-items:flex-start;flex-direction:column}.detail-content{padding-block:70px}.about-story{padding-block:75px}.contact-hero{padding:75px 0}.contact-layout{padding-block:70px}.lead-form{padding:25px}.contact-info>a{font-size:.9rem;flex-wrap:wrap}.contact-info>a span{width:100%;font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
[hidden]{display:none!important}
.reset-feature{background:#e8f5ff;padding:46px 0}.reset-feature-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.reset-feature h2{font-size:clamp(2rem,4vw,3.6rem);margin:8px 0;color:#173b77}.reset-feature p{margin:0;color:#4c6684}@media(max-width:760px){.reset-feature-inner{align-items:flex-start;flex-direction:column}}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}h1,h2,h3,h4,.button{font-family:inherit}.site-footer .footer-end button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}.cookie-banner{position:fixed;left:24px;right:24px;bottom:22px;max-width:840px;margin:auto;background:#fff;color:#173b78;z-index:1000;border:1px solid #d7e7f2;box-shadow:0 22px 65px #071f4a45;border-radius:18px;padding:22px 26px;display:flex;align-items:center;gap:24px}.cookie-banner[hidden]{display:none}.cookie-banner strong{font-size:1.12rem}.cookie-banner p{margin:6px 0 0;color:#516c87;line-height:1.5;font-size:.92rem}.cookie-banner a{color:#126ea9}.cookie-banner button{white-space:nowrap;border:0;border-radius:40px;background:#163b78;color:white;font:inherit;font-weight:700;padding:13px 19px;cursor:pointer}.policy-page{padding-top:90px;padding-bottom:110px;max-width:900px}.policy-page h1{font-size:clamp(2.8rem,6vw,5rem);color:#163b78;line-height:1.1;letter-spacing:-.05em}.policy-page>p{color:#506b83;line-height:1.6}.policy-page section{padding:28px 0;border-bottom:1px solid #d9e8f0}.policy-page h2{color:#173b78}.policy-page section p{color:#4d667d;line-height:1.8}.policy-page a{color:#166fae}@media(max-width:660px){.cookie-banner{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch}.cookie-banner button{align-self:flex-start}}

.appointment-note{background:#e7f4ff;border-left:4px solid #3f63ad;padding:16px 20px;border-radius:10px}.location-section{padding:60px 0 100px}.location-section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1}.map-panel{margin:30px 0 22px;border-radius:24px;overflow:hidden;background:linear-gradient(125deg,#c8e5f7,#e6f5fb 45%,#a9d3eb);min-height:430px;box-shadow:0 24px 50px #102a5620}.map-gate{min-height:430px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:30px;background:repeating-linear-gradient(30deg,transparent 0 55px,#ffffff55 56px 59px,transparent 60px 130px)}.map-gate[hidden]{display:none}.map-gate strong{font-size:1.5rem}.map-gate button{margin:16px 0 4px}.map-pin{font-size:4rem;color:#205ca5;line-height:1}.map-panel iframe{display:block;width:100%;height:430px;border:0}.directions-link{display:inline-flex}.form-status{font-weight:700;min-height:1.5em;color:#a83a34}.form-status.success{color:#146b59}button:disabled{opacity:.65;cursor:wait}@media(max-width:620px){.map-panel,.map-gate{min-height:350px}.map-panel iframe{height:350px}}
/* Parliamone */
.contact-layout{gap:clamp(28px,5vw,72px);padding-block:58px 35px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr)}
.contact-info{min-width:0}.contact-info h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.14;max-width:15ch;margin-bottom:25px}
.contact-info>a,.contact-info>.contact-row{width:100%;display:grid;grid-template-columns:110px minmax(0,1fr) 22px;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--line);padding:18px 0;color:var(--ink);text-align:left;background:none;font:700 clamp(.95rem,1.4vw,1.08rem)/1.35 Manrope,'DM Sans',sans-serif;overflow-wrap:anywhere}
.contact-info>a span,.contact-info>.contact-row span{width:auto;color:var(--blue);font:800 .75rem/1.3 'DM Sans',sans-serif;letter-spacing:.08em}
.contact-info>a b,.contact-info>.contact-row b{font-size:1.05rem;justify-self:end;margin:0;color:var(--blue)}
.contact-info>a:hover,.contact-info>.contact-row:hover{color:#2863aa}.contact-info>p{margin:22px 0 0}.contact-info .appointment-note{margin-top:18px;font-size:.96rem;line-height:1.55}
.location-section{padding:20px 0 80px}.location-section h2{margin-bottom:8px}.location-section>div:first-child p:last-child{margin-bottom:10px}.map-panel{margin:18px 0 0;min-height:0}.map-panel iframe{height:min(56vw,500px);min-height:360px}
.booking-open{overflow:hidden}.booking-overlay[hidden]{display:none}.booking-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px}.booking-scrim{position:absolute;inset:0;background:#0b2145bb;backdrop-filter:blur(6px)}.booking-dialog{position:relative;width:min(100%,620px);max-height:min(92vh,850px);overflow:auto;padding:clamp(24px,4vw,42px);background:white;border-radius:24px;box-shadow:0 25px 90px #061b4470;outline:0}.booking-close{position:absolute;right:20px;top:16px;border:0;background:#e7f4ff;color:#183154;border-radius:50%;width:38px;height:38px;font-size:1.5rem;line-height:1}.booking-dialog h2{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.16;margin:0 35px 10px 0}.booking-dialog>p:not(.eyebrow){color:var(--muted);margin-bottom:20px}.booking-dialog fieldset{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:0;border:0}.booking-dialog legend{font-weight:800;margin-bottom:8px}.booking-option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px 15px;cursor:pointer}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-fields label{display:grid;gap:6px;font-weight:750;font-size:.9rem}.booking-fields input{width:100%;border:1px solid #ccdbeb;border-radius:9px;padding:12px;color:var(--ink);background:#fff}.booking-dialog .consent{margin-top:20px;font-size:.83rem}.booking-dialog .form-status{margin:12px 0 0}
@media(max-width:850px){.contact-layout{gap:32px}.contact-info>a,.contact-info>.contact-row{grid-template-columns:95px minmax(0,1fr) 18px;gap:9px}}
@media(max-width:700px){.contact-layout{grid-template-columns:1fr;padding-block:44px 20px}.location-section{padding-top:25px}.contact-info h2{max-width:none}.map-panel iframe{height:390px}}
@media(max-width:480px){.contact-info>a,.contact-info>.contact-row{grid-template-columns:76px minmax(0,1fr) 16px;font-size:.92rem}.contact-info>a span,.contact-info>.contact-row span{font-size:.68rem}.booking-fields{grid-template-columns:1fr}.map-panel iframe{min-height:340px;height:340px}}
/* Homepage illustration uses the original Archimede portrait artwork. */
.brand-visual{isolation:isolate;animation:none;min-width:0;height:600px}
.brand-halo{position:absolute;width:510px;height:510px;border-radius:50%;background:radial-gradient(circle,#7bd0ff2a 0%,#6bbcf314 46%,transparent 72%);filter:blur(7px);animation:brand-pulse 9s ease-in-out infinite}
.brand-sheet{position:absolute;width:322px;height:356px;border:1px solid #b1dcff8a;border-radius:8px;box-shadow:0 22px 65px #051c4635}
.sheet-back{transform:translate(32px,0) rotate(9deg);background:#3881c51e;animation:brand-back 11s ease-in-out infinite}
.sheet-front{display:grid;place-items:center;transform:translate(-14px,-4px) rotate(-8deg);background:linear-gradient(145deg,#3467b242,#183d7a35);backdrop-filter:blur(5px);animation:brand-front 8s ease-in-out infinite}
.brand-portrait{display:block;width:288px;height:306px;position:relative;overflow:hidden;transform:rotate(8deg);filter:drop-shadow(0 8px 13px #05285740)}
.brand-portrait img{position:absolute;max-width:none;width:925px;height:auto;left:0;top:8px;display:block}
.brand-orbit{position:absolute;width:10px;height:10px;border-radius:50%;background:#a8deff;box-shadow:0 0 0 9px #a8deff15,0 0 40px #a8deff8a}
.orbit-one{transform:translate(-228px,-166px)}.orbit-two{transform:translate(219px,163px);width:6px;height:6px}
@keyframes brand-front{50%{transform:translate(-14px,-15px) rotate(-6deg)}}
@keyframes brand-back{50%{transform:translate(34px,7px) rotate(11deg)}}
@keyframes brand-pulse{50%{opacity:.72;transform:scale(1.06)}}
@media(max-width:850px){.brand-visual{right:-90px;top:0;opacity:.24;pointer-events:none;transform:scale(.9)}}
@media(max-width:620px){.brand-visual{right:-215px;top:-35px;opacity:.16;transform:scale(.72)}}
@media(prefers-reduced-motion:reduce){.brand-halo,.sheet-back,.sheet-front{animation:none}}
/* Keep the original raster logo below its source size; geometry carries the scale. */
.brand-visual .brand-sheet{width:350px;height:350px;border-radius:14px;background:transparent;box-shadow:none}
.brand-visual .sheet-front{transform:translate(-22px,-8px) rotate(-9deg);background:linear-gradient(145deg,#6bbbf31c,#1d559c17);border:1px solid #b4ddff8c}
.brand-visual .sheet-back{transform:translate(23px,8px) rotate(8deg);background:#4b9ade0d;border:1px solid #a9d2f371}
.brand-emblem{position:relative;z-index:2;display:grid;place-items:center;width:316px;height:124px;border:1px solid #d4ecff55;border-radius:12px;background:#17447ca6;box-shadow:0 18px 60px #061d4a55;backdrop-filter:blur(10px);animation:brand-emblem-float 8s ease-in-out infinite}
.brand-emblem img{display:block;width:220px;height:68px;object-fit:contain}
@keyframes brand-emblem-float{50%{transform:translateY(-10px)}}
@keyframes brand-front{50%{transform:translate(-23px,-14px) rotate(-7deg)}}
@keyframes brand-back{50%{transform:translate(25px,13px) rotate(10deg)}}
@media(prefers-reduced-motion:reduce){.brand-emblem{animation:none}}
/* Editorial study scene replaces the duplicate brand mark. */
.study-visual{height:600px;animation:none;isolation:isolate;min-width:0}
.study-frame{width:min(100%,450px);height:540px;overflow:hidden;border-radius:230px 230px 30px 30px;position:relative;z-index:1;box-shadow:0 32px 70px #061c4759}
.study-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.86) contrast(1.04)}
.study-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b2b60a8,transparent 32%)}
.study-outline{position:absolute;width:460px;height:550px;border:1px solid #aed9fa8e;border-radius:235px 235px 34px 34px;transform:translate(22px,-10px);z-index:0;animation:study-outline-float 9s ease-in-out infinite}
.study-point{position:absolute;width:11px;height:11px;border-radius:50%;background:#c8eaff;box-shadow:0 0 0 10px #acd7f122,0 0 38px #b0e4ff;right:1%;top:20%;z-index:2}
@keyframes study-outline-float{50%{transform:translate(22px,-19px)}}
@media(max-width:1100px){.study-visual{opacity:1}.study-frame{height:490px;width:400px}.study-outline{width:410px;height:500px}}
@media(max-width:850px){.study-visual{right:-140px;top:0;opacity:.2;pointer-events:none;width:440px;transform:none}.study-frame{height:560px;width:440px}.study-outline,.study-point{display:none}}
@media(max-width:620px){.study-visual{right:-200px;top:30px;opacity:.13;transform:none}}
@media(prefers-reduced-motion:reduce){.study-outline{animation:none}}
/* Course sheets: scannable detail without implying an official syllabus. */
.course-section{margin:38px 0 45px;padding-top:28px;border-top:1px solid var(--line)}
.course-section-heading>span{display:block;font-size:.73rem;font-weight:850;letter-spacing:.14em;color:var(--blue);margin-bottom:9px}
.course-section-heading h3{font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.18;margin:0 0 10px}
.course-section-heading p,.course-section>p{color:var(--muted);line-height:1.7;max-width:72ch}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 0}
.topic-item{border:1px solid var(--line);border-radius:14px;background:#f6f9fd;min-height:145px;padding:18px}
.topic-item span{color:#4f83c2;font-weight:800;font-size:.76rem;letter-spacing:.1em}.topic-item p{font-size:.98rem;line-height:1.4;font-weight:700;margin:18px 0 0}
.course-opening{margin-top:0;padding-top:0;border-top:0}.course-section-heading h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.15;margin:0 0 12px}.topic-item h3{font-size:1.12rem;line-height:1.3;margin:15px 0 10px;color:var(--navy);overflow-wrap:break-word}.topic-item p{font-weight:450;line-height:1.6;margin:0;color:var(--muted)}.course-skills{font-size:1.16rem!important;color:var(--navy)!important;line-height:1.65!important}.course-after h4{font-size:1.05rem;margin:0 0 10px}.course-after p{margin:0;line-height:1.7}.topic-grid:has(.topic-item:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.course-after{padding:17px 20px;border-radius:12px;background:#eaf5ff;margin-top:22px}.course-after strong{color:var(--navy)}
.guided-steps{list-style:none;padding:0;margin:27px 0 32px;display:grid;gap:0;border-top:1px solid var(--line)}
.guided-steps li{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.guided-steps li>span{font-size:.8rem;color:var(--blue);font-weight:800;letter-spacing:.1em;min-width:30px}
.guided-steps strong{font-size:1rem}.guided-steps p{color:var(--muted);margin:5px 0 0;line-height:1.55}
@media(max-width:750px){.topic-grid{grid-template-columns:1fr}.topic-item{min-height:auto}.topic-item p{margin-top:8px}}
@media(max-width:750px){.topic-grid:has(.topic-item:nth-child(4)){grid-template-columns:1fr}}
.course-checklist{padding:24px;border:1px solid var(--line);border-radius:14px;background:#f6f9fd;margin-top:22px}.course-checklist strong{font-size:1rem}.course-checklist ul{padding-left:20px;margin:14px 0}.course-checklist li{padding:4px 0;color:var(--ink)}.course-checklist>p{color:var(--muted);margin:16px 0 0;font-size:.9rem}

.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.choice-symbol{display:block;width:58px;height:58px;flex-shrink:0}.choice-symbol svg{display:block;width:100%;height:100%}
