.hero{--hero-bg:var(--color-bg);--hero-text:var(--color-text-inverse);--hero-muted:var(--color-muted-soft);position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(59,130,246,.22),transparent 55%),radial-gradient(circle at 80% 40%,rgba(168,85,247,.18),transparent 55%),linear-gradient(180deg,rgba(2,6,23,.92),#020617);color:var(--hero-text)}.hero__inner{max-width:var(--container-max);margin:0 auto;padding:5rem 1.25rem;display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.hero__copy{display:flex;flex-direction:column;gap:1.25rem}.hero__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--hero-muted)}.hero__title{font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:var(--hero-text)}.hero__subtitle{max-width:46ch;font-size:1.05rem;line-height:1.7;color:var(--hero-muted)}.hero__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.hero__media{position:relative;width:100%;min-height:340px;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:linear-gradient(145deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.02));box-shadow:var(--shadow-lg);overflow:hidden}.hero__canvas{position:absolute;inset:0;width:100%;height:100%}.hero__glow{position:absolute;inset:-40%;background:radial-gradient(circle,rgba(59,130,246,.35),transparent 60%);filter:blur(40px);opacity:.6;pointer-events:none}.hero__highlights{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem}.hero__pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-surface-2);color:var(--hero-text)}@media (max-width:900px){.hero__inner{grid-template-columns:1fr;padding:4rem 1.25rem}.hero__media{min-height:300px}}@media (max-width:640px){.hero__inner{padding:3.25rem 1rem}.hero__subtitle{font-size:1rem}.hero__media{min-height:220px}}@media (max-width:480px){.hero__inner{padding:2.5rem 1rem;gap:2rem}.hero__media{min-height:180px}}.footer{--footer-bg:var(--color-surface);--footer-text:var(--color-muted);--footer-border:var(--color-border);background-color:var(--footer-bg);color:var(--footer-text);border-top:1px solid var(--footer-border)}.footer__inner{max-width:var(--container-max);margin:0 auto;padding:2.5rem 1.25rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}.footer__section{display:flex;flex-direction:column;gap:.75rem}.footer__title{font-size:.875rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em}.footer__text{font-size:.875rem;line-height:1.6;color:var(--footer-text)}.footer__links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.footer__link{font-size:.875rem;color:inherit;text-decoration:none;opacity:.85;transition:opacity var(--duration-fast),color var(--duration-fast)}.footer__link:hover{opacity:1;color:var(--color-text)}.footer__socials{display:flex;align-items:center;gap:.75rem}.footer__social-link{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-full);background-color:var(--color-surface-2);color:var(--color-text);transition:background-color var(--duration-fast),transform var(--duration-fast)}.footer__social-link:hover{background-color:var(--color-primary-soft);transform:translateY(-2px)}.footer__bottom{border-top:1px solid var(--footer-border);padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--footer-text);opacity:.85}.footer__copyright{white-space:nowrap}.footer__meta{display:flex;gap:1rem;flex-wrap:wrap}.footer__meta a{color:inherit;text-decoration:none;opacity:.85}.footer__meta a:hover{opacity:1;text-decoration:underline}@media (max-width:640px){.footer__inner{padding:2rem 1rem}.footer__bottom{flex-direction:column;align-items:flex-start}}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem;background-color:rgba(2,6,23,.65);backdrop-filter:blur(6px);z-index:999}.modal-overlay--hidden{opacity:0;pointer-events:none}.modal{--modal-bg:var(--color-surface);--modal-border:var(--color-border);width:min(720px,100%);max-height:min(85vh,900px);background-color:var(--modal-bg);border:1px solid var(--modal-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;transform:translateY(8px) scale(.98);opacity:0;animation:modal-in .18s var(--ease-standard) forwards}.modal--sm{width:min(420px,100%)}.modal--lg{width:min(960px,100%)}.modal__header{padding:1rem 1.25rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--modal-border)}.modal__title{font-size:1rem;font-weight:700;line-height:1.3;color:var(--color-text)}.modal__subtitle{margin-top:.25rem;font-size:.875rem;line-height:1.5;color:var(--color-muted)}.modal__close{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);border:1px solid var(--modal-border);background:transparent;color:var(--color-text);cursor:pointer;transition:background-color .15s ease,transform .1s ease,box-shadow .15s ease}.modal__close:hover{background-color:rgba(2,6,23,.04)}.modal__close:active{transform:translateY(1px)}.modal__close:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(37,99,235,.35)}.modal__body{padding:1.25rem;overflow-y:auto}.modal__footer{padding:.9rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--modal-border)}@keyframes modal-in{to{transform:translateY(0) scale(1);opacity:1}}.modal--out{animation:modal-out .14s var(--ease-standard) forwards}@keyframes modal-out{to{transform:translateY(8px) scale(.98);opacity:0}}[data-theme=dark] .modal-overlay{background-color:rgba(0,0,0,.72)}[data-theme=dark] .modal{--modal-bg:#0b1220;--modal-border:hsla(0,0%,100%,.12)}[data-theme=dark] .modal__title{color:hsla(0,0%,100%,.95)}[data-theme=dark] .modal__subtitle{color:hsla(0,0%,100%,.7)}[data-theme=dark] .modal__close{color:hsla(0,0%,100%,.9);border-color:hsla(0,0%,100%,.14)}[data-theme=dark] .modal__close:hover{background-color:hsla(0,0%,100%,.06)}