@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300..700;1,14..32,300..700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink:#181d26;
  --body-text:#333840;
  --muted:#41454d;
  --canvas:#ffffff;
  --surface-soft:#f8fafc;
  --surface-strong:#e0e2e6;
  --surface-dark:#181d26;
  --surface-dark-elevated:#1d1f25;
  --hairline:#dddddd;
  --coral:#aa2d00;
  --forest:#0a2e0e;
  --cream:#f5e9d4;
  --peach:#fcab79;
  --mint:#a8d8c4;
  --yellow:#f4d35e;
  --link:#1b61c9;
  --link-active:#1a3866;
  --on-primary:#ffffff;
  --rounded-xs:2px;
  --rounded-sm:6px;
  --rounded-md:10px;
  --rounded-lg:12px;
  --section:96px;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

html{scroll-behavior:smooth}
body{font-family:var(--font);font-size:14px;font-weight:400;line-height:1.6;color:var(--body-text);background:var(--canvas);-webkit-font-smoothing:antialiased}

.container{max-width:1280px;margin:0 auto;padding:0 48px}
@media(max-width:768px){.container{padding:0 20px}}

a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-active)}
img{max-width:100%;height:auto;display:block}

.site-header{position:sticky;top:0;z-index:100;background:var(--canvas);border-bottom:1px solid var(--hairline);height:64px}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-0.3px}
.logo span{color:var(--coral)}
.logo:hover{color:var(--ink)}
.main-nav ul{display:flex;gap:32px;list-style:none}
.main-nav a{font-size:14px;font-weight:400;color:var(--body-text);transition:color .15s}
.main-nav a:hover,.main-nav a.active{color:var(--ink)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .2s}
@media(max-width:768px){
  .nav-toggle{display:flex}
  .main-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--canvas);border-bottom:1px solid var(--hairline);padding:16px 20px 24px}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:12px}
}

.btn-primary{display:inline-block;background:var(--ink);color:var(--on-primary);font-size:16px;font-weight:500;line-height:1.4;padding:16px 24px;border-radius:var(--rounded-lg);border:none;cursor:pointer;transition:background .15s}
.btn-primary:hover{background:#0d1218;color:var(--on-primary)}
.btn-secondary{display:inline-block;background:var(--canvas);color:var(--ink);font-size:16px;font-weight:500;line-height:1.4;padding:16px 24px;border-radius:var(--rounded-lg);border:1px solid var(--hairline);cursor:pointer;transition:border-color .15s}
.btn-secondary:hover{border-color:#9297a0;color:var(--ink)}
.btn-legal{display:inline-block;background:var(--link);color:var(--on-primary);font-size:13.12px;font-weight:600;padding:12px 10px;border-radius:var(--rounded-xs);border:none;cursor:pointer}
.btn-legal-reject{display:inline-block;background:transparent;color:var(--body-text);font-size:13.12px;font-weight:600;padding:12px 10px;border-radius:var(--rounded-xs);border:1px solid var(--hairline);cursor:pointer}

.hero-band{padding:var(--section) 0;background:var(--canvas)}
.hero-inner{max-width:680px}
.hero-eyebrow{font-size:14px;font-weight:500;letter-spacing:0.16px;color:var(--muted);margin-bottom:16px}
.hero-title{font-size:40px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:20px}
.hero-sub{font-size:14px;font-weight:400;line-height:1.6;color:var(--body-text);max-width:540px;margin-bottom:32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:768px){.hero-title{font-size:28px}}

.section{padding:var(--section) 0}
.section-label{font-size:14px;font-weight:500;letter-spacing:0.16px;color:var(--muted);margin-bottom:12px}
.section-title{font-size:32px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:16px}
.section-sub{font-size:14px;line-height:1.6;color:var(--body-text);max-width:600px;margin-bottom:48px}
@media(max-width:768px){.section-title{font-size:24px}}

.card-grid{display:grid;gap:24px}
.card-grid-3{grid-template-columns:repeat(3,1fr)}
.card-grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:1024px){.card-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.card-grid-3,.card-grid-2{grid-template-columns:1fr}}

.article-card{background:var(--canvas);border-radius:var(--rounded-md);border:1px solid var(--hairline);overflow:hidden;display:flex;flex-direction:column}
.article-card img{width:100%;height:200px;object-fit:cover}
.article-card-body{padding:16px;flex:1;display:flex;flex-direction:column}
.article-card-tag{font-size:12px;font-weight:500;letter-spacing:0.16px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.article-card-title{font-size:18px;font-weight:500;line-height:1.4;color:var(--ink);margin-bottom:8px}
.article-card-title a{color:inherit}
.article-card-title a:hover{color:var(--coral)}
.article-card-excerpt{font-size:14px;line-height:1.6;color:var(--body-text);flex:1;margin-bottom:16px}
.article-card-meta{font-size:13px;color:var(--muted);margin-top:auto}

.signature-coral{background:var(--coral);color:var(--on-primary);border-radius:var(--rounded-lg);padding:48px;margin:0}
.signature-coral h2{font-size:32px;font-weight:400;line-height:1.2;margin-bottom:16px}
.signature-coral p{font-size:14px;line-height:1.6;max-width:540px;margin-bottom:32px;opacity:.9}

.signature-dark{background:var(--surface-dark);color:var(--on-primary);border-radius:var(--rounded-lg);padding:48px}
.signature-dark h2{font-size:32px;font-weight:400;line-height:1.2;margin-bottom:16px}
.signature-dark p{font-size:14px;line-height:1.6;max-width:540px;margin-bottom:32px;opacity:.85}

.signature-forest{background:var(--forest);color:var(--on-primary);border-radius:var(--rounded-lg);padding:48px}
.signature-forest h2{font-size:32px;font-weight:400;line-height:1.2;margin-bottom:16px}
.signature-forest p{font-size:14px;line-height:1.6;max-width:540px;margin-bottom:32px;opacity:.85}

.cream-band{background:var(--cream);padding:var(--section) 0}
.cream-callout{border-radius:var(--rounded-md);padding:24px}

.surface-soft-band{background:var(--surface-soft);padding:var(--section) 0}

.cta-band{background:var(--surface-strong);border-radius:var(--rounded-lg);padding:48px;text-align:center;margin:var(--section) 0}
.cta-band h2{font-size:32px;font-weight:400;color:var(--ink);margin-bottom:12px}
.cta-band p{font-size:14px;color:var(--body-text);margin-bottom:28px}

.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:var(--section) 0}
@media(max-width:768px){.info-strip{grid-template-columns:1fr}}
.info-item h3{font-size:24px;font-weight:400;color:var(--ink);margin-bottom:8px}
.info-item p{font-size:14px;color:var(--body-text)}

.contact-form{background:var(--surface-soft);border-radius:var(--rounded-lg);padding:48px;max-width:640px}
.contact-form h2{font-size:24px;font-weight:400;color:var(--ink);margin-bottom:8px}
.contact-form p{font-size:14px;color:var(--body-text);margin-bottom:28px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:14px;border:1px solid var(--hairline);border-radius:var(--rounded-sm);padding:12px 16px;height:44px;outline:none;transition:border-color .15s}
.form-group input:focus,.form-group textarea:focus{border-color:#458fff}
.form-group textarea{height:120px;resize:vertical}
.form-submit{margin-top:8px}

.page-hero{padding:var(--section) 0;background:var(--canvas);border-bottom:1px solid var(--hairline)}
.page-hero h1{font-size:40px;font-weight:400;color:var(--ink);margin-bottom:12px}
.page-hero p{font-size:14px;color:var(--body-text);max-width:600px}
@media(max-width:768px){.page-hero h1{font-size:26px}}

.article-hero{padding:var(--section) 0;background:var(--canvas)}
.article-hero h1{font-size:40px;font-weight:400;line-height:1.2;color:var(--ink);margin-bottom:16px;max-width:760px}
.article-hero .article-meta{font-size:13px;color:var(--muted);margin-bottom:24px}
.article-hero img{width:100%;max-height:480px;object-fit:cover;border-radius:var(--rounded-md);margin-top:32px}
@media(max-width:768px){.article-hero h1{font-size:24px}}

.article-body{padding:var(--section) 0}
.article-content{max-width:720px}
.article-content h2{font-size:24px;font-weight:400;color:var(--ink);margin:40px 0 16px;line-height:1.35}
.article-content h3{font-size:20px;font-weight:400;color:var(--ink);margin:28px 0 12px}
.article-content p{font-size:14px;line-height:1.8;color:var(--body-text);margin-bottom:20px}
.article-content ul,.article-content ol{margin:0 0 20px 24px;font-size:14px;line-height:1.8;color:var(--body-text)}
.article-content li{margin-bottom:6px}
.article-content a{color:var(--link)}
.article-content a:hover{color:var(--link-active)}
.article-content figure{margin:32px 0}
.article-content figure img{border-radius:var(--rounded-md);width:100%}
.article-content figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.article-updated{font-size:13px;color:var(--muted);margin-top:48px;padding-top:24px;border-top:1px solid var(--hairline)}

.articles-grid-page{padding:var(--section) 0}

.prose-page{padding:var(--section) 0}
.prose-page .prose{max-width:720px}
.prose h2{font-size:24px;font-weight:400;color:var(--ink);margin:36px 0 12px}
.prose h3{font-size:18px;font-weight:500;color:var(--ink);margin:24px 0 10px}
.prose p{font-size:14px;line-height:1.8;color:var(--body-text);margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 16px 24px;font-size:14px;line-height:1.8;color:var(--body-text)}
.prose li{margin-bottom:4px}
.prose a{color:var(--link)}
.prose table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}
.prose th,.prose td{padding:10px 12px;border:1px solid var(--hairline);text-align:left}
.prose th{background:var(--surface-soft);font-weight:500;color:var(--ink)}

.site-footer{background:var(--canvas);border-top:1px solid var(--hairline);padding:var(--section) 0 0}
.footer-inner{}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;margin-bottom:48px}
@media(max-width:1024px){.footer-cols{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.footer-cols{grid-template-columns:1fr}}
.footer-brand{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:12px}
.footer-brand span{color:var(--coral)}
.footer-tagline{font-size:14px;color:var(--body-text);margin-bottom:16px}
.footer-contact{font-size:13px;color:var(--muted);line-height:1.8}
.footer-contact a{color:var(--muted)}
.footer-contact a:hover{color:var(--ink)}
.footer-col h3{font-size:14px;font-weight:500;color:var(--ink);margin-bottom:12px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:8px}
.footer-col ul a{font-size:14px;color:var(--muted)}
.footer-col ul a:hover{color:var(--ink)}
.footer-bottom{border-top:1px solid var(--hairline);padding:24px 0;font-size:13px;color:var(--muted)}
.footer-disclaimer{margin-top:6px;font-size:12px;color:var(--muted);max-width:760px}

#cookie-banner{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--surface-dark-elevated);color:var(--on-primary);padding:20px 48px;border-top:1px solid #333}
#cookie-banner.visible{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
#cookie-banner p{font-size:13px;flex:1;min-width:220px;line-height:1.5}
#cookie-banner p a{color:#9e9eff}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
@media(max-width:768px){#cookie-banner{padding:16px 20px}}

.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb span{margin:0 6px}

.divider{border:none;border-top:1px solid var(--hairline);margin:var(--section) 0}

.updated-badge{display:inline-block;font-size:12px;font-weight:500;letter-spacing:0.12px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--hairline);padding:4px 10px;border-radius:var(--rounded-sm)}
