@font-face{font-family:'Work Sans';src:url('/_shared/fonts/WorkSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'EB Garamond';src:url('/founders/EBGaramond-Italic.ttf') format('truetype');font-style:italic;font-weight:400 800;font-display:swap}
:root{--brand-navy:#071e3a;--brand-red:#e8003d;--paper:#fff;--light:#f5f5f5}
body{background:#fff;color:#071e3a}.english-site,.english-site h1,.english-site h2,.english-site h3,.english-site p,.english-site nav,.english-site a,.english-site button,.english-site summary,.english-site .eyebrow{font-family:'Atyp Text','Work Sans',Arial,sans-serif}.english-site h1,.english-site h2,.english-site h3{font-weight:400}.english-site em{font-family:'EB Garamond',Georgia,serif;color:#e8003d;font-weight:500}.site-header{background:#fff;height:126px;border-bottom:0}.header-inner{gap:28px}.navigation{gap:22px}.navigation .nav-contact,.button{border-radius:2px;background:#e8003d;color:#fff}.navigation .language-switch{border-radius:2px}.english-site .english-wordmark{width:155px}.english-site .footer-brand .english-wordmark{width:190px}.site-footer{background:#fff;border-top:1px solid #dce0e5}.section{padding-block:95px}.course-section,.reading{background:#f5f5f5}.card,.note-card,.course{border-radius:0}.card{border-top:2px solid #071e3a}.reading:after{display:none}.about-statement em{background:none;color:#e8003d;text-decoration:none}.hero-bottom{background:#071e3a}.founders-hero{display:grid;grid-template-columns:57% 43%;align-items:center;min-height:710px;position:relative;background:#fff;color:#071e3a;padding:0;overflow:hidden}.founders-copy{position:relative;z-index:1;padding:42px 0 55px}.founders-copy h1{font-size:clamp(65px,6.8vw,100px);font-weight:400;line-height:1.07;letter-spacing:-4px;margin:0 0 42px}.founders-copy h1 em{color:#e8003d;font-family:'EB Garamond',Georgia,serif;letter-spacing:-4px}.founders-copy>p{font-size:24px;line-height:1.45;margin:0 0 48px;letter-spacing:-.5px}.founders-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.founders-actions .button{padding:16px 26px}.founders-actions .text-link{color:#071e3a;font-size:14px}.founders-copy .founders-cities{font-size:12px;letter-spacing:1.5px;margin:26px 0 0}.founders-portrait{width:100%;height:710px;object-fit:contain;object-position:center bottom;align-self:end}body:not(.english-site) .founders-copy h1{font-size:clamp(46px,4.7vw,70px);letter-spacing:-1px;line-height:1.25}body:not(.english-site) .founders-copy h1 em{font-family:var(--font-primary);font-style:normal;letter-spacing:0}body:not(.english-site) .founders-copy>p{font-size:20px;line-height:1.9}body:not(.english-site) .founders-copy .founders-cities{font-size:13px}.english-site .page-main>.intro h1,.english-site .page-main>.post>h1{font-size:clamp(44px,5.8vw,78px);line-height:1.1;letter-spacing:-2.7px}.english-site .page-main .intro p{font-size:20px;line-height:1.6}.english-site .page-main h2{letter-spacing:-1px}.english-site .cta{background:#071e3a;color:white}.english-site .cta a{color:white}.english-site .course-table{overflow-x:auto}.english-site .grid{align-items:stretch}.english-site .card h2{font-size:30px;line-height:1.2}.english-site .card p{line-height:1.7}.english-site .english-faq summary{font-size:20px}.english-site .section-heading h2{font-size:52px;line-height:1.08;letter-spacing:-1.5px}
@media(max-width:1150px){.header-inner{gap:20px}.english-site .navigation{gap:13px;font-size:12px}.founders-copy h1{font-size:6.3vw;letter-spacing:-3px}.founders-copy>p{font-size:20px}.founders-hero{min-height:590px}.founders-portrait{height:590px}.founders-copy{padding-top:30px}.founders-actions{gap:20px}}
@media(max-width:850px){.site-header{height:92px}.navigation{top:92px}.english-site .navigation{font-size:16px;gap:22px}.founders-hero{grid-template-columns:1fr;min-height:0;overflow:visible}.founders-copy{padding:35px 0 0}.founders-copy h1{font-size:clamp(43px,8.1vw,65px);letter-spacing:-2.5px;margin-bottom:26px}.founders-copy h1 em{letter-spacing:-2px}.founders-copy>p{font-size:18px;line-height:1.5;margin-bottom:28px}.founders-copy .founders-cities{font-size:11px;letter-spacing:.8px}.founders-portrait{height:auto;max-height:500px;width:100%;max-width:400px;margin:20px auto 0}.founders-actions .button{font-size:14px}.founders-actions .text-link{font-size:13px}.section{padding-block:60px}.english-site .section-heading h2{font-size:37px}.english-site .page-main>.intro h1,.english-site .page-main>.post>h1{font-size:43px;letter-spacing:-1.8px;overflow-wrap:anywhere}.english-site .page-main .intro p{font-size:17px}.english-site .english-faq summary{font-size:17px}.english-site .card h2{font-size:28px}body:not(.english-site) .founders-copy h1{font-size:clamp(36px,7vw,52px)}body:not(.english-site) .founders-copy>p{font-size:17px}.brand-logo{max-width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Independent layers: the student moves gently against the brand geometry. */
.hero-stage{position:relative;isolation:isolate;align-self:end;width:100%;height:710px;--mx:0;--my:0}
.hero-person{position:absolute;z-index:2;width:94%;height:96%;left:6%;bottom:0;object-fit:contain;object-position:center bottom;transform:translate3d(calc(var(--mx)*7px),calc(var(--my)*5px),0);transition:transform .65s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.hero-shape{position:absolute;display:block;pointer-events:none;transition:transform .8s cubic-bezier(.2,.7,.2,1);background:#071e3a}
.shape-back{z-index:1;width:43%;aspect-ratio:1;left:3%;top:15%;border-radius:0 0 0 100%;transform:translate3d(calc(var(--mx)*-10px),calc(var(--my)*-8px),0) rotate(calc(var(--mx)*-1.4deg))}
.shape-front{z-index:3;width:33%;aspect-ratio:1;right:0;top:47%;border-radius:0 0 0 100%;transform:translate3d(calc(var(--mx)*15px),calc(var(--my)*11px),0) rotate(calc(var(--mx)*1.8deg))}
.shape-red{z-index:4;width:44%;aspect-ratio:1;left:0;bottom:3%;background:#e8003d;border-radius:0 100% 0 0;transform:translate3d(calc(var(--mx)*-13px),calc(var(--my)*-9px),0) rotate(calc(var(--mx)*-1deg))}
@media(max-width:1150px){.hero-stage{height:590px}}
@media(max-width:850px){.hero-stage{height:480px;max-width:400px;margin:25px auto 0}.founders-hero{overflow:hidden}}
@media(max-width:420px){.hero-stage{height:420px}}
@media(prefers-reduced-motion:reduce){.hero-stage .hero-person,.hero-stage .hero-shape{transform:none!important;transition:none!important}}

/* Quiet interaction across both language editions. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1)}
.navigation a,.text-link,.footer-links a,.back-top,summary{transition:color .22s ease}
.navigation a:after{background:var(--brand-red);transition:width .3s var(--motion-ease)}
.button,.navigation .nav-contact,.menu-toggle,.filters button{transition:transform .25s var(--motion-ease),background-color .25s ease,box-shadow .25s ease,border-color .25s ease}
.card,.course,.note-card{transition:transform .35s var(--motion-ease),box-shadow .35s ease,border-color .25s ease}
.moment-grid img{transition:transform .55s var(--motion-ease)}
.course a{transition:transform .3s var(--motion-ease),background-color .25s ease}
summary:after{transition:transform .25s var(--motion-ease);transform-origin:center}
details[open] summary:after{content:'+';transform:rotate(45deg)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--brand-red);outline-offset:5px}
.button:active,.navigation .nav-contact:active,.filters button:active,.menu-toggle:active{transform:translateY(1px) scale(.985)}
@media(hover:hover) and (pointer:fine){
  .navigation a:hover,.text-link:hover,.footer-links a:hover,.back-top:hover,summary:hover{color:var(--brand-red)}
  .button:hover,.navigation .nav-contact:hover{background:#cc0036;color:#fff;transform:translateY(-2px);box-shadow:0 5px 14px #e8003d18}
  .card:hover,.note-card:hover,.course:hover{transform:translateY(-4px);box-shadow:0 12px 24px #071e3a0c;border-color:var(--brand-red)}
  .moment-grid figure:hover img{transform:translateY(-3px) scale(1.012)}
  .course:hover a{transform:translateX(3px)}
  .filters button:hover,.menu-toggle:hover{border-color:var(--brand-red);transform:translateY(-1px)}
}
@media(prefers-reduced-motion:no-preference){
  details[open]>:not(summary){animation:founders-answer .25s var(--motion-ease)}
  @keyframes founders-answer{from{opacity:.5;translate:0 -4px}to{opacity:1;translate:0 0}}
  @media(max-width:850px){.navigation.open{animation:founders-menu .22s var(--motion-ease)}@keyframes founders-menu{from{opacity:.5;translate:0 -6px}to{opacity:1;translate:0 0}}}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .button,.navigation .nav-contact,.filters button,.menu-toggle,.card,.course,.note-card,.moment-grid img,.course a,details>p{transform:none!important;translate:none!important}
}
@media(hover:none){.button:hover,.course:hover{transform:none}}

/* Public security registration, alongside the existing ICP registration. */
.footer-registrations{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.police-filing{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.police-filing img{width:18px;height:auto;flex:none}
@media(max-width:600px){.footer-registrations{flex-direction:column;align-items:flex-start;gap:0}.footer-registrations>a{display:inline-flex;align-items:center;min-height:44px}}
