:root {
  --canvas: #181818;
  --canvas-elevated: #303030;
  --canvas-light: #ffffff;
  --surface-soft-light: #f7f7f7;
  --primary: #da291c;
  --primary-active: #b01e0a;
  --ink: #ffffff;
  --body: #969696;
  --body-on-light: #181818;
  --muted: #666666;
  --hairline: #303030;
  --hairline-on-light: #d2d2d2;
  --on-primary: #ffffff;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Inter',-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--body);background:var(--canvas);}
a{color:var(--ink);text-decoration:none;}
a:hover{color:var(--primary);text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,h5{font-weight:500;color:var(--ink);}

.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:static;width:auto;height:auto;padding:8px 16px;background:var(--primary);color:var(--on-primary);}

.site-nav{background:var(--canvas);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:100;}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 32px;height:64px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{font-size:18px;font-weight:500;color:var(--ink);letter-spacing:-0.5px;}
.nav-logo span{color:var(--primary);}
.nav-menu{display:flex;gap:0;list-style:none;margin:0;padding:0;}
.nav-menu a{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:0.65px;color:var(--body);padding:8px 16px;display:block;}
.nav-menu a:hover,.nav-menu a.active{color:var(--ink);}
.nav-menu a.active{border-bottom:2px solid var(--primary);}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--ink);margin:4px 0;}
.nav-menu.open{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--canvas);border-bottom:1px solid var(--hairline);padding:16px 32px;}

.container{max-width:1280px;margin:0 auto;padding:0 32px;}

.hero-band{padding:96px 0;border-bottom:1px solid var(--hairline);}
.hero-inner{max-width:1280px;margin:0 auto;padding:0 32px;}
.hero-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin:0 0 24px;}
.hero-title{font-size:56px;font-weight:500;line-height:1.1;letter-spacing:-1.12px;color:var(--ink);margin:0 0 24px;max-width:800px;}
.hero-body{font-size:18px;font-weight:400;line-height:1.5;color:var(--body);margin:0 0 40px;max-width:640px;}
.hero-cta-row{display:flex;gap:16px;flex-wrap:wrap;}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;background:var(--primary);color:var(--on-primary);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;border:none;cursor:pointer;text-decoration:none;}
.btn-primary:hover{background:var(--primary-active);color:var(--on-primary);}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 32px;background:transparent;color:var(--ink);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;border:1px solid rgba(255,255,255,0.3);cursor:pointer;text-decoration:none;}
.btn-outline:hover{border-color:var(--ink);color:var(--ink);}

.section-dark{background:var(--canvas);padding:96px 0;}
.section-elevated{background:var(--canvas-elevated);padding:96px 0;}
.section-light{background:var(--canvas-light);padding:96px 0;}
.section-soft{background:var(--surface-soft-light);padding:96px 0;}

.section-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin:0 0 16px;display:block;}
.section-title-dark{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-0.36px;color:var(--ink);margin:0 0 16px;}
.section-title-light{font-size:36px;font-weight:500;line-height:1.2;letter-spacing:-0.36px;color:var(--body-on-light);margin:0 0 16px;}
.section-body-dark{font-size:14px;line-height:1.5;color:var(--body);margin:0 0 40px;}
.section-body-light{font-size:14px;line-height:1.5;color:#636363;margin:0 0 40px;}

.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:32px;flex-wrap:wrap;}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:var(--ink);}
.breadcrumb .sep{color:var(--hairline);}

.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);margin-top:48px;}
.topic-card{background:var(--canvas);padding:32px 24px;}
.topic-card-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin:0 0 12px;display:block;}
.topic-card h3{font-size:18px;font-weight:500;color:var(--ink);margin:0 0 10px;}
.topic-card p{font-size:13px;color:var(--body);margin:0 0 16px;line-height:1.5;}
.topic-card a{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);}

.toc-box{border:1px solid var(--hairline);padding:24px;margin-bottom:40px;}
.toc-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin:0 0 14px;}
.toc-list{list-style:none;margin:0;padding:0;}
.toc-list li{margin-bottom:6px;}
.toc-list a{font-size:13px;color:var(--body);}
.toc-list a:hover{color:var(--ink);}

.page-layout{max-width:1280px;margin:0 auto;padding:64px 32px;}
.page-layout-inner{max-width:860px;}

.content-section{scroll-margin-top:80px;padding:48px 0;border-bottom:1px solid var(--hairline);}
.content-section:last-child{border-bottom:none;}
.content-section h2{font-size:26px;font-weight:500;color:var(--ink);margin:0 0 20px;letter-spacing:0.195px;}
.content-section h3{font-size:18px;font-weight:700;color:var(--ink);margin:24px 0 10px;}
.content-section p{font-size:14px;line-height:1.5;color:var(--body);margin:0 0 14px;}
.content-section ul,.content-section ol{padding-left:20px;margin:0 0 14px;}
.content-section li{font-size:14px;line-height:1.5;color:var(--body);margin-bottom:6px;}

.faq-section{padding:96px 0;}
.faq-list{margin:0;padding:0;list-style:none;}
.faq-item{border-bottom:1px solid var(--hairline);}
.faq-item details{padding:0;}
.faq-item summary{font-size:16px;font-weight:500;color:var(--ink);padding:20px 0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;user-select:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'＋';font-size:18px;font-weight:400;color:var(--primary);transition:transform 0.2s;}
.faq-item details[open] summary::after{content:'－';}
.faq-answer{font-size:14px;line-height:1.5;color:var(--body);padding:0 0 20px;max-width:680px;}

.related-box{background:var(--canvas-elevated);padding:40px;margin-top:64px;}
.related-box-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--primary);margin:0 0 24px;}
.related-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);}
.related-item{background:var(--canvas-elevated);padding:24px;}
.related-item h4{font-size:14px;font-weight:500;color:var(--ink);margin:0 0 8px;}
.related-item p{font-size:13px;color:var(--body);margin:0 0 12px;}
.related-item a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--primary);}

.disclaimer-block{background:var(--canvas-elevated);border-left:3px solid var(--primary);padding:16px 20px;margin:32px 0;font-size:12px;color:var(--muted);line-height:1.5;}
.disclaimer-block strong{color:var(--body);}

.contact-form{max-width:560px;}
.form-group{margin-bottom:24px;}
.form-group label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:8px;letter-spacing:0.08px;}
.form-group input,.form-group textarea{width:100%;padding:14px 16px;background:var(--canvas);color:var(--ink);border:1px solid var(--hairline);font-size:14px;font-family:inherit;line-height:1.5;}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:rgba(255,255,255,0.5);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-loader{display:none;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin-top:12px;}
.form-loader.visible{display:flex;}
.spinner{width:18px;height:18px;border:2px solid var(--hairline);border-top-color:var(--primary);border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.form-success{display:none;background:var(--canvas-elevated);border:1px solid rgba(218,41,28,0.3);padding:16px 20px;font-size:14px;color:var(--ink);margin-top:16px;}
.form-success.visible{display:block;}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--canvas-elevated);border-top:1px solid var(--hairline);padding:20px 32px;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.cookie-text{font-size:13px;line-height:1.5;color:var(--body);max-width:680px;}
.cookie-text a{color:var(--primary);}
.cookie-buttons{display:flex;gap:12px;flex-shrink:0;}
.btn-cookie-accept{height:40px;padding:0 24px;background:var(--primary);color:var(--on-primary);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:none;cursor:pointer;}
.btn-cookie-reject{height:40px;padding:0 24px;background:transparent;color:var(--ink);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:1px solid var(--hairline);cursor:pointer;}

.site-footer{background:var(--canvas);border-top:1px solid var(--hairline);padding:64px 32px 48px;}
.footer-inner{max-width:1280px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;}
.footer-col h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;color:var(--ink);margin:0 0 16px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{margin-bottom:8px;}
.footer-col a{font-size:13px;color:var(--body);}
.footer-col a:hover{color:var(--ink);}
.footer-col p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 6px;}
.footer-bottom{border-top:1px solid var(--hairline);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-copy{font-size:12px;color:var(--muted);}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap;}
.footer-legal a{font-size:12px;color:var(--muted);}
.footer-legal a:hover{color:var(--body);}

.badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.1px;background:var(--canvas-elevated);color:var(--ink);padding:4px 12px;border-radius:9999px;margin-bottom:16px;}

.light-section .content-section{border-color:var(--hairline-on-light);}
.light-section .content-section h2{color:var(--body-on-light);}
.light-section .content-section p,.light-section .content-section li{color:#3d3d3d;}

@media(max-width:1024px){
  .topic-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .related-list{grid-template-columns:1fr;}
  .hero-title{font-size:44px;}
}
@media(max-width:767px){
  .nav-inner{padding:0 16px;}
  .nav-menu{display:none;}
  .nav-hamburger{display:block;}
  .hero-band{padding:64px 0;}
  .hero-inner{padding:0 16px;}
  .hero-title{font-size:32px;letter-spacing:-0.5px;}
  .hero-body{font-size:16px;}
  .container{padding:0 16px;}
  .page-layout{padding:40px 16px;}
  .topic-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .cookie-banner{flex-direction:column;align-items:flex-start;padding:16px;}
  .section-dark,.section-elevated,.section-light,.section-soft{padding:64px 0;}
  .faq-section{padding:64px 0;}
}
