*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow:hidden auto}body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-page);color:var(--text-body);transition:background-color .3s ease}::selection{background:color-mix(in srgb,var(--teal) 24%,transparent);color:var(--text-heading)}input::placeholder,textarea::placeholder{color:var(--text-body);opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px}:root{--text-heading:#23293A;--text-body:#6B7A8D;--text-faint:color-mix(in srgb,var(--text-body) 62%,transparent);--teal:#4E9E84;--coral:#C2654B;--gold:#C88A2E;--bg-page:#FBFAF6;--bg-alt:#F4F2EC;--bg-dark-section:#23293A;--bg-footer:#1A1F2C;--bg-card:#FFFFFF;--bg-nav:rgba(251,250,246,0.72);--bg-mobile-menu:rgba(251,250,246,0.98);--btn-primary:#23293A;--btn-primary-hover:#171B27;--accent:#B8791F;--accent-hover:#A26A17;--on-accent:#FFFFFF;--input-bg:#ffffff;--shadow-color:34,41,58;--border-subtle:color-mix(in srgb,var(--text-heading) 8%,transparent);--border-medium:color-mix(in srgb,var(--text-heading) 12%,transparent);--border-strong:color-mix(in srgb,var(--text-heading) 18%,transparent);--border-input:color-mix(in srgb,var(--text-heading) 12%,transparent);--border-teal-subtle:color-mix(in srgb,var(--teal) 8%,transparent);--border-teal-medium:color-mix(in srgb,var(--teal) 22%,transparent);--grid-line:color-mix(in srgb,var(--text-heading) 6%,transparent)}[data-theme=dark]{--text-heading:#EAEDF3;--text-body:#96A0B0;--text-faint:color-mix(in srgb,var(--text-body) 60%,transparent);--teal:#6EBCA1;--coral:#E08A6E;--gold:#E4B968;--bg-page:#0F131B;--bg-alt:#151A24;--bg-dark-section:#0A0D14;--bg-footer:#070A0F;--bg-card:#171D28;--bg-nav:rgba(15,19,27,0.72);--bg-mobile-menu:rgba(15,19,27,0.98);--btn-primary:#6EBCA1;--btn-primary-hover:#5DA88E;--accent:#E4B968;--accent-hover:#EFC780;--on-accent:#14100A;--input-bg:#1B2230;--shadow-color:0,0,0}.logo-dark{display:block}.logo-light,[data-theme=dark] .logo-dark{display:none}[data-theme=dark] .logo-light{display:block}.font-display{font-family:var(--font-display),system-ui,sans-serif;font-weight:600;letter-spacing:-.02em}.accent-word{color:var(--teal)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes spinSlow{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes auroraDrift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(4%,-3%) scale(1.08)}}@keyframes heroIn{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}.hero-line{display:block;opacity:0;padding-bottom:.06em;animation:heroIn .95s cubic-bezier(.16,1,.3,1) forwards}.hero-stagger-1{opacity:0;animation:heroIn .9s cubic-bezier(.16,1,.3,1) .05s forwards}.hero-stagger-2{opacity:0;animation:heroIn .9s cubic-bezier(.16,1,.3,1) .18s forwards}.hero-stagger-3{opacity:0;animation:heroIn .9s cubic-bezier(.16,1,.3,1) .32s forwards}.hero-stagger-4{opacity:0;animation:heroIn 1.1s cubic-bezier(.16,1,.3,1) .42s forwards}.hero-stagger-5{opacity:0;animation:heroIn 1.1s cubic-bezier(.16,1,.3,1) .55s forwards}.hero-shell{grid-template-columns:1.05fr .95fr}@media (max-width:900px){.hero-shell{grid-template-columns:1fr!important;gap:40px!important}.hero-visual-wrap{order:-1}}@media (max-width:768px){.about-grid,.contact-grid{gap:48px!important}.about-grid,.contact-form-row,.contact-grid,.services-bento{grid-template-columns:1fr!important}.services-bento>*{grid-column:auto!important}.nav-cta,.nav-links{display:none!important}.mobile-menu-btn{display:flex!important}.footer-content,.stats-row{flex-direction:column!important}.stats-row .stat-divider{display:none!important}.about-content-grid{grid-template-columns:1fr!important;gap:48px!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}.hero-line,[class*=" hero-stagger"],[class^=hero-stagger]{opacity:1!important;animation:none!important}}