/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{min-height:100vh;line-height:1.6;font-family:var(--font-body);font-weight:400;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:4px}

/* ===== CSS VARIABLES ===== */
:root{
  --color-primary:#FF4500;
  --color-secondary:#1A237E;
  --color-accent:#FFD700;
  --color-bg:#0D1117;
  --color-surface:#161B22;
  --color-text:#FFFFFF;
  --color-text-secondary:#B0B0B0;
  --color-border:#30363D;
  --color-success:#00FF7F;
  --color-error:#FF3377;
  --color-warning:#FFA500;
  --font-heading:'Impact','Arial Black','Helvetica Neue',sans-serif;
  --font-body:-apple-system,'Inter','Segoe UI','Helvetica Neue',Arial,sans-serif;
  --font-data:'JetBrains Mono','Consolas','Courier New',monospace;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:20px;
  --radius-xl:24px;
  --radius-pill:9999px;
  --space-xs:4px;
  --space-sm:8px;
  --space-md:16px;
  --space-lg:24px;
  --space-xl:32px;
  --space-2xl:48px;
  --space-3xl:64px;
  --space-4xl:96px;
  --max-width:1280px;
  --header-z:100;
  --transition-fast:0.2s ease;
  --transition-base:0.3s ease;
  --transition-slow:0.5s ease;
  --shadow-card:0 4px 20px rgba(0,0,0,0.4);
}

/* ===== PREFERS REDUCED MOTION ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* ===== CONTAINER ===== */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}
@media(min-width:768px){.container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}
@media(min-width:1200px){.container{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}}

/* ===== SKIP LINK ===== */
.skip-link{position:absolute;top:-100px;left:var(--space-md);z-index:200;padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;font-weight:700;border-radius:var(--radius-sm);transition:top var(--transition-fast)}
.skip-link:focus{top:var(--space-sm)}

/* ===== SITE HEADER ===== */
.site-header{position:relative;z-index:var(--header-z);background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-bg) 100%);border-bottom:2px solid var(--color-primary)}
.header-inner{display:flex;flex-direction:column;padding-top:var(--space-md);padding-bottom:var(--space-md)}
.header-top{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;transition:opacity var(--transition-fast)}
.brand:hover{opacity:0.9}
.brand-name{font-family:var(--font-heading);font-size:28px;font-weight:900;color:var(--color-text);letter-spacing:0.5px;position:relative}
.brand-name::after{content:'';display:block;width:100%;height:3px;background:var(--color-primary);border-radius:var(--radius-pill);margin-top:2px}
.brand-tagline{font-size:14px;color:var(--color-text-secondary);font-weight:400;letter-spacing:0.3px;display:none}
@media(min-width:480px){.brand-tagline{display:inline-block}}

/* ===== NAV TOGGLE (MOBILE) ===== */
.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;border-radius:var(--radius-sm);transition:background var(--transition-fast);position:relative;z-index:110}
.nav-toggle:hover{background:rgba(255,69,0,0.15)}
.nav-toggle-icon{display:block;width:26px;height:3px;background:var(--color-primary);border-radius:var(--radius-pill);transition:transform var(--transition-base),opacity var(--transition-base)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(min-width:1024px){.nav-toggle{display:none}}

/* ===== MAIN NAV ===== */
.main-nav{overflow:hidden;max-height:0;transition:max-height var(--transition-slow),opacity var(--transition-base);opacity:0}
.main-nav[data-open]{max-height:600px;opacity:1}
.nav-list{display:flex;flex-direction:column;gap:var(--space-xs);padding-top:var(--space-lg)}
.nav-link{display:block;padding:var(--space-sm) var(--space-md);font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);position:relative}
.nav-link:hover,.nav-link:focus-visible{color:var(--color-primary);background:rgba(255,69,0,0.1);transform:translateX(4px)}
.nav-link[aria-current="page"]{color:var(--color-primary);background:rgba(255,69,0,0.12);border-left:4px solid var(--color-primary)}
@media(min-width:1024px){
  .main-nav{max-height:none !important;opacity:1 !important;overflow:visible}
  .nav-list{flex-direction:row;gap:var(--space-sm);padding-top:var(--space-md)}
  .nav-link{font-size:17px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-pill)}
  .nav-link:hover{transform:none;background:rgba(255,69,0,0.15)}
  .nav-link[aria-current="page"]{border-left:none;border-bottom:3px solid var(--color-primary);background:rgba(255,69,0,0.1)}
}

/* ===== SITE FOOTER ===== */
.site-footer{background:var(--color-bg);border-top:3px solid var(--color-primary);padding:var(--space-3xl) 0 var(--space-lg)}
.footer-inner{display:flex;flex-direction:column;gap:var(--space-2xl)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}
@media(min-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1.5fr}}
.footer-brand .brand-name{font-size:24px}
.footer-brand .brand-name::after{height:2px}
.footer-desc{color:var(--color-text-secondary);font-size:15px;max-width:380px;margin-top:var(--space-sm)}
.footer-social{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}
.social-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface);color:var(--color-accent);font-size:18px;transition:background var(--transition-fast),transform var(--transition-fast);cursor:default}
.social-icon:hover{background:var(--color-primary);color:#fff;transform:scale(1.1)}
.footer-heading{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:var(--space-md);position:relative;padding-bottom:var(--space-sm)}
.footer-heading::after{content:'';position:absolute;bottom:0;left:0;width:40px;height:3px;background:var(--color-primary);border-radius:var(--radius-pill)}
.footer-link-list{display:flex;flex-direction:column;gap:var(--space-sm)}
.footer-link-list a{color:var(--color-text-secondary);font-size:15px;transition:color var(--transition-fast),padding-left var(--transition-fast);padding:var(--space-xs) 0}
.footer-link-list a:hover{color:var(--color-primary);padding-left:var(--space-sm)}
.footer-contact p{color:var(--color-text-secondary);font-size:14px;margin-bottom:var(--space-sm);line-height:1.7}
.footer-contact a{color:var(--color-primary);transition:color var(--transition-fast)}
.footer-contact a:hover{color:var(--color-accent)}
.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding-top:var(--space-xl);border-top:1px solid var(--color-border);text-align:center}
.footer-icp{font-size:13px;color:var(--color-text-secondary);letter-spacing:0.3px}
.footer-note{font-size:13px;color:var(--color-text-secondary)}

/* ===== TYPOGRAPHY ===== */
.heading-1{font-family:var(--font-heading);font-size:40px;font-weight:900;line-height:1.1;letter-spacing:-0.5px;color:var(--color-text)}
.heading-2{font-family:var(--font-heading);font-size:36px;font-weight:900;line-height:1.15;letter-spacing:-0.3px;color:var(--color-text)}
.heading-3{font-family:var(--font-heading);font-size:28px;font-weight:900;line-height:1.2;color:var(--color-text)}
.heading-4{font-family:var(--font-heading);font-size:22px;font-weight:700;line-height:1.3;color:var(--color-text)}
@media(min-width:480px){.heading-1{font-size:48px}.heading-2{font-size:40px}.heading-3{font-size:30px}.heading-4{font-size:24px}}
@media(min-width:768px){.heading-1{font-size:56px}.heading-2{font-size:46px}.heading-3{font-size:32px}}
@media(min-width:1024px){.heading-1{font-size:64px}.heading-2{font-size:48px}.heading-3{font-size:32px}.heading-4{font-size:24px}}
.body-text{font-size:16px;line-height:1.7;color:var(--color-text-secondary)}
.text-small{font-size:14px;color:var(--color-text-secondary)}
.data-value{font-family:var(--font-data);font-size:36px;font-weight:700;color:var(--color-primary);letter-spacing:1px}
@media(min-width:480px){.data-value{font-size:42px}}
@media(min-width:768px){.data-value{font-size:48px}}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 28px;font-family:var(--font-heading);font-size:16px;font-weight:700;border-radius:var(--radius-pill);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);border:2px solid transparent;min-height:48px;text-align:center}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,69,0,0.3)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover{background:#e03d00;border-color:#e03d00}
.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-secondary)}
.btn-secondary:hover{background:var(--color-secondary);color:#fff}
.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}
.btn-ghost:hover{color:var(--color-primary);border-color:var(--color-primary);background:rgba(255,69,0,0.05)}

/* ===== SECTION ===== */
.section{padding:var(--space-3xl) 0}
.section-dark{background:var(--color-bg)}
.section-darker{background:color-mix(in srgb,var(--color-bg) 95%,#000)}

/* ===== CARD ===== */
.card{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.5)}
@media(min-width:480px){.card{padding:var(--space-xl)}}
@media(min-width:768px){.card{padding:var(--space-2xl)}}

/* ===== TAG ===== */
.tag{display:inline-flex;align-items:center;padding:4px 14px;font-size:13px;font-weight:700;border-radius:var(--radius-pill);letter-spacing:0.3px;line-height:1.4}
.tag-accent{background:rgba(255,215,0,0.2);color:var(--color-accent)}
.tag-success{background:rgba(0,255,127,0.15);color:var(--color-success)}
.tag-error{background:rgba(255,51,119,0.15);color:var(--color-error)}

/* ===== BREADCRUMB ===== */
.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:14px;color:var(--color-text-secondary);padding:var(--space-md) 0}
.breadcrumb li{display:flex;align-items:center;gap:var(--space-sm)}
.breadcrumb li+li::before{content:'/';color:var(--color-border)}
.breadcrumb a{color:var(--color-text-secondary);transition:color var(--transition-fast)}
.breadcrumb a:hover{color:var(--color-primary)}
.breadcrumb [aria-current="page"]{color:var(--color-primary);font-weight:600}

/* ===== SCROLL PROGRESS ===== */
[data-scroll-progress]{position:fixed;top:0;left:0;width:100%;height:4px;z-index:999;background:transparent;pointer-events:none}
[data-scroll-progress]::before{content:'';display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:0 var(--radius-pill) var(--radius-pill) 0;transition:width 0.1s linear}

/* ===== REVEAL ANIMATION ===== */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slow),transform var(--transition-slow)}
[data-reveal].revealed{opacity:1;transform:translateY(0)}
[data-reveal="fade"]{transform:none}
[data-reveal="fade"].revealed{opacity:1}

/* ===== RESPONSIVE HELPERS ===== */
@media(max-width:639px){.hide-mobile{display:none !important}}
@media(min-width:640px)and (max-width:1023px){.hide-tablet{display:none !important}}
@media(min-width:1024px){.hide-desktop{display:none !important}}

/* ===== COMMON SPACING ===== */
.mt-sm{margin-top:var(--space-sm)}
.mt-md{margin-top:var(--space-md)}
.mt-lg{margin-top:var(--space-lg)}
.mt-xl{margin-top:var(--space-xl)}
.mb-sm{margin-bottom:var(--space-sm)}
.mb-md{margin-bottom:var(--space-md)}
.mb-lg{margin-bottom:var(--space-lg)}
.mb-xl{margin-bottom:var(--space-xl)}
.p-sm{padding:var(--space-sm)}
.p-md{padding:var(--space-md)}
.p-lg{padding:var(--space-lg)}
.p-xl{padding:var(--space-xl)}

/* ===== GRID SYSTEM ===== */
.grid{display:grid;gap:var(--space-lg)}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}
@media(min-width:480px){.grid-2{grid-template-columns:1fr 1fr}}
@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr}.grid-4{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-4{grid-template-columns:1fr 1fr 1fr 1fr}}

/* ===== IMAGE CONTAINER BASE ===== */
.img-container{position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-surface)}
.img-container img{width:100%;height:100%;object-fit:cover}
.img-container-16x9{padding-bottom:56.25%}
.img-container-4x3{padding-bottom:75%}
.img-container-1x1{padding-bottom:100%}
.img-container img{position:absolute;top:0;left:0}
