*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',sans-serif;font-size:16px;font-weight:400;line-height:1.55;color:#3a3a3a;background:#fffaf0}
a{color:#0a0a0a;text-decoration:underline}
a:hover{color:#1f1f1f}
img{max-width:100%;height:auto;display:block}
ul[role="list"]{list-style:none}
address{font-style:normal}

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

/* NAV */
.top-nav{background:#fffaf0;height:64px;border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:100}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{font-family:'Inter',sans-serif;font-size:18px;font-weight:600;color:#0a0a0a;text-decoration:none;letter-spacing:-0.3px;flex-shrink:0}
.nav-links{display:flex;gap:4px;list-style:none;align-items:center}
.nav-links a{font-size:14px;font-weight:500;color:#3a3a3a;text-decoration:none;padding:8px 12px;border-radius:9999px;transition:background .15s,color .15s}
.nav-links a:hover,.nav-links a[aria-current="page"]{background:#f5f0e0;color:#0a0a0a}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav-hamburger span{display:block;width:22px;height:2px;background:#0a0a0a;border-radius:2px;transition:transform .2s,opacity .2s}

/* HERO */
.hero-band{padding:96px 24px;background:#fffaf0}
.hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:center}
.hero-label{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#6a6a6a;margin-bottom:16px}
.hero-h1{font-family:'Inter',sans-serif;font-size:56px;font-weight:500;line-height:1.05;letter-spacing:-2px;color:#0a0a0a;margin-bottom:24px}
.hero-sub{font-size:18px;font-weight:400;line-height:1.5;color:#3a3a3a;max-width:480px;margin-bottom:32px}
.hero-img-card{background:#faf5e8;border-radius:24px;overflow:hidden;aspect-ratio:4/3}
.hero-img-card img{width:100%;height:100%;object-fit:cover}

/* FEATURE CARDS GRID */
.section{padding:96px 24px}
.section-label{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#6a6a6a;margin-bottom:16px}
.section-h2{font-family:'Inter',sans-serif;font-size:40px;font-weight:500;line-height:1.1;letter-spacing:-1px;color:#0a0a0a;margin-bottom:48px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-card{border-radius:24px;padding:32px;display:flex;flex-direction:column;gap:16px;text-decoration:none}
.feature-card--pink{background:#ff4d8b;color:#fff}
.feature-card--teal{background:#1a3a3a;color:#fff}
.feature-card--lavender{background:#b8a4ed;color:#0a0a0a}
.feature-card--peach{background:#ffb084;color:#0a0a0a}
.feature-card--ochre{background:#e8b94a;color:#0a0a0a}
.feature-card--cream{background:#f5f0e0;color:#0a0a0a}
.feature-card .card-badge{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;opacity:.8}
.feature-card .card-title{font-size:18px;font-weight:600;line-height:1.4}
.feature-card .card-body{font-size:14px;line-height:1.55;opacity:.85}
.feature-card .card-link{font-size:14px;font-weight:600;margin-top:auto;text-decoration:underline}
.feature-card--pink .card-link,.feature-card--teal .card-link{color:#fff}
.feature-card--lavender .card-link,.feature-card--peach .card-link,.feature-card--ochre .card-link,.feature-card--cream .card-link{color:#0a0a0a}
.feature-card .card-img{border-radius:12px;overflow:hidden;aspect-ratio:16/9;margin-bottom:4px}
.feature-card .card-img img{width:100%;height:100%;object-fit:cover}

/* ARTICLE PAGE */
.article-hero{padding:64px 24px 48px;background:#fffaf0;border-bottom:1px solid #e5e5e5}
.article-hero-inner{max-width:800px;margin:0 auto}
.breadcrumb{font-size:13px;font-weight:500;color:#6a6a6a;margin-bottom:16px}
.breadcrumb a{color:#6a6a6a;text-decoration:none}
.breadcrumb a:hover{color:#0a0a0a}
.article-title{font-family:'Inter',sans-serif;font-size:40px;font-weight:500;line-height:1.1;letter-spacing:-1px;color:#0a0a0a;margin-bottom:16px}
.article-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px;color:#6a6a6a}
.article-meta .badge-pill{background:#f5f0e0;color:#0a0a0a;font-size:13px;font-weight:500;padding:4px 12px;border-radius:9999px}
.article-body{padding:64px 24px 96px}
.article-body-inner{max-width:800px;margin:0 auto}
.article-body-inner p{margin-bottom:24px;font-size:16px;line-height:1.7;color:#3a3a3a}
.article-body-inner h2{font-family:'Inter',sans-serif;font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-0.5px;color:#0a0a0a;margin:48px 0 20px}
.article-body-inner h3{font-size:20px;font-weight:600;line-height:1.3;color:#0a0a0a;margin:32px 0 16px}
.article-body-inner ul,.article-body-inner ol{margin:0 0 24px 24px;font-size:16px;line-height:1.7;color:#3a3a3a}
.article-body-inner li{margin-bottom:8px}
.article-figure{margin:40px 0;border-radius:16px;overflow:hidden;border:1px solid #e5e5e5}
.article-figure img{width:100%;height:auto}
.article-figure figcaption{padding:12px 16px;font-size:13px;color:#6a6a6a;background:#faf5e8}
.article-body-inner a{color:#0a0a0a}
.related-articles{padding:0 24px 96px}
.related-inner{max-width:1280px;margin:0 auto}
.related-h2{font-family:'Inter',sans-serif;font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-0.5px;color:#0a0a0a;margin-bottom:32px}

/* CONTACT FORM SECTION */
.form-section{padding:96px 24px;background:#faf5e8}
.form-section-inner{max-width:600px;margin:0 auto}
.form-section h2{font-family:'Inter',sans-serif;font-size:40px;font-weight:500;line-height:1.1;letter-spacing:-1px;color:#0a0a0a;margin-bottom:8px}
.form-section p{font-size:16px;color:#3a3a3a;margin-bottom:32px}
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:600;color:#0a0a0a;margin-bottom:6px}
.form-group input,.form-group textarea{width:100%;background:#fffaf0;color:#0a0a0a;font-family:'Inter',sans-serif;font-size:16px;line-height:1.55;border:1px solid #e5e5e5;border-radius:12px;padding:12px 16px;height:44px;transition:border-color .15s}
.form-group textarea{height:120px;resize:vertical}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0a0a0a}
.btn-primary{background:#0a0a0a;color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;line-height:1;padding:12px 20px;height:44px;border-radius:12px;border:none;cursor:pointer;transition:background .15s}
.btn-primary:hover{background:#1f1f1f}
.btn-primary:disabled{background:#e5e5e5;color:#6a6a6a;cursor:not-allowed}

/* ABOUT / STATIC PAGES */
.page-hero{padding:64px 24px 48px;background:#fffaf0;border-bottom:1px solid #e5e5e5}
.page-hero-inner{max-width:800px;margin:0 auto}
.page-title{font-family:'Inter',sans-serif;font-size:40px;font-weight:500;line-height:1.1;letter-spacing:-1px;color:#0a0a0a;margin-bottom:16px}
.page-sub{font-size:18px;color:#3a3a3a}
.page-body{padding:64px 24px 96px}
.page-body-inner{max-width:800px;margin:0 auto}
.page-body-inner h2{font-family:'Inter',sans-serif;font-size:32px;font-weight:500;line-height:1.15;letter-spacing:-0.5px;color:#0a0a0a;margin:40px 0 16px}
.page-body-inner h3{font-size:20px;font-weight:600;color:#0a0a0a;margin:28px 0 12px}
.page-body-inner p{font-size:16px;line-height:1.7;color:#3a3a3a;margin-bottom:20px}
.page-body-inner ul{margin:0 0 20px 24px;font-size:16px;line-height:1.7;color:#3a3a3a}
.page-body-inner li{margin-bottom:6px}
.page-body-inner a{color:#0a0a0a}

/* FOOTER */
.footer{background:#faf5e8;padding:80px 24px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand{font-size:18px;font-weight:600;color:#0a0a0a;margin-bottom:12px}
.footer-tagline{font-size:14px;line-height:1.6;color:#6a6a6a}
.footer-col-title{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#6a6a6a;margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{font-size:14px;color:#3a3a3a;text-decoration:none}
.footer-col a:hover{color:#0a0a0a;text-decoration:underline}
.footer-col address p{font-size:14px;line-height:1.6;color:#3a3a3a;margin-bottom:8px}
.footer-col address a{color:#3a3a3a;text-decoration:none}
.footer-col address a:hover{color:#0a0a0a;text-decoration:underline}
.footer-bottom{border-top:1px solid #e5e5e5;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer-bottom p{font-size:13px;color:#6a6a6a}

/* COOKIE BANNER */
#cookie-banner{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:640px;background:#0a1a1a;color:#fff;border-radius:16px;padding:20px 24px;z-index:9999;box-shadow:0 4px 32px rgba(0,0,0,.18)}
#cookie-banner.visible{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
#cookie-banner p{font-size:14px;line-height:1.5;flex:1;min-width:200px}
#cookie-banner a{color:#e8b94a;text-decoration:underline}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
#cookie-accept{background:#fffaf0;color:#0a0a0a;font-size:14px;font-weight:600;padding:10px 18px;border-radius:9999px;border:none;cursor:pointer}
#cookie-reject{background:transparent;color:#a0a0a0;font-size:14px;font-weight:500;padding:10px 18px;border-radius:9999px;border:1px solid #a0a0a0;cursor:pointer}

/* DISCLAIMER */
.disclaimer{background:#f5f0e0;border:1px solid #e5e5e5;border-radius:12px;padding:16px 20px;margin-bottom:32px}
.disclaimer p{font-size:14px;line-height:1.6;color:#6a6a6a;margin:0}

/* RESPONSIVE */
@media(max-width:1024px){.cards-grid{grid-template-columns:repeat(2,1fr)}.footer-cols{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
.hero-inner{grid-template-columns:1fr;gap:32px}
.hero-h1{font-size:36px;letter-spacing:-1.5px}
.hero-img-card{order:-1}
.cards-grid{grid-template-columns:1fr}
.article-title,.page-title,.section-h2{font-size:32px;letter-spacing:-0.5px}
.footer-cols{grid-template-columns:1fr 1fr}
.nav-hamburger{display:flex}
.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:#fffaf0;flex-direction:column;padding:16px;border-bottom:1px solid #e5e5e5;gap:0;z-index:99}
.nav-links.open{display:flex}
.nav-links a{padding:12px 16px;border-radius:12px}
}
@media(max-width:480px){.footer-cols{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}
