/* Shared site-wide styles: reset, header/nav, mobile menu, footer, focus/accessibility, reduced-motion.
   Extracted 2026-09-01 for cross-page browser caching. */

*{box-sizing:border-box;}

html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.47;}

a{color:var(--amber);text-decoration:none;}

.skip-link{position:absolute;top:-100px;left:12px;z-index:100;background:var(--amber);color:#000;font-size:14px;font-weight:600;padding:12px 20px;border-radius:10px;transition:top var(--dur-base) var(--ease-out);}

.skip-link:focus{top:12px;}

:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}

header .logo{font-size:13px;letter-spacing:.02em;font-weight:600;color:#fff;transition:color var(--dur-base) var(--ease-out);}

@media (hover:hover) and (pointer:fine){ header .logo:hover{color:var(--amber);} }

nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}

nav a{color:var(--text-soft);font-size:13px;font-weight:400;}

.btn:active{transform:scale(.96);}

.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;max-width:1180px;margin:0 auto;}

.foot-logo{font-size:14px;font-weight:600;}

.foot-grid p{color:var(--text-mute);font-size:14px;line-height:1.6;max-width:280px;}

.foot-col-label{color:var(--text-faint);font-size:12px;font-weight:500;margin-bottom:14px;}

.foot-links{display:flex;flex-direction:column;gap:10px;}

.foot-contact{margin-top:14px;color:rgba(255,255,255,.7);font-size:13.5px;}

.foot-contact a{color:rgba(255,255,255,.7);transition:color var(--dur-base) var(--ease-out);}

@media (hover:hover) and (pointer:fine){ .foot-contact a:hover{color:var(--amber);} }

.foot-links a{color:rgba(255,255,255,.7);font-size:14px;transition:color var(--dur-base) var(--ease-out);}

.copyright{text-align:center;color:var(--text-faint);font-size:12px;margin-top:48px;}

.nav-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px;margin:-8px -4px -8px 4px;flex-shrink:0;}

.nav-toggle svg{display:block;width:22px;height:22px;}

.nt-line{transform-box:fill-box;transform-origin:center;transition:transform var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out);}

.nav-toggle[aria-expanded="true"] .nt-line-1{transform:translateY(6px) rotate(45deg);}

.nav-toggle[aria-expanded="true"] .nt-line-2{opacity:0;}

.nav-toggle[aria-expanded="true"] .nt-line-3{transform:translateY(-6px) rotate(-45deg);}

@media (prefers-reduced-motion: reduce){ .nt-line{transition:opacity var(--dur-fast) linear !important;} .nav-toggle[aria-expanded="true"] .nt-line-1, .nav-toggle[aria-expanded="true"] .nt-line-3{transform:none !important;} }

.mobile-menu{position:fixed;inset:0;z-index:200;background:rgba(6,6,7,.98);backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:20px 24px 32px;opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear var(--dur-base);}

.mobile-menu.open{opacity:1;visibility:visible;transition:opacity var(--dur-base) var(--ease-out), visibility 0s linear;}

.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;}

.mobile-menu-head .logo{color:#fff;font-size:13px;letter-spacing:.02em;font-weight:600;}

.mobile-menu-close{background:none;border:none;color:#fff;cursor:pointer;padding:8px;margin:-8px;}

.mobile-menu-close svg{display:block;width:22px;height:22px;}

.mobile-nav{display:flex;flex-direction:column;margin-top:44px;}

.mobile-nav a{color:#fff;font-size:24px;font-weight:600;letter-spacing:-.01em;padding:17px 2px;border-bottom:1px solid var(--border);}

.mobile-nav a.btn{background:var(--amber);color:#000;border-radius:14px;text-align:center;margin-top:22px;padding:17px;border-bottom:none;font-size:16px;}

@media (max-width:820px){ .nav-toggle{display:block;} }

@media (prefers-reduced-motion: reduce){ .mobile-menu{transition:none !important;} }

/* ============================================================
   Site-wide section glow — Option C from the background-treatment
   review (2026-09-04). A static, low-opacity amber radial glow
   seeping in from one corner/edge of a section, so scrolling
   reveals gentle variation instead of one flat slab of black.
   No motion, no shapes — apply one class per <section>, alternate
   placement down the page. Content inside stacks above it
   automatically via the direct-child z-index rule below. ============================================================ */
[class*="glow-"]{position:relative;}
[class*="glow-"]::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;}
[class*="glow-"] > *{position:relative;z-index:1;}
.glow-tl::before{background:radial-gradient(ellipse 1100px 700px at 15% -10%, rgba(200,162,74,.10) 0%, transparent 60%);}
.glow-tr::before{background:radial-gradient(ellipse 1000px 650px at 100% 0%, rgba(200,162,74,.07) 0%, transparent 55%);}
.glow-bl::before{background:radial-gradient(ellipse 1000px 700px at 0% 100%, rgba(200,162,74,.08) 0%, transparent 55%);}
.glow-br::before{background:radial-gradient(ellipse 1200px 800px at 100% 100%, rgba(200,162,74,.09) 0%, transparent 55%);}
.glow-top::before{background:radial-gradient(ellipse 1000px 600px at 50% 0%, rgba(200,162,74,.08) 0%, transparent 60%);}
