/* Scoped portal components. No global typography or LMS overrides. */
.atd-home,.atd-home *{box-sizing:border-box}
.atd-home{
 --atd-bg:#1F4ED8;--atd-surface:#162A63;--atd-accent:#2D7FF9;--atd-button-text:#fff;
 position:relative;isolation:isolate;width:100%;min-width:0;color:#fff;background:var(--atd-bg);
 border-radius:clamp(14px,2vw,26px);overflow:clip;font-family:inherit;
 transition:background-color .28s ease;
}
.atd-home[data-viewport="yes"]{height:calc(100svh - var(--atd-admin-offset,0px) - 16px);height:calc(100dvh - var(--atd-admin-offset,0px) - 16px);min-height:320px;margin:8px 0}
.atd-home[data-viewport="no"]{min-height:620px}
body.atd-portal-canvas{margin:0!important;padding:0 8px!important}
body.atd-portal-canvas .atd-portal-wrapper{margin:0!important;padding:0!important;min-height:0!important;width:100%!important;max-width:none!important;gap:0!important}
.atd-home__inner{position:relative;z-index:2;display:grid;height:100%;min-height:inherit;max-width:1600px;margin:auto;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
 gap:clamp(12px,2vw,28px);padding:clamp(18px,3vw,48px)}
.atd-home__nav{grid-column:2;grid-row:1;z-index:5;min-width:0}
.atd-home__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1vw,14px);padding:12px;border:1px solid #ffffff24;border-radius:16px;background:#07122d24;box-shadow:0 12px 32px #030b2814;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.atd-home .atd-home__tab{font-family:inherit;font-size:clamp(12px,1.05vw,16px);font-weight:600;line-height:1.2;min-width:0;min-height:44px;padding:10px 6px;border:1px solid #ffffff24;border-radius:9px;background:var(--atd-accent);color:var(--atd-button-text);cursor:pointer;overflow-wrap:anywhere;transition:transform .18s,filter .18s,box-shadow .18s}
.atd-home .atd-home__tab:hover,.atd-home .atd-home__cta:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 8px 20px #0002}
.atd-home .atd-home__tab:focus-visible,.atd-home .atd-home__cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
.atd-home__content-wrap{grid-column:1;grid-row:1/3;align-self:center;min-width:0;z-index:4}
.atd-home__content{padding:clamp(20px,2.6vw,38px);border:1px solid #ffffff18;border-radius:16px;background:var(--atd-readable-surface,var(--atd-surface));box-shadow:0 18px 45px #040c301c;transition:background-color .28s,opacity .18s,transform .18s}
.atd-home h1.atd-home__title{margin:0!important;color:#fff!important;-webkit-text-fill-color:#fff;font-family:inherit;font-size:clamp(26px,2.8vw,44px);font-weight:600;line-height:1.15;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere}
.atd-home p.atd-home__description{margin:20px 0 0;color:#fff;font-family:inherit;font-size:clamp(14px,1.2vw,18px);font-weight:400;line-height:1.5;text-wrap:pretty;overflow-wrap:anywhere}
.atd-home a.atd-home__cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:44px;margin-top:20px;padding:11px 15px;border-radius:9px;background:var(--atd-accent);color:var(--atd-button-text)!important;text-decoration:none!important;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;transition:transform .18s,filter .18s}
.atd-home__visual{grid-column:2;grid-row:2;position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:0;min-width:0;width:100%;height:100%;pointer-events:none}
.atd-home img.atd-home__image{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 16px 22px #0002);transition:opacity .2s,transform .2s}
.atd-home__visual-glow{position:absolute;inset:8%;z-index:-1;background:radial-gradient(ellipse,#ffffff1c,transparent 70%)}
.atd-home__placeholder{height:100%;max-height:420px;width:70%;max-width:350px;position:relative;opacity:.5}
.atd-home__placeholder span{position:absolute;top:5%;left:30%;width:40%;aspect-ratio:1;border-radius:50%;background:#ffffff45}
.atd-home__placeholder i{position:absolute;bottom:0;left:10%;width:80%;height:60%;border-radius:48% 48% 12% 12%;background:#ffffff30}
.atd-home .is-hidden{display:none!important}
.atd-home__image.is-swapping{opacity:.2;transform:translateY(4px)}
.atd-home.is-changing .atd-home__content{opacity:.85;transform:translateY(2px)}
.atd-home .atd-home__tab.is-inviting{animation:atdInvite 1.6s ease-in-out 3}
@keyframes atdInvite{50%{box-shadow:0 0 0 5px #ffffff30,0 6px 22px #0002;filter:brightness(1.13)}}
.atd-page-loader{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;background:#f8fafcf5;opacity:1;visibility:visible;transition:opacity .18s,visibility .18s;pointer-events:none}
.atd-page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.atd-page-loader__body{display:grid;justify-items:center;gap:16px;padding:24px;color:#162a63;font:500 16px/1.5 system-ui,sans-serif}
.atd-page-loader__mark{display:flex;align-items:center;gap:7px}
.atd-page-loader__mark span{width:11px;height:11px;border-radius:4px;background:var(--atd-loader-accent,#1f4ed8);animation:atdLoader .75s ease-in-out infinite alternate}
.atd-page-loader__mark span:nth-child(2){animation-delay:.12s}.atd-page-loader__mark span:nth-child(3){animation-delay:.24s}
@keyframes atdLoader{to{transform:translateY(-8px);opacity:.45}}
@media(max-width:1024px){
 .atd-home h1.atd-home__title{font-size:24px}
 .atd-home__inner{padding:20px;gap:16px}
 .atd-home__tabs{gap:8px;padding:10px}
 .atd-home__content{padding:22px}
}
@media(max-width:860px) and (min-height:501px){
 .atd-home__inner{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(80px,1fr) auto auto;padding:14px;gap:12px;max-width:680px}
 .atd-home__visual{grid-column:1;grid-row:1}
 .atd-home__content-wrap{grid-column:1;grid-row:2}
 .atd-home__nav{grid-column:1;grid-row:3}
 .atd-home__content{padding:18px}
 .atd-home p.atd-home__description{font-size:14px;line-height:1.45;margin-top:12px}
 .atd-home a.atd-home__cta{margin-top:12px;font-size:14px}
 .atd-home .atd-home__tab{font-size:12px;padding:8px 4px}
 .atd-home__decor{opacity:.45}
}
@media(max-height:600px){
 .atd-home__inner{padding:12px;gap:10px}
 .atd-home__content{padding:16px}
 .atd-home h1.atd-home__title{font-size:24px}
 .atd-home p.atd-home__description{font-size:13px;line-height:1.4;margin-top:10px}
 .atd-home a.atd-home__cta{margin-top:10px;font-size:13px;padding:8px 12px}
 .atd-home__tabs{padding:8px;gap:6px}
}
@media(max-width:600px) and (max-height:500px){
 .atd-home__inner{grid-template-columns:1fr;grid-template-rows:auto auto}
 .atd-home__content-wrap{grid-column:1;grid-row:1}
 .atd-home__nav{grid-column:1;grid-row:2}
 .atd-home__visual{display:none}
}
/* Long editorial content or accessibility zoom: preserve access, never clip text. */
.atd-home.atd-needs-flow{height:auto;min-height:calc(100svh - 16px);overflow:visible}
.atd-home.atd-needs-flow .atd-home__inner{height:auto}
.atd-home.atd-needs-flow .atd-home__visual{min-height:100px;max-height:220px}
@media(prefers-reduced-motion:reduce){
 .atd-home,.atd-home *,.atd-page-loader,.atd-page-loader *{animation:none!important;transition:none!important}
}
.atd-home__decor{position:absolute;z-index:1;display:grid;grid-template-columns:repeat(3,72px);gap:11px;color:rgba(255,255,255,.28);pointer-events:none}
.atd-home__decor span{display:block;width:72px;height:72px;border:3px solid currentColor;border-radius:13px}
.atd-home__decor--tl{top:-23px;left:-20px}
.atd-home__decor--tl span:nth-child(4){grid-column:1}.atd-home__decor--tl span:nth-child(5){grid-column:2}.atd-home__decor--tl span:nth-child(6){grid-column:1}.atd-home__decor--tl span:nth-child(7){grid-column:2}
.atd-home__decor--br{right:26px;bottom:34px;grid-template-columns:repeat(2,70px);opacity:.85}.atd-home__decor--br span{width:70px;height:70px}


.atd-label-compact{display:none}
@media(max-width:600px){.atd-label-full{display:none}.atd-label-compact{display:inline}}

/* 1.2: editorial positioning and grounded portraits. */
.atd-home__inner{padding-bottom:0}
.atd-home__content-wrap{grid-row:2;align-self:center;padding-bottom:clamp(24px,5vh,64px)}
.atd-home h1.atd-home__title{font-size:clamp(26px,2.35vw,36px);font-weight:500}
.atd-home[data-image-mode="portrait"] .atd-home__image{transform:scale(var(--atd-image-scale,1.1));transform-origin:center bottom}
.atd-home[data-image-mode="contain"] .atd-home__visual{padding-bottom:clamp(16px,3vw,40px)}
.atd-home[data-image-mode="card"] .atd-home__visual{align-self:center;height:80%;padding:20px;background:#ffffff12;border:1px solid #ffffff30;border-radius:24px;overflow:hidden;box-shadow:0 20px 50px #0002}
.atd-home[data-image-mode="card"] .atd-home__image{object-position:center}
.atd-home[data-motion="yes"]::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 70% 80%,#ffffff18,transparent 55%);animation:atdAmbient 10s ease-in-out infinite alternate}
.atd-home[data-motion="yes"] .atd-home__decor span{animation:atdTile 7s ease-in-out infinite alternate}
.atd-home[data-motion="yes"] .atd-home__decor span:nth-child(2n){animation-delay:-3s}
.atd-home[data-motion="yes"] .atd-home__decor span:nth-child(3n){animation-delay:-5s}
@keyframes atdAmbient{to{opacity:.35;transform:translate3d(-2%,2%,0)}}
@keyframes atdTile{to{opacity:.35;transform:translateY(8px)}}
@media(max-width:1024px){.atd-home h1.atd-home__title{font-size:24px}}
@media(max-width:860px) and (min-height:501px){
 .atd-home__inner{padding-bottom:14px;gap:12px;max-width:760px}
 .atd-home__content-wrap{grid-row:2;padding-bottom:0}
 .atd-home[data-image-mode="portrait"] .atd-home__visual{margin-bottom:-14px;height:calc(100% + 14px)}
 .atd-home[data-image-mode="portrait"] .atd-home__image{transform:scale(var(--atd-image-scale-mobile,1.05));mask-image:linear-gradient(#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(#000 94%,transparent 100%)}
 .atd-home[data-image-mode="card"] .atd-home__visual{height:100%;padding:10px}
 .atd-home[data-image-mode="contain"] .atd-home__visual{padding:0}
}
@media(max-height:500px){.atd-home__content-wrap{grid-row:1/3;padding:0}.atd-home h1.atd-home__title{font-size:24px}}
@media(max-width:600px) and (max-height:500px){.atd-home__content-wrap{grid-row:1}}
/* Extremely narrow displays: one readable column, natural vertical scroll. */
@media(max-width:279px){
 .atd-home[data-viewport="yes"]{height:auto;min-height:calc(100svh - 16px)}
 .atd-home .atd-home__inner{display:flex;flex-direction:column;padding:10px;gap:10px}
 .atd-home__visual{display:none}
 .atd-home__content-wrap{padding:0;order:1}
 .atd-home__nav{order:2}
 .atd-home .atd-home__tabs{grid-template-columns:1fr}
 .atd-home h1.atd-home__title{font-size:20px}
 .atd-home__content{padding:12px}
}
@media(prefers-reduced-motion:reduce){.atd-home::before,.atd-home[data-motion="yes"] .atd-home__decor span{animation:none!important}}

/* Reusable sections never inherit the homepage's viewport height. */
.atd-section,.atd-section *{box-sizing:border-box}
.atd-section{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,56px);padding:clamp(20px,5vw,64px);border-radius:24px;background:var(--atd-bg,#0b2a6f);color:#fff;font-family:inherit;isolation:isolate;min-width:0}
.atd-section.has-image{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
.atd-section__copy{min-width:0;padding:clamp(18px,2.5vw,32px);background:var(--atd-readable-surface,var(--atd-surface,#143a8b));border-radius:16px}
.atd-section .atd-section__heading{color:#fff!important;-webkit-text-fill-color:#fff;margin:0 0 16px;font-family:inherit;font-size:clamp(24px,3vw,38px);font-weight:500;line-height:1.15;overflow-wrap:anywhere}
.atd-section__text,.atd-section__text p{color:#fff;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.atd-section .atd-section__cta{display:inline-flex;gap:8px;align-items:center;max-width:100%;min-height:44px;padding:12px 18px;margin-top:12px;border-radius:10px;background:var(--atd-accent);color:var(--atd-button-text,#fff)!important;font-weight:600;text-decoration:none!important;font-family:inherit;font-size:15px;line-height:1.3;transition:transform .18s,filter .18s;overflow-wrap:anywhere}
.atd-section__cta:hover{filter:brightness(1.1);transform:translateY(-2px)}
.atd-section__cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.atd-section__media{min-width:0;display:flex;justify-content:center;align-items:center}
.atd-section img.atd-section__image{width:100%;height:auto;max-height:520px;object-fit:contain;border-radius:16px}
.atd-section[data-image-side="left"] .atd-section__media{grid-column:1;grid-row:1}
.atd-section[data-image-side="left"].has-image .atd-section__copy{grid-column:2;grid-row:1}
.atd-section--banner{text-align:center}
.atd-section--banner .atd-section__copy{max-width:960px;width:100%;margin:auto}
@media(max-width:760px){.atd-section.has-image{grid-template-columns:1fr}.atd-section[data-image-side] .atd-section__copy,.atd-section[data-image-side] .atd-section__media{grid-column:1;grid-row:auto}.atd-section .atd-section__heading{font-size:24px}.atd-section{padding:18px;gap:18px}.atd-section__text,.atd-section__text p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.atd-section *{animation:none!important;transition:none!important}}

/* 1.3: two image layers share one stable box; only opacity changes. */
.atd-image-stack{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;min-width:0;min-height:0}
.atd-home .atd-image-stack{height:100%}
.atd-image-stack .atd-sequence-frame{grid-area:1/1;min-width:0;min-height:0;transition:opacity .65s ease!important}
.atd-image-stack[hidden],.atd-image-controls[hidden]{display:none!important}
.atd-section .atd-image-stack{max-height:520px}
.atd-section .atd-image-stack img.atd-section__image{height:100%;max-height:100%;object-fit:contain}
.atd-section__media{position:relative}
.atd-image-controls{position:absolute;right:10px;bottom:10px;z-index:8;display:flex;gap:5px;pointer-events:auto;padding:4px;border-radius:24px;background:#0f172a80;backdrop-filter:blur(3px)}
.atd-image-controls button{display:grid;place-items:center;min-width:36px;min-height:36px;padding:4px;border:1px solid #ffffff40;border-radius:50%;background:#0f172a;color:#fff;font:600 16px/1 system-ui;cursor:pointer}
.atd-image-controls button:hover{background:#334155}
.atd-image-controls button:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.atd-image-stack .atd-sequence-frame{transition:none!important}}
.atd-image-controls button[hidden]{display:none!important}
