*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
--color-canvas:#fffaf0;
--color-surface-soft:#faf5e8;
--color-surface-card:#f5f0e0;
--color-surface-strong:#ebe6d6;
--color-ink:#0a0a0a;
--color-body:#3a3a3a;
--color-body-strong:#1a1a1a;
--color-muted:#6a6a6a;
--color-muted-soft:#9a9a9a;
--color-hairline:#e5e5e5;
--color-hairline-soft:#f0f0f0;
--color-primary:#0a0a0a;
--color-on-primary:#ffffff;
--color-brand-pink:#ff4d8b;
--color-brand-teal:#1a3a3a;
--color-brand-lavender:#b8a4ed;
--color-brand-peach:#ffb084;
--color-brand-ochre:#e8b94a;
--color-brand-mint:#a4d4c5;
--color-success:#22c55e;
--color-error:#ef4444;
--rounded-xs:6px;
--rounded-sm:8px;
--rounded-md:12px;
--rounded-lg:16px;
--rounded-xl:24px;
--rounded-pill:9999px;
--spacing-xxs:4px;
--spacing-xs:8px;
--spacing-sm:12px;
--spacing-md:16px;
--spacing-lg:24px;
--spacing-xl:32px;
--spacing-xxl:48px;
--spacing-section:96px;
}

html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:var(--color-canvas);color:var(--color-body);line-height:1.55;-webkit-font-smoothing:antialiased}

a{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}
a:hover{opacity:.75}

img{display:block;max-width:100%;height:auto}

.container{max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-xl)}

.top-nav{background:var(--color-canvas);height:64px;border-bottom:1px solid var(--color-hairline);position:sticky;top:0;z-index:100}
.nav-inner{max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-xl);height:100%;display:flex;align-items:center;gap:var(--spacing-xl)}
.nav-logo{font-size:18px;font-weight:600;letter-spacing:-0.3px;color:var(--color-ink);text-decoration:none;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:var(--spacing-md);list-style:none;margin-left:auto}
.nav-link{font-size:14px;font-weight:500;color:var(--color-muted);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--rounded-pill);transition:color .15s,background .15s}
.nav-link:hover,.nav-link.active{color:var(--color-ink);background:var(--color-surface-card)}
.nav-hamburger{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--color-ink);margin-left:auto;padding:var(--spacing-xs)}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary);font-family:'Inter',sans-serif;font-size:14px;font-weight:600;line-height:1;padding:12px 20px;height:44px;border-radius:var(--rounded-md);border:none;cursor:pointer;text-decoration:none;white-space:nowrap;transition:opacity .15s}
.btn-primary:hover{opacity:.85;color:var(--color-on-primary)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:var(--color-canvas);color:var(--color-ink);font-family:'Inter',sans-serif;font-size:14px;font-weight:600;line-height:1;padding:12px 20px;height:44px;border-radius:var(--rounded-md);border:1px solid var(--color-hairline);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s}
.btn-secondary:hover{background:var(--color-surface-card)}

.badge-pill{display:inline-block;background:var(--color-surface-card);color:var(--color-ink);font-size:13px;font-weight:500;padding:4px 12px;border-radius:var(--rounded-pill)}
.badge-category{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted)}

.hero-band{padding:var(--spacing-section) 0;background:var(--color-canvas)}
.hero-inner{max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-xl);display:grid;grid-template-columns:7fr 5fr;gap:var(--spacing-xxl);align-items:center}
.hero-content{}
.hero-eyebrow{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--spacing-md)}
.hero-h1{font-size:clamp(36px,5vw,72px);font-weight:500;line-height:1;letter-spacing:-2.5px;color:var(--color-ink);margin-bottom:var(--spacing-lg)}
.hero-lead{font-size:18px;font-weight:600;line-height:1.4;color:var(--color-body-strong);margin-bottom:var(--spacing-xl)}
.hero-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}
.hero-image-card{background:var(--color-surface-soft);border-radius:var(--rounded-xl);overflow:hidden;aspect-ratio:4/3}
.hero-image-card img{width:100%;height:100%;object-fit:cover}

.section{padding:var(--spacing-section) 0}
.section-label{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--spacing-md)}
.section-title{font-size:clamp(28px,4vw,56px);font-weight:500;line-height:1.05;letter-spacing:-2px;color:var(--color-ink);margin-bottom:var(--spacing-xl)}
.section-title-md{font-size:clamp(22px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-1px;color:var(--color-ink);margin-bottom:var(--spacing-xl)}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}
.feature-card{border-radius:var(--rounded-xl);padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}
.feature-card--pink{background:var(--color-brand-pink);color:#fff}
.feature-card--teal{background:var(--color-brand-teal);color:#fff}
.feature-card--lavender{background:var(--color-brand-lavender);color:var(--color-ink)}
.feature-card--peach{background:var(--color-brand-peach);color:var(--color-ink)}
.feature-card--ochre{background:var(--color-brand-ochre);color:var(--color-ink)}
.feature-card--cream{background:var(--color-surface-card);color:var(--color-ink)}
.feature-card-title{font-size:18px;font-weight:600;line-height:1.4}
.feature-card-body{font-size:16px;font-weight:400;line-height:1.55;opacity:.9}
.feature-card-image{border-radius:var(--rounded-lg);overflow:hidden;aspect-ratio:16/9}
.feature-card-image img{width:100%;height:100%;object-fit:cover}

.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}
.article-card{background:var(--color-canvas);border:1px solid var(--color-hairline);border-radius:var(--rounded-lg);overflow:hidden;display:flex;flex-direction:column}
.article-card-image{aspect-ratio:16/9;overflow:hidden}
.article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.article-card:hover .article-card-image img{transform:scale(1.03)}
.article-card-body{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}
.article-card-cat{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted)}
.article-card-title{font-size:18px;font-weight:600;line-height:1.4;color:var(--color-ink)}
.article-card-excerpt{font-size:14px;line-height:1.55;color:var(--color-muted)}
.article-card-meta{margin-top:auto;font-size:13px;font-weight:500;color:var(--color-muted-soft)}
.article-card-link{text-decoration:none}
.article-card-link:hover .article-card-title{text-decoration:underline;text-underline-offset:3px}

.cta-band{background:var(--color-surface-soft);border-radius:var(--rounded-xl);padding:80px var(--spacing-xl);text-align:center;margin-inline:var(--spacing-xl)}
.cta-band-title{font-size:clamp(24px,3.5vw,40px);font-weight:500;line-height:1.1;letter-spacing:-1px;color:var(--color-ink);margin-bottom:var(--spacing-md)}
.cta-band-sub{font-size:16px;color:var(--color-body);margin-bottom:var(--spacing-xl)}

.contact-section{background:var(--color-surface-strong)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:start}
.contact-intro-title{font-size:clamp(20px,3vw,32px);font-weight:500;letter-spacing:-0.5px;color:var(--color-ink);margin-bottom:var(--spacing-lg)}
.contact-intro-body{font-size:16px;line-height:1.55;color:var(--color-body)}
.contact-form{background:var(--color-canvas);border-radius:var(--rounded-xl);padding:var(--spacing-xl);border:1px solid var(--color-hairline);display:flex;flex-direction:column;gap:var(--spacing-md)}
.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}
.form-label{font-size:14px;font-weight:600;color:var(--color-ink)}
.form-input{background:var(--color-canvas);color:var(--color-ink);font-family:'Inter',sans-serif;font-size:16px;padding:12px 16px;height:44px;border-radius:var(--rounded-md);border:1px solid var(--color-hairline);outline:none;transition:border-color .15s;width:100%}
.form-input:focus{border-color:var(--color-ink)}
.form-success{display:none;color:var(--color-success);font-weight:600;font-size:14px}

.page-header{padding:var(--spacing-section) 0 var(--spacing-xl);background:var(--color-canvas)}
.page-header-inner{max-width:800px;margin-inline:auto;padding-inline:var(--spacing-xl)}
.page-h1{font-size:clamp(28px,4vw,56px);font-weight:500;line-height:1.05;letter-spacing:-2px;color:var(--color-ink);margin-bottom:var(--spacing-lg)}
.page-meta{font-size:14px;color:var(--color-muted-soft)}
.page-body{max-width:800px;margin-inline:auto;padding:var(--spacing-xl);padding-top:0}
.page-body h2{font-size:clamp(18px,2.5vw,32px);font-weight:500;line-height:1.15;letter-spacing:-0.5px;color:var(--color-ink);margin-top:var(--spacing-xxl);margin-bottom:var(--spacing-lg)}
.page-body h3{font-size:20px;font-weight:600;line-height:1.4;color:var(--color-ink);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}
.page-body p{font-size:16px;line-height:1.55;color:var(--color-body);margin-bottom:var(--spacing-lg)}
.page-body ul,.page-body ol{padding-left:var(--spacing-lg);margin-bottom:var(--spacing-lg)}
.page-body li{font-size:16px;line-height:1.55;color:var(--color-body);margin-bottom:var(--spacing-xs)}
.page-body a{color:var(--color-ink)}
.page-body figure{margin:var(--spacing-xxl) 0;border-radius:var(--rounded-lg);overflow:hidden}
.page-body figure img{width:100%;height:auto;display:block}
.page-body figcaption{font-size:13px;font-weight:500;color:var(--color-muted-soft);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface-soft)}
.page-related{background:var(--color-surface-soft);padding:var(--spacing-section) 0}
.page-related-inner{max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-xl)}

.site-footer{background:var(--color-surface-soft);padding:80px 0 0}
.footer-inner{max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-xl)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--spacing-xl);padding-bottom:var(--spacing-xxl)}
.footer-brand{font-size:18px;font-weight:600;letter-spacing:-0.3px;color:var(--color-ink);margin-bottom:var(--spacing-xs)}
.footer-tagline{font-size:14px;line-height:1.55;color:var(--color-muted)}
.footer-col-title{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--spacing-md)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs)}
.footer-links a{font-size:14px;color:var(--color-muted);text-decoration:none}
.footer-links a:hover{color:var(--color-ink)}
.footer-address{font-style:normal}
.footer-address p{font-size:14px;line-height:1.55;color:var(--color-muted);margin-bottom:var(--spacing-xs)}
.footer-address a{color:var(--color-muted);text-decoration:none}
.footer-address a:hover{color:var(--color-ink)}
.footer-bottom{border-top:1px solid var(--color-hairline);padding:var(--spacing-xl) 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}
.footer-legal{font-size:13px;color:var(--color-muted-soft)}
.footer-legal-links{display:flex;gap:var(--spacing-lg)}
.footer-legal-links a{font-size:13px;color:var(--color-muted-soft);text-decoration:none}
.footer-legal-links a:hover{color:var(--color-ink)}

.cookie-banner{display:none;position:fixed;bottom:var(--spacing-xl);left:50%;transform:translateX(-50%);width:min(640px,calc(100vw - 32px));background:var(--color-ink);color:#fff;border-radius:var(--rounded-xl);padding:var(--spacing-lg) var(--spacing-xl);z-index:999;box-shadow:0 8px 32px rgba(0,0,0,.25)}
.cookie-inner{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}
.cookie-inner p{font-size:14px;line-height:1.55;flex:1}
.cookie-inner a{color:var(--color-brand-peach)}
.cookie-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}
.cookie-actions .btn-primary{background:#fff;color:var(--color-ink)}
.cookie-actions .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}

.about-hero{padding:var(--spacing-section) 0;background:var(--color-canvas)}
.about-hero-inner{max-width:800px;margin-inline:auto;padding-inline:var(--spacing-xl)}

.disclaimer{background:var(--color-surface-strong);border-left:4px solid var(--color-brand-ochre);border-radius:0 var(--rounded-md) var(--rounded-md) 0;padding:var(--spacing-lg) var(--spacing-xl);margin:var(--spacing-xl) 0;font-size:14px;color:var(--color-muted)}

@media(max-width:1024px){
.feature-grid{grid-template-columns:repeat(2,1fr)}
.article-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr}
.contact-grid{grid-template-columns:1fr}
.hero-inner{grid-template-columns:1fr;gap:var(--spacing-xl)}}

@media(max-width:767px){
.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--color-canvas);flex-direction:column;padding:var(--spacing-lg);border-bottom:1px solid var(--color-hairline);gap:var(--spacing-xs)}
.nav-links.is-open{display:flex}
.nav-hamburger{display:block}
.feature-grid{grid-template-columns:1fr}
.article-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.hero-h1{letter-spacing:-1px}
.cta-band{margin-inline:0;border-radius:0}
.footer-bottom{flex-direction:column;align-items:flex-start}}
