/* Provisional Cyrillic-capable libre fallback fonts; not Northlane font assets. */
:root{--blue:#120A8F;--paper:#F8F8F5;--line:#b8b4dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--blue);font:18px/1.65 "DejaVu Sans",Arial,sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #807aff;outline-offset:4px}.wrap{max-width:1300px;margin:auto;padding:0 clamp(22px,5vw,72px)}.skip{position:absolute;top:-100px;background:white;color:var(--blue);z-index:5}.skip:focus{top:0}.notice{background:#e9e7fa;color:var(--blue);text-align:center;padding:8px;font-size:12px}.site-nav,.hero,.site-footer{background:var(--blue);color:white}.nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:90px;border-bottom:1px solid #ffffff88;gap:20px}.brand,.footer-brand{font:34px Georgia,"DejaVu Serif",serif;letter-spacing:-.05em;text-decoration:none}.desktop-links{display:flex;align-items:center;gap:24px;font-size:14px}.desktop-links a,.mobile-links a{text-decoration:none}.desktop-links a:hover,.mobile-links a:hover,.active{text-decoration:underline!important;text-underline-offset:6px}.nav-cta{border:1px solid #fff9;padding:9px 13px}.mobile-menu{display:none}.hero{padding:clamp(65px,9vw,125px) 0 clamp(80px,11vw,145px)}.hero-label{display:inline-block;border:1px solid #ffffff99;border-radius:25px;padding:6px 18px;font-size:12px;letter-spacing:.07em}.hero h1{max-width:1000px;font:400 clamp(42px,6.7vw,90px)/1.16 Georgia,"DejaVu Serif",serif;letter-spacing:-.04em;margin:55px 0 40px}.hero-lead{max-width:750px;font-size:clamp(18px,1.8vw,23px);line-height:1.5;margin:-10px 0 40px}.button{display:inline-block;background:white;color:var(--blue);padding:14px 24px;text-decoration:none;font-size:16px;font-weight:bold;border-radius:3px}.button:hover{background:#e9e7fa}.content{padding-top:75px;padding-bottom:120px}.content>p{max-width:900px;margin:0 0 26px}.content>p:first-child{font-size:clamp(20px,2vw,26px);line-height:1.5;margin-bottom:75px}.content h2{font:400 clamp(32px,4vw,56px)/1.2 Georgia,"DejaVu Serif",serif;letter-spacing:-.03em;border-top:1px solid var(--line);padding-top:35px;margin:80px 0 27px}.content-list{max-width:900px;list-style:none;counter-reset:module;padding:0}.content-list li{counter-increment:module;border-top:1px solid var(--line);padding:20px 0 22px 75px;position:relative}.content-list li:before{content:counter(module,decimal-leading-zero);position:absolute;left:0;top:18px;font:24px Georgia,serif}.inline-link{display:inline-block;margin-right:16px;text-decoration:none;border-bottom:1px solid currentColor}.inline-link:hover{border-bottom-width:2px}.portrait{display:block;width:min(100%,360px);height:360px;object-fit:cover}.content figure{display:inline-block;vertical-align:top;margin:25px 50px 20px 0}.content figcaption{font-size:13px}.caveat{border-left:3px solid var(--line);padding:12px 20px;max-width:850px}.site-footer{padding:70px 0 40px}.site-footer p,.site-footer nav{font-size:14px}.site-footer nav{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid #ffffff88;margin-top:45px;padding-top:25px}.footer-note{opacity:.8;margin-top:60px}@media(max-width:900px){.desktop-links{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;border:1px solid #ffffff99;padding:8px 14px}.mobile-links{position:absolute;right:0;top:100%;z-index:3;display:grid;gap:15px;width:min(85vw,330px);padding:20px;background:var(--blue);border:1px solid #ffffff99;box-shadow:0 12px 20px #09064366}.mobile-links a{padding:7px}.nav-inner{min-height:74px}}@media(max-width:520px){.hero{padding:65px 0 80px}.hero h1{font-size:clamp(40px,10vw,55px)}.button{width:100%;text-align:center}.content h2{margin-top:65px}.content-list li{padding-left:55px}.content figure{margin-right:0}.portrait{height:auto;aspect-ratio:1}}

.training-individual{background:#120A8F url('/assets/service-left.svg') left top/1440px 720px repeat-y;padding:80px 0 100px;color:white}
@media(max-width:600px){.training-individual{background-image:url('/assets/service-left-mobile.svg');background-size:390px 720px;background-position:left top;padding:65px 0 78px}}
.training-individual h2{font:400 clamp(30px,4vw,52px)/1.2 Georgia,"DejaVu Serif",serif;margin:0 0 22px}
.training-individual p{max-width:850px;margin:0;line-height:1.6}
.training-individual a,.program-individual a{text-underline-offset:4px}
.program-page .content .program-individual{font-size:18px;margin-top:55px;border-top:1px solid var(--line);padding-top:28px}
/* Detailed program: same right-edge mosaic as approved service and contact heroes. */
.program-hero{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y}
@media(max-width:600px){.program-hero{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px}}

/* Issue #30: approved homepage only. Other routes retain the original styles. */
.home-page .home-top{background:#120A8F url('/assets/header-left.svg') left bottom/1440px 192px repeat-y;color:white}
.home-page .site-nav{background:transparent}
.home-page .nav-inner{border-bottom:0}
.home-page .brand{display:inline-block;background:#dfe7f8;color:#120A8F;padding:3px 12px;border-radius:4px;line-height:1.3}
.home-page .home-hero{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y;color:white;padding:80px 0 110px}
.home-page .home-hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:48px;align-items:center}
.home-page .home-hero h1,.home-page h2,.home-page h3{font-family:Georgia,"DejaVu Serif",serif;font-weight:400;letter-spacing:-.035em;line-height:1.15}
.home-page .home-hero h1{font-size:clamp(43px,5.1vw,73px);margin:42px 0 27px}
.home-page .home-hero-copy p{font-size:clamp(18px,1.6vw,21px);line-height:1.5;max-width:650px;margin:0 0 32px}
.home-page .home-hero-art{min-height:300px;border:1px solid #ffffff80;border-radius:22px;background:#1c149f;display:flex;align-items:center;justify-content:space-evenly;color:white;padding:35px;gap:12px}
.home-page .home-hero-art .home-icon{width:105px;height:105px;flex:0 1 105px}
.home-page .home-art-arrow{font-size:36px}
.home-page .home-icon{width:64px;height:64px;flex:none}
.home-page .home-audience,.home-page .home-start{background:#F8F8F5;color:#120A8F;padding:85px 0 95px}
.home-page h2{font-size:clamp(36px,4vw,54px);margin:0 0 24px}
.home-page .home-audience>.wrap>p,.home-page .home-start>.wrap>p{max-width:920px;margin:0 0 42px}
.home-page .home-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.home-page .home-cards article{background:white;border:1px solid #b8b4dc;border-radius:14px;padding:32px;min-height:220px;display:grid;grid-template-columns:90px 1fr;column-gap:14px;align-content:center}
.home-page .home-cards article .home-icon{grid-row:span 2;width:72px;height:72px}
.home-page h3{font-size:clamp(23px,2.1vw,30px);margin:0 0 14px}
.home-page .home-cards article p{font-size:16px;line-height:1.55;margin:0}
.home-page .home-service{background:#120A8F url('/assets/service-left.svg') left top/1440px 720px repeat-y;color:white;padding:90px 0}
.home-page .home-service-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:65px;align-items:center}
.home-page .home-service-art{height:230px;border:1px solid #ffffff80;background:#1c149f;border-radius:18px;display:grid;place-items:center}
.home-page .home-service-art .home-icon{width:120px;height:120px}
.home-page .home-service p{max-width:730px;margin:0 0 36px;font-size:21px;line-height:1.5}
.home-page .home-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:35px 0 42px;counter-reset:step}
.home-page .home-steps li{counter-increment:step;position:relative;background:white;border:1px solid #b8b4dc;border-radius:12px;min-height:300px;padding:50px 16px 22px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:14px;font-weight:700;text-align:center}
.home-page .home-steps li::before{content:counter(step);position:absolute;left:14px;top:14px;width:38px;height:38px;border-radius:50%;background:#120A8F;color:white;display:grid;place-items:center;font:700 19px/1 "DejaVu Sans",Arial,sans-serif}
.home-page .home-steps .home-icon{width:90px;height:90px}
.home-page .home-steps li p{font-size:14px;line-height:1.45;font-weight:400;margin:0;max-width:230px}
.home-page .home-start-explanation{max-width:900px;margin:30px auto 34px;text-align:center;line-height:1.6}
.home-page .home-start .button{background:#120A8F;color:white}
.home-page .home-start .button:hover{background:#29239b}
.home-page .home-start-action{text-align:center;margin-top:32px}
.home-page .home-footer{background:#120A8F url('/assets/footer-right.svg') right bottom/1440px 720px repeat-y}
.home-page .home-footer-row{display:flex;align-items:center;position:relative;min-height:80px}
.home-page .home-footer-row nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;flex-wrap:nowrap;gap:18px;width:max-content;max-width:none;white-space:nowrap;border:1px solid #7973d5;margin:0;padding:18px 20px;background:#120A8F;border-radius:10px}
.home-page .home-footer .footer-note{max-width:650px}
@media(max-width:900px){
 .home-page .home-hero-layout{grid-template-columns:1fr}
 .home-page .home-hero-art{max-width:520px;min-height:210px}
 .home-page .home-cards article{grid-template-columns:1fr;gap:12px}
 .home-page .home-cards article .home-icon{grid-row:auto}
 .home-page .home-service-layout{gap:34px;grid-template-columns:180px minmax(0,1fr)}
 .home-page .home-service-art{height:190px}
 .home-page .home-steps{gap:20px}
 .home-page .home-footer-row{display:block}
 .home-page .home-footer-row nav{position:static;transform:none;margin:32px auto 0;max-width:100%;flex-wrap:wrap;white-space:normal}
}
@media(max-width:600px){
 .home-page .home-top{background-size:390px 150px}
 .home-page .home-hero{background-size:390px 1200px}
 .home-page .home-service{background-size:390px 720px}
 .home-page .home-footer{background-size:390px 900px}
 .home-page .home-top{background-position:left bottom}
 .home-page .home-hero{background-position:right top}
 .home-page .home-footer{background-position:right bottom}
 .home-page .home-service{background-position:left top}
 .home-page .home-hero{padding:65px 0 76px}
 .home-page .home-hero h1{font-size:clamp(39px,10vw,55px);margin:30px 0 25px}
 .home-page .home-hero-art{min-height:175px;padding:22px}
 .home-page .home-hero-art .home-icon{width:70px;height:70px}
 .home-page .home-audience,.home-page .home-start{padding:65px 0 76px}
 .home-page .home-cards{grid-template-columns:1fr}
 .home-page .home-cards article{min-height:180px}
 .home-page .home-service{padding:70px 0 85px}
 .home-page .home-service-layout{grid-template-columns:1fr}
 .home-page .home-service-art{height:170px;width:190px}
 .home-page .home-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .home-page .home-footer-row nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%}
}

@media(max-width:600px){
 .home-page .home-top{background-image:url('/assets/header-left-mobile.svg')}
 .home-page .home-hero{background-image:url('/assets/hero-right-mobile.svg')}
 .home-page .home-service{background-image:url('/assets/service-left-mobile.svg')}
 .home-page .home-footer{background-image:url('/assets/footer-right-mobile.svg')}
}

/* Approved shared brand/navigation of the new preview; SVG backgrounds keep x/y scale equal. */
.site-nav{background:#120A8F url('/assets/header-left.svg') left bottom/1440px 192px repeat-y}
.nav-inner{border-bottom:0}
.brand-mark{display:inline-flex;align-items:center;gap:8px;background:transparent;color:white;padding:5px 12px 5px 0;line-height:1.2;white-space:nowrap}
.brand-mark img{display:block;width:42px;height:62px;flex:none}
.home-page .brand.brand-mark{display:inline-flex;align-items:center;gap:8px;background:transparent;color:white;padding:5px 12px 5px 0;line-height:1.2}
.desktop-links{gap:16px;font-size:14px;white-space:nowrap}
.site-footer{background:#120A8F url('/assets/footer-right.svg') right bottom/1440px 720px repeat-y}
.site-footer .home-footer-row{position:relative;display:flex;align-items:center;min-height:80px}
.site-footer .footer-identity{min-width:0}
.site-footer .footer-brand{font-size:34px}
.site-footer .footer-brand img{width:42px;height:62px}
.site-footer .footer-identity p{margin:14px 0 0;max-width:320px}
.site-footer .home-footer-row nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-wrap:nowrap;gap:18px;width:max-content;max-width:none;white-space:nowrap;border:1px solid #7973d5;border-radius:10px;background:#120A8F;margin:0;padding:18px 20px}
.site-footer .home-footer-row nav a{text-decoration:none;white-space:nowrap}
.site-footer .home-footer-row nav a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer .footer-note{max-width:650px;border-top:1px solid #ffffff70;padding-top:20px;margin-top:80px}.site-footer .footer-bottom{border-top:1px solid #ffffff70;padding-top:20px;margin-top:80px;text-align:center;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.site-footer .footer-legal{font-size:inherit;line-height:inherit}
/* Wide desktop: brand at left, full navigation centered on the page. */
@media(min-width:1301px){
 .nav-inner{position:relative}
 .brand-mark,.home-page .brand.brand-mark{background:transparent}
 .desktop-links{position:absolute;left:50%;transform:translateX(-50%)}
}
/* Narrow desktop, including desktop-site mode on phones: one centered axis. */
@media(min-width:901px) and (max-width:1300px){
 .nav-inner{flex-direction:column;justify-content:center;gap:2px;padding-top:8px;padding-bottom:12px}
 .brand-mark,.home-page .brand.brand-mark{background:transparent}
 .desktop-links{width:100%;justify-content:center;flex-wrap:wrap;gap:12px 18px}
}
@media(max-width:1300px){
 .site-footer .home-footer-row{display:block;text-align:center}
 .site-footer .footer-brand{justify-content:center;background:transparent}
 .site-footer .footer-identity p{margin:12px auto 0}
 .site-footer .home-footer-row nav{position:static;transform:none;margin:24px auto 0;max-width:100%;flex-wrap:wrap;white-space:normal;justify-content:center}
 .site-footer .footer-note{margin:44px auto 0;text-align:center}
 .site-footer .footer-bottom{text-align:center}
}
@media(max-width:600px){
 .site-nav{background-image:url('/assets/header-left-mobile.svg');background-size:390px 150px}
 .site-footer{background-image:url('/assets/footer-right-mobile.svg');background-size:390px 900px;background-position:right bottom}
 .brand-mark img{width:34px;height:50px}
 .site-footer .footer-brand img{width:40px;height:60px}
 .site-footer .home-footer-row nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;width:100%;padding:23px 20px;justify-content:initial}
 .site-footer .home-footer-row nav a{white-space:normal;line-height:1.45}
 .site-footer .footer-note{margin-top:32px}
}
@media(max-width:340px){.site-footer .home-footer-row nav{grid-template-columns:1fr}}

/* SVG cells are 8px on desktop and 5px on mobile; end sections on full rows. */
.nav-inner{min-height:96px}
@media(min-width:901px) and (max-width:1300px){.nav-inner{min-height:144px}}
@media(max-width:900px){.nav-inner{min-height:80px}}
@media(max-width:600px){.home-page .home-top,.site-nav{background-position:left bottom}}

/* Issue #35 contact composition; isolated from the remaining routes. */
.contact-page .contact-hero{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y;color:white;padding:58px 0 62px}
.contact-page .hero-label{border:0;border-radius:0;padding:0;font-size:13px}
.contact-page h1,.contact-page h2,.contact-page h3{font-family:Georgia,"DejaVu Serif",serif;font-weight:400;line-height:1.15;letter-spacing:-.025em}
.contact-page .contact-hero h1{font-size:clamp(44px,5vw,70px);margin:25px 0 12px}
.contact-page .contact-hero p{font-size:clamp(18px,1.65vw,22px);line-height:1.6;max-width:750px;margin:0}
.contact-page h2{font-size:clamp(34px,4vw,50px);margin:0 0 16px}
.contact-page .contact-methods,.contact-page .contact-form-section{background:#f8f8f5;padding:55px 0 75px}
.contact-page .contact-methods-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,390px);gap:48px;align-items:start}
.contact-page .contact-methods p{font-size:16px;line-height:1.5;max-width:485px;margin:0 0 12px}
.contact-page .contact-methods .contact-method-title{font-size:21px;margin:0 0 6px}
.contact-page .contact-qr-card{background:white;border:1px solid #c8c4e6;border-radius:14px;padding:24px 26px 28px;text-align:center;box-shadow:0 2px 8px #0c06600b}
.contact-page .contact-qr-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.contact-page .contact-qr-link{display:inline-block;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid #120A8F;margin-top:10px}
.contact-page .contact-qr-link:hover{border-bottom-width:2px}
.contact-page .contact-team{background:#120A8F url('/assets/service-left.svg') left top/1440px 720px repeat-y;color:white;padding:55px 0 70px}
.contact-page .contact-team h2{margin-bottom:25px}
.contact-page .contact-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.contact-page .contact-team article{border:1px solid #aaa7dd;border-radius:12px;overflow:hidden;background:#29239b;min-width:0}
.contact-page .contact-portrait{aspect-ratio:1;background:#120A8F center/cover no-repeat}
.contact-page .contact-portrait-sergey{background:#120A8F url("/assets/hero-right.svg") right top/1440px 960px repeat-y}
.contact-page .contact-portrait-vladimir{background:#120A8F url("/assets/hero-right-mirrored.svg") left top/1440px 960px repeat-y}
.contact-page .contact-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%}
.contact-page .contact-team-copy{padding:18px 22px 25px}
.contact-page .contact-team h3{font-size:clamp(23px,2vw,30px);margin:0 0 8px}
.contact-page .contact-team-copy>p{font-size:15px;margin:0 0 17px;display:flex;align-items:center;gap:8px}
.contact-page .contact-team-copy .home-icon{display:inline-block;flex:none;width:22px;height:22px}
.contact-page .contact-team-copy a{font-size:14px;text-decoration:none;border-bottom:1px solid #aaa7dd;overflow-wrap:anywhere}
.contact-page .contact-bio{margin-top:19px;font-size:15px;line-height:1.6}
.contact-page .contact-bio summary{display:list-item;cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:4px}
.contact-page .contact-bio summary:focus-visible{outline:2px solid white;outline-offset:4px;border-radius:2px}
.contact-page .contact-bio-text{padding-top:16px}
.contact-page .contact-bio-text p{margin:0 0 15px;display:block;overflow-wrap:anywhere}
.contact-page .contact-bio-text a{text-decoration:underline}
.contact-page .contact-bio-text .inline-link{display:inline;margin-right:0}
.contact-page .contact-form-section> .wrap>p{margin:0 0 22px;font-size:16px}
.contact-page .contact-form-section form,.contact-page .contact-form-preview{display:grid;gap:16px}
.contact-page .contact-form-section input[type=email],.contact-page .contact-form-section textarea{display:block;width:100%;font:16px/1.5 "DejaVu Sans",Arial,sans-serif;color:#120A8F;background:white;border:1px solid #aaa7dd;border-radius:6px;padding:16px 20px}
.contact-page .contact-form-section textarea{resize:vertical;min-height:135px}
.contact-page .contact-form-section input:focus-visible,.contact-page .contact-form-section textarea:focus-visible,.contact-page button:focus-visible{outline:3px solid #807aff;outline-offset:3px}
.contact-page .contact-form-section button{justify-self:end;background:#120A8F;color:white;border:0;border-radius:5px;padding:15px 36px;font:600 16px "DejaVu Sans",Arial,sans-serif;cursor:pointer}
.contact-page .contact-form-section button:not(:disabled):hover{background:#29239b}
.contact-page .contact-form-section button:disabled{background:#d9d9e2;color:#62627a;cursor:default}
.contact-page .contact-data-consent{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:14px;row-gap:5px;align-items:start;font:16px/1.5 "DejaVu Sans",Arial,sans-serif;color:#120A8F}
.contact-page .contact-data-consent input[type=checkbox]{width:24px;height:24px;margin:2px 0 0;accent-color:#120A8F;cursor:pointer}
.contact-page .contact-data-consent label{cursor:pointer}
.contact-page .contact-data-consent a{grid-column:2;justify-self:start;color:#120A8F;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.contact-page .contact-form-preview button:disabled{opacity:1;cursor:default}
.contact-page .contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){
 .contact-page .contact-hero{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px;padding:55px 0 65px}
 .contact-page .contact-methods-grid{grid-template-columns:1fr;gap:28px}
 .contact-page .contact-qr-card{width:min(100%,360px);margin:auto}
 .contact-page .contact-team{background-image:url('/assets/service-left-mobile.svg');background-size:390px 720px}
 .contact-page .contact-team-grid{gap:16px}
}
@media(max-width:540px){
 .contact-page .contact-team-grid{grid-template-columns:1fr}
 .contact-page .contact-methods,.contact-page .contact-team,.contact-page .contact-form-section{padding-top:56px;padding-bottom:65px}
 .contact-page .contact-form-section button{width:100%}
}

/* Approved team-training page; all new selectors are route-scoped. */
.training-page .training-top{background:#120A8F url('/assets/header-left.svg') left bottom/1440px 192px repeat-y;color:#fff}
.training-page .training-top .site-nav{background:transparent}
.training-page .training-top .nav-inner{border-bottom:0}
.training-page .training-hero{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y;color:#fff;padding:74px 0 112px}
.training-page .training-hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);align-items:center;gap:50px}
.training-page .training-hero h1,.training-page h2,.training-page h3{font-family:Georgia,"DejaVu Serif",serif;font-weight:400;letter-spacing:-.035em;line-height:1.16}
.training-page .training-hero h1{font-size:clamp(48px,5.7vw,78px);margin:34px 0 25px}
.training-page .training-hero-copy>p{max-width:700px;font-size:clamp(17px,1.7vw,21px);line-height:1.55;margin:0 0 30px}
.training-page .training-hero-art,.training-page .training-format-art{display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #8580d7;background:#120A8F;border-radius:14px;min-height:250px;padding:36px;color:#fff}
.training-page .training-hero-art .home-icon,.training-page .training-format-art .home-icon{width:83px;height:83px;flex:none}
.training-page .training-hero-art span,.training-page .training-format-art span{font-size:32px}
.training-page .home-icon{width:54px;height:54px;display:block;flex:none}
.training-page main section{padding:85px 0 95px}
.training-page main section h2{font-size:clamp(34px,4vw,54px);margin:0 0 24px}
.training-page main section>.wrap>p{max-width:860px;margin:0 0 38px}
.training-page .training-audience,.training-page .training-program,.training-page .training-cta{background:#f8f8f5;color:#120A8F}
.training-page .training-process{background:#120A8F url('/assets/service-left.svg') left top/1440px 720px repeat-y;color:#fff}
.training-page .training-format{background:#120A8F url('/assets/hero-right.svg') right bottom/1440px 960px repeat-y;color:#fff}
.training-page .training-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.training-page .training-audience-grid article{border:1px solid #cbc8e4;background:#fff;border-radius:10px;padding:28px;min-height:230px}
.training-page .training-audience-grid h3{font-size:clamp(24px,2.2vw,31px);margin:22px 0 12px}
.training-page .training-audience-grid p{margin:0}
.training-page .training-process ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:38px 0 0;padding:0}
.training-page .training-process li{border:1px solid #8580d7;border-radius:10px;background:#1b149b;padding:26px;min-height:258px}
.training-page .training-process li .home-icon{width:43px;height:43px}
.training-page .training-process li h3{font-size:25px;margin:18px 0 10px}
.training-page .training-process li p{font-size:15px;line-height:1.5;margin:0}
.training-page .training-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 34px}
.training-page .training-topic-grid article{border:1px solid #c4c0df;background:#fff;border-radius:10px;padding:28px;min-height:193px}
.training-page .training-topic-number{font-size:14px;letter-spacing:.12em}
.training-page .training-topic-grid h3{font-size:clamp(24px,2.3vw,32px);margin:12px 0 12px}
.training-page .training-topic-grid p{margin:0}
.training-page .training-text-link{display:inline-block;border-bottom:1px solid currentColor;text-decoration:none;font-weight:bold;padding-bottom:3px}
.training-page .training-text-link:hover{border-bottom-width:2px}
.training-page .training-format-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:50px;align-items:center}
.training-page .training-format-grid p{max-width:780px;margin:0}
.training-page .training-cta{text-align:center}
.training-page .training-cta p{margin:0 auto 28px!important}
@media(max-width:900px){
 .training-page .training-top{background-size:740px 192px}
 .training-page .training-hero{background-size:740px 760px}
 .training-page .training-hero-layout,.training-page .training-format-grid{grid-template-columns:1fr}
 .training-page .training-hero-art,.training-page .training-format-art{min-height:170px}
 .training-page .training-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .training-page .training-top{background-image:url('/assets/header-left-mobile.svg');background-size:390px 150px;background-position:left bottom}
 .training-page .training-hero{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px;background-position:right top;padding:48px 0 76px}
 .training-page .training-hero h1{font-size:clamp(40px,10vw,54px)}
 .training-page .training-process{background-image:url('/assets/service-left-mobile.svg');background-size:390px 720px;background-position:left top}
 .training-page .training-format{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px;background-position:right top}
 .training-page .training-hero-layout,.training-page .training-format-grid{gap:34px}
 .training-page main section{padding:68px 0 76px}
 .training-page .training-audience-grid,.training-page .training-topic-grid,.training-page .training-process ol{grid-template-columns:1fr}
 .training-page .training-audience-grid article,.training-page .training-process li,.training-page .training-topic-grid article{min-height:0}
 .training-page .training-hero-art .home-icon,.training-page .training-format-art .home-icon{width:66px;height:66px}
}


/* Videos and materials: two dark mosaic headings, each followed by light cards. */
.media-page .media-heading{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y;color:#fff;padding:64px 0 74px}
.media-page .media-heading h1,.media-page .media-heading h2{font:400 clamp(46px,6vw,80px)/1.12 Georgia,"DejaVu Serif",serif;letter-spacing:-.04em;margin:24px 0 14px}
.media-page .media-heading p{max-width:660px;margin:0;font-size:clamp(17px,1.6vw,21px);line-height:1.55}
.media-page .media-materials-heading{padding:55px 0 62px}
.media-page .media-materials-heading h2{font-size:clamp(42px,5vw,68px);margin-bottom:0}
.media-page .media-videos,.media-page .media-materials{background:#F8F8F5}
.media-page .media-videos{padding:72px 0 85px}
.media-page .media-materials{padding:72px 0 100px}
.media-page .media-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.media-page .media-video-card,.media-page .media-material-card{min-width:0;border:1px solid #b8b4dc;background:#fff;border-radius:14px;overflow:hidden}
.media-page .media-frame{aspect-ratio:16/9;background:#120A8F}
.media-page .media-frame iframe{display:block;width:100%;height:100%;border:0}
.media-page .media-video-copy{padding:26px 28px 32px}
.media-page .media-video-copy h2,.media-page .media-material-card h3{font:400 clamp(23px,2.3vw,32px)/1.25 Georgia,"DejaVu Serif",serif;letter-spacing:-.025em;margin:0 0 22px}
.media-page .media-video-copy p{font-size:16px;line-height:1.65;margin:20px 0 0}
.media-page .media-actions{display:flex;flex-wrap:wrap;gap:10px}
.media-page .media-action{display:inline-block;text-decoration:none;background:#120A8F;color:#fff;padding:9px 15px;border-radius:6px;font-size:14px;line-height:1.3}
.media-page .media-action:hover{background:#3830ac}
.media-page .media-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.media-page .media-material-card{padding:28px;display:flex;flex-direction:column;align-items:flex-start}
.media-page .media-icon{width:58px;height:58px;margin:0 0 24px}
.media-page .media-material-card h3{font-size:clamp(23px,2vw,29px);margin:0 0 10px}
.media-page .media-material-card p{font-size:15px;line-height:1.65;margin:0 0 22px;flex:1}
.media-page .media-material-link{text-decoration:none;font-weight:700;font-size:14px;border-bottom:1px solid currentColor}
@media(max-width:850px){.media-page .media-video-grid{grid-template-columns:1fr}.media-page .media-material-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.media-page .media-heading{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px;background-position:right top;padding:55px 0 62px}.media-page .media-materials-heading{padding:48px 0 55px}.media-page .media-videos,.media-page .media-materials{padding:48px 0 64px}.media-page .media-material-grid{grid-template-columns:1fr}.media-page .media-video-copy{padding:22px}.media-page .media-material-card{padding:24px}}

/* Program modules: no divider rules or empty lead-in before the first item. */
.program-page .content{padding-top:30px}
.program-page .content h2{border-top:0;padding-top:0;margin:42px 0 18px}
.program-page .content h2:first-child{margin-top:0}
.program-page .content>p{margin-bottom:20px}
@media(max-width:600px){.program-page .content{padding-top:24px}.program-page .content h2{margin-top:34px}}
/* Legal text uses exactly the program page's content rhythm. */
.privacy-page .hero{background:#120A8F url('/assets/hero-right.svg') right top/1440px 960px repeat-y}
.privacy-page .content{padding-top:30px}
.privacy-page .content h2{border-top:0;padding-top:0;margin:42px 0 18px}
.privacy-page .content h2:first-child{margin-top:0}
.privacy-page .content>p{margin-bottom:20px}
@media(max-width:600px){.privacy-page .hero{background-image:url('/assets/hero-right-mobile.svg');background-size:390px 1200px}.privacy-page .hero h1{font-size:clamp(26px,7.3vw,42px);overflow-wrap:anywhere}.privacy-page .content{padding-top:24px}.privacy-page .content h2{margin-top:34px}}
.footer-privacy{display:inline;font-size:12px}.footer-privacy::before{content:" · ";margin:0 8px}.footer-privacy button{margin-left:16px}
.footer-privacy button{color:inherit;border:0;padding:0;background:none;font:inherit;text-decoration:underline;cursor:pointer}
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#f8f8f5;color:#120A8F;border-top:2px solid #120A8F;box-shadow:0 -7px 24px #0003;z-index:20;padding:16px clamp(22px,5vw,72px)}
.cookie-banner-inner{max-width:1300px;margin:auto;display:flex;align-items:center;gap:24px;justify-content:space-between}
.cookie-banner p{max-width:780px;min-width:0;font-size:14px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
.cookie-actions button{border:1px solid #120A8F;background:#fff;color:#120A8F;border-radius:4px;padding:10px 14px;font:700 13px/1.35 "DejaVu Sans",Arial,sans-serif;cursor:pointer}
.cookie-actions button:last-child{color:#fff;background:#120A8F}
@media(max-width:1100px){.cookie-banner-inner{display:block}.cookie-banner p{max-width:none}.cookie-actions{margin-top:14px}}
@media(max-width:700px){.cookie-actions{display:grid;grid-template-columns:minmax(0,1fr)}.cookie-actions button{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}}
.media-page .media-play{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:#120A8F;color:#fff;cursor:pointer;font:inherit}
.media-page .media-play img{display:block;width:100%;height:100%;object-fit:cover}
.media-page .media-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#120A8Fdd;font-size:35px;line-height:1;padding-left:5px}
.media-page .media-play:focus-visible{outline:3px solid #807aff;outline-offset:4px}
