@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root { --navy:#002550; --green:#009b4c; --red:#f41e0e; --mist:#f1f4f5; --soft-green:#9fe7be; --white:#fff; --line:rgba(0,37,80,.12); --shadow:0 18px 42px rgba(0,37,80,.11); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--mist); color:var(--navy); font-family:'Manrope',sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
[x-cloak] { display:none!important; }

.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line); background:rgba(241,244,245,.9); backdrop-filter:blur(18px); }
.navbar,.section-inner,.footer-inner { width:min(1280px,100%); margin:0 auto; padding-left:32px; padding-right:32px; }
.navbar { display:flex; align-items:center; justify-content:space-between; gap:20px; height:76px; }
.brand { display:flex; flex:none; align-items:center; gap:12px; }
.brand-mark { display:grid; position:relative; width:40px; height:40px; place-items:center; border-radius:13px; background:var(--navy); color:#fff; font-size:18px; font-weight:800; letter-spacing:-.12em; box-shadow:5px 5px 0 var(--green); transition:transform .2s; }
.brand:hover .brand-mark { transform:translateY(-2px); }
.brand-copy { line-height:1; }
.brand-name { display:block; font-family:Sora,sans-serif; font-size:17px; font-weight:800; letter-spacing:-.055em; }
.brand-name span { color:var(--green); }
.brand-caption { display:block; margin-top:5px; color:rgba(0,37,80,.55); font-size:8px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.brand--inverse .brand-name { color:#fff; }
.brand--inverse .brand-caption { color:rgba(255,255,255,.45); }
.desktop-nav { display:flex; min-width:0; flex:1; align-items:center; justify-content:center; }
.nav-list,.mobile-list,.dropdown { margin:0; padding:0; list-style:none; }
.nav-list { display:flex; align-items:center; justify-content:center; gap:2px; }
.nav-link,.nav-trigger { display:inline-flex; align-items:center; gap:6px; flex:none; white-space:nowrap; border:0; border-radius:0; background:transparent; padding:9px 12px; color:rgba(0,37,80,.75); font-size:12px; font-weight:700; cursor:pointer; transition:color .2s, text-decoration-color .2s; }
.nav-link:hover,.nav-trigger:hover,.nav-trigger.is-open { background:transparent; color:var(--green); }
.nav-link:hover,.nav-trigger-label { text-decoration-thickness:2px; text-underline-offset:5px; }
.nav-link:hover,.nav-trigger:hover .nav-trigger-label,.nav-trigger.is-open .nav-trigger-label { text-decoration:underline; }
.nav-chevron { width:7px; height:7px; margin-top:-4px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .2s; }
.nav-trigger.is-open .nav-chevron { margin-top:4px; transform:rotate(225deg); }
.nav-group { position:relative; }
.dropdown { position:absolute; top:45px; left:50%; width:170px; padding:8px; transform:translateX(-50%); border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.js-dropdown { display:none; }
.dropdown-link { display:block; padding:10px 12px; border-radius:10px; color:rgba(0,37,80,.72); font-size:12px; font-weight:700; }
.dropdown-link:hover { background:transparent; color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.cta-button,.hero-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; border-radius:999px; font-size:11px; font-weight:800; transition:transform .2s,box-shadow .2s,background .2s; }
.cta-button { flex:none; padding:12px 17px; background:var(--red); color:#fff; box-shadow:5px 5px 0 var(--navy); }
.cta-button:hover,.hero-button:hover { transform:translateY(-2px); }
.mobile-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.6); color:var(--navy); font-size:20px; cursor:pointer; }
.mobile-nav { display:none; border-top:1px solid var(--line); padding:12px 20px 20px; }
.mobile-list { display:grid; gap:0; }
.mobile-nav.is-open { display:block; }
.mobile-link { display:block; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; font-weight:800; }
.mobile-cta { display:inline-flex; margin-top:12px; padding:12px 16px; border-radius:999px; background:var(--red); color:#fff; font-size:12px; font-weight:800; }

.hero { position:relative; overflow:hidden; padding:80px 0; }
.hero::before { content:''; position:absolute; top:48px; left:-145px; width:290px; height:290px; border-radius:50%; background:rgba(0,155,76,.1); filter:blur(48px); }
.hero-grid { position:relative; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:64px; }
.hero-copy { max-width:620px; }
.eyebrow,.section-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow { padding:9px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.7); color:rgba(0,37,80,.65); box-shadow:0 3px 10px rgba(0,37,80,.04); }
.eyebrow::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.12); }
.display-title { margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(44px,6vw,92px); font-weight:800; line-height:.96; letter-spacing:-.075em; }
.display-title span,.section-title span { color:var(--green); }
.hero-text { max-width:520px; margin:28px 0 0; color:rgba(0,37,80,.65); font-size:15px; line-height:1.9; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; }
.hero-button { padding:14px 20px; background:var(--navy); color:#fff; box-shadow:5px 5px 0 var(--green); }
.text-link { padding:12px 16px; font-size:12px; font-weight:800; }
.text-link:hover { color:var(--green); }
.stats { display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:48px; padding-top:24px; border-top:1px solid var(--line); }
.stat { min-width:100px; }
.stat-value { margin:0; font-family:Sora,sans-serif; font-size:27px; font-weight:800; letter-spacing:-.07em; }
.stat-value em { color:var(--red); font-style:normal; }
.stat:nth-child(3) .stat-value em { color:var(--green); }
.stat-label { margin:4px 0 0; color:rgba(0,37,80,.45); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.stat-divider { width:1px; height:36px; background:var(--line); }
.hero-visual { position:relative; min-height:520px; }
.hero-badge { position:absolute; top:40px; left:-32px; z-index:5; padding:12px 16px; border-radius:16px; background:var(--red); color:#fff; box-shadow:5px 5px 0 var(--navy); }
.hero-badge small { display:block; color:rgba(255,255,255,.65); font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.hero-badge strong { display:block; margin-top:2px; font-family:Sora,sans-serif; font-size:24px; }
.slider { position:absolute; inset:0; overflow:hidden; border-radius:40px; background:var(--navy); box-shadow:14px 18px 0 rgba(0,37,80,.08); }
.slide { position:absolute; inset:0; opacity:0; transition:opacity .7s; }
.slide.is-active { opacity:1; }
.slide-image { width:100%; height:100%; object-fit:cover; }
.js-flyer-slide { position:absolute; inset:0; opacity:0; transition:opacity .45s ease; }
.js-flyer-slide.is-active { opacity:1; }
.slide-overlay { position:absolute; inset:0; background:linear-gradient(to top,var(--navy),rgba(0,37,80,.35),rgba(0,37,80,.05)); }
.slide-meta { position:absolute; top:28px; left:28px; right:28px; display:flex; justify-content:space-between; }
.slide-label { padding:8px 12px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(0,37,80,.35); color:#fff; font-size:9px; font-weight:800; letter-spacing:.18em; }
.slide-number { color:rgba(255,255,255,.75); font-family:Sora,sans-serif; font-weight:700; }
.slide-copy { position:absolute; right:28px; bottom:92px; left:28px; color:#fff; }
.slide-tag { margin:0 0 12px; color:var(--soft-green); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.slide-title { max-width:550px; margin:0; font-family:Sora,sans-serif; font-size:38px; line-height:1.1; letter-spacing:-.055em; }
.slide-body { max-width:530px; margin:12px 0 0; color:rgba(255,255,255,.7); font-size:13px; line-height:1.6; }
.slider-controls { position:absolute; right:0; bottom:0; left:0; display:flex; align-items:center; justify-content:flex-end; gap:8px; padding:18px 28px; background:linear-gradient(to top,rgba(0,37,80,.82),rgba(0,37,80,0)); }
.slider-caption { overflow:hidden; margin-right:auto; color:rgba(255,255,255,.78); font-size:10px; font-weight:800; letter-spacing:.12em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.slider-button { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.1); color:#fff; cursor:pointer; }
.slider-button.next { border:0; background:#fff; color:var(--navy); }
.marquee-wrap { overflow:hidden; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.marquee { display:flex; width:max-content; gap:32px; color:rgba(0,37,80,.55); font-size:10px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; animation:marquee 26s linear infinite; }
.marquee-item { display:flex; align-items:center; gap:32px; }
.marquee-item::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--red); }

.section { padding:112px 0; background:#fff; }
.section--mist { background:var(--mist); }
.section--navy { background:var(--navy); color:#fff; }
.section-kicker::after { content:'↗'; color:var(--red); font-size:14px; letter-spacing:0; }
.section--navy .section-kicker { color:var(--soft-green); }
.section-title { max-width:760px; margin:20px 0 0; font-family:Sora,sans-serif; font-size:clamp(36px,4vw,62px); font-weight:800; line-height:1.04; letter-spacing:-.065em; }
.section-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:96px; }
.lead { max-width:720px; margin:0; font-size:23px; font-weight:700; line-height:1.55; letter-spacing:-.03em; }
.body-copy { max-width:720px; margin:22px 0 0; color:rgba(0,37,80,.6); font-size:14px; line-height:1.9; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:64px; }
.gallery-card { position:relative; height:260px; overflow:hidden; border-radius:24px; background:var(--navy); }
.gallery-card:nth-child(2) { margin-top:40px; }
.gallery-image,.blog-image { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.gallery-card:hover .gallery-image,.blog-card:hover .blog-image { transform:scale(1.05); }
.gallery-card::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.8),transparent); }
.gallery-label { position:absolute; z-index:1; bottom:20px; left:20px; color:#fff; font-size:12px; font-weight:800; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:52px; }
.service-card { display:flex; min-height:300px; flex-direction:column; padding:28px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(255,255,255,.06); transition:transform .3s,background .3s,border .3s; }
.service-card:hover { transform:translateY(-5px); border-color:var(--soft-green); background:rgba(255,255,255,.1); }
.service-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:16px; background:var(--green); color:#fff; font-size:20px; }
.service-content { margin-top:auto; }
.service-title { margin:28px 0 0; font-family:Sora,sans-serif; font-size:26px; letter-spacing:-.05em; }
.service-text { margin:12px 0 0; color:rgba(255,255,255,.55); font-size:14px; line-height:1.7; }
.service-link { display:inline-block; margin-top:22px; color:var(--soft-green); font-size:12px; font-weight:800; }
.event-list { display:grid; gap:16px; margin-top:48px; }
.event-card { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:20px; padding:24px; border:1px solid var(--line); border-radius:24px; background:#fff; transition:transform .3s,box-shadow .3s,border .3s; }
.event-card:hover { transform:translateY(-2px); border-color:rgba(0,155,76,.4); box-shadow:var(--shadow); }
.event-date { display:grid; width:72px; height:72px; place-items:center; border-radius:16px; color:#fff; text-align:center; }
.event-date.green { background:var(--green); }.event-date.navy { background:var(--navy); }.event-date.red { background:var(--red); }
.event-day { font-family:Sora,sans-serif; font-size:25px; font-weight:800; line-height:1; }.event-month { margin-top:4px; font-size:9px; font-weight:800; letter-spacing:.14em; }
.event-category { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.2em; }.event-title { margin:4px 0 0; font-family:Sora,sans-serif; font-size:21px; letter-spacing:-.04em; }.event-meta { margin:4px 0 0; color:rgba(0,37,80,.5); font-size:12px; }.event-link { font-size:12px; font-weight:800; }.event-card:hover .event-link { color:var(--green); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }.blog-card { overflow:hidden; border-radius:24px; background:var(--mist); transition:transform .3s,box-shadow .3s; }.blog-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }.blog-image-wrap { height:208px; overflow:hidden; }.blog-copy { padding:22px; }.blog-date { color:rgba(0,37,80,.45); font-size:10px; font-weight:700; }.blog-title { margin:12px 0 0; font-family:Sora,sans-serif; font-size:19px; line-height:1.35; letter-spacing:-.045em; }.blog-link { display:inline-block; margin-top:18px; color:var(--green); font-size:12px; font-weight:800; }
.site-footer { background:var(--navy); color:#fff; }.footer-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:96px; padding:64px 0; }.footer-copy { max-width:360px; margin-top:26px; color:rgba(255,255,255,.55); font-size:14px; line-height:1.7; }.footer-links { display:grid; grid-template-columns:repeat(2,1fr); gap:40px; }.footer-heading { color:rgba(255,255,255,.4); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.footer-link-list { display:grid; gap:12px; margin-top:20px; color:rgba(255,255,255,.7); font-size:14px; font-weight:600; }.footer-link-list a:hover { color:var(--soft-green); }.footer-bottom { padding:20px 0; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.35); font-size:10px; font-weight:700; }

@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-35%); } }
@media (max-width:1023px) { .navbar,.section-inner,.footer-inner { padding-left:24px; padding-right:24px; }.desktop-nav,.desktop-cta { display:none; }.mobile-toggle { display:block; }.hero-grid { grid-template-columns:1fr; }.hero-copy { max-width:700px; }.hero-visual { min-height:500px; }.section-intro { gap:48px; }.footer-grid { gap:48px; } }
@media (max-width:700px) { .navbar,.section-inner,.footer-inner { padding-left:16px; padding-right:16px; }.navbar { height:70px; }.hero { padding:52px 0 64px; }.display-title { font-size:clamp(46px,15vw,72px); }.hero-text { font-size:14px; }.stats { gap:18px; }.stat-divider { display:none; }.hero-visual { min-height:390px; }.hero-badge { display:none; }.slider { border-radius:28px; }.slider-controls { padding:14px 18px; }.slider-caption { max-width:62%; font-size:9px; }.section { padding:76px 0; }.section-intro { display:block; }.lead { margin-top:26px; font-size:20px; }.gallery,.service-grid,.blog-grid { grid-template-columns:1fr; }.gallery-card:nth-child(2) { margin-top:0; }.gallery-card { height:220px; }.service-card { min-height:260px; }.event-card { grid-template-columns:72px 1fr; padding:16px; }.event-link { grid-column:2; }.event-title { font-size:17px; }.footer-grid { grid-template-columns:1fr; padding:52px 0; }.footer-links { gap:24px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
.profile-hero { position:relative; overflow:hidden; padding:88px 0; background:#002550; color:#fff; }
.profile-hero::after { content:'P+'; position:absolute; right:4%; bottom:-90px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:22rem; font-weight:800; line-height:1; }
.profile-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; gap:64px; }
.profile-title { max-width:760px; margin:22px 0 0; font-family:Sora,sans-serif; font-size:clamp(42px,6vw,78px); font-weight:800; line-height:1; letter-spacing:-.075em; }
.profile-title span { color:#9fe7be; }
.profile-lead { max-width:720px; margin:28px 0 0; color:rgba(255,255,255,.72); font-size:17px; line-height:1.8; }
.profile-identity { position:relative; z-index:1; justify-self:end; width:220px; padding:28px; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.07); }
.profile-identity-mark { display:block; font-family:Sora,sans-serif; font-size:70px; font-weight:800; line-height:.9; letter-spacing:-.12em; }.profile-identity-mark span { color:#9fe7be; }
.profile-identity-label { margin:18px 0 0; color:#fff; font-size:15px; font-weight:800; }.profile-identity-year { margin:6px 0 0; color:#9fe7be; font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.profile-section { padding:104px 0; background:#fff; }.profile-section--mist { background:#f1f4f5; }.profile-section--navy { background:#002550; color:#fff; }
.profile-content-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:96px; }.profile-overline { margin:0; color:#009b4c; font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.profile-overline--light { color:#9fe7be; }
.profile-heading { max-width:520px; margin:18px 0 0; font-family:Sora,sans-serif; font-size:clamp(28px,3.5vw,48px); font-weight:800; line-height:1.08; letter-spacing:-.06em; }.profile-heading--light { color:#fff; }
.profile-prose { max-width:720px; color:rgba(0,37,80,.68); font-size:15px; line-height:1.9; }.profile-prose p { margin:0 0 22px; }.profile-prose p:last-child { margin-bottom:0; }
.profile-list { display:grid; gap:16px; margin:0; padding:0; list-style:none; color:rgba(0,37,80,.72); font-size:14px; line-height:1.75; }.profile-list li { position:relative; padding-left:30px; }.profile-list li::before { content:'+'; position:absolute; top:1px; left:0; display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:rgba(0,155,76,.12); color:#009b4c; font-weight:800; }.profile-list--light { color:rgba(255,255,255,.72); }.profile-list--light li::before { background:rgba(159,231,190,.14); color:#9fe7be; }
.profile-values-intro { max-width:700px; }.profile-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:52px; }.profile-value-card { min-height:210px; padding:24px; border:1px solid rgba(0,37,80,.1); border-radius:22px; background:#f1f4f5; transition:transform .25s,box-shadow .25s; }.profile-value-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(0,37,80,.08); }.profile-value-card span { color:#f41e0e; font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.profile-value-card h3 { margin:32px 0 0; font-family:Sora,sans-serif; font-size:19px; letter-spacing:-.04em; }.profile-value-card p { margin:10px 0 0; color:rgba(0,37,80,.58); font-size:12px; line-height:1.7; }
.profile-contact { padding:72px 0; background:#f1f4f5; }.profile-contact-box { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:42px 48px; border-radius:28px; background:#f41e0e; color:#fff; }.profile-contact-box h2 { max-width:720px; margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(24px,3vw,40px); line-height:1.1; letter-spacing:-.06em; }.profile-contact-box .profile-overline { color:rgba(255,255,255,.65); }.profile-contact-box .cp-hero-button { flex:none; background:#fff; color:#002550; box-shadow:5px 5px 0 #002550; }
@media (max-width:1023px) { .profile-hero-grid,.profile-content-grid { gap:48px; }.profile-content-grid { grid-template-columns:1fr; }.profile-value-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .profile-hero { padding:64px 0; }.profile-hero-grid { grid-template-columns:1fr; }.profile-identity { justify-self:start; width:180px; }.profile-section { padding:76px 0; }.profile-value-grid { grid-template-columns:1fr; }.profile-contact { padding:52px 0; }.profile-contact-box { align-items:flex-start; flex-direction:column; padding:30px; } }

/* About page redesign */
.about-hero { position:relative; overflow:hidden; padding:92px 0 110px; background:var(--navy); color:#fff; }
.about-hero::before { content:''; position:absolute; top:-180px; right:-120px; width:540px; height:540px; border:1px solid rgba(159,231,190,.18); border-radius:50%; box-shadow:0 0 0 80px rgba(159,231,190,.03),0 0 0 160px rgba(159,231,190,.02); }
.about-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr .88fr; align-items:center; gap:80px; }
.section-kicker--light { color:var(--soft-green); }
.about-hero-copy { max-width:700px; }
.about-title { margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(44px,6vw,84px); font-weight:800; line-height:.98; letter-spacing:-.075em; }
.about-title span { color:var(--soft-green); }
.about-hero-text { max-width:670px; margin:28px 0 0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.85; }
.about-hero-meta { display:flex; gap:34px; margin-top:38px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); }.about-hero-meta span { display:grid; gap:3px; }.about-hero-meta strong { font-family:Sora,sans-serif; font-size:24px; letter-spacing:-.06em; }.about-hero-meta small { color:rgba(255,255,255,.45); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.about-hero-art { position:relative; justify-self:end; width:min(100%,430px); }.about-art-frame { position:relative; overflow:hidden; height:430px; border:10px solid rgba(255,255,255,.12); border-radius:34px; background:#183b61; box-shadow:16px 18px 0 rgba(0,0,0,.14); }.about-art-frame::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.8),transparent 60%); }.about-art-frame img { width:100%; height:100%; object-fit:cover; }.about-art-caption { position:absolute; z-index:2; right:22px; bottom:22px; left:22px; display:flex; align-items:center; gap:9px; color:#fff; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.about-art-dot { width:8px; height:8px; border-radius:50%; background:var(--soft-green); box-shadow:0 0 0 5px rgba(159,231,190,.15); }.about-art-sticker { position:absolute; z-index:3; top:28px; right:-30px; padding:16px 20px; border-radius:18px; background:var(--red); color:#fff; font-family:Sora,sans-serif; font-size:17px; font-weight:700; line-height:1.05; transform:rotate(6deg); box-shadow:5px 5px 0 var(--green); }.about-art-sticker span { color:#ffd0cb; }
.about-section { padding:108px 0; background:#fff; }.about-section--mist { background:var(--mist); }.about-section--navy { background:var(--navy); color:#fff; }.about-section-head { display:grid; grid-template-columns:1fr .85fr; gap:80px; align-items:end; }.about-heading { max-width:640px; margin:17px 0 0; font-family:Sora,sans-serif; font-size:clamp(34px,4.4vw,62px); font-weight:800; line-height:1.02; letter-spacing:-.07em; }.about-heading span { color:var(--green); }.about-heading--light { color:#fff; }.about-heading--light span { color:var(--soft-green); }.about-section-note { max-width:440px; margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.about-section-note--light { color:rgba(255,255,255,.58); }
.about-prose-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:36px; max-width:990px; margin-top:52px; color:rgba(0,37,80,.68); font-size:15px; line-height:1.9; }.about-prose-grid p { margin:0; }.about-pillars { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:54px; }.about-pillars div { display:grid; gap:20px; padding:20px; border-top:2px solid var(--green); background:var(--mist); }.about-pillars span { color:var(--red); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.about-pillars strong { font-family:Sora,sans-serif; font-size:14px; letter-spacing:-.03em; }
.vision-card { display:grid; grid-template-columns:180px 1fr; gap:40px; align-items:start; margin-top:54px; padding:34px; border-left:4px solid var(--green); border-radius:0 24px 24px 0; background:#fff; box-shadow:0 16px 35px rgba(0,37,80,.06); }.vision-label { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.vision-copy { max-width:800px; font-family:Sora,sans-serif; font-size:22px; font-weight:700; line-height:1.45; letter-spacing:-.04em; }.mission-grid { display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; margin-top:64px; }.mission-heading { display:grid; align-content:start; gap:14px; }.mission-heading span { color:var(--red); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.mission-heading strong { font-family:Sora,sans-serif; font-size:32px; line-height:1.05; letter-spacing:-.06em; }.mission-list,.advantage-list { display:grid; gap:17px; margin:0; padding:0; list-style:none; }.mission-list li,.advantage-list li { position:relative; padding:0 0 17px 30px; border-bottom:1px solid rgba(0,37,80,.1); color:rgba(0,37,80,.68); font-size:14px; line-height:1.7; }.mission-list li::before,.advantage-list li::before { content:'+'; position:absolute; top:0; left:0; display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:rgba(0,155,76,.12); color:var(--green); font-weight:800; }.mission-list li:last-child,.advantage-list li:last-child { border-bottom:0; }
.core-value-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:52px; }.core-value-grid article { min-height:254px; padding:25px; border:1px solid rgba(0,37,80,.1); border-radius:24px; background:#fff; transition:transform .25s,box-shadow .25s; }.core-value-grid article:hover { transform:translateY(-6px); box-shadow:var(--shadow); }.core-value-grid article > span { color:var(--red); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.core-value-icon { display:grid; width:48px; height:48px; margin-top:34px; place-items:center; border-radius:16px; background:rgba(0,155,76,.1); color:var(--green); font-size:24px; }.core-value-grid h3 { margin:19px 0 0; font-family:Sora,sans-serif; font-size:19px; letter-spacing:-.05em; }.core-value-grid p { margin:8px 0 0; color:rgba(0,37,80,.56); font-size:12px; line-height:1.7; }
.advantage-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; margin-top:58px; }.advantage-feature { padding:30px; border:1px solid rgba(159,231,190,.22); border-radius:24px; background:rgba(255,255,255,.06); }.advantage-number { color:var(--soft-green); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.advantage-feature h3 { margin:54px 0 0; font-family:Sora,sans-serif; font-size:27px; line-height:1.1; letter-spacing:-.06em; }.advantage-feature p { margin:15px 0 0; color:rgba(255,255,255,.56); font-size:14px; line-height:1.8; }.advantage-list li { border-color:rgba(255,255,255,.13); color:rgba(255,255,255,.68); }.advantage-list li::before { background:rgba(159,231,190,.14); color:var(--soft-green); }
.about-cta { padding:74px 0; background:var(--mist); }.about-cta-box { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:44px 48px; border-radius:28px; background:var(--red); color:#fff; }.about-cta-box h2 { max-width:740px; margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(25px,3vw,42px); line-height:1.08; letter-spacing:-.065em; }.about-cta-box .profile-overline { color:rgba(255,255,255,.66); }.about-cta-box .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
@media (max-width:1023px) { .about-hero-grid { gap:48px; }.about-section-head,.mission-grid,.advantage-grid { gap:48px; }.about-prose-grid { gap:24px; }.about-pillars,.core-value-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .about-hero { padding:64px 0 78px; }.about-hero-grid,.about-section-head,.about-prose-grid,.mission-grid,.advantage-grid { grid-template-columns:1fr; }.about-hero-art { justify-self:start; width:calc(100% - 18px); }.about-art-frame { height:330px; }.about-art-sticker { right:-18px; }.about-section { padding:76px 0; }.about-pillars,.core-value-grid { grid-template-columns:1fr; }.vision-card { grid-template-columns:1fr; gap:18px; padding:24px; }.vision-copy { font-size:19px; }.mission-grid,.advantage-grid { margin-top:44px; }.mission-heading strong { font-size:27px; }.about-cta { padding:52px 0; }.about-cta-box { align-items:flex-start; flex-direction:column; padding:30px; } }

/* Blog page */
.nav-link--active { color:var(--green); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.blog-hero { position:relative; overflow:hidden; padding:88px 0 96px; background:var(--navy); color:#fff; }.blog-hero::after { content:'03'; position:absolute; right:4%; bottom:-90px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:22rem; font-weight:800; line-height:1; }.blog-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:70px; }.blog-page-title { margin:22px 0 0; font-family:Sora,sans-serif; font-size:clamp(48px,7vw,92px); font-weight:800; line-height:.95; letter-spacing:-.08em; }.blog-page-title span { color:var(--soft-green); }.blog-page-lead { max-width:620px; margin:28px 0 0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.blog-hero-note { justify-self:end; width:min(100%,260px); padding:24px; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:rgba(255,255,255,.06); }.blog-hero-note span { color:var(--soft-green); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.blog-hero-note strong { display:block; margin-top:22px; font-family:Sora,sans-serif; font-size:27px; line-height:1.05; letter-spacing:-.06em; }.blog-hero-note small { display:block; margin-top:28px; color:rgba(255,255,255,.45); font-size:10px; line-height:1.5; }
.blog-section { padding:96px 0; background:#fff; }.blog-section--mist { background:var(--mist); }.blog-featured { display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border-radius:28px; background:var(--navy); color:#fff; box-shadow:14px 18px 0 rgba(0,37,80,.08); }.blog-featured-image { min-height:420px; overflow:hidden; }.blog-featured-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }.blog-featured:hover .blog-featured-image img { transform:scale(1.04); }.blog-featured-copy { display:flex; flex-direction:column; justify-content:center; padding:48px; }.blog-category { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.blog-featured-copy .blog-category { color:var(--soft-green); }.blog-card-date { margin:12px 0 0; color:rgba(0,37,80,.45); font-size:10px; font-weight:700; }.blog-featured-copy .blog-card-date { color:rgba(255,255,255,.45); }.blog-featured-copy h2 { margin:17px 0 0; font-family:Sora,sans-serif; font-size:clamp(26px,3vw,42px); line-height:1.1; letter-spacing:-.065em; }.blog-featured-copy > p:not(.blog-card-date) { margin:16px 0 0; color:rgba(255,255,255,.64); font-size:14px; line-height:1.75; }.blog-read-link,.blog-read-more { display:inline-flex; align-items:center; gap:8px; margin-top:24px; color:var(--green); font-size:12px; font-weight:800; }.blog-featured-copy .blog-read-link { color:var(--soft-green); }.blog-read-link span { transition:transform .2s; }.blog-read-link:hover span,.blog-read-more:hover { transform:translateX(4px); }
.blog-list-header { display:flex; align-items:end; justify-content:space-between; gap:30px; }.blog-section-title { max-width:650px; margin:17px 0 0; font-family:Sora,sans-serif; font-size:clamp(32px,4vw,56px); font-weight:800; line-height:1.02; letter-spacing:-.07em; }.blog-section-title span { color:var(--green); }.blog-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.blog-filter { border:1px solid var(--line); border-radius:999px; background:transparent; padding:10px 14px; color:rgba(0,37,80,.62); font-size:10px; font-weight:800; cursor:pointer; transition:all .2s; }.blog-filter:hover,.blog-filter.is-active { border-color:var(--green); background:var(--green); color:#fff; }.blog-article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }.blog-article-card { overflow:hidden; border:1px solid rgba(0,37,80,.08); border-radius:22px; background:#fff; transition:transform .25s,box-shadow .25s; }.blog-article-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.blog-article-card.is-hidden { display:none; }.blog-article-image { height:205px; overflow:hidden; }.blog-article-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }.blog-article-card:hover .blog-article-image img { transform:scale(1.05); }.blog-article-copy { padding:22px; }.blog-article-copy h3 { margin:11px 0 0; font-family:Sora,sans-serif; font-size:18px; line-height:1.3; letter-spacing:-.045em; }.blog-article-copy > p:not(.blog-card-date) { margin:10px 0 0; color:rgba(0,37,80,.58); font-size:12px; line-height:1.65; }.blog-read-more { margin-top:18px; }
.blog-cta { padding:72px 0; background:var(--mist); }.blog-cta-box { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 48px; border-radius:28px; background:var(--green); color:#fff; }.blog-cta-box h2 { max-width:700px; margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(25px,3vw,42px); line-height:1.08; letter-spacing:-.06em; }.blog-cta-box .profile-overline { color:rgba(255,255,255,.68); }.blog-cta-box .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
@media (max-width:1023px) { .blog-hero-grid { gap:46px; }.blog-featured { grid-template-columns:1fr 1fr; }.blog-featured-copy { padding:32px; }.blog-article-grid { grid-template-columns:repeat(2,1fr); }.blog-list-header { align-items:flex-start; flex-direction:column; }.blog-filters { justify-content:flex-start; } }
@media (max-width:700px) { .blog-hero { padding:64px 0 74px; }.blog-hero-grid { grid-template-columns:1fr; }.blog-hero-note { justify-self:start; }.blog-section { padding:76px 0; }.blog-featured { grid-template-columns:1fr; }.blog-featured-image { min-height:240px; }.blog-featured-copy { padding:28px; }.blog-article-grid { grid-template-columns:1fr; }.blog-cta { padding:52px 0; }.blog-cta-box { align-items:flex-start; flex-direction:column; padding:30px; } }

/* Blog detail page */
.post-hero { padding:62px 0 86px; background:var(--navy); color:#fff; }.post-back-link { display:inline-flex; color:rgba(255,255,255,.62); font-size:11px; font-weight:800; transition:color .2s; }.post-back-link:hover { color:var(--soft-green); }.post-hero-grid { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:74px; margin-top:46px; }.post-date { margin:15px 0 0; color:rgba(255,255,255,.45); font-size:11px; font-weight:700; }.post-hero h1 { max-width:760px; margin:20px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,5vw,68px); font-weight:800; line-height:1.03; letter-spacing:-.075em; }.post-excerpt { max-width:650px; margin:24px 0 0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.post-hero-image { height:400px; overflow:hidden; border:8px solid rgba(255,255,255,.12); border-radius:30px; transform:rotate(2deg); box-shadow:12px 14px 0 rgba(0,0,0,.14); }.post-hero-image img { width:100%; height:100%; object-fit:cover; }
.post-section { padding:100px 0; background:#fff; }.post-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:100px; align-items:start; }.post-content { max-width:720px; color:rgba(0,37,80,.72); font-size:16px; line-height:1.95; }.post-content p { margin:0 0 24px; }.post-content .post-intro { color:var(--navy); font-family:Sora,sans-serif; font-size:24px; font-weight:700; line-height:1.45; letter-spacing:-.04em; }.post-callout { margin:44px 0; padding:26px 28px; border-left:4px solid var(--green); border-radius:0 18px 18px 0; background:var(--mist); }.post-callout span { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }.post-callout strong { display:block; margin-top:12px; color:var(--navy); font-family:Sora,sans-serif; font-size:19px; line-height:1.35; letter-spacing:-.04em; }.post-share { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding-top:22px; border-top:1px solid var(--line); }.post-share span { margin-right:8px; color:rgba(0,37,80,.45); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.post-share a { border:1px solid var(--line); border-radius:999px; padding:8px 12px; color:var(--navy); font-size:11px; font-weight:800; transition:all .2s; }.post-share a:hover { border-color:var(--green); color:var(--green); }.related-sidebar { position:sticky; top:100px; }.related-sidebar h2 { margin:14px 0 24px; font-family:Sora,sans-serif; font-size:30px; letter-spacing:-.06em; }.related-list { display:grid; gap:14px; }.related-card { display:grid; grid-template-columns:84px 1fr; gap:13px; padding:12px; border:1px solid rgba(0,37,80,.1); border-radius:16px; background:#fff; transition:transform .2s,box-shadow .2s; }.related-card:hover { transform:translateY(-3px); box-shadow:0 12px 25px rgba(0,37,80,.08); }.related-card img { width:84px; height:84px; border-radius:11px; object-fit:cover; }.related-card span { color:var(--green); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.related-card h3 { margin:6px 0 0; color:var(--navy); font-family:Sora,sans-serif; font-size:12px; line-height:1.3; letter-spacing:-.03em; }.related-card small { display:block; margin-top:7px; color:rgba(0,37,80,.42); font-size:9px; }
@media (max-width:1023px) { .post-hero-grid { gap:42px; }.post-layout { gap:48px; } }
@media (max-width:700px) { .post-hero { padding:52px 0 68px; }.post-hero-grid { grid-template-columns:1fr; gap:40px; margin-top:36px; }.post-hero-image { height:280px; transform:none; }.post-section { padding:72px 0; }.post-layout { grid-template-columns:1fr; gap:64px; }.post-content .post-intro { font-size:21px; }.related-sidebar { position:static; }.related-sidebar h2 { font-size:27px; } }

/* Events pages */
.event-page-hero { position:relative; overflow:hidden; padding:90px 0 100px; background:var(--navy); color:#fff; }.event-page-hero::after { content:'EVENT'; position:absolute; right:-30px; bottom:-55px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:10rem; font-weight:800; }.event-page-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr .45fr; align-items:end; gap:70px; }.event-page-title { margin:22px 0 0; font-family:Sora,sans-serif; font-size:clamp(45px,6vw,82px); font-weight:800; line-height:.96; letter-spacing:-.08em; }.event-page-title span { color:var(--soft-green); }.event-page-lead { max-width:620px; margin:28px 0 0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.event-page-mark { justify-self:end; width:190px; padding:22px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(255,255,255,.06); }.event-page-mark span { display:block; font-family:Sora,sans-serif; font-size:58px; font-weight:800; letter-spacing:-.1em; }.event-page-mark small { display:block; margin-top:24px; color:var(--soft-green); font-size:10px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.event-list-section { padding:100px 0; background:var(--mist); }.event-list-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; }.event-list-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(32px,4vw,56px); line-height:1; letter-spacing:-.07em; }.event-list-heading h2 span { color:var(--green); }.event-list-heading > p { max-width:420px; margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.public-event-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:50px; }.public-event-card { overflow:hidden; border:1px solid rgba(0,37,80,.08); border-radius:24px; background:#fff; transition:transform .25s,box-shadow .25s; }.public-event-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.public-event-image { position:relative; height:240px; overflow:hidden; }.public-event-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }.public-event-card:hover .public-event-image img { transform:scale(1.05); }.public-event-badge { position:absolute; top:18px; left:18px; padding:8px 10px; border-radius:999px; background:var(--red); color:#fff; font-size:9px; font-weight:800; letter-spacing:.14em; }.public-event-body { display:grid; grid-template-columns:78px 1fr; gap:20px; padding:24px; }.public-event-date { display:grid; align-content:start; justify-items:center; padding:12px 8px; border-radius:16px; background:var(--mist); }.public-event-date strong { color:var(--red); font-family:Sora,sans-serif; font-size:23px; line-height:1; }.public-event-date span { margin-top:6px; color:rgba(0,37,80,.55); font-size:9px; font-weight:800; text-align:center; text-transform:uppercase; }.public-event-meta { margin:0; color:rgba(0,37,80,.45); font-size:10px; font-weight:700; }.public-event-info h3 { margin:10px 0 0; font-family:Sora,sans-serif; font-size:22px; line-height:1.15; letter-spacing:-.05em; }.public-event-info > p:not(.public-event-meta) { margin:8px 0 0; color:var(--green); font-size:12px; font-weight:800; }.public-event-facts { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:18px; padding-top:14px; border-top:1px solid var(--line); color:rgba(0,37,80,.55); font-size:10px; }.public-event-facts strong { color:var(--green); font-size:11px; }
.event-detail-hero { padding:62px 0 86px; background:var(--navy); color:#fff; }.event-detail-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:72px; margin-top:44px; }.event-detail-grid h1 { margin:18px 0 0; font-family:Sora,sans-serif; font-size:clamp(38px,5vw,68px); line-height:1; letter-spacing:-.075em; }.event-detail-grid h2 { margin:12px 0 0; color:var(--soft-green); font-family:Sora,sans-serif; font-size:clamp(21px,3vw,33px); letter-spacing:-.05em; }.event-detail-grid > div > p { max-width:680px; margin:24px 0 30px; color:rgba(255,255,255,.67); font-size:15px; line-height:1.85; }.event-detail-image { position:relative; height:430px; overflow:hidden; border:8px solid rgba(255,255,255,.12); border-radius:30px; transform:rotate(2deg); box-shadow:12px 14px 0 rgba(0,0,0,.16); }.event-detail-image img { width:100%; height:100%; object-fit:cover; }.event-detail-label { position:absolute; right:20px; bottom:20px; padding:12px 15px; border-radius:14px; background:var(--red); color:#fff; font-size:12px; font-weight:800; box-shadow:4px 4px 0 var(--navy); }.event-info-section { padding:26px 0; background:var(--green); }.event-info-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }.event-info-card { display:grid; grid-template-columns:30px 1fr; gap:3px 10px; align-items:center; padding:18px; border-radius:16px; background:rgba(255,255,255,.12); color:#fff; }.event-info-card > span { grid-row:span 2; font-size:20px; }.event-info-card small { color:rgba(255,255,255,.62); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.event-info-card strong { font-size:13px; }.event-info-card--accent { background:#fff; color:var(--navy); }.event-info-card--accent small { color:rgba(0,37,80,.48); }.event-content-section { padding:100px 0; background:#fff; }.event-content-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; }.event-section-title { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(34px,4vw,56px); line-height:1.02; letter-spacing:-.07em; }.event-section-title span { color:var(--green); }.event-material-list { display:grid; gap:14px; margin:42px 0 0; padding:0; list-style:none; }.event-material-list li { padding:15px 18px; border-bottom:1px solid var(--line); color:rgba(0,37,80,.7); font-size:14px; }.event-material-list li::before { content:'✓'; margin-right:12px; color:var(--green); font-weight:800; }.event-facility-card { padding:32px; border-radius:24px; background:var(--mist); }.event-facility-card h3 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:26px; letter-spacing:-.06em; }.event-facility-card ul { display:grid; gap:12px; margin:30px 0 0; padding:0; list-style:none; color:rgba(0,37,80,.68); font-size:14px; }.event-facility-card li { padding-bottom:12px; border-bottom:1px solid var(--line); }.event-facility-card li::first-letter { color:var(--green); }.event-quota { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); }.event-quota small { display:block; color:rgba(0,37,80,.45); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.event-quota strong { display:block; margin-top:7px; color:var(--red); font-family:Sora,sans-serif; font-size:18px; }.event-register-banner { padding:72px 0; background:var(--mist); }.event-register-banner .section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 48px; border-radius:28px; background:var(--red); color:#fff; }.event-register-banner h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(28px,3.5vw,46px); line-height:1; letter-spacing:-.07em; }.event-register-banner .profile-overline { color:rgba(255,255,255,.65); }.event-register-banner .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
.register-hero { padding:72px 0 78px; background:var(--navy); color:#fff; }.register-hero h1 { margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(43px,6vw,75px); line-height:.98; letter-spacing:-.08em; }.register-hero h1 span { color:var(--soft-green); }.register-hero p:not(.section-kicker) { max-width:620px; margin:23px 0 0; color:rgba(255,255,255,.67); font-size:15px; line-height:1.8; }.register-section { padding:90px 0 110px; background:var(--mist); }.register-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; align-items:start; }.register-summary { position:sticky; top:100px; padding:28px; border-radius:24px; background:var(--navy); color:#fff; }.register-summary h2 { margin:18px 0 0; font-family:Sora,sans-serif; font-size:28px; line-height:1.08; letter-spacing:-.06em; }.register-summary > p { margin:11px 0 0; color:var(--soft-green); font-size:13px; font-weight:800; }.register-summary-row { display:flex; justify-content:space-between; gap:12px; margin-top:28px; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); color:rgba(255,255,255,.62); font-size:11px; }.register-summary-row strong { color:#fff; text-align:right; }.register-free { margin-top:28px; padding:12px; border-radius:12px; background:var(--red); color:#fff; font-size:9px; font-weight:800; line-height:1.4; letter-spacing:.12em; text-align:center; }.register-form-wrap { padding:38px; border-radius:24px; background:#fff; }.register-form-heading h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:35px; letter-spacing:-.07em; }.register-form-heading > p:not(.profile-overline) { max-width:600px; margin:13px 0 0; color:rgba(0,37,80,.56); font-size:13px; line-height:1.7; }.event-registration-form { margin-top:32px; }.register-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.register-form-grid label { display:grid; gap:8px; color:rgba(0,37,80,.68); font-size:11px; font-weight:800; }.register-form-grid input,.register-form-grid textarea { width:100%; border:1px solid rgba(0,37,80,.14); border-radius:12px; background:#fff; padding:13px 14px; color:var(--navy); font:inherit; font-size:13px; outline:none; transition:border .2s,box-shadow .2s; }.register-form-grid input:focus,.register-form-grid textarea:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.1); }.register-full { grid-column:1/-1; }.register-check { display:flex; align-items:flex-start; gap:10px; margin:24px 0; color:rgba(0,37,80,.56); font-size:11px; line-height:1.5; }.register-check input { margin-top:2px; accent-color:var(--green); }.form-note { margin:17px 0 0; color:rgba(0,37,80,.42); font-size:10px; }
@media (max-width:1023px) { .event-page-hero-grid,.event-detail-grid,.event-content-grid,.register-layout { gap:46px; }.public-event-grid { grid-template-columns:1fr; }.event-info-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .event-page-hero { padding:64px 0 76px; }.event-page-hero-grid,.event-detail-grid,.event-content-grid,.register-layout { grid-template-columns:1fr; }.event-page-mark { justify-self:start; }.event-list-section,.event-content-section,.register-section { padding:72px 0; }.event-list-heading { align-items:flex-start; flex-direction:column; }.public-event-body { grid-template-columns:64px 1fr; padding:18px; }.public-event-image { height:210px; }.event-detail-hero { padding:52px 0 72px; }.event-detail-image { height:290px; transform:none; }.event-info-grid { grid-template-columns:1fr 1fr; }.event-info-card { padding:14px; }.event-register-banner { padding:52px 0; }.event-register-banner .section-inner { align-items:flex-start; flex-direction:column; padding:30px; }.register-hero { padding:55px 0 64px; }.register-summary { position:static; }.register-form-wrap { padding:24px; }.register-form-grid { grid-template-columns:1fr; }.register-full { grid-column:auto; } }

.registration-success { display:grid; gap:5px; margin-bottom:20px; padding:14px 16px; border:1px solid rgba(0,155,76,.22); border-radius:12px; background:rgba(0,155,76,.08); color:var(--navy); }.registration-success strong { color:var(--green); font-size:12px; }.registration-success span { color:rgba(0,37,80,.58); font-size:11px; }

/* Training schedule page */
.nav-schedule-link { display:inline-flex !important; align-items:center; gap:6px; }.nav-calendar-icon { display:inline-grid; width:16px; height:16px; place-items:center; border:1.5px solid currentColor; border-radius:4px; font-size:9px; line-height:1; }.nav-calendar-icon::before { content:''; position:absolute; width:6px; height:3px; margin-top:-16px; border-left:1.5px solid currentColor; border-right:1.5px solid currentColor; }
.schedule-hero { position:relative; overflow:hidden; padding:94px 0 106px; background:var(--navy); color:#fff; }.schedule-hero::after { content:'2026'; position:absolute; right:-20px; bottom:-80px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:15rem; font-weight:800; line-height:1; }.schedule-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:80px; }.schedule-hero h1 { max-width:760px; margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(44px,6vw,80px); font-weight:800; line-height:.98; letter-spacing:-.08em; }.schedule-hero h1 span { color:var(--soft-green); }.schedule-hero p:not(.section-kicker) { max-width:620px; margin:27px 0 30px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.schedule-hero-visual { position:relative; justify-self:end; width:min(100%,420px); }.schedule-calendar-card { position:relative; padding:28px; border:1px solid rgba(255,255,255,.2); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.04)); box-shadow:16px 18px 0 rgba(0,0,0,.13); transform:rotate(4deg); }.schedule-calendar-top { display:flex; align-items:end; justify-content:space-between; padding-bottom:23px; border-bottom:1px solid rgba(255,255,255,.15); }.schedule-calendar-top span { color:var(--soft-green); font-size:10px; font-weight:800; letter-spacing:.18em; line-height:1.5; }.schedule-calendar-top strong { font-family:Sora,sans-serif; font-size:45px; line-height:1; letter-spacing:-.1em; }.schedule-calendar-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:25px; text-align:center; }.schedule-calendar-grid span { color:rgba(255,255,255,.4); font-size:8px; font-weight:800; }.schedule-calendar-grid b { display:grid; height:37px; place-items:center; border-radius:9px; color:rgba(255,255,255,.7); font-size:12px; }.schedule-calendar-grid b.is-marked { background:var(--red); color:#fff; }.schedule-visual-note { position:absolute; right:-30px; bottom:-35px; z-index:2; padding:16px 18px; border-radius:15px; background:var(--green); color:#fff; font-size:11px; line-height:1.3; transform:rotate(-6deg); box-shadow:4px 4px 0 var(--navy); }.schedule-visual-note strong { font-family:Sora,sans-serif; font-size:17px; }
.schedule-benefit-section { padding:100px 0; background:#fff; }.schedule-section-heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:70px; }.schedule-section-heading h2 { max-width:620px; margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.075em; }.schedule-section-heading h2 span { color:var(--green); }.schedule-section-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.schedule-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:54px; }.schedule-benefit-grid article { min-height:255px; padding:25px; border:1px solid rgba(0,37,80,.1); border-radius:23px; background:var(--mist); transition:transform .25s,box-shadow .25s; }.schedule-benefit-grid article:hover { transform:translateY(-6px); box-shadow:var(--shadow); }.schedule-benefit-grid article > span { color:var(--red); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.schedule-benefit-icon { display:grid; width:48px; height:48px; margin-top:35px; place-items:center; border-radius:15px; background:rgba(0,155,76,.11); color:var(--green); font-size:21px; }.schedule-benefit-grid h3 { max-width:250px; margin:17px 0 0; font-family:Sora,sans-serif; font-size:19px; line-height:1.2; letter-spacing:-.05em; }.schedule-benefit-grid p { margin:9px 0 0; color:rgba(0,37,80,.57); font-size:12px; line-height:1.65; }
.schedule-download-section { padding:92px 0 110px; background:var(--mist); }.schedule-download-card { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding:48px; border-radius:30px; background:#fff; box-shadow:12px 16px 0 rgba(0,37,80,.07); }.schedule-download-copy h2 { max-width:500px; margin:17px 0 0; font-family:Sora,sans-serif; font-size:clamp(32px,4vw,53px); line-height:1.02; letter-spacing:-.07em; }.schedule-download-copy h2 span { color:var(--green); }.schedule-download-copy > p:not(.profile-overline) { max-width:450px; margin:18px 0 0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.schedule-help { display:grid; gap:6px; margin-top:38px; padding-top:18px; border-top:1px solid var(--line); }.schedule-help span { color:rgba(0,37,80,.45); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.schedule-help a { color:var(--green); font-size:13px; font-weight:800; }.schedule-form-wrap { padding:28px; border-radius:22px; background:var(--mist); }.schedule-download-form { display:grid; gap:16px; }.schedule-download-form label:not(.schedule-consent) { display:grid; gap:7px; color:rgba(0,37,80,.7); font-size:11px; font-weight:800; }.schedule-download-form input:not([type=checkbox]) { width:100%; border:1px solid rgba(0,37,80,.14); border-radius:11px; background:#fff; padding:13px 14px; color:var(--navy); font:inherit; font-size:13px; outline:none; transition:border .2s,box-shadow .2s; }.schedule-download-form input:not([type=checkbox]):focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.1); }.schedule-consent { display:flex; align-items:flex-start; gap:9px; color:rgba(0,37,80,.55); font-size:10px; line-height:1.5; }.schedule-consent input { margin-top:2px; accent-color:var(--green); }.schedule-form-note { margin:0; color:rgba(0,37,80,.4); font-size:10px; line-height:1.5; }
.schedule-download-success { display:grid; gap:5px; margin-bottom:15px; padding:14px 16px; border-radius:12px; background:rgba(0,155,76,.1); color:var(--navy); }.schedule-download-success strong { color:var(--green); font-size:12px; }.schedule-download-success span { color:rgba(0,37,80,.58); font-size:10px; }
@media (max-width:1023px) { .schedule-hero-grid { gap:48px; }.schedule-section-heading,.schedule-download-card { gap:42px; }.schedule-download-card { padding:34px; } }
@media (max-width:700px) { .schedule-hero { padding:65px 0 80px; }.schedule-hero-grid,.schedule-section-heading,.schedule-download-card { grid-template-columns:1fr; }.schedule-hero-visual { justify-self:start; width:calc(100% - 15px); margin-top:25px; }.schedule-calendar-card { transform:none; }.schedule-visual-note { right:-15px; }.schedule-benefit-section,.schedule-download-section { padding:72px 0; }.schedule-benefit-grid { grid-template-columns:1fr; }.schedule-download-card { padding:25px; }.schedule-form-wrap { padding:20px; } }

/* Career pages */
.career-hero { position:relative; overflow:hidden; padding:92px 0 108px; background:var(--navy); color:#fff; }.career-hero::after { content:'CAREER'; position:absolute; right:-25px; bottom:-65px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:11rem; font-weight:800; }.career-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr .85fr; align-items:center; gap:75px; }.career-hero h1 { max-width:700px; margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(45px,6vw,82px); font-weight:800; line-height:.96; letter-spacing:-.08em; }.career-hero h1 span { color:var(--soft-green); }.career-hero p:not(.section-kicker) { max-width:600px; margin:27px 0 30px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.career-hero-art { position:relative; justify-self:end; width:min(100%,425px); }.career-art-main { position:relative; height:420px; overflow:hidden; border:9px solid rgba(255,255,255,.12); border-radius:34px; box-shadow:15px 17px 0 rgba(0,0,0,.13); transform:rotate(3deg); }.career-art-main::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.85),transparent 65%); }.career-art-main img { width:100%; height:100%; object-fit:cover; }.career-art-overlay { position:absolute; z-index:1; right:24px; bottom:24px; left:24px; }.career-art-overlay strong { display:block; font-family:Sora,sans-serif; font-size:34px; line-height:1; letter-spacing:-.07em; }.career-art-overlay span { display:block; margin-top:14px; color:var(--soft-green); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.career-art-card { position:absolute; z-index:2; top:30px; right:-32px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:14px; width:150px; padding:14px; border-radius:17px; background:var(--red); color:#fff; transform:rotate(-6deg); box-shadow:5px 5px 0 var(--green); }.career-art-card span { font-family:Sora,sans-serif; font-size:30px; font-weight:800; letter-spacing:-.1em; }.career-art-card small { border-left:1px solid rgba(255,255,255,.3); padding-left:11px; font-size:9px; font-weight:800; line-height:1.4; text-transform:uppercase; }
.career-list-section { padding:100px 0; background:var(--mist); }.career-section-heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:70px; }.career-section-heading h2 { max-width:650px; margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1.02; letter-spacing:-.075em; }.career-section-heading h2 span { color:var(--green); }.career-section-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.career-job-list { display:grid; gap:14px; margin-top:54px; }.career-job-card { display:grid; grid-template-columns:60px 1fr 50px; align-items:center; gap:24px; padding:25px 27px; border:1px solid rgba(0,37,80,.1); border-radius:23px; background:#fff; transition:transform .25s,box-shadow .25s; }.career-job-card:hover { transform:translateX(5px); box-shadow:var(--shadow); }.career-job-index { align-self:start; color:var(--red); font-family:Sora,sans-serif; font-size:13px; font-weight:800; }.career-job-label { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }.career-job-main h3 { margin:10px 0 0; font-family:Sora,sans-serif; font-size:23px; letter-spacing:-.06em; }.career-job-main > p { max-width:670px; margin:8px 0 0; color:rgba(0,37,80,.58); font-size:13px; line-height:1.65; }.career-job-meta { display:flex; flex-wrap:wrap; gap:18px; margin-top:16px; color:rgba(0,37,80,.48); font-size:10px; font-weight:700; }.career-job-arrow { display:grid; width:45px; height:45px; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:18px; transition:transform .2s,background .2s; }.career-job-card:hover .career-job-arrow { background:var(--red); transform:rotate(45deg); }
.career-values-section { padding:90px 0; background:var(--navy); color:#fff; }.career-values-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1; letter-spacing:-.07em; }.career-values-heading h2 span { color:var(--soft-green); }.career-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:50px; }.career-values-grid div { min-height:180px; padding:23px; border:1px solid rgba(159,231,190,.2); border-radius:20px; background:rgba(255,255,255,.05); }.career-values-grid strong { color:var(--soft-green); font-size:11px; }.career-values-grid h3 { margin:36px 0 0; font-family:Sora,sans-serif; font-size:23px; letter-spacing:-.06em; }.career-values-grid p { margin:7px 0 0; color:rgba(255,255,255,.56); font-size:12px; line-height:1.65; }.career-contact-section { padding:72px 0; background:var(--mist); }.career-contact-box { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 48px; border-radius:28px; background:var(--green); color:#fff; }.career-contact-box h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(28px,3.5vw,47px); line-height:1; letter-spacing:-.07em; }.career-contact-box h2 span { color:#c9f4d9; }.career-contact-box .profile-overline { color:rgba(255,255,255,.65); }.career-contact-box .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
.career-detail-hero { padding:62px 0 88px; background:var(--navy); color:#fff; }.career-detail-grid { display:grid; grid-template-columns:1fr .82fr; align-items:center; gap:75px; margin-top:44px; }.career-detail-grid h1 { margin:19px 0 0; font-family:Sora,sans-serif; font-size:clamp(42px,5vw,70px); line-height:1; letter-spacing:-.08em; }.career-detail-grid > div > p { max-width:660px; margin:25px 0 0; color:rgba(255,255,255,.68); font-size:15px; line-height:1.85; }.career-detail-meta { display:flex; flex-wrap:wrap; gap:20px; margin:23px 0 29px; color:rgba(255,255,255,.55); font-size:11px; font-weight:700; }.career-detail-image { position:relative; height:400px; overflow:hidden; border:8px solid rgba(255,255,255,.12); border-radius:30px; transform:rotate(2deg); box-shadow:12px 14px 0 rgba(0,0,0,.15); }.career-detail-image img { width:100%; height:100%; object-fit:cover; }.career-detail-sticker { position:absolute; right:20px; bottom:20px; padding:14px 17px; border-radius:14px; background:var(--red); color:#fff; font-size:12px; line-height:1.05; transform:rotate(-6deg); box-shadow:4px 4px 0 var(--navy); }.career-detail-sticker strong { font-family:Sora,sans-serif; font-size:19px; }.career-detail-section { padding:100px 0; background:#fff; }.career-detail-content { display:grid; grid-template-columns:1fr .55fr; gap:90px; align-items:start; }.career-detail-title { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(34px,4vw,57px); line-height:1.03; letter-spacing:-.075em; }.career-detail-title span { color:var(--green); }.career-detail-paragraph { max-width:660px; margin:25px 0 0; color:rgba(0,37,80,.62); font-size:15px; line-height:1.85; }.career-quick-card { padding:26px; border-radius:22px; background:var(--mist); }.career-quick-card > div { display:grid; gap:5px; padding:15px 0; border-bottom:1px solid var(--line); }.career-quick-card > div span { color:rgba(0,37,80,.45); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.career-quick-card > div strong { font-size:13px; }.career-quick-button { display:block; margin-top:22px; padding:13px; border-radius:999px; background:var(--navy); color:#fff; font-size:11px; font-weight:800; text-align:center; }.career-detail-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:80px; margin-top:90px; }.career-detail-columns h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:31px; letter-spacing:-.07em; }.career-detail-list { display:grid; gap:14px; margin:30px 0 0; padding:0; list-style:none; }.career-detail-list li { position:relative; padding:0 0 14px 28px; border-bottom:1px solid var(--line); color:rgba(0,37,80,.67); font-size:13px; line-height:1.7; }.career-detail-list li::before { content:'+'; position:absolute; top:0; left:0; display:grid; width:19px; height:19px; place-items:center; border-radius:50%; background:rgba(0,155,76,.12); color:var(--green); font-weight:800; }.career-benefit-strip { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; margin-top:90px; padding:35px; border-radius:25px; background:var(--mist); }.career-benefit-strip h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:32px; line-height:1.03; letter-spacing:-.07em; }.career-benefit-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; align-content:center; }.career-benefit-list span { color:rgba(0,37,80,.67); font-size:12px; line-height:1.5; }.career-benefit-list span::first-letter { color:var(--green); }.career-apply-banner { padding:72px 0; background:var(--red); color:#fff; }.career-apply-banner .section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }.career-apply-banner h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(29px,3.5vw,48px); line-height:1; letter-spacing:-.07em; }.career-apply-banner h2 span { color:#ffd1cd; }.career-apply-banner .profile-overline { color:rgba(255,255,255,.65); }.career-apply-banner .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
.apply-hero { padding:68px 0 76px; background:var(--navy); color:#fff; }.apply-hero h1 { margin:23px 0 0; font-family:Sora,sans-serif; font-size:clamp(43px,6vw,76px); line-height:.97; letter-spacing:-.08em; }.apply-hero h1 span { color:var(--soft-green); }.apply-hero p:not(.section-kicker) { max-width:620px; margin:22px 0 0; color:rgba(255,255,255,.67); font-size:15px; line-height:1.8; }.apply-section { padding:90px 0 110px; background:var(--mist); }.apply-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; align-items:start; }.apply-summary { position:sticky; top:100px; padding:28px; border-radius:24px; background:var(--navy); color:#fff; }.apply-summary h2 { margin:18px 0 0; font-family:Sora,sans-serif; font-size:29px; line-height:1.05; letter-spacing:-.06em; }.apply-summary > p { margin:12px 0 0; color:var(--soft-green); font-size:13px; line-height:1.6; }.apply-summary-item { display:grid; gap:5px; margin-top:25px; padding-top:16px; border-top:1px solid rgba(255,255,255,.14); }.apply-summary-item span { color:rgba(255,255,255,.44); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.apply-summary-item strong { font-size:13px; }.apply-summary-note { margin-top:28px; padding:13px; border-radius:12px; background:var(--red); color:#fff; font-size:10px; line-height:1.5; }.apply-form-wrap { padding:38px; border-radius:24px; background:#fff; }.apply-form-heading h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:36px; letter-spacing:-.07em; }.apply-form-heading > p:not(.profile-overline) { max-width:630px; margin:13px 0 0; color:rgba(0,37,80,.56); font-size:13px; line-height:1.7; }.career-application-form { margin-top:32px; }.apply-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.apply-form-grid label { display:grid; gap:8px; color:rgba(0,37,80,.68); font-size:11px; font-weight:800; }.apply-form-grid input,.apply-form-grid select,.apply-form-grid textarea { width:100%; border:1px solid rgba(0,37,80,.14); border-radius:12px; background:#fff; padding:13px 14px; color:var(--navy); font:inherit; font-size:13px; outline:none; transition:border .2s,box-shadow .2s; }.apply-form-grid input:focus,.apply-form-grid select:focus,.apply-form-grid textarea:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.1); }.apply-full { grid-column:1/-1; }.apply-file-label small { color:rgba(0,37,80,.4); font-size:10px; font-weight:500; }.apply-consent { display:flex; align-items:flex-start; gap:10px; margin:24px 0; color:rgba(0,37,80,.56); font-size:11px; line-height:1.5; }.apply-consent input { margin-top:2px; accent-color:var(--green); }.apply-form-note { margin:17px 0 0; color:rgba(0,37,80,.42); font-size:10px; }.application-success { display:grid; gap:5px; margin-bottom:20px; padding:14px 16px; border-radius:12px; background:rgba(0,155,76,.1); }.application-success strong { color:var(--green); font-size:12px; }.application-success span { color:rgba(0,37,80,.58); font-size:11px; }
@media (max-width:1023px) { .career-hero-grid,.career-detail-grid,.career-detail-content,.apply-layout { gap:46px; }.career-section-heading { gap:45px; }.career-detail-columns { gap:45px; }.career-benefit-strip { gap:40px; } }
@media (max-width:700px) { .career-hero { padding:65px 0 80px; }.career-hero-grid,.career-section-heading,.career-detail-grid,.career-detail-content,.career-detail-columns,.career-benefit-strip,.apply-layout { grid-template-columns:1fr; }.career-hero-art { justify-self:start; width:calc(100% - 15px); margin-top:25px; }.career-art-main { height:330px; transform:none; }.career-art-card { right:-15px; }.career-list-section,.career-detail-section,.apply-section { padding:72px 0; }.career-job-card { grid-template-columns:35px 1fr 40px; gap:14px; padding:20px 16px; }.career-job-main h3 { font-size:19px; }.career-job-meta { display:grid; gap:7px; }.career-values-grid { grid-template-columns:1fr; }.career-contact-section { padding:52px 0; }.career-contact-box { align-items:flex-start; flex-direction:column; padding:30px; }.career-detail-hero { padding:52px 0 72px; }.career-detail-image { height:290px; transform:none; }.career-detail-columns { margin-top:65px; }.career-benefit-strip { margin-top:65px; padding:25px; }.career-benefit-list { grid-template-columns:1fr; }.career-apply-banner { padding:52px 0; }.career-apply-banner .section-inner { align-items:flex-start; flex-direction:column; }.apply-hero { padding:55px 0 64px; }.apply-summary { position:static; }.apply-form-wrap { padding:24px; }.apply-form-grid { grid-template-columns:1fr; }.apply-full { grid-column:auto; } }

/* Contact page */
.dropdown-link--active { color:var(--green) !important; text-decoration:underline; text-underline-offset:4px; }.contact-hero { position:relative; overflow:hidden; padding:94px 0 106px; background:var(--navy); color:#fff; }.contact-hero::after { content:'CONNECT'; position:absolute; right:-20px; bottom:-75px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:10rem; font-weight:800; }.contact-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:75px; }.contact-hero h1 { margin:24px 0 0; font-family:Sora,sans-serif; font-size:clamp(47px,6vw,84px); font-weight:800; line-height:.95; letter-spacing:-.08em; }.contact-hero h1 span { color:var(--soft-green); }.contact-hero p:not(.section-kicker) { max-width:610px; margin:27px 0 30px; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }.contact-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }.contact-text-link { color:rgba(255,255,255,.7); font-size:12px; font-weight:800; transition:color .2s; }.contact-text-link:hover { color:var(--soft-green); }.contact-hero-orbit { position:relative; justify-self:end; width:370px; height:370px; border:1px dashed rgba(159,231,190,.35); border-radius:50%; }.contact-hero-orbit::before,.contact-hero-orbit::after { content:''; position:absolute; inset:45px; border:1px solid rgba(159,231,190,.16); border-radius:50%; }.contact-hero-orbit::after { inset:100px; border-color:rgba(159,231,190,.2); }.contact-orbit-center { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:132px; height:132px; place-items:center; border-radius:50%; background:var(--green); color:#fff; text-align:center; transform:translate(-50%,-50%); box-shadow:0 0 0 12px rgba(0,155,76,.13),0 0 0 30px rgba(0,155,76,.06); }.contact-orbit-center span { font-family:Sora,sans-serif; font-size:33px; font-weight:800; letter-spacing:-.1em; }.contact-orbit-center small { color:rgba(255,255,255,.7); font-size:9px; font-weight:800; line-height:1.2; text-transform:uppercase; }.contact-orbit-dot { position:absolute; z-index:3; display:flex; align-items:center; gap:7px; color:var(--soft-green); font-size:10px; font-weight:800; }.contact-orbit-dot::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 0 5px rgba(244,30,14,.15); }.dot-jakarta { top:42px; right:40px; }.dot-bogor { bottom:42px; left:20px; }.dot-cikarang { right:5px; bottom:105px; }
.contact-info-section { padding:100px 0; background:#fff; }.contact-info-heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:70px; }.contact-info-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1; letter-spacing:-.075em; }.contact-info-heading h2 span { color:var(--green); }.contact-info-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.contact-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:53px; }.contact-info-card { display:grid; min-height:190px; padding:25px; border:1px solid rgba(0,37,80,.1); border-radius:22px; background:var(--mist); color:var(--navy); transition:transform .25s,box-shadow .25s; }.contact-info-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }.contact-info-icon { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; background:rgba(0,155,76,.11); color:var(--green); font-size:21px; }.contact-info-card small { margin-top:25px; color:rgba(0,37,80,.42); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.contact-info-card strong { margin-top:6px; font-family:Sora,sans-serif; font-size:16px; letter-spacing:-.04em; }.contact-info-card em { align-self:end; margin-top:16px; color:var(--green); font-size:10px; font-style:normal; font-weight:800; }
.contact-location-section { padding:100px 0; background:var(--mist); }.contact-location-heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:70px; }.contact-location-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1; letter-spacing:-.075em; }.contact-location-heading h2 span { color:var(--green); }.contact-location-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.contact-location-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:35px; margin-top:54px; }.contact-map { position:relative; min-height:480px; overflow:hidden; border-radius:28px; background:#dce8e8; box-shadow:12px 14px 0 rgba(0,37,80,.08); }.contact-map::before { content:''; position:absolute; inset:0; opacity:.52; background:linear-gradient(128deg,transparent 0 19%,rgba(255,255,255,.78) 19.4% 20%,transparent 20.4% 41%,rgba(255,255,255,.72) 41.4% 42%,transparent 42.4% 67%,rgba(255,255,255,.8) 67.4% 68%,transparent 68.4%),linear-gradient(36deg,transparent 0 29%,rgba(255,255,255,.8) 29.4% 30%,transparent 30.4% 58%,rgba(255,255,255,.65) 58.4% 59%,transparent 59.4%); }.contact-map-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(0,37,80,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(0,37,80,.3) 1px,transparent 1px); background-size:46px 46px; transform:rotate(10deg) scale(1.3); }.contact-map-route { position:absolute; height:4px; border-radius:999px; background:var(--green); opacity:.55; transform-origin:left center; }.route-one { top:34%; left:28%; width:49%; transform:rotate(18deg); }.route-two { top:51%; left:34%; width:45%; transform:rotate(-30deg); }.contact-map-label { position:absolute; top:24px; left:24px; padding:13px 17px; border-radius:13px; background:var(--navy); color:#fff; font-family:Sora,sans-serif; font-size:20px; line-height:.85; box-shadow:4px 4px 0 rgba(0,155,76,.6); }.contact-map-label small { display:block; margin-top:8px; color:var(--soft-green); font-family:Manrope,sans-serif; font-size:8px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.contact-map-pin { position:absolute; z-index:2; display:grid; gap:7px; justify-items:center; color:var(--navy); font-size:10px; font-weight:800; text-decoration:none; }.contact-map-pin i { display:block; width:18px; height:18px; border:4px solid #fff; border-radius:50% 50% 50% 0; background:var(--red); box-shadow:0 4px 9px rgba(0,37,80,.25); transform:rotate(-45deg); transition:transform .2s,background .2s; }.contact-map-pin:hover { color:var(--green); }.contact-map-pin:hover i { background:var(--green); transform:rotate(-45deg) scale(1.18); }.contact-map-pin span { padding:5px 8px; border-radius:7px; background:rgba(255,255,255,.85); }.pin-jakarta { top:27%; left:34%; }.pin-bogor { top:57%; left:49%; }.pin-cikarang { top:39%; right:17%; }.contact-branch-list { display:grid; gap:12px; }.contact-branch { display:grid; grid-template-columns:36px 1fr; gap:17px; padding:21px; border:1px solid rgba(0,37,80,.1); border-radius:18px; background:#fff; transition:transform .2s,box-shadow .2s; }.contact-branch:hover,.contact-branch.is-active { transform:translateX(4px); box-shadow:0 10px 25px rgba(0,37,80,.08); }.contact-branch > span { color:var(--red); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }.contact-branch small { color:var(--green); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.contact-branch h3 { margin:7px 0 0; font-family:Sora,sans-serif; font-size:20px; letter-spacing:-.05em; }.contact-branch p { margin:8px 0 0; color:rgba(0,37,80,.57); font-size:11px; line-height:1.65; }.contact-branch a { display:inline-block; margin-top:13px; color:var(--green); font-size:10px; font-weight:800; }
.contact-cta-section { padding:72px 0; background:#fff; }.contact-cta-box { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 48px; border-radius:28px; background:var(--red); color:#fff; }.contact-cta-box h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(29px,3.5vw,48px); line-height:1; letter-spacing:-.07em; }.contact-cta-box h2 span { color:#ffd1cd; }.contact-cta-box .profile-overline { color:rgba(255,255,255,.65); }.contact-cta-box .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
@media (max-width:1023px) { .contact-hero-grid,.contact-info-heading,.contact-location-heading { gap:45px; }.contact-location-layout { gap:25px; }.contact-hero-orbit { width:310px; height:310px; }.contact-orbit-center { width:110px; height:110px; } }
@media (max-width:700px) { .contact-hero { padding:65px 0 80px; }.contact-hero-grid,.contact-info-heading,.contact-location-heading,.contact-location-layout { grid-template-columns:1fr; }.contact-hero-orbit { justify-self:start; width:290px; height:290px; margin-top:26px; }.contact-info-section,.contact-location-section { padding:72px 0; }.contact-info-grid { grid-template-columns:1fr; }.contact-map { min-height:360px; }.contact-branch { padding:18px; }.contact-cta-section { padding:52px 0; }.contact-cta-box { align-items:flex-start; flex-direction:column; padding:30px; } }

/* Progress+ logo and training pages */
.brand-logo { display:block; width:154px; height:auto; max-height:55px; object-fit:contain; object-position:left center; }.brand-logo--footer { width:205px; max-height:74px; filter:brightness(0) invert(1); opacity:.96; }.brand:has(.brand-logo) { min-width:154px; }.submenu-icon { display:inline-grid; width:18px; height:18px; margin-right:7px; place-items:center; border-radius:6px; background:rgba(0,155,76,.1); color:var(--green); font-size:12px; font-weight:800; }.dropdown-link { display:flex; align-items:center; }
.training-hero { position:relative; overflow:hidden; padding:94px 0 108px; background:var(--navy); color:#fff; }.training-hero::after { content:'TRAINING'; position:absolute; right:-20px; bottom:-65px; color:rgba(255,255,255,.04); font-family:Sora,sans-serif; font-size:10rem; font-weight:800; }.training-hero .section-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:50px; }.training-hero h1 { max-width:780px; margin:23px 0 0; font-family:Sora,sans-serif; font-size:clamp(45px,6vw,82px); line-height:.97; letter-spacing:-.08em; }.training-hero h1 span { color:var(--soft-green); }.training-hero p:not(.section-kicker) { max-width:650px; margin:26px 0 30px; color:rgba(255,255,255,.67); font-size:16px; line-height:1.8; }.training-hero-badge { display:grid; min-width:190px; grid-template-columns:auto 1fr; align-items:center; gap:15px; padding:22px; border:1px solid rgba(159,231,190,.3); border-radius:20px; background:rgba(255,255,255,.06); transform:rotate(5deg); }.training-hero-badge strong { font-family:Sora,sans-serif; font-size:46px; line-height:1; letter-spacing:-.1em; }.training-hero-badge strong span { color:var(--red); }.training-hero-badge small { color:var(--soft-green); font-size:10px; font-weight:800; line-height:1.35; text-transform:uppercase; }.training-list-section { padding:100px 0; background:var(--mist); }.training-heading { display:grid; grid-template-columns:1fr .75fr; align-items:end; gap:70px; }.training-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1; letter-spacing:-.075em; }.training-heading h2 span { color:var(--green); }.training-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.training-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin-top:53px; }.training-card { overflow:hidden; border:1px solid rgba(0,37,80,.1); border-radius:24px; background:#fff; transition:transform .25s,box-shadow .25s; }.training-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }.training-card-image { position:relative; height:220px; overflow:hidden; background:var(--navy); }.training-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }.training-card:hover .training-card-image img { transform:scale(1.05); }.training-card-image::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.7),transparent 65%); }.training-card-image span { position:absolute; z-index:1; bottom:17px; left:18px; padding:7px 10px; border-radius:999px; background:var(--green); color:#fff; font-size:9px; font-weight:800; letter-spacing:.13em; }.training-card-body { padding:24px; }.training-card-meta { display:flex; justify-content:space-between; color:rgba(0,37,80,.43); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.training-card-meta span:first-child { color:var(--green); }.training-card h3 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:23px; line-height:1.15; letter-spacing:-.06em; }.training-card p { min-height:78px; margin:11px 0 0; color:rgba(0,37,80,.57); font-size:12px; line-height:1.7; }.training-card-date { padding-top:15px; border-top:1px solid var(--line); color:rgba(0,37,80,.58); font-size:11px; font-weight:700; }.training-detail-link { display:flex; align-items:center; justify-content:space-between; margin-top:17px; color:var(--green); font-size:11px; font-weight:800; }.training-detail-link span { font-size:18px; }.training-pillars { padding:90px 0; background:var(--navy); color:#fff; }.training-pillars .section-inner { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }.training-pillars h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(34px,4vw,56px); line-height:1; letter-spacing:-.07em; }.training-pillars h2 span { color:var(--soft-green); }.training-pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.training-pillar-grid div { min-height:180px; padding:22px; border:1px solid rgba(159,231,190,.2); border-radius:20px; background:rgba(255,255,255,.05); }.training-pillar-grid b { color:var(--soft-green); font-size:11px; }.training-pillar-grid h3 { margin:37px 0 0; font-family:Sora,sans-serif; font-size:21px; }.training-pillar-grid p { margin:7px 0 0; color:rgba(255,255,255,.56); font-size:11px; line-height:1.6; }
.training-detail-hero { padding:61px 0 86px; background:var(--navy); color:#fff; }.training-detail-hero-grid { display:grid; grid-template-columns:1fr .78fr; align-items:center; gap:76px; margin-top:43px; }.training-category-pill { display:inline-flex; padding:8px 12px; border:1px solid rgba(159,231,190,.3); border-radius:999px; color:var(--soft-green); font-size:9px; font-weight:800; letter-spacing:.16em; }.training-detail-hero h1 { max-width:730px; margin:20px 0 0; font-family:Sora,sans-serif; font-size:clamp(42px,5vw,72px); line-height:1; letter-spacing:-.08em; }.training-detail-hero p { max-width:630px; margin:25px 0 30px; color:rgba(255,255,255,.67); font-size:15px; line-height:1.85; }.training-detail-image { position:relative; height:400px; overflow:hidden; border:8px solid rgba(255,255,255,.12); border-radius:30px; transform:rotate(3deg); box-shadow:12px 15px 0 rgba(0,0,0,.14); }.training-detail-image img { width:100%; height:100%; object-fit:cover; }.training-detail-image::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.8),transparent 60%); }.training-detail-image span { position:absolute; z-index:1; bottom:22px; left:23px; color:#fff; font-size:13px; line-height:1.1; }.training-detail-image strong { color:var(--soft-green); font-family:Sora,sans-serif; font-size:23px; }.training-detail-section { padding:90px 0 110px; background:#fff; }.training-fact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:24px; border-radius:22px; background:var(--mist); }.training-fact-grid div { display:grid; gap:8px; padding:0 17px; border-right:1px solid var(--line); }.training-fact-grid div:last-child { border:0; }.training-fact-grid small { color:rgba(0,37,80,.43); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.training-fact-grid strong { font-size:13px; }.training-content-grid { display:grid; grid-template-columns:1fr .6fr; gap:86px; align-items:start; margin-top:86px; }.training-content-grid h2,.training-detail-columns h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(33px,4vw,53px); line-height:1; letter-spacing:-.07em; }.training-content-grid h2 span { color:var(--green); }.training-content-copy { max-width:660px; margin:23px 0 0; color:rgba(0,37,80,.62); font-size:14px; line-height:1.85; }.training-register-card { padding:27px; border-radius:22px; background:var(--mist); }.training-register-card h3 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:24px; letter-spacing:-.06em; }.training-register-card p:not(.profile-overline) { margin:11px 0 0; color:rgba(0,37,80,.58); font-size:12px; line-height:1.7; }.training-register-button { display:block; margin-top:22px; padding:13px; border-radius:999px; background:var(--green); color:#fff; font-size:11px; font-weight:800; text-align:center; }.training-detail-columns { display:grid; grid-template-columns:repeat(2,1fr); gap:80px; margin-top:91px; }.training-list { display:grid; gap:14px; margin:30px 0 0; padding:0; list-style:none; counter-reset:training; }.training-list li { position:relative; padding:0 0 14px 36px; border-bottom:1px solid var(--line); color:rgba(0,37,80,.66); font-size:13px; line-height:1.7; counter-increment:training; }.training-list li::before { content:counter(training,decimal-leading-zero); position:absolute; left:0; color:var(--red); font-family:Sora,sans-serif; font-size:11px; font-weight:800; }.training-list--check li::before { content:'✓'; color:var(--green); }.training-detail-cta { padding:72px 0; background:var(--green); color:#fff; }.training-detail-cta .section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }.training-detail-cta h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(30px,3.7vw,50px); line-height:1; letter-spacing:-.07em; }.training-detail-cta h2 span { color:#caf3d9; }.training-detail-cta .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
@media (max-width:1023px) { .brand-logo { width:135px; }.training-heading,.training-pillars .section-inner { gap:44px; }.training-detail-hero-grid,.training-content-grid { gap:45px; } } @media (max-width:700px) { .brand-logo { width:126px; }.brand-logo--footer { width:180px; }.training-hero { padding:65px 0 80px; }.training-hero .section-inner { display:block; }.training-hero-badge { width:max-content; margin-top:35px; }.training-list-section,.training-detail-section { padding:72px 0; }.training-heading,.training-pillars .section-inner,.training-detail-hero-grid,.training-content-grid,.training-detail-columns { grid-template-columns:1fr; }.training-grid { grid-template-columns:1fr; }.training-card p { min-height:0; }.training-pillar-grid { grid-template-columns:1fr; }.training-detail-hero { padding:52px 0 72px; }.training-detail-image { height:290px; transform:none; }.training-fact-grid { grid-template-columns:repeat(2,1fr); }.training-fact-grid div:nth-child(2) { border:0; }.training-fact-grid div { padding:8px 12px; }.training-content-grid,.training-detail-columns { margin-top:65px; }.training-detail-cta { padding:54px 0; }.training-detail-cta .section-inner { align-items:flex-start; flex-direction:column; } }

.brand--inverse .brand-logo { filter:brightness(0) invert(1); opacity:.96; }

.training-fact-investment { border-radius:14px; background:rgba(0,155,76,.08); }.training-fact-investment strong { color:var(--green); font-family:Sora,sans-serif; font-size:16px; }.training-price { margin-top:14px; color:var(--green); font-family:Sora,sans-serif; font-size:31px; font-weight:800; letter-spacing:-.07em; }.training-price-note { color:var(--red) !important; font-size:11px !important; font-weight:800; }.submenu-icon--gallery { background:rgba(244,30,14,.1); color:var(--red); font-size:13px; font-weight:900; }

/* Syllabus PDF and Progress+ app links */
.app-store-link { display:inline-flex; align-items:center; gap:7px; height:39px; padding:4px 9px 4px 6px; border:1px solid rgba(0,37,80,.14); border-radius:9px; background:#fff; color:var(--navy); font-size:9px; font-weight:800; line-height:1.1; transition:transform .2s,box-shadow .2s; }.app-store-link:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(0,37,80,.12); }.google-play-logo { display:block; width:29px; height:29px; object-fit:cover; border-radius:5px; }.footer-progress-link { color:var(--soft-green) !important; font-weight:800; }.footer-progress-link span { color:var(--red); }.syllabus-pdf-card { overflow:hidden; margin-top:24px; border:1px solid var(--line); border-radius:18px; background:var(--mist); }.syllabus-pdf-head { display:flex; align-items:center; gap:12px; padding:15px; background:#fff; }.pdf-file-icon { display:grid; width:40px; height:46px; place-items:center; border-radius:8px; background:rgba(244,30,14,.1); color:var(--red); font-size:9px; font-weight:900; }.syllabus-pdf-head div { display:grid; gap:4px; }.syllabus-pdf-head strong { font-size:12px; }.syllabus-pdf-head small { color:rgba(0,37,80,.48); font-size:10px; }.syllabus-pdf-card iframe { display:block; width:100%; height:365px; border:0; background:#eef1f2; }.syllabus-pdf-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 15px; }.syllabus-pdf-button,.syllabus-pdf-download { font-size:10px; font-weight:800; }.syllabus-pdf-button { color:var(--green); }.syllabus-pdf-download { padding:8px 11px; border-radius:999px; background:var(--navy); color:#fff; }.training-fact-grid { grid-template-columns:repeat(5,1fr); }.training-fact-grid div { min-width:0; }.training-fact-investment { border-radius:14px; background:rgba(0,155,76,.08); }.training-fact-investment strong { color:var(--green); font-family:Sora,sans-serif; font-size:16px; }.training-price { margin-top:14px; color:var(--green); font-family:Sora,sans-serif; font-size:31px; font-weight:800; letter-spacing:-.07em; }.training-price-note { color:var(--red) !important; font-size:11px !important; font-weight:800; }
@media (max-width:1100px) { .app-store-link { display:none; }.training-fact-grid { grid-template-columns:repeat(3,1fr); }.training-fact-grid div:nth-child(3) { border:0; } }
@media (max-width:700px) { .training-fact-grid { grid-template-columns:repeat(2,1fr); }.training-fact-grid div { padding:8px 12px; }.training-fact-grid div:nth-child(2) { border:0; }.syllabus-pdf-card iframe { height:300px; }.syllabus-pdf-actions { align-items:flex-start; flex-direction:column; } }

/* Google Play visibility fix */
.app-store-link { display:inline-flex !important; flex:none; min-width:145px; align-items:center; justify-content:center; gap:8px; height:42px; padding:5px 10px 5px 7px; border:1px solid rgba(0,37,80,.2); border-radius:10px; background:#fff; color:var(--navy) !important; font-size:10px; font-weight:800; line-height:1.1; box-shadow:0 4px 12px rgba(0,37,80,.08); }.app-store-link:hover { transform:translateY(-2px); box-shadow:0 7px 16px rgba(0,37,80,.15); }.google-play-logo { display:block !important; width:104px !important; height:28px !important; object-fit:contain !important; object-position:center; border-radius:4px; background:#fff; }.app-store-link > span { display:none; }.footer-app-badge { display:grid; width:max-content; gap:7px; margin-top:15px; color:rgba(255,255,255,.75) !important; font-size:9px; font-weight:800; }.footer-app-badge span { color:rgba(255,255,255,.48); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.footer-app-badge img { display:block; width:138px; height:38px; object-fit:contain; object-position:left center; border:1px solid rgba(255,255,255,.24); border-radius:7px; background:#fff; padding:2px 6px; transition:transform .2s,box-shadow .2s; }.footer-app-badge:hover img { transform:translateY(-2px); box-shadow:0 5px 12px rgba(0,0,0,.2); }
@media (max-width:1100px) { .app-store-link { display:inline-flex !important; min-width:128px; padding:4px 7px; }.google-play-logo { width:92px !important; } }
@media (max-width:700px) { .app-store-link { display:none !important; }.footer-app-badge img { width:145px; height:40px; } }

.mobile-app-badge { display:grid; width:max-content; gap:7px; margin-top:14px; color:rgba(0,37,80,.6) !important; font-size:9px; font-weight:800; text-transform:uppercase; }.mobile-app-badge img { display:block; width:148px; height:40px; object-fit:contain; object-position:left center; border:1px solid rgba(0,37,80,.15); border-radius:7px; background:#fff; padding:2px 6px; }

/* Gallery and client logo page */
.gallery-hero { overflow:hidden; padding:91px 0 105px; background:var(--navy); color:#fff; }.gallery-hero .section-inner { display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:70px; }.gallery-hero h1 { margin:21px 0 0; font-family:Sora,sans-serif; font-size:clamp(46px,6.2vw,86px); line-height:.96; letter-spacing:-.09em; }.gallery-hero h1 span { color:var(--soft-green); }.gallery-hero-copy > p:not(.section-kicker) { max-width:590px; margin:25px 0 30px; color:rgba(255,255,255,.66); font-size:15px; line-height:1.8; }.gallery-hero-stack { position:relative; height:400px; }.gallery-hero-card { position:absolute; overflow:hidden; border:7px solid rgba(255,255,255,.14); border-radius:26px; box-shadow:12px 14px 0 rgba(0,0,0,.18); }.gallery-hero-card img { width:100%; height:100%; object-fit:cover; }.gallery-hero-card--back { top:22px; right:13px; width:76%; height:300px; transform:rotate(8deg); opacity:.7; }.gallery-hero-card--front { top:56px; left:6px; width:77%; height:315px; transform:rotate(-5deg); }.gallery-hero-card--front::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.8),transparent 55%); }.gallery-hero-card--front span { position:absolute; z-index:1; bottom:20px; left:20px; color:#fff; font-family:Sora,sans-serif; font-size:12px; }.gallery-hero-sticker { position:absolute; z-index:2; right:0; bottom:21px; display:grid; width:99px; height:99px; place-items:center; align-content:center; border-radius:50%; background:var(--red); color:#fff; font-family:Sora,sans-serif; font-size:22px; line-height:.8; text-align:center; transform:rotate(9deg); box-shadow:6px 7px 0 var(--green); }.gallery-hero-sticker small { margin-top:8px; font-family:Manrope,sans-serif; font-size:9px; letter-spacing:.12em; text-transform:uppercase; }.gallery-section { padding:100px 0 115px; background:var(--mist); }.gallery-heading { display:grid; grid-template-columns:1fr .72fr; gap:60px; align-items:end; }.gallery-heading h2,.client-logos-heading h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(36px,4vw,59px); line-height:1; letter-spacing:-.08em; }.gallery-heading h2 span,.client-logos-heading h2 span { color:var(--green); }.gallery-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }.gallery-filters { display:flex; flex-wrap:wrap; gap:9px; margin:43px 0 19px; }.gallery-filter { padding:10px 17px; border:1px solid rgba(0,37,80,.13); border-radius:999px; background:transparent; color:rgba(0,37,80,.58); font-size:10px; font-weight:800; transition:background .2s,color .2s,transform .2s; }.gallery-filter:hover,.gallery-filter.is-active { background:var(--navy); color:#fff; transform:translateY(-2px); }.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:240px; gap:14px; }.gallery-item { position:relative; overflow:hidden; min-height:0; padding:0; border:0; border-radius:20px; background:var(--navy); text-align:left; transition:transform .25s,opacity .25s; }.gallery-item:hover { transform:translateY(-5px); }.gallery-item.is-hidden { display:none; }.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .55s; }.gallery-item:hover img { transform:scale(1.07); }.gallery-item::after { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,37,80,.82),transparent 58%); }.gallery-item--wide { grid-column:span 2; }.gallery-item--tall { grid-row:span 2; }.gallery-item-caption { position:absolute; z-index:1; right:18px; bottom:17px; left:18px; display:flex; flex-direction:column; color:#fff; font-family:Sora,sans-serif; font-size:16px; line-height:1.1; }.gallery-item-caption small { margin-bottom:7px; color:var(--soft-green); font-family:Manrope,sans-serif; font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.gallery-item-caption b { position:absolute; right:0; bottom:0; color:#fff; font-family:Manrope,sans-serif; font-size:18px; }.client-logos-section { overflow:hidden; padding:90px 0 105px; background:#fff; }.client-logos-heading { display:grid; grid-template-columns:.9fr .8fr; grid-template-rows:auto auto; column-gap:80px; align-items:end; }.client-logos-heading .profile-overline { grid-column:1; }.client-logos-heading h2 { grid-column:1; }.client-logos-heading > p:last-child { grid-column:2; grid-row:1 / span 2; margin:0; color:rgba(0,37,80,.56); font-size:14px; line-height:1.8; }.logo-marquee { position:relative; overflow:hidden; margin-top:59px; padding:26px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.logo-marquee::before,.logo-marquee::after { position:absolute; z-index:1; top:0; bottom:0; width:130px; content:''; pointer-events:none; }.logo-marquee::before { left:0; background:linear-gradient(90deg,#fff,transparent); }.logo-marquee::after { right:0; background:linear-gradient(-90deg,#fff,transparent); }.logo-marquee-track { display:flex; width:max-content; align-items:center; gap:68px; animation:client-marquee 31s linear infinite; }.logo-marquee:hover .logo-marquee-track { animation-play-state:paused; }.client-logo { display:grid; min-width:125px; place-items:center; color:rgba(0,37,80,.42); font-family:Arial,sans-serif; font-size:22px; font-weight:900; letter-spacing:-.08em; white-space:nowrap; }.client-logo small { margin-top:1px; font-size:7px; letter-spacing:.28em; }.client-logo--astra { font-style:italic; }.client-logo--toyota { letter-spacing:.08em; }.client-logo--pertamina { color:rgba(244,30,14,.42); font-style:italic; }.client-logo--telkom { color:rgba(0,155,76,.5); font-size:18px; line-height:.8; text-align:center; }.client-logo--pln { color:rgba(0,37,80,.35); letter-spacing:.12em; }.client-logo--mandiri { color:rgba(0,155,76,.5); font-size:24px; font-weight:500; }.client-logo--unilever { color:rgba(0,37,80,.4); font-family:Georgia,serif; font-size:20px; font-weight:700; }.client-logo--indofood { color:rgba(244,30,14,.42); font-size:19px; }.gallery-lightbox { position:fixed; z-index:100; inset:0; display:grid; visibility:hidden; place-items:center; padding:25px; background:rgba(0,16,35,.9); opacity:0; transition:opacity .2s,visibility .2s; }.gallery-lightbox.is-visible { visibility:visible; opacity:1; }.gallery-lightbox-content { max-width:min(900px,94vw); color:#fff; text-align:center; }.gallery-lightbox-content img { display:block; max-width:100%; max-height:78vh; border:5px solid #fff; border-radius:16px; object-fit:contain; }.gallery-lightbox-content p { margin:14px 0 0; font-family:Sora,sans-serif; font-size:17px; }.gallery-lightbox-close { position:absolute; top:25px; right:30px; border:0; background:transparent; color:#fff; font-size:40px; line-height:1; }.lightbox-open { overflow:hidden; }@keyframes client-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (max-width:900px) { .gallery-hero .section-inner { gap:30px; }.gallery-hero-stack { height:340px; }.gallery-heading,.client-logos-heading { gap:35px; }.gallery-grid { grid-auto-rows:210px; }.logo-marquee-track { gap:45px; } }
@media (max-width:700px) { .gallery-hero { padding:66px 0 78px; }.gallery-hero .section-inner,.gallery-heading,.client-logos-heading { display:block; }.gallery-hero-stack { height:300px; margin-top:40px; }.gallery-hero-card--back { height:235px; }.gallery-hero-card--front { height:250px; }.gallery-hero-sticker { width:77px; height:77px; font-size:17px; }.gallery-hero-sticker small { font-size:7px; }.gallery-section,.client-logos-section { padding:70px 0 80px; }.gallery-heading > p,.client-logos-heading > p:last-child { margin-top:25px; }.gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:180px; gap:9px; }.gallery-item--wide { grid-column:span 2; }.gallery-item--tall { grid-row:span 1; }.gallery-item-caption { right:11px; bottom:11px; left:11px; font-size:12px; }.gallery-item-caption small { margin-bottom:4px; font-size:7px; }.logo-marquee-track { gap:32px; }.client-logo { min-width:95px; font-size:17px; }.client-logo--telkom { font-size:14px; } }

/* Clinic People & Development */
.submenu-icon--clinic { background:rgba(244,30,14,.1); color:var(--red); }.clinic-hero { overflow:hidden; padding:88px 0 105px; background:var(--navy); color:#fff; }.clinic-hero .section-inner { display:grid; grid-template-columns:1fr .72fr; align-items:center; gap:70px; }.clinic-hero h1 { margin:20px 0 0; font-family:Sora,sans-serif; font-size:clamp(43px,5.8vw,79px); line-height:.98; letter-spacing:-.09em; }.clinic-hero h1 span,.clinic-intro h2 span,.clinic-form-aside h2 span,.clinic-bottom-cta h2 span { color:var(--soft-green); }.clinic-hero p:not(.section-kicker) { max-width:620px; margin:25px 0 30px; color:rgba(255,255,255,.65); font-size:15px; line-height:1.85; }.clinic-orbit { position:relative; height:400px; }.clinic-orbit-ring { position:absolute; border:1px solid rgba(159,231,190,.25); border-radius:50%; transform:rotate(-18deg); }.clinic-orbit-ring--one { inset:20px 0 20px 0; }.clinic-orbit-ring--two { inset:65px 45px 65px 45px; border-style:dashed; }.clinic-orbit-core { position:absolute; top:50%; left:50%; display:grid; width:150px; height:150px; place-content:center; border:7px solid rgba(159,231,190,.25); border-radius:50%; background:var(--green); box-shadow:0 0 0 13px rgba(0,155,76,.12),0 20px 50px rgba(0,0,0,.2); transform:translate(-50%,-50%); text-align:center; }.clinic-orbit-core strong { font-family:Sora,sans-serif; font-size:39px; line-height:.9; letter-spacing:-.1em; }.clinic-orbit-core small { margin-top:8px; color:#d4f9e1; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.clinic-orbit-chip { position:absolute; display:grid; min-width:67px; height:35px; place-items:center; padding:0 11px; border:1px solid rgba(159,231,190,.35); border-radius:999px; background:rgba(0,37,80,.7); color:var(--soft-green); font-size:10px; font-weight:800; box-shadow:0 8px 20px rgba(0,0,0,.16); }.clinic-orbit-chip--one { top:24px; left:31%; }.clinic-orbit-chip--two { top:42%; right:-3px; }.clinic-orbit-chip--three { bottom:27px; left:17%; }.clinic-orbit-chip--four { top:44%; left:-7px; }.clinic-intro { padding:100px 0 112px; background:#fff; }.clinic-intro .section-inner { display:grid; grid-template-columns:.72fr 1.28fr; gap:75px; }.clinic-intro h2,.clinic-form-aside h2,.clinic-bottom-cta h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4.1vw,57px); line-height:1; letter-spacing:-.08em; }.clinic-topic-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:13px; }.clinic-topic-grid article { min-height:186px; padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--mist); transition:transform .2s,box-shadow .2s; }.clinic-topic-grid article:hover { transform:translateY(-5px); box-shadow:var(--shadow); }.clinic-topic-grid span { color:var(--red); font-family:Sora,sans-serif; font-size:11px; font-weight:800; }.clinic-topic-grid h3 { margin:31px 0 0; font-family:Sora,sans-serif; font-size:19px; letter-spacing:-.05em; }.clinic-topic-grid p { margin:8px 0 0; color:rgba(0,37,80,.55); font-size:11px; line-height:1.7; }.clinic-form-section { padding:100px 0 115px; background:var(--navy); color:#fff; }.clinic-form-layout { display:grid; grid-template-columns:.7fr 1.15fr; gap:90px; align-items:start; }.clinic-form-aside h2 { margin-top:16px; }.clinic-form-aside > p:not(.profile-overline) { max-width:410px; margin:25px 0 0; color:rgba(255,255,255,.6); font-size:14px; line-height:1.8; }.clinic-private-note { display:grid; gap:8px; margin-top:49px; padding:17px; border-left:3px solid var(--soft-green); background:rgba(255,255,255,.06); }.clinic-private-note strong { color:var(--soft-green); font-size:11px; }.clinic-private-note span { color:rgba(255,255,255,.55); font-size:11px; line-height:1.6; }.clinic-form { display:grid; gap:17px; padding:30px; border-radius:23px; background:#fff; color:var(--navy); box-shadow:14px 15px 0 rgba(0,0,0,.12); }.clinic-form-status { display:flex; align-items:center; gap:8px; margin-bottom:3px; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.clinic-status-dot { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(0,155,76,.12); }.clinic-form label { display:grid; gap:7px; color:rgba(0,37,80,.68); font-size:10px; font-weight:800; }.clinic-form input,.clinic-form select,.clinic-form textarea { width:100%; padding:12px 13px; border:1px solid rgba(0,37,80,.14); border-radius:9px; outline:0; background:#fff; color:var(--navy); font-family:Manrope,sans-serif; font-size:12px; font-weight:500; transition:border-color .2s,box-shadow .2s; }.clinic-form input:focus,.clinic-form select:focus,.clinic-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(0,155,76,.1); }.clinic-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.clinic-consent { display:flex !important; grid-template-columns:none !important; align-items:flex-start; gap:8px !important; color:rgba(0,37,80,.55) !important; font-size:10px !important; font-weight:500 !important; line-height:1.5; }.clinic-consent input { width:15px; height:15px; flex:none; margin-top:1px; accent-color:var(--green); }.clinic-submit { display:flex; align-items:center; justify-content:space-between; margin-top:3px; padding:14px 17px; border:0; border-radius:999px; background:var(--green); color:#fff; font-size:11px; font-weight:800; transition:transform .2s,background .2s; }.clinic-submit:hover { background:var(--navy); transform:translateY(-2px); }.clinic-success { display:grid; gap:5px; padding:13px 15px; border-radius:10px; background:#e9f8ef; color:var(--green); font-size:11px; }.clinic-success span { color:rgba(0,37,80,.6); font-size:10px; line-height:1.5; }.clinic-closed-card { padding:34px; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:rgba(255,255,255,.07); }.clinic-closed-icon { display:grid; width:45px; height:45px; place-items:center; border-radius:50%; background:rgba(244,30,14,.16); color:#ffb4ad; font-size:28px; }.clinic-closed-card h3 { margin:22px 0 0; font-family:Sora,sans-serif; font-size:26px; letter-spacing:-.06em; }.clinic-closed-card > p:not(.profile-overline) { margin:12px 0 0; color:rgba(255,255,255,.6); font-size:12px; line-height:1.7; }.clinic-closed-card .training-register-button { margin-top:24px; text-align:center; }.clinic-bottom-cta { padding:78px 0; background:var(--green); color:#fff; }.clinic-bottom-cta .section-inner { display:flex; align-items:end; justify-content:space-between; gap:30px; }.clinic-bottom-cta h2 { margin-top:13px; }.clinic-bottom-cta .cp-hero-button { flex:none; background:#fff; color:var(--navy); box-shadow:5px 5px 0 var(--navy); }
@media (max-width:900px) { .clinic-hero .section-inner,.clinic-intro .section-inner,.clinic-form-layout { gap:45px; }.clinic-form-layout { grid-template-columns:.8fr 1.2fr; } } @media (max-width:700px) { .clinic-hero { padding:66px 0 78px; }.clinic-hero .section-inner,.clinic-intro .section-inner,.clinic-form-layout { display:block; }.clinic-orbit { height:290px; margin-top:38px; }.clinic-orbit-core { width:120px; height:120px; }.clinic-orbit-core strong { font-size:32px; }.clinic-intro,.clinic-form-section { padding:72px 0 80px; }.clinic-topic-grid { margin-top:40px; }.clinic-topic-grid article { min-height:0; }.clinic-form { margin-top:45px; padding:20px; }.clinic-form-row { grid-template-columns:1fr; gap:17px; }.clinic-bottom-cta { padding:58px 0; }.clinic-bottom-cta .section-inner { align-items:flex-start; flex-direction:column; } }

/* Fix adjacent Clinic media query separator */

/* Event hero polish */
.event-detail-hero .section-inner,.register-hero .section-inner { position:relative; }.event-hero-breadcrumb { display:inline-flex !important; align-items:center; gap:9px; width:max-content; min-height:34px; margin:0 0 6px; padding:8px 13px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.82) !important; font-size:10px; letter-spacing:.02em; line-height:1; }.event-hero-breadcrumb:hover { border-color:var(--soft-green); background:rgba(159,231,190,.12); color:var(--soft-green) !important; }.event-detail-hero .event-detail-grid { margin-top:31px; }.event-detail-hero .blog-category,.register-hero .section-kicker { display:inline-flex; align-items:center; min-height:27px; padding:7px 10px; border-radius:999px; background:rgba(0,155,76,.18); color:var(--soft-green); }.event-detail-hero .cp-hero-button,.event-register-banner .cp-hero-button,.register-hero + .register-section .cp-hero-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:14px 22px; border:2px solid #fff; border-radius:999px; background:#fff !important; color:var(--navy) !important; font-size:12px; font-weight:900; line-height:1; box-shadow:5px 5px 0 rgba(0,0,0,.22); text-shadow:none; }.event-detail-hero .cp-hero-button:hover,.event-register-banner .cp-hero-button:hover,.register-hero + .register-section .cp-hero-button:hover { background:var(--soft-green) !important; border-color:var(--soft-green); color:var(--navy) !important; transform:translateY(-2px); }.register-hero { padding-top:59px; padding-bottom:83px; }.register-hero .event-hero-breadcrumb { margin-bottom:25px; }.register-hero h1 { margin-top:0; }.register-hero .cp-hero-button { background:var(--green) !important; color:#fff !important; border-color:var(--green); }.register-hero .cp-hero-button:hover { background:var(--soft-green) !important; border-color:var(--soft-green); color:var(--navy) !important; }.event-register-banner .cp-hero-button { background:#fff !important; color:var(--navy) !important; }
@media (max-width:700px) { .event-hero-breadcrumb { margin-bottom:18px; }.event-detail-hero .event-detail-grid { margin-top:24px; }.register-hero { padding-top:47px; }.register-hero .event-hero-breadcrumb { margin-bottom:22px; }.event-detail-hero .cp-hero-button,.event-register-banner .cp-hero-button { width:max-content; } }

/* Event register spacing and primary CTA contrast */
.register-hero .event-hero-breadcrumb { display:flex !important; width:max-content; margin:0 0 26px !important; }.register-hero .section-kicker { display:flex; width:max-content; margin:0 !important; }.register-hero h1 { margin-top:22px; }.register-hero .section-inner > p:last-child { margin-top:23px; }.event-detail-hero a.event-register-primary { display:inline-flex !important; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:15px 24px !important; border:2px solid #fff !important; border-radius:999px; background:#fff !important; color:#002550 !important; font-size:12px !important; font-weight:900 !important; line-height:1 !important; opacity:1 !important; box-shadow:6px 6px 0 rgba(0,0,0,.24) !important; text-shadow:none !important; }.event-detail-hero a.event-register-primary span { color:#009b4c !important; }.event-detail-hero a.event-register-primary:hover { border-color:#9fe7be !important; background:#9fe7be !important; color:#002550 !important; transform:translateY(-2px); }.event-detail-hero a.event-register-primary:hover span { color:#002550 !important; }
@media (max-width:700px) { .register-hero .event-hero-breadcrumb { margin-bottom:22px !important; }.register-hero h1 { margin-top:19px; }.register-hero .section-inner > p:last-child { margin-top:20px; }.event-detail-hero a.event-register-primary { min-height:47px; padding:14px 20px !important; } }

/* Contact logo marks */
.contact-orbit-center { display:grid; place-items:center; align-content:center; gap:8px; }.contact-orbit-logo { display:block; width:76px; height:58px; object-fit:contain; object-position:center; }.contact-orbit-center small { margin:0; }.contact-map-label { display:grid; justify-items:center; gap:7px; padding:12px 15px 13px; }.contact-map-logo { display:block; width:62px; height:42px; object-fit:contain; object-position:center; filter:brightness(0) invert(1); }.contact-map-label small { margin:0; }
@media (max-width:1023px) { .contact-orbit-logo { width:66px; height:51px; }.contact-map-logo { width:57px; height:39px; } }
@media (max-width:700px) { .contact-orbit-logo { width:62px; height:48px; }.contact-map-logo { width:53px; height:36px; } }

/* Direct white Contact logo asset */
.contact-orbit-center { background:var(--green); }.contact-orbit-logo { width:82px !important; height:62px !important; object-fit:contain !important; filter:none !important; opacity:1 !important; }.contact-map-label { background:var(--navy); }.contact-map-logo { width:68px !important; height:47px !important; object-fit:contain !important; filter:none !important; opacity:1 !important; }
@media (max-width:1023px) { .contact-orbit-logo { width:72px !important; height:55px !important; }.contact-map-logo { width:62px !important; height:43px !important; } }
@media (max-width:700px) { .contact-orbit-logo { width:67px !important; height:51px !important; }.contact-map-logo { width:58px !important; height:40px !important; } }

/* Compact Contact logo sizing */
.contact-orbit-logo { width:52px !important; height:40px !important; }.contact-map-logo { width:42px !important; height:30px !important; }
@media (max-width:1023px) { .contact-orbit-logo { width:47px !important; height:36px !important; }.contact-map-logo { width:38px !important; height:27px !important; } }
@media (max-width:700px) { .contact-orbit-logo { width:43px !important; height:33px !important; }.contact-map-logo { width:35px !important; height:25px !important; } }

/* Career hero logo */
.career-art-logo { display:block; width:54px; height:42px; margin:0 auto 13px; object-fit:contain; object-position:center; filter:none; }.career-art-card small { display:block; }
@media (max-width:700px) { .career-art-logo { width:46px; height:36px; margin-bottom:10px; } }

/* Events hero logo */
.event-page-logo { display:block; width:55px; height:43px; margin:0 auto 18px; object-fit:contain; object-position:center; }.event-page-mark small { display:block; }
@media (max-width:700px) { .event-page-logo { width:46px; height:36px; margin-bottom:13px; } }

/* Consistent bold typography for all hero headings */
[class*='-hero'] h1, .post-hero h1 { font-weight:800; }

/* Compact training listing cards: details stay visual, images belong to training-detail. */
.training-card { min-height:0; }
.training-card-body { padding:20px; }
.training-card h3 { margin-top:11px; font-size:19px; }
.training-card p { display:-webkit-box; min-height:0; margin-top:9px; overflow:hidden; font-size:11px; line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.training-card-date { padding-top:12px; font-size:10px; }
.training-detail-link { margin-top:13px; font-size:10px; }

/* Training browser controls and compact program facts */
.training-browser { display:flex; align-items:center; gap:12px; margin-top:38px; }
.training-search-wrap { position:relative; flex:1; }
.training-search-wrap > span { position:absolute; top:50%; left:15px; color:var(--green); font-size:18px; transform:translateY(-52%); }
.training-search-wrap input, .training-filter { width:100%; border:1px solid rgba(0,37,80,.14); border-radius:12px; background:#fff; color:var(--navy); font:inherit; font-size:12px; outline:none; }
.training-search-wrap input { padding:13px 15px 13px 42px; }
.training-filter { max-width:190px; padding:13px 14px; cursor:pointer; }
.training-search-wrap input:focus, .training-filter:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.1); }
.training-filter-reset { flex:none; border:0; border-radius:999px; background:var(--navy); padding:12px 16px; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.training-results { min-height:16px; margin:14px 0 -28px; color:rgba(0,37,80,.48); font-size:10px; font-weight:700; }
.training-card-facts { display:grid; grid-template-columns:1.15fr 1fr .8fr; gap:8px; margin-top:16px; padding-top:13px; border-top:1px solid var(--line); }
.training-card-facts span { display:grid; gap:4px; min-width:0; }
.training-card-facts small { color:rgba(0,37,80,.42); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.training-card-facts strong { overflow:hidden; color:var(--navy); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.training-empty { margin:45px 0 0; color:rgba(0,37,80,.55); text-align:center; }
.training-register-card { position:relative; overflow:hidden; border:1px solid rgba(0,155,76,.18); box-shadow:0 18px 38px rgba(0,37,80,.08); }
.training-register-card::after { content:'+'; position:absolute; top:-28px; right:17px; color:rgba(0,155,76,.08); font-family:Sora,sans-serif; font-size:130px; font-weight:800; line-height:1; }
.training-register-badge { position:relative; z-index:1; width:max-content; padding:7px 10px; border-radius:999px; background:rgba(0,155,76,.1); color:var(--green); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.training-register-card .profile-overline, .training-register-card .training-price, .training-register-card .training-price-note, .training-register-card h3, .training-register-card > p:not(.profile-overline), .training-register-card .training-register-divider, .training-register-card .training-register-benefits, .training-register-card .training-register-button { position:relative; z-index:1; }
.training-register-divider { margin-top:20px; border-top:1px solid rgba(0,37,80,.1); }
.training-register-benefits { display:grid; gap:9px; margin:18px 0 0; padding:0; list-style:none; color:rgba(0,37,80,.65); font-size:10px; line-height:1.45; }
.training-register-benefits li { display:flex; align-items:flex-start; gap:8px; }
.training-register-benefits li span { color:var(--green); font-size:13px; font-weight:900; line-height:1; }
.training-register-button { display:flex; align-items:center; justify-content:center; gap:8px; }
@media (max-width:700px) { .training-browser { align-items:stretch; flex-direction:column; }.training-filter { max-width:none; }.training-filter-reset { width:max-content; }.training-results { margin-bottom:-28px; }.training-card-facts { grid-template-columns:1fr 1fr; }.training-card-facts span:last-child { grid-column:1/-1; } }


/* Industry and other services pages */
.industry-page-hero,.other-services-hero { padding:92px 0 100px; background:var(--navy); color:#fff; }
.industry-page-hero h1,.other-services-hero h1 { max-width:820px; margin:22px 0 0; font-family:Sora,sans-serif; font-size:clamp(43px,6vw,78px); font-weight:800; line-height:.98; letter-spacing:-.08em; }
.industry-page-hero h1 span,.other-services-hero h1 span { color:var(--soft-green); }
.industry-page-hero p:not(.section-kicker),.other-services-hero p:not(.section-kicker) { max-width:650px; margin:25px 0 0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.8; }
.industry-list-section,.other-services-section { padding:96px 0 110px; background:var(--mist); }
.industry-list-heading,.other-services-heading { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:70px; }
.industry-list-heading h2,.other-services-heading h2 { margin:16px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); font-weight:800; line-height:1; letter-spacing:-.075em; }
.industry-list-heading h2 span,.other-services-heading h2 span { color:var(--green); }
.industry-list-heading > p,.other-services-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }
.industry-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:54px; }
.industry-card,.other-service-card { display:flex; min-height:310px; flex-direction:column; padding:25px; border:1px solid rgba(0,37,80,.1); border-radius:22px; background:#fff; transition:transform .25s,box-shadow .25s,border .25s; }
.industry-card:hover,.other-service-card:hover { transform:translateY(-5px); border-color:rgba(0,155,76,.4); box-shadow:var(--shadow); }
.industry-card-top { display:flex; align-items:center; justify-content:space-between; }
.industry-number { color:var(--red); font-family:Sora,sans-serif; font-size:12px; font-weight:800; }
.industry-icon,.other-service-icon { display:grid; width:42px; height:42px; place-items:center; border-radius:14px; background:rgba(0,155,76,.1); color:var(--green); font-size:20px; font-weight:800; }
.industry-card h3,.other-service-card h3 { margin:25px 0 0; font-family:Sora,sans-serif; font-size:20px; font-weight:800; line-height:1.12; letter-spacing:-.05em; }
.industry-card ul { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; color:rgba(0,37,80,.6); font-size:11px; line-height:1.5; }
.industry-card li { position:relative; padding-left:15px; }
.industry-card li::before { position:absolute; top:0; left:0; color:var(--green); content:'•'; font-weight:900; }
.industry-card > p,.other-service-card > p { margin:14px 0 0; color:rgba(0,37,80,.6); font-size:12px; line-height:1.7; }
.industry-card-link,.other-service-link { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:19px; color:var(--green); font-size:11px; font-weight:800; }
.industry-contact-cta,.other-services-contact { padding:78px 0; background:var(--green); color:#fff; }
.industry-contact-cta .section-inner,.other-services-contact .section-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.industry-contact-cta h2,.other-services-contact h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(30px,4vw,52px); font-weight:800; line-height:1; letter-spacing:-.07em; }
.industry-contact-cta h2 span,.other-services-contact h2 span { color:#caf3d9; }
.industry-contact-cta p:not(.profile-overline),.other-services-contact p:not(.profile-overline) { max-width:570px; margin:16px 0 0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.7; }
.industry-cta-actions { display:flex; flex:none; flex-wrap:wrap; gap:12px; }
.industry-contact-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 17px; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; font-size:11px; font-weight:800; }
.industry-contact-button:hover { border-color:#fff; background:#fff; color:var(--navy); }
.other-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:54px; }
.other-service-card { min-height:270px; }
.other-service-card h3 { font-size:23px; }
@media (max-width:1023px) { .industry-grid { grid-template-columns:repeat(2,1fr); }.industry-list-heading,.other-services-heading { gap:40px; }.industry-contact-cta .section-inner,.other-services-contact .section-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .industry-page-hero,.other-services-hero { padding:65px 0 78px; }.industry-list-section,.other-services-section { padding:72px 0 80px; }.industry-list-heading,.other-services-heading { display:block; }.industry-list-heading > p,.other-services-heading > p { margin-top:25px; }.industry-grid,.other-services-grid { grid-template-columns:1fr; margin-top:38px; }.industry-card,.other-service-card { min-height:0; }.industry-contact-cta,.other-services-contact { padding:58px 0; }.industry-cta-actions { align-items:stretch; flex-direction:column; width:100%; }.industry-cta-actions a { width:100%; } }


/* Navigation refinements */
.mobile-section-label { padding:15px 0 5px; color:rgba(0,37,80,.42); font-size:10px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.mobile-link--nested { padding-left:16px; color:rgba(0,37,80,.68); font-size:13px; }


/* Industry target market and business problem sections */
.industry-market-section { padding:96px 0 104px; background:var(--mist); }
.industry-market-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:52px; }
.industry-market-card { display:flex; min-height:220px; flex-direction:column; padding:22px; border:1px solid rgba(0,37,80,.1); border-radius:20px; background:#fff; transition:transform .25s,box-shadow .25s,border .25s; }
.industry-market-card:hover { transform:translateY(-5px); border-color:rgba(0,155,76,.4); box-shadow:var(--shadow); }
.industry-market-number { color:var(--red); font-family:Sora,sans-serif; font-size:11px; font-weight:800; }
.industry-market-card .industry-icon { margin-top:22px; }
.industry-market-card h3 { margin:20px 0 0; font-family:Sora,sans-serif; font-size:18px; font-weight:800; line-height:1.15; letter-spacing:-.045em; }
.industry-market-link { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:20px; color:var(--green); font-size:10px; font-weight:800; }
.business-problem-section { padding:102px 0 115px; background:var(--navy); color:#fff; }
.business-problem-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:54px; }
.business-problem-card { display:flex; min-height:410px; flex-direction:column; padding:25px; border:1px solid rgba(159,231,190,.18); border-radius:22px; background:rgba(255,255,255,.055); transition:transform .25s,background .25s,border .25s; }
.business-problem-card:hover { transform:translateY(-4px); border-color:var(--soft-green); background:rgba(255,255,255,.09); }
.business-problem-top { display:flex; align-items:center; justify-content:space-between; }
.business-problem-number { color:var(--soft-green); font-family:Sora,sans-serif; font-size:11px; font-weight:800; }
.business-problem-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:13px; background:var(--green); color:#fff; font-size:19px; font-weight:800; }
.business-problem-card h3 { margin:22px 0 0; color:#fff; font-family:Sora,sans-serif; font-size:23px; font-weight:800; line-height:1.1; letter-spacing:-.055em; }
.business-problem-row { display:grid; grid-template-columns:72px 1fr; gap:12px; margin-top:20px; padding-top:15px; border-top:1px solid rgba(255,255,255,.12); }
.business-problem-row small,.business-problem-products > small { color:var(--soft-green); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.business-problem-row p { margin:0; color:rgba(255,255,255,.68); font-size:12px; line-height:1.6; }
.business-problem-products { margin-top:18px; }
.business-problem-products > div { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.business-problem-products span { padding:6px 8px; border:1px solid rgba(159,231,190,.24); border-radius:7px; color:rgba(255,255,255,.72); font-size:9px; line-height:1.25; }
.business-problem-link { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:20px; color:var(--soft-green); font-size:10px; font-weight:800; }
.section--navy .profile-overline--light,.business-problem-section .profile-overline--light { color:var(--soft-green); }
@media (max-width:1023px) { .industry-market-grid { grid-template-columns:repeat(2,1fr); }.business-problem-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .industry-market-section,.business-problem-section { padding:72px 0 80px; }.industry-market-grid,.business-problem-grid { grid-template-columns:1fr; margin-top:38px; }.industry-market-card { min-height:190px; }.business-problem-card { min-height:0; }.business-problem-row { grid-template-columns:64px 1fr; } }


/* Clinic orbit logo */
.clinic-orbit-logo { display:block; width:76px; max-width:70%; height:auto; margin:0 auto 7px; filter:brightness(0) invert(1); }
.clinic-orbit-core small { display:block; }


/* Five company core values */
.core-value-grid { grid-template-columns:repeat(5,1fr); }
.core-value-grid article { min-height:278px; }
.core-value-grid h3 { font-size:17px; line-height:1.2; }
@media (max-width:1023px) { .core-value-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .core-value-grid { grid-template-columns:1fr; } }


/* Profile advantages hierarchy */
.advantage-list li strong { display:block; margin-bottom:5px; color:var(--soft-green); font-size:12px; font-weight:800; line-height:1.35; }
.advantage-feature h3 { max-width:380px; }


/* Event detail: balanced hero and precise content rhythm */
.event-detail-hero { padding:58px 0 82px; }
.event-detail-hero .section-inner { max-width:1180px; }
.event-detail-hero .event-detail-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr); align-items:center; gap:70px; margin-top:34px; }
.event-detail-hero .event-detail-grid > div:first-child { max-width:610px; padding:10px 0 8px; }
.event-detail-hero h1 { max-width:620px; margin:24px 0 0; font-size:clamp(39px,5vw,70px); line-height:1.02; letter-spacing:-.075em; }
.event-detail-hero h2 { max-width:570px; margin:20px 0 0; color:rgba(255,255,255,.78); font-family:Manrope,sans-serif; font-size:17px; font-weight:600; line-height:1.5; }
.event-detail-hero p { max-width:570px; margin:18px 0 0; color:rgba(255,255,255,.66); font-size:14px; line-height:1.8; }
.event-detail-hero .event-register-primary { margin-top:27px; }
.event-detail-image { position:relative; min-height:430px; overflow:hidden; border-radius:28px; background:rgba(255,255,255,.1); box-shadow:16px 18px 0 rgba(0,0,0,.12); }
.event-detail-image::after { position:absolute; inset:0; border:1px solid rgba(255,255,255,.22); border-radius:28px; content:''; pointer-events:none; }
.event-detail-image img { display:block; width:100%; height:100%; min-height:430px; object-fit:cover; }
.event-detail-label { right:20px; bottom:20px; padding:13px 17px; border-radius:14px; background:var(--red); box-shadow:5px 5px 0 rgba(0,0,0,.18); font-size:12px; font-weight:900; }
.event-info-section { padding:0 0 88px; background:var(--mist); }
.event-info-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:-28px; }
.event-info-card { min-height:145px; padding:22px; border:1px solid rgba(0,37,80,.1); border-radius:18px; background:#fff; box-shadow:0 14px 30px rgba(0,37,80,.06); }
.event-content-section { padding:96px 0 108px; }
.event-content-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:start; gap:80px; }
.event-facility-card { margin-top:10px; padding:30px; border-radius:22px; }
.event-register-banner { padding:70px 0; }
@media (max-width:1023px) { .event-detail-hero .event-detail-grid { grid-template-columns:1fr .85fr; gap:38px; }.event-detail-image,.event-detail-image img { min-height:380px; }.event-content-grid { gap:45px; } }
@media (max-width:700px) { .event-detail-hero { padding:45px 0 62px; }.event-detail-hero .event-detail-grid { display:flex; flex-direction:column; align-items:stretch; gap:35px; margin-top:25px; }.event-detail-hero h1 { font-size:clamp(39px,12vw,56px); }.event-detail-image,.event-detail-image img { min-height:330px; }.event-info-section { padding-bottom:68px; }.event-info-grid { grid-template-columns:repeat(2,1fr); margin-top:-20px; }.event-info-card { min-height:125px; padding:17px; }.event-content-section { padding:70px 0 78px; }.event-content-grid { grid-template-columns:1fr; gap:35px; }.event-facility-card { margin-top:0; }.event-register-banner { padding:55px 0; } }

/* Gallery client logo layers: image-ready slots */
.client-logo-layers { display:grid; gap:12px; margin-top:55px; overflow:hidden; padding:4px 0 14px; }
.client-logo-layer { overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.client-logo-layer-track { display:flex; width:max-content; gap:12px; }
.client-logo-layer--one .client-logo-layer-track { animation:clientLogoLayerOne 38s linear infinite; }
.client-logo-layer--two .client-logo-layer-track { animation:clientLogoLayerTwo 44s linear infinite; }
.client-logo-layer--three .client-logo-layer-track { animation:clientLogoLayerThree 50s linear infinite; }
.client-logo-slot { display:grid; width:154px; height:72px; flex:none; place-items:center; padding:12px; border:1px solid rgba(0,37,80,.1); border-radius:14px; background:#fff; color:rgba(0,37,80,.4); box-shadow:0 8px 18px rgba(0,37,80,.04); }
.client-logo-slot span { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:1px dashed rgba(0,155,76,.3); border-radius:9px; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.client-logo-layer--two .client-logo-slot { width:184px; height:82px; background:#f8fbfa; }
.client-logo-layer--three .client-logo-slot { width:132px; height:64px; background:#fff; }
@keyframes clientLogoLayerOne { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes clientLogoLayerTwo { from { transform:translateX(-25%); } to { transform:translateX(-75%); } }
@keyframes clientLogoLayerThree { from { transform:translateX(-8%); } to { transform:translateX(-58%); } }
@media (prefers-reduced-motion:reduce) { .client-logo-layer-track { animation:none; } }
@media (max-width:700px) { .client-logo-layers { margin-top:38px; gap:9px; }.client-logo-slot { width:126px; height:62px; }.client-logo-layer--two .client-logo-slot { width:148px; height:68px; }.client-logo-layer--three .client-logo-slot { width:112px; height:56px; } }


/* Event detail clarity pass */
.event-detail-hero { background:var(--navy); color:#fff; }
.event-detail-hero .event-hero-breadcrumb { color:rgba(255,255,255,.86) !important; }
.event-detail-hero .blog-category { color:var(--soft-green) !important; font-weight:900; letter-spacing:.12em; }
.event-detail-hero h1 { color:#fff; font-weight:900; text-wrap:balance; }
.event-detail-hero h2 { color:var(--soft-green); }
.event-detail-hero p { color:rgba(255,255,255,.78); }
.event-info-section { padding:42px 0 88px; background:var(--mist); }
.event-info-grid { margin-top:0; }
.event-info-card { display:flex; min-height:154px; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:7px; color:var(--navy); }
.event-info-card > span { display:grid; width:38px; height:38px; margin-bottom:8px; place-items:center; border-radius:12px; background:rgba(0,155,76,.11); color:var(--green); font-size:18px; }
.event-info-card small { color:rgba(0,37,80,.5); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.event-info-card strong { color:var(--navy); font-family:Sora,sans-serif; font-size:16px; font-weight:800; line-height:1.35; }
.event-info-card--accent { border-color:rgba(244,30,14,.22); background:#fff8f7; }
.event-info-card--accent > span { background:rgba(244,30,14,.1); color:var(--red); }
.event-info-card--accent strong { color:var(--red); }
.event-content-section { background:#fff; }
.event-material-list li { color:var(--navy); }
.event-facility-card { border:1px solid rgba(0,37,80,.1); background:var(--mist); }
@media (max-width:700px) { .event-info-section { padding:30px 0 68px; }.event-info-card { min-height:138px; }.event-info-card strong { font-size:14px; } }


/* Home brand positioning and logic */
.positioning-panel { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:54px; padding:25px 30px; border-left:5px solid var(--green); border-radius:0 20px 20px 0; background:var(--mist); }
.positioning-label { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.positioning-copy { color:var(--navy); font-family:Sora,sans-serif; font-size:clamp(22px,3vw,36px); font-weight:800; letter-spacing:-.06em; }
.brand-logic-block { display:grid; grid-template-columns:.72fr 1.28fr; align-items:center; gap:60px; margin-top:58px; padding:38px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.brand-logic-heading h3 { margin:13px 0 0; color:var(--navy); font-family:Sora,sans-serif; font-size:clamp(27px,3vw,42px); line-height:1.02; letter-spacing:-.07em; }
.brand-logic-heading h3 span { color:var(--green); }
.brand-logic-heading > p:last-child { max-width:410px; margin:17px 0 0; color:rgba(0,37,80,.6); font-size:13px; line-height:1.75; }
.brand-logic-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:10px; }
.brand-logic-step { min-height:138px; padding:16px; border:1px solid rgba(0,37,80,.1); border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(0,37,80,.04); }
.brand-logic-step span { color:var(--red); font-family:Sora,sans-serif; font-size:10px; font-weight:900; }
.brand-logic-step strong { display:block; margin-top:22px; color:var(--navy); font-family:Sora,sans-serif; font-size:13px; line-height:1.2; letter-spacing:-.035em; }
.brand-logic-step small { display:block; margin-top:8px; color:rgba(0,37,80,.5); font-size:10px; line-height:1.35; }
.brand-logic-arrow { color:var(--green); font-size:21px; font-weight:900; }
.home-positioning-section .gallery { margin-top:58px; }
@media (max-width:1100px) { .brand-logic-block { grid-template-columns:1fr; gap:32px; }.brand-logic-flow { grid-template-columns:repeat(4,1fr); }.brand-logic-arrow { display:none; } }
@media (max-width:700px) { .positioning-panel { align-items:flex-start; flex-direction:column; gap:9px; margin-top:38px; padding:22px; }.positioning-copy { font-size:24px; }.brand-logic-block { margin-top:42px; padding:30px 0; }.brand-logic-flow { grid-template-columns:1fr 1fr; gap:10px; }.brand-logic-step { min-height:125px; }.brand-logic-step strong { margin-top:16px; font-size:12px; }.home-positioning-section .gallery { margin-top:40px; } }


/* Inline Progress+ logo for the Home positioning statement */
.home-positioning-logo { display:inline-block; width:clamp(108px,16vw,178px); height:auto; margin:0 4px 3px 0; vertical-align:middle; object-fit:contain; }
@media (max-width:700px) { .home-positioning-logo { width:132px; margin-bottom:2px; } }


/* Home training highlights and Free-Course */
.home-training-highlight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:52px; }
.home-training-highlight-card { display:flex; min-height:290px; flex-direction:column; padding:24px; border:1px solid rgba(0,37,80,.1); border-radius:20px; background:#fff; color:var(--navy); transition:transform .25s,box-shadow .25s,border .25s; }
.home-training-highlight-card:hover { transform:translateY(-5px); border-color:rgba(0,155,76,.4); box-shadow:var(--shadow); }
.home-training-highlight-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.home-training-highlight-top span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.home-training-highlight-top b { padding:6px 8px; border-radius:999px; background:rgba(244,30,14,.08); color:var(--red); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.home-training-highlight-card h3 { margin:25px 0 0; font-family:Sora,sans-serif; font-size:21px; font-weight:800; line-height:1.1; letter-spacing:-.055em; }
.home-training-highlight-card p { margin:13px 0 0; color:rgba(0,37,80,.6); font-size:12px; line-height:1.65; }
.home-training-highlight-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:20px; }
.home-training-highlight-meta span { padding:6px 8px; border-radius:8px; background:var(--mist); color:rgba(0,37,80,.6); font-size:9px; font-weight:800; }
.home-training-highlight-link { display:flex; align-items:center; justify-content:space-between; margin-top:18px; padding-top:15px; border-top:1px solid var(--line); color:var(--green); font-size:11px; font-weight:900; }
.home-training-highlight-link b { font-size:17px; }
.free-course-hero,.free-course-detail-hero { padding:90px 0 100px; background:var(--navy); color:#fff; }
.free-course-hero h1 { max-width:720px; margin:20px 0 0; font-family:Sora,sans-serif; font-size:clamp(44px,6vw,78px); font-weight:900; line-height:.98; letter-spacing:-.08em; }
.free-course-hero h1 span { color:var(--soft-green); }
.free-course-hero > .section-inner > p:last-child { max-width:620px; margin:25px 0 0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.8; }
.free-course-list-section { padding:96px 0 110px; background:var(--mist); }
.free-course-heading { display:grid; grid-template-columns:1fr .8fr; align-items:end; gap:70px; }
.free-course-heading h2 { margin:15px 0 0; font-family:Sora,sans-serif; font-size:clamp(35px,4vw,58px); font-weight:900; line-height:1; letter-spacing:-.075em; }
.free-course-heading h2 span { color:var(--green); }
.free-course-heading > p { margin:0; color:rgba(0,37,80,.58); font-size:14px; line-height:1.8; }
.free-course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:54px; }
.free-course-card { overflow:hidden; border:1px solid rgba(0,37,80,.1); border-radius:22px; background:#fff; color:var(--navy); transition:transform .25s,box-shadow .25s,border .25s; }
.free-course-card:hover { transform:translateY(-5px); border-color:rgba(0,155,76,.4); box-shadow:var(--shadow); }
.free-course-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--navy); }
.free-course-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.free-course-card:hover .free-course-thumb img { transform:scale(1.04); }
.free-course-play { position:absolute; top:50%; left:50%; display:grid; width:48px; height:48px; place-items:center; border:3px solid #fff; border-radius:50%; background:rgba(0,155,76,.9); color:#fff; font-size:16px; transform:translate(-50%,-50%); }
.free-course-card-body { padding:23px; }
.free-course-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.free-course-card-meta span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.free-course-card-meta small { color:rgba(0,37,80,.4); font-size:9px; }
.free-course-card h3 { margin:17px 0 0; font-family:Sora,sans-serif; font-size:20px; font-weight:800; line-height:1.12; letter-spacing:-.05em; }
.free-course-card p { min-height:78px; margin:12px 0 0; color:rgba(0,37,80,.6); font-size:12px; line-height:1.7; }
.free-course-card-link { display:flex; align-items:center; justify-content:space-between; margin-top:20px; padding-top:15px; border-top:1px solid var(--line); color:var(--green); font-size:11px; font-weight:900; }
.free-course-card-link b { font-size:16px; }
.free-course-cta,.free-course-detail-cta { padding:74px 0; background:var(--green); color:#fff; }
.free-course-cta .section-inner,.free-course-detail-cta .section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.free-course-cta h2,.free-course-detail-cta h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(30px,4vw,52px); font-weight:900; line-height:1; letter-spacing:-.07em; }
.free-course-cta h2 span,.free-course-detail-cta h2 span { color:#caf3d9; }
.free-course-detail-hero { padding:56px 0 78px; }
.free-course-back { color:rgba(255,255,255,.86) !important; }
.free-course-detail-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-top:44px; }
.free-course-category { display:inline-flex; padding:8px 11px; border-radius:999px; background:rgba(159,231,190,.14); color:var(--soft-green); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.free-course-detail-heading h1 { max-width:760px; margin:21px 0 0; font-family:Sora,sans-serif; font-size:clamp(40px,5.5vw,70px); font-weight:900; line-height:1; letter-spacing:-.08em; }
.free-course-detail-heading p { max-width:670px; margin:22px 0 0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.8; }
.free-course-source { flex:none; padding:16px 18px; border-left:3px solid var(--soft-green); color:var(--soft-green); font-size:11px; font-weight:900; }
.free-course-source small { display:block; margin-top:7px; color:rgba(255,255,255,.55); font-size:10px; font-weight:600; }
.free-course-detail-section { padding:96px 0 110px; background:#fff; }
.free-course-detail-grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:start; gap:70px; }
.free-course-video { overflow:hidden; aspect-ratio:16/9; border-radius:22px; background:#000; box-shadow:12px 14px 0 rgba(0,37,80,.08); }
.free-course-video iframe { display:block; width:100%; height:100%; border:0; }
.free-course-video-note { margin:17px 0 0; color:rgba(0,37,80,.45); font-size:10px; }
.free-course-detail-card { padding:30px; border:1px solid rgba(0,37,80,.1); border-radius:22px; background:var(--mist); }
.free-course-detail-card h2 { margin:14px 0 0; font-family:Sora,sans-serif; font-size:clamp(26px,3vw,39px); line-height:1.02; letter-spacing:-.07em; }
.free-course-detail-card h2 span { color:var(--green); }
.free-course-detail-card > p:not(.profile-overline) { margin:18px 0 0; color:rgba(0,37,80,.62); font-size:13px; line-height:1.8; }
.free-course-topic-label { margin-top:25px; color:var(--navy); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.free-course-detail-card ul { display:grid; gap:10px; margin:14px 0 0; padding:0; list-style:none; color:rgba(0,37,80,.66); font-size:12px; line-height:1.5; }
.free-course-detail-card li { display:flex; gap:9px; }
.free-course-detail-card li span { color:var(--green); font-weight:900; }
.free-course-youtube-link { display:flex; align-items:center; justify-content:space-between; margin-top:25px; padding:13px 16px; border-radius:999px; background:var(--red); color:#fff; font-size:11px; font-weight:900; }
@media (max-width:1023px) { .home-training-highlight-grid,.free-course-grid { grid-template-columns:repeat(2,1fr); }.free-course-heading { gap:40px; }.free-course-detail-heading { align-items:flex-start; flex-direction:column; gap:25px; }.free-course-source { width:max-content; }.free-course-detail-grid { gap:45px; } }
@media (max-width:700px) { .home-training-highlight-grid,.free-course-grid { grid-template-columns:1fr; margin-top:38px; }.home-training-highlight-card { min-height:0; }.free-course-hero { padding:65px 0 78px; }.free-course-list-section,.free-course-detail-section { padding:72px 0 80px; }.free-course-heading { display:block; }.free-course-heading > p { margin-top:25px; }.free-course-card p { min-height:0; }.free-course-cta,.free-course-detail-cta { padding:58px 0; }.free-course-cta .section-inner,.free-course-detail-cta .section-inner { align-items:flex-start; flex-direction:column; }.free-course-detail-hero { padding:45px 0 65px; }.free-course-detail-heading { margin-top:34px; }.free-course-detail-grid { grid-template-columns:1fr; }.free-course-detail-card { padding:23px; } }


/* Event registration CTA clarity and Free-Course browser controls */
.event-register-action { display:flex; max-width:330px; flex-direction:column; align-items:flex-start; gap:8px; margin-top:28px; }
.event-register-action-label { display:inline-flex; padding:7px 11px; border-radius:999px; background:rgba(159,231,190,.14); color:var(--soft-green); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.event-register-action .event-register-primary { display:flex; width:100%; align-items:center; justify-content:center; gap:18px; padding:16px 22px; border:2px solid rgba(255,255,255,.25); border-radius:14px; background:var(--red); box-shadow:6px 6px 0 rgba(0,0,0,.18); color:#fff; font-size:13px; font-weight:900; letter-spacing:.02em; }
.event-register-action .event-register-primary:hover { border-color:#fff; background:#ff321f; color:#fff; box-shadow:3px 3px 0 rgba(0,0,0,.2); transform:translate(3px,3px); }
.event-register-action small { color:rgba(255,255,255,.56); font-size:10px; line-height:1.4; }
.event-register-banner { position:relative; overflow:hidden; background:var(--green); color:#fff; }
.event-register-banner::after { position:absolute; right:8%; bottom:-82px; color:rgba(255,255,255,.1); content:'→'; font-family:Sora,sans-serif; font-size:260px; font-weight:900; line-height:1; }
.event-register-banner .section-inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.event-register-banner .profile-overline { color:rgba(255,255,255,.68); }
.event-register-banner h2 { margin:12px 0 0; color:#fff; font-family:Sora,sans-serif; font-size:clamp(30px,4vw,52px); font-weight:900; line-height:1; letter-spacing:-.07em; }
.event-register-banner .event-register-action { flex:none; margin-top:0; }
.event-register-banner .event-register-action small { color:rgba(255,255,255,.7); }
.event-register-banner .event-register-action-label { background:rgba(0,37,80,.18); color:#fff; }
.event-register-banner .event-register-primary { background:var(--navy); box-shadow:6px 6px 0 rgba(255,255,255,.16); }
.event-register-banner .event-register-primary:hover { background:#073969; }
.free-course-browser { display:flex; align-items:center; gap:12px; margin-top:40px; }
.free-course-search-wrap { position:relative; flex:1; }
.free-course-search-wrap > span { position:absolute; top:50%; left:15px; color:var(--green); font-size:18px; transform:translateY(-52%); }
.free-course-search-wrap input,.free-course-filter { width:100%; border:1px solid rgba(0,37,80,.14); border-radius:12px; background:#fff; color:var(--navy); font:inherit; font-size:12px; outline:none; }
.free-course-search-wrap input { padding:13px 15px 13px 42px; }
.free-course-filter { max-width:220px; padding:13px 14px; cursor:pointer; }
.free-course-search-wrap input:focus,.free-course-filter:focus { border-color:var(--green); box-shadow:0 0 0 4px rgba(0,155,76,.1); }
.free-course-filter-reset { flex:none; border:0; border-radius:999px; background:var(--navy); padding:12px 16px; color:#fff; font-size:11px; font-weight:800; cursor:pointer; }
.free-course-results { min-height:16px; margin:14px 0 -28px; color:rgba(0,37,80,.48); font-size:10px; font-weight:700; }
.free-course-empty { margin:45px 0 0; color:rgba(0,37,80,.55); text-align:center; }
@media (max-width:700px) { .event-register-action { max-width:none; width:100%; }.event-register-banner .section-inner { align-items:flex-start; flex-direction:column; }.event-register-banner .event-register-action { width:100%; }.free-course-browser { align-items:stretch; flex-direction:column; }.free-course-filter { max-width:none; }.free-course-filter-reset { width:max-content; }.free-course-results { margin-bottom:-28px; }.event-register-banner::after { right:-10%; font-size:170px; } }


/* Final UI polish: use the same browser geometry as Training and stabilize Event CTA layout. */
.event-register-cta { display:flex; max-width:340px; flex-direction:column; align-items:flex-start; gap:9px; margin-top:28px; }
.event-register-cta-label { display:inline-flex; width:max-content; padding:7px 11px; border-radius:999px; background:rgba(159,231,190,.14); color:var(--soft-green); font-size:9px; font-weight:900; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; }
.event-register-cta .event-register-primary { display:inline-flex !important; width:auto !important; min-width:190px; min-height:50px; align-items:center; justify-content:center; gap:14px; margin:0 !important; padding:15px 23px !important; border:2px solid #fff !important; border-radius:12px !important; background:var(--red) !important; box-shadow:5px 5px 0 rgba(0,0,0,.22) !important; color:#fff !important; font-size:13px !important; font-weight:900 !important; line-height:1 !important; }
.event-register-cta .event-register-primary:hover { background:#ff321f !important; color:#fff !important; transform:translateY(-2px); }
.event-register-cta small { color:rgba(255,255,255,.6); font-size:10px; line-height:1.4; }
.event-register-banner .event-register-cta { align-items:flex-start; margin-top:0; }
.event-register-banner .event-register-cta-label { background:rgba(0,37,80,.18); color:#fff; }
.event-register-banner .event-register-cta .event-register-primary { background:var(--navy) !important; box-shadow:5px 5px 0 rgba(255,255,255,.18) !important; }
@media (max-width:700px) { .event-register-cta { max-width:none; width:100%; }.event-register-cta .event-register-primary { width:100% !important; }.event-register-banner .event-register-cta { width:100%; } }


/* Event CTA sits directly below the available quota information. */
.event-quota-register { display:flex; flex-direction:column; gap:9px; margin-top:22px; padding-top:18px; border-top:1px solid rgba(0,37,80,.1); }
.event-quota-register > span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.event-quota-register .event-register-primary { display:flex; width:100%; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 16px; border-radius:12px; background:var(--red); box-shadow:4px 4px 0 rgba(0,37,80,.15); color:#fff; font-size:12px; font-weight:900; line-height:1; }
.event-quota-register .event-register-primary:hover { background:#ff321f; color:#fff; transform:translateY(-2px); }
.event-quota-register small { color:rgba(0,37,80,.5); font-size:10px; line-height:1.4; }


/* Training Detail testimonial slider */
.training-testimonial-section { background:var(--mist); padding:88px 0 96px; }
.training-testimonial-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:35px; }
.training-testimonial-heading h2 { margin:12px 0 0; color:var(--navy); font-family:Sora,sans-serif; font-size:clamp(30px,4vw,52px); font-weight:900; line-height:1; letter-spacing:-.07em; }
.training-testimonial-heading h2 span { color:var(--green); }
.training-testimonial-heading > p { max-width:330px; margin:0 0 4px; color:rgba(0,37,80,.58); font-size:13px; line-height:1.7; }
.training-testimonial-slider { position:relative; overflow:hidden; border-radius:22px; background:var(--navy); box-shadow:8px 8px 0 rgba(0,37,80,.1); }
.training-testimonial-track { display:flex; transition:transform .55s ease; }
.training-testimonial-card { flex:0 0 100%; min-height:300px; padding:44px 52px 38px; color:#fff; }
.training-testimonial-quote { color:var(--soft-green); font-family:Georgia,serif; font-size:70px; font-weight:900; line-height:.6; }
.training-testimonial-card > p { max-width:760px; margin:24px 0 31px; color:rgba(255,255,255,.87); font-family:Sora,sans-serif; font-size:clamp(18px,2.2vw,27px); font-weight:600; line-height:1.45; letter-spacing:-.035em; }
.training-testimonial-person { display:flex; align-items:center; gap:12px; }
.training-testimonial-avatar { display:grid; width:40px; height:40px; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:11px; font-weight:900; }
.training-testimonial-person strong,.training-testimonial-person small { display:block; }
.training-testimonial-person strong { color:#fff; font-size:12px; }
.training-testimonial-person small { margin-top:4px; color:rgba(255,255,255,.55); font-size:10px; }
.training-testimonial-controls { display:flex; align-items:center; justify-content:space-between; padding:0 34px 25px; }
.training-testimonial-button { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.3); border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
.training-testimonial-button:hover { border-color:var(--soft-green); background:var(--soft-green); color:var(--navy); }
.training-testimonial-dots { display:flex; gap:7px; }
.training-testimonial-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.3); cursor:pointer; }
.training-testimonial-dots button.is-active { width:23px; border-radius:99px; background:var(--soft-green); }
/* Blog Detail metadata */
.post-meta-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px 12px; margin-top:14px; }
.post-meta-row .post-date { display:flex; align-items:center; gap:8px; margin:0; color:rgba(255,255,255,.68); font-size:11px; }
.post-meta-tag { display:inline-flex; padding:7px 10px; border:1px solid rgba(159,231,190,.4); border-radius:999px; color:var(--soft-green); font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.post-author { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.78); font-size:10px; font-weight:700; }
.post-author-icon { display:grid; width:24px; height:24px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:var(--soft-green); font-size:16px; line-height:1; }
@media (max-width:700px) { .training-testimonial-section { padding:68px 0 76px; }.training-testimonial-heading { align-items:flex-start; flex-direction:column; gap:20px; }.training-testimonial-card { min-height:330px; padding:34px 25px 30px; }.training-testimonial-card > p { font-size:18px; }.training-testimonial-controls { padding:0 20px 20px; }.post-meta-row { align-items:flex-start; flex-direction:column; gap:9px; } }


/* Final testimonial fallback: local CSS stays authoritative after Tailwind runtime loads. */
.training-testimonial-section .training-testimonial-slider { display:block; width:100%; overflow:hidden; background:#002550; }
.training-testimonial-section .training-testimonial-track { display:flex; width:100%; margin:0; padding:0; transition:transform .55s ease; }
.training-testimonial-section .training-testimonial-card { display:block; box-sizing:border-box; flex:0 0 100%; width:100%; min-height:300px; margin:0; padding:44px 52px 38px; background:#002550; color:#fff; }
.training-testimonial-section .training-testimonial-card p { display:block; max-width:760px; margin:24px 0 31px; color:rgba(255,255,255,.87); font-family:Sora,sans-serif; font-size:clamp(18px,2.2vw,27px); font-weight:600; line-height:1.45; }
.training-testimonial-section .training-testimonial-person strong { display:block; color:#fff; font-size:12px; }
.training-testimonial-section .training-testimonial-person small { display:block; margin-top:4px; color:rgba(255,255,255,.55); font-size:10px; }
.training-testimonial-section .training-testimonial-controls { display:flex; box-sizing:border-box; width:100%; align-items:center; justify-content:space-between; padding:0 34px 25px; background:#002550; }
.post-meta-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.post-meta-row .post-date { display:flex; align-items:center; gap:8px; margin:0; }
.post-author { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
@media (max-width:700px) { .training-testimonial-section .training-testimonial-card { min-height:330px; padding:34px 25px 30px; }.training-testimonial-section .training-testimonial-controls { padding:0 20px 20px; }.post-meta-row { align-items:flex-start; flex-direction:column; gap:9px; } }


/* Swipe/drag affordance for testimonial slider. */
.training-testimonial-section .training-testimonial-slider { touch-action: pan-y; cursor:grab; user-select:none; }
.training-testimonial-section .training-testimonial-slider.is-dragging { cursor:grabbing; }
.training-testimonial-section .training-testimonial-track { will-change:transform; }
.training-testimonial-section .training-testimonial-card p,
.training-testimonial-section .training-testimonial-card strong,
.training-testimonial-section .training-testimonial-card small { user-select:none; }


/* Consulting listing cards: title and category only. */
.consulting-hero { background:var(--navy); }
.consulting-list-section { background:var(--mist); }
.consulting-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.consulting-card { position:relative; display:flex; min-height:220px; flex-direction:column; justify-content:space-between; overflow:hidden; padding:25px; border:1px solid rgba(0,37,80,.1); border-radius:20px; background:#fff; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.consulting-card::after { position:absolute; right:-28px; bottom:-36px; width:120px; height:120px; border-radius:50%; background:rgba(0,155,76,.08); content:""; }
.consulting-card:hover { border-color:rgba(0,155,76,.35); box-shadow:8px 8px 0 rgba(0,37,80,.08); transform:translateY(-4px); }
.consulting-card-index { position:relative; z-index:1; color:var(--green); font-size:11px; font-weight:900; letter-spacing:.12em; }
.consulting-card-content { position:relative; z-index:1; }
.consulting-card-category { display:inline-flex; margin-bottom:13px; color:rgba(0,37,80,.48); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.consulting-card h3 { max-width:260px; margin:0; color:var(--navy); font-family:Sora,sans-serif; font-size:21px; line-height:1.15; letter-spacing:-.055em; }
.consulting-card-link { display:flex; align-items:center; justify-content:space-between; margin-top:24px; color:var(--green); font-size:10px; font-weight:900; }
.consulting-card-link span { font-size:17px; }
.consulting-card[hidden] { display:none; }
.consulting-pillars { background:var(--navy); }
@media (max-width:1023px) { .consulting-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .consulting-grid { grid-template-columns:1fr; gap:12px; }.consulting-card { min-height:180px; padding:21px; }.consulting-card h3 { font-size:20px; } }


/* Consulting cards with concise service information. */
.consulting-card { min-height:0; }
.consulting-card h3 { max-width:100%; }
.consulting-card-content > p { display:-webkit-box; min-height:0; margin:12px 0 0; overflow:hidden; color:rgba(0,37,80,.58); font-size:11px; line-height:1.65; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.consulting-card-link { position:relative; z-index:2; }
/* Consulting detail page. */
.consulting-detail-hero { overflow:hidden; padding:60px 0 92px; background:var(--navy); color:#fff; }
.consulting-detail-back { color:rgba(255,255,255,.65); }
.consulting-detail-hero-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; margin-top:48px; }
.consulting-detail-category { display:inline-flex; padding:8px 12px; border:1px solid rgba(159,231,190,.45); border-radius:999px; color:var(--soft-green); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.consulting-detail-hero h1 { max-width:720px; margin:22px 0 0; font-family:Sora,sans-serif; font-size:clamp(42px,6.2vw,82px); font-weight:900; line-height:.96; letter-spacing:-.08em; }
.consulting-detail-hero-grid > div:first-child > p { max-width:650px; margin:25px 0 0; color:rgba(255,255,255,.7); font-size:16px; line-height:1.75; }
.consulting-detail-hero .cp-hero-button { margin-top:30px; }
.consulting-detail-orbit { display:grid; min-height:350px; place-content:center; border:1px solid rgba(159,231,190,.25); border-radius:50%; background:radial-gradient(circle, rgba(0,155,76,.34), rgba(0,37,80,.15) 58%, transparent 59%); box-shadow:inset 0 0 0 28px rgba(255,255,255,.025), 0 0 0 14px rgba(159,231,190,.04); text-align:center; transform:rotate(-5deg); }
.consulting-orbit-label { color:var(--soft-green); font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; transform:rotate(5deg); }
.consulting-detail-orbit strong { margin-top:18px; color:#fff; font-family:Sora,sans-serif; font-size:34px; line-height:.98; letter-spacing:-.07em; transform:rotate(5deg); }
.consulting-detail-orbit strong span { color:var(--soft-green); }
.consulting-detail-orbit small { margin-top:20px; color:rgba(255,255,255,.55); font-size:10px; letter-spacing:.14em; text-transform:uppercase; transform:rotate(5deg); }
.consulting-detail-intro { padding:76px 0; background:#fff; }
.consulting-detail-intro-grid { display:grid; grid-template-columns:.6fr 1.4fr; gap:80px; }
.consulting-detail-lead { max-width:850px; margin:0; color:var(--navy); font-family:Sora,sans-serif; font-size:clamp(22px,3vw,36px); font-weight:700; line-height:1.22; letter-spacing:-.055em; }
.consulting-detail-copy { max-width:760px; margin:25px 0 0; color:rgba(0,37,80,.6); font-size:14px; line-height:1.8; }
.consulting-detail-section { padding:90px 0; background:var(--mist); }
.consulting-challenge-section { background:#fff; }
.consulting-detail-section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:42px; }
.consulting-detail-section-heading h2,.consulting-detail-cta h2 { margin:14px 0 0; color:var(--navy); font-family:Sora,sans-serif; font-size:clamp(32px,4vw,56px); line-height:1; letter-spacing:-.075em; }
.consulting-detail-section-heading h2 span,.consulting-detail-cta h2 span { color:var(--green); }
.consulting-detail-section-heading > p { max-width:330px; margin:0 0 3px; color:rgba(0,37,80,.58); font-size:12px; line-height:1.7; }
.consulting-challenge-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.consulting-challenge-grid article { min-height:175px; padding:22px; border-radius:17px; background:var(--mist); }
.consulting-challenge-grid article span { color:var(--green); font-size:11px; font-weight:900; }
.consulting-challenge-grid article p { margin:52px 0 0; color:var(--navy); font-family:Sora,sans-serif; font-size:15px; font-weight:600; line-height:1.35; letter-spacing:-.03em; }
.consulting-scope-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.consulting-scope-item { display:flex; gap:15px; padding:23px; border:1px solid rgba(0,37,80,.1); border-radius:17px; background:#fff; }
.consulting-scope-item > span { color:var(--green); font-size:19px; font-weight:900; }
.consulting-scope-item p { margin:0; color:rgba(0,37,80,.7); font-size:12px; line-height:1.65; }
.consulting-detail-outcomes { padding:90px 0; background:var(--navy); color:#fff; }
.consulting-detail-section-heading--light h2 { color:#fff; }
.consulting-detail-section-heading--light > p { color:rgba(255,255,255,.58); }
.consulting-outcome-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.consulting-outcome-grid div { padding:25px; border:1px solid rgba(159,231,190,.24); border-radius:17px; background:rgba(255,255,255,.04); }
.consulting-outcome-grid strong { color:var(--soft-green); font-size:11px; }
.consulting-outcome-grid p { margin:40px 0 0; color:rgba(255,255,255,.83); font-family:Sora,sans-serif; font-size:16px; font-weight:600; line-height:1.3; }
.consulting-detail-cta { padding:86px 0; background:var(--mist); }
.consulting-detail-cta .section-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.consulting-detail-cta h2 { font-size:clamp(30px,3.8vw,52px); }
.consulting-detail-cta > .section-inner > div:first-child > p:last-child { max-width:520px; margin:18px 0 0; color:rgba(0,37,80,.6); font-size:13px; line-height:1.7; }
.consulting-cta-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.consulting-secondary-button { display:inline-flex; align-items:center; gap:9px; padding:15px 19px; border:1px solid rgba(0,37,80,.18); border-radius:999px; color:var(--navy); font-size:11px; font-weight:900; }
.consulting-secondary-button:hover { border-color:var(--green); color:var(--green); }
@media (max-width:900px) { .consulting-detail-hero-grid,.consulting-detail-intro-grid { grid-template-columns:1fr; gap:48px; }.consulting-detail-orbit { width:min(350px,100%); min-height:300px; margin:auto; }.consulting-challenge-grid,.consulting-scope-grid,.consulting-outcome-grid { grid-template-columns:1fr 1fr; }.consulting-detail-cta .section-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:700px) { .consulting-detail-hero { padding:45px 0 70px; }.consulting-detail-hero-grid { margin-top:35px; }.consulting-detail-hero h1 { font-size:clamp(39px,12vw,62px); }.consulting-detail-intro,.consulting-detail-section,.consulting-detail-outcomes,.consulting-detail-cta { padding:68px 0; }.consulting-detail-section-heading { align-items:flex-start; flex-direction:column; gap:20px; }.consulting-challenge-grid,.consulting-scope-grid,.consulting-outcome-grid { grid-template-columns:1fr; }.consulting-detail-cta .section-inner { gap:30px; }.consulting-cta-actions { align-items:flex-start; flex-direction:column; } }


/* Consulting detail hero image and high-visibility CTA. */
.consulting-detail-image { position:relative; height:430px; overflow:hidden; border-radius:28px; box-shadow:16px 16px 0 rgba(159,231,190,.12); transform:rotate(2deg); }
.consulting-detail-image::after { position:absolute; inset:0; background:linear-gradient(180deg, transparent 48%, rgba(0,37,80,.72)); content:""; }
.consulting-detail-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.05); }
.consulting-detail-image-label { position:absolute; right:18px; bottom:18px; z-index:1; padding:15px 18px; border-radius:13px; background:var(--red); color:#fff; font-size:10px; font-weight:900; letter-spacing:.1em; line-height:1.2; text-transform:uppercase; }
.consulting-detail-image-label strong { display:block; margin-top:4px; font-family:Sora,sans-serif; font-size:20px; letter-spacing:-.04em; }
.consulting-cta-primary { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:17px 23px; border-radius:999px; background:var(--red); color:#fff; font-size:11px; font-weight:900; box-shadow:5px 5px 0 rgba(0,37,80,.18); transition:transform .2s ease, background .2s ease, box-shadow .2s ease; }
.consulting-cta-primary:hover { background:#c92e21; color:#fff; box-shadow:2px 2px 0 rgba(0,37,80,.18); transform:translate(3px,3px); }
@media (max-width:900px) { .consulting-detail-image { width:min(560px,100%); height:330px; margin:auto; transform:rotate(1deg); } }
@media (max-width:700px) { .consulting-detail-image { height:280px; border-radius:20px; }.consulting-detail-image-label { right:12px; bottom:12px; } }


/* Compact Consulting detail layout and tablet/mobile refinements. */
.consulting-detail-intro { padding:68px 0; }
.consulting-detail-intro-grid { grid-template-columns:.45fr 1.55fr; gap:60px; }
.consulting-detail-lead { max-width:780px; font-size:clamp(21px,2.6vw,32px); }
.consulting-detail-scope-section { padding-top:72px; padding-bottom:78px; }
.consulting-detail-scope-section .consulting-detail-section-heading { margin-bottom:30px; }
.consulting-detail-scope-section .consulting-scope-grid { grid-template-columns:repeat(3,1fr); }
.consulting-detail-outcomes { padding:78px 0; }
.consulting-detail-outcomes .consulting-detail-section-heading { margin-bottom:30px; }
.consulting-detail-outcomes .consulting-outcome-grid { grid-template-columns:repeat(3,1fr); }
.consulting-detail-outcomes .consulting-outcome-grid p { margin-top:28px; font-size:14px; }
.consulting-detail-cta { padding:72px 0; }
@media (max-width:1100px) and (min-width:701px) {
  .consulting-detail-hero { padding:48px 0 70px; }
  .consulting-detail-hero-grid { grid-template-columns:1fr .82fr; gap:42px; margin-top:36px; }
  .consulting-detail-hero h1 { font-size:clamp(42px,5.4vw,64px); }
  .consulting-detail-hero-grid > div:first-child > p { font-size:14px; line-height:1.6; }
  .consulting-detail-image { height:330px; }
  .consulting-detail-intro-grid { grid-template-columns:.65fr 1.35fr; gap:35px; }
  .consulting-detail-section-heading { gap:30px; }
  .consulting-detail-section-heading h2 { font-size:clamp(32px,4vw,46px); }
  .consulting-detail-scope-section .consulting-scope-grid,.consulting-detail-outcomes .consulting-outcome-grid { grid-template-columns:repeat(2,1fr); }
  .consulting-detail-scope-section .consulting-scope-item:last-child,.consulting-detail-outcomes .consulting-outcome-grid div:last-child { grid-column:1/-1; }
  .consulting-detail-cta .section-inner { align-items:flex-start; gap:32px; }
  .consulting-cta-actions { max-width:280px; flex-direction:column; align-items:stretch; }
  .consulting-cta-primary,.consulting-secondary-button { justify-content:center; white-space:nowrap; }
}
@media (max-width:700px) {
  .consulting-detail-hero { padding:34px 0 54px; }
  .consulting-detail-back { font-size:11px; }
  .consulting-detail-hero-grid { gap:30px; margin-top:30px; }
  .consulting-detail-hero h1 { margin-top:17px; font-size:clamp(37px,11vw,56px); }
  .consulting-detail-hero-grid > div:first-child > p { margin-top:18px; font-size:13px; line-height:1.6; }
  .consulting-detail-image { height:240px; box-shadow:8px 8px 0 rgba(159,231,190,.12); }
  .consulting-detail-intro { padding:52px 0; }
  .consulting-detail-intro-grid { display:block; }
  .consulting-detail-intro-grid .profile-overline { margin-bottom:18px; }
  .consulting-detail-lead { font-size:21px; line-height:1.28; }
  .consulting-detail-scope-section,.consulting-detail-outcomes,.consulting-detail-cta { padding:54px 0; }
  .consulting-detail-section-heading { margin-bottom:25px; }
  .consulting-detail-section-heading h2,.consulting-detail-cta h2 { font-size:34px; }
  .consulting-scope-grid,.consulting-detail-scope-section .consulting-scope-grid,.consulting-detail-outcomes .consulting-outcome-grid { grid-template-columns:1fr; gap:10px; }
  .consulting-scope-item { padding:17px; }
  .consulting-outcome-grid div { padding:19px; }
  .consulting-detail-outcomes .consulting-outcome-grid p { margin-top:22px; font-size:14px; }
  .consulting-detail-cta .section-inner { gap:25px; }
  .consulting-detail-cta h2 { line-height:1.08; }
  .consulting-detail-cta > .section-inner > div:first-child > p:last-child { font-size:12px; }
  .consulting-cta-actions { width:100%; align-items:stretch; }
  .consulting-cta-primary,.consulting-secondary-button { justify-content:center; width:100%; box-sizing:border-box; }
}
