/* AVION CMS theme. AVION design variables (--pub-*) plus theme settings (--theme-*, delivered by design-css). */
.ac{--ac-accent:var(--theme-style-accent,#1a7562);--ac-accent-2:var(--theme-style-accent-2,#4db8a5);--ac-band:var(--theme-style-dark-band,#0b1f1c);
  --ac-ink:var(--pub-ink,#0b1f1c);--ac-muted:color-mix(in srgb,var(--ac-ink) 62%,transparent);--ac-line:color-mix(in srgb,var(--ac-ink) 12%,transparent);
  --ac-surface:var(--pub-surface,#fff);--ac-bg:var(--pub-bg,#f6f8f7);--ac-radius:calc(var(--pub-radius,8px) + 10px);--ac-shadow:0 1px 0 rgba(11,31,28,.04),0 24px 48px -32px rgba(11,31,28,.35);
  background:var(--ac-bg);color:var(--ac-ink);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.ac *{box-sizing:border-box}
.ac h1,.ac h2,.ac h3{letter-spacing:-.025em;line-height:1.12;margin:0}
.ac p{margin:0}
:where(.ac) a{color:inherit} /* low specificity: buttons and cards keep their own colors */
.ac-wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.ac-narrow{width:min(860px,100% - 40px)}
.ac-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ac-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ac-eyebrow{margin-bottom:12px;color:var(--ac-accent);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ac-lead{font-size:clamp(17px,1.5vw,20px);color:var(--ac-muted);line-height:1.6}
.ac-gradient{font-style:normal;background:linear-gradient(100deg,var(--ac-accent),var(--ac-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--ac-accent) 10%,transparent);font-size:14px}

/* Buttons */
.ac-button{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--ac-accent),color-mix(in srgb,var(--ac-accent) 70%,var(--ac-accent-2)));
  color:#fff;font-weight:650;font-size:16px;text-decoration:none;box-shadow:0 14px 30px -14px var(--ac-accent);transition:transform .2s,box-shadow .2s}
.ac-button:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px var(--ac-accent)}
.ac-button .ac-icon{width:18px;height:18px;transition:transform .2s}
.ac-button:hover .ac-icon{transform:translateX(3px)}
.ac-button-ghost{background:transparent;color:var(--ac-ink);box-shadow:inset 0 0 0 1.5px var(--ac-line)}
.ac-button-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ac-accent)}
.ac-button-light{background:#fff;color:var(--ac-band);box-shadow:none}
.ac-button-small{padding:10px 18px;font-size:14px}

/* Header */
.ac-header{position:sticky;top:0;z-index:50;transition:background .25s,box-shadow .25s}
.ac-header-inner{display:flex;align-items:center;gap:20px;min-height:72px}
.ac-brand{display:inline-flex;align-items:center;gap:10px;margin-inline-end:auto;color:inherit;font-weight:800;font-size:19px;letter-spacing:-.02em;text-decoration:none}
.ac-brand img{height:38px;width:auto}
.ac-logo-mark{height:34px!important;width:auto}
.ac-wordmark{font-size:21px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.ac-wordmark span{color:var(--ac-ink)}
.ac-wordmark b{font-weight:600;letter-spacing:.01em;background:linear-gradient(100deg,var(--ac-accent),var(--ac-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-brand.is-light .ac-wordmark span,.ac-brand.is-light .ac-brand-name{color:#fff}
.ac-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--ac-accent),var(--ac-accent-2));color:#fff;font-size:16px;font-weight:800}
.ac-nav{display:flex;align-items:center;gap:14px}
.ac-nav>ul{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.ac-nav li{position:relative;list-style:none}
.ac-nav li a{display:block;padding:9px 14px;border-radius:999px;color:inherit;font-weight:550;font-size:15px;text-decoration:none}
.ac-nav li a:hover,.ac-nav li a[aria-current]{background:color-mix(in srgb,var(--ac-accent) 12%,transparent)}
.ac-nav li ul{position:absolute;top:100%;inset-inline-start:0;display:none;min-width:220px;margin:0;padding:6px;border-radius:16px;background:var(--ac-surface);box-shadow:var(--ac-shadow)}
.ac-nav li:hover>ul,.ac-nav li:focus-within>ul{display:block}
.ac-languages{display:flex;gap:4px;font-size:12px;font-weight:600}
.ac-languages a{padding:4px 6px;border-radius:6px;text-decoration:none;opacity:.7}
.ac-languages a[aria-current]{opacity:1;background:color-mix(in srgb,var(--ac-accent) 12%,transparent)}
.ac-burger{display:none;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer}
.ac-burger span:not(.ac-sr){display:block;width:20px;height:2px;margin:5px auto;border-radius:2px;background:currentColor;transition:transform .2s}
.ac-burger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.ac-burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.ac-header-light .ac-header{background:var(--ac-surface);box-shadow:0 1px 0 var(--ac-line)}
.ac-header-dark .ac-header{background:var(--ac-band);color:#eef5f3}
.ac-header-glass .ac-header{background:color-mix(in srgb,var(--ac-bg) 70%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}
.ac-header.is-scrolled{box-shadow:0 1px 0 var(--ac-line),0 16px 30px -24px rgba(11,31,28,.4)}

/* Hero */
.ac-hero{position:relative;overflow:hidden;padding:72px 0 56px}
.ac-hero-glow{position:absolute;inset:-30% -10% auto;height:120%;pointer-events:none;
  background:radial-gradient(40% 50% at 15% 25%,color-mix(in srgb,var(--ac-accent) 22%,transparent),transparent 70%),radial-gradient(35% 45% at 85% 20%,color-mix(in srgb,var(--ac-accent-2) 24%,transparent),transparent 70%)}
.ac-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ac-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;padding:7px 14px;border-radius:999px;background:var(--ac-surface);box-shadow:0 0 0 1px var(--ac-line);font-size:14px;font-weight:600}
.ac-dot{width:8px;height:8px;border-radius:50%;background:var(--ac-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--ac-accent) 20%,transparent)}
.ac-hero h1{font-size:clamp(40px,6vw,72px);font-weight:800;margin-bottom:22px}
.ac-hero .ac-lead{max-width:560px;margin-bottom:32px}
.ac-actions{display:flex;flex-wrap:wrap;gap:12px}
.ac-badges{display:flex;flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;list-style:none;color:var(--ac-muted);font-size:15px;font-weight:550}
.ac-badges li{display:flex;align-items:center;gap:6px}
.ac-badges .ac-icon{width:18px;height:18px;color:var(--ac-accent)}
.ac-shot{display:block;width:100%;height:auto;border-radius:var(--ac-radius);box-shadow:0 40px 80px -40px rgba(11,31,28,.45),0 0 0 1px var(--ac-line);background:var(--ac-surface)}
.ac-hero-visual{animation:ac-float 7s ease-in-out infinite}
@keyframes ac-float{50%{transform:translateY(-8px)}}

/* Stats */
.ac-stats dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:0;overflow:hidden;border-radius:var(--ac-radius);background:var(--ac-line);box-shadow:var(--ac-shadow)}
.ac-stats dl>div{display:flex;flex-direction:column-reverse;gap:4px;padding:26px 28px;background:var(--ac-surface)}
.ac-stats dd{margin:0;font-size:40px;font-weight:800;letter-spacing:-.03em;background:linear-gradient(100deg,var(--ac-accent),var(--ac-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-stats dt{color:var(--ac-muted);font-size:15px}

/* Sections */
.ac-section{padding:104px 0}
.ac-heading{max-width:720px;margin:0 auto 56px;text-align:center}
.ac-heading h2{font-size:clamp(32px,4vw,48px);font-weight:800;margin-bottom:16px}
.ac-heading p{color:var(--ac-muted);font-size:18px}
.ac-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin:0;padding:0;list-style:none}
.ac-card{padding:30px;border-radius:var(--ac-radius);background:var(--ac-surface);box-shadow:var(--ac-shadow);transition:transform .25s,box-shadow .25s}
.ac-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(11,31,28,.04),0 30px 60px -32px rgba(11,31,28,.45)}
.ac-card h3{margin:20px 0 10px;font-size:20px}
.ac-card p{color:var(--ac-muted);font-size:16px}
.ac-icon-box{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--ac-accent) 16%,transparent),color-mix(in srgb,var(--ac-accent-2) 16%,transparent));color:var(--ac-accent)}
.ac-icon-box .ac-icon{width:24px;height:24px}

/* Showcase rows */
.ac-showcase{padding-top:24px}
.ac-row{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.ac-row+.ac-row{margin-top:104px}
.ac-row.is-reversed .ac-row-copy{order:2}
.ac-row h2{font-size:clamp(28px,3.4vw,42px);font-weight:800;margin-bottom:16px}
.ac-row-copy>p{color:var(--ac-muted);font-size:18px}
.ac-checks{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.ac-checks li{display:flex;align-items:flex-start;gap:10px;font-weight:550}
.ac-checks .ac-icon{margin-top:3px;width:18px;height:18px;padding:3px;box-sizing:content-box;border-radius:50%;background:color-mix(in srgb,var(--ac-accent) 14%,transparent);color:var(--ac-accent)}

/* Page blocks on the start page */
.ac-page-blocks .pub-content{width:auto;max-width:none;margin:0}

/* Modules */
.ac-band{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ac-accent) 6%,transparent) 30%,color-mix(in srgb,var(--ac-accent) 6%,transparent) 70%,transparent)}
.ac-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-24px 0 32px}
.ac-filter button{padding:8px 16px;border:0;border-radius:999px;background:var(--ac-surface);box-shadow:0 0 0 1px var(--ac-line);color:inherit;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ac-filter button[aria-pressed="true"]{background:var(--ac-ink);color:var(--ac-bg);box-shadow:none}
.ac-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ac-modules li{display:grid;gap:4px;padding:18px 20px;border-radius:16px;background:var(--ac-surface);box-shadow:0 0 0 1px var(--ac-line);transition:box-shadow .2s,transform .2s}
.ac-modules li:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--ac-accent),0 16px 30px -24px var(--ac-accent)}
.ac-modules li[hidden]{display:none}
.ac-modules strong{font-size:16px}
.ac-modules span{color:var(--ac-muted);font-size:14px}

/* Steps */
.ac-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:0;padding:0;list-style:none;counter-reset:step}
.ac-steps li{position:relative;padding:28px;border-radius:var(--ac-radius);background:var(--ac-surface);box-shadow:var(--ac-shadow)}
.ac-step-number{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:var(--ac-ink);color:var(--ac-bg);font-weight:800}
.ac-steps h3{margin-bottom:8px;font-size:19px}
.ac-steps p{color:var(--ac-muted);font-size:15px}

/* Dark security band */
.ac-dark{background:radial-gradient(60% 80% at 90% 0%,color-mix(in srgb,var(--ac-accent-2) 22%,transparent),transparent 60%),var(--ac-band);color:#e9f3f1}
.ac-dark .ac-lead{color:rgba(233,243,241,.72)}
.ac-dark .ac-eyebrow{color:var(--ac-accent-2)}
.ac-security{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.ac-security h2{font-size:clamp(32px,4vw,48px);font-weight:800;margin-bottom:18px}
.ac-shield{display:grid;place-items:center;width:84px;height:84px;margin-top:36px;border-radius:24px;background:rgba(255,255,255,.08);color:var(--ac-accent-2)}
.ac-shield .ac-icon{width:42px;height:42px}
.ac-security-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.ac-security-list li{display:flex;gap:12px;padding:20px;border-radius:18px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ac-security-list .ac-icon{color:var(--ac-accent-2);margin-top:2px}
.ac-security-list strong{display:block;margin-bottom:4px}
.ac-security-list span{color:rgba(233,243,241,.7);font-size:15px}

/* FAQ */
.ac-faq{display:grid;gap:12px}
.ac-faq details{border-radius:18px;background:var(--ac-surface);box-shadow:0 0 0 1px var(--ac-line);transition:box-shadow .2s}
.ac-faq details[open]{box-shadow:0 0 0 1.5px var(--ac-accent),var(--ac-shadow)}
.ac-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-weight:650;font-size:17px;cursor:pointer;list-style:none}
.ac-faq summary::-webkit-details-marker{display:none}
.ac-faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--ac-accent) 12%,transparent);color:var(--ac-accent);font-size:20px;transition:transform .2s}
.ac-faq details[open] summary::after{transform:rotate(45deg)}
.ac-faq details p{padding:0 24px 22px;color:var(--ac-muted)}

/* Call to action */
.ac-cta-wrap{padding:24px 0 0}
.ac-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding:48px 56px;border-radius:calc(var(--ac-radius) + 8px);
  background:radial-gradient(70% 120% at 100% 0%,color-mix(in srgb,var(--ac-accent-2) 45%,transparent),transparent 60%),linear-gradient(135deg,var(--ac-accent),var(--ac-band));color:#fff;box-shadow:0 40px 80px -48px var(--ac-accent)}
.ac-cta h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;margin-bottom:10px}
.ac-cta p{max-width:560px;opacity:.85;font-size:18px}

/* Contact */
.ac-contact{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.ac-contact h2{font-size:clamp(32px,4vw,48px);font-weight:800;margin-bottom:16px}
.ac-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.ac-contact-card{display:flex;gap:12px;align-items:flex-start;padding:20px;border-radius:18px;background:var(--ac-surface);box-shadow:var(--ac-shadow);text-decoration:none;font-weight:600}
.ac-contact-card .ac-icon{color:var(--ac-accent)}
a.ac-contact-card:hover{box-shadow:0 0 0 1.5px var(--ac-accent),var(--ac-shadow)}
.ac-hours{grid-column:1/-1}
.ac-hours dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 20px;margin:8px 0 0;font-weight:500}
.ac-hours dd{margin:0;color:var(--ac-muted)}

/* Pages, 404, module frame */
.ac-main{padding:64px 0 96px}
.ac-main .pub-content{width:auto;max-width:860px;margin-inline:auto}
.ac-main .pub-hero{padding-inline:0;max-width:860px;margin-inline:auto}
.ac-missing{text-align:center;max-width:640px}
.ac-missing h1{font-size:clamp(32px,4vw,48px);margin-bottom:12px}
.ac-missing .ac-lead{margin-bottom:28px}
.ac-code{font-size:120px;font-weight:900;line-height:1;background:linear-gradient(100deg,var(--ac-accent),var(--ac-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-module-content>main{width:auto;max-width:none;margin:0;padding:0}

/* Footer */
.ac-footer{margin-top:104px;padding:64px 0 28px;background:var(--ac-band);color:rgba(233,243,241,.75)}
.ac-footer a{color:#fff;text-decoration:none}
.ac-footer a:hover{text-decoration:underline}
.ac-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ac-footer-brand .ac-brand{color:#fff;margin-bottom:14px}
.ac-footer-brand p{max-width:360px;font-size:15px}
.ac-footer ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ac-footer-contact{display:grid;gap:12px;align-content:start}
.ac-footer-contact a,.ac-footer-contact span{display:flex;gap:10px;align-items:flex-start;color:#fff}
.ac-footer-contact .ac-icon{color:var(--ac-accent-2);margin-top:3px;width:18px;height:18px}
.ac-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:14px}

/* Reveal on scroll (theme.js adds .js-reveal and .is-visible) */
.js-reveal [data-ac-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js-reveal [data-ac-reveal].is-visible{opacity:1;transform:none}

/* Responsive */
@media (max-width:960px){
  .ac-hero-grid,.ac-row,.ac-security,.ac-contact{grid-template-columns:1fr;gap:40px}
  .ac-row.is-reversed .ac-row-copy{order:0}
  .ac-section{padding:80px 0}
  .ac-footer-grid{grid-template-columns:1fr 1fr}
  .ac-footer-brand{grid-column:1/-1}
}
@media (max-width:860px){
  .ac-burger{display:block}
  .ac-header-inner{position:relative}
  .ac-nav{position:absolute;top:calc(100% + 6px);inset-inline:0;display:none;flex-direction:column;align-items:stretch;padding:14px;border-radius:22px;background:var(--ac-surface);color:var(--ac-ink);box-shadow:0 30px 60px -30px rgba(11,31,28,.5)}
  .ac-nav.is-open{display:flex}
  .ac-nav>ul{flex-direction:column}
  .ac-nav li ul{position:static;display:block;box-shadow:none;padding-inline-start:12px}
  .ac-nav .ac-button{justify-content:center}
}
@media (max-width:560px){
  .ac-hero{padding-top:40px}
  .ac-cta{padding:36px 28px}
  .ac-footer-grid{grid-template-columns:1fr}
  .ac-stats dd{font-size:34px}
}
@media (prefers-reduced-motion:reduce){.ac *{animation:none!important;transition:none!important}.js-reveal [data-ac-reveal]{opacity:1;transform:none}}
@media print{.ac-header,.ac-footer,.ac-cta-wrap{display:none}}
.ac-main-wide .pub-content{max-width:none}
.ac-main-narrow .pub-content,.ac-main-narrow .pub-hero{max-width:680px}
