*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#1a1a2e;--red:#c0392b;--cream:#fdf8f2;--warm:#f5ede0;
  --muted:#6b6560;--border:#e0d8ce;--green:#2d6a4f;--white:#ffffff;
  --max:1060px;--article-max:720px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:"Inter",sans-serif;background:var(--cream);color:var(--ink);font-size:16px;line-height:1.6;overflow-x:hidden}

/* NAV — matches homepage */
nav{position:sticky;top:0;z-index:100;background:var(--ink)}
.nav-inner{max-width:var(--max);margin:0 auto;padding:0 32px;height:62px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:"Playfair Display",serif;font-weight:900;font-size:1.2rem;color:var(--white);text-decoration:none}
.nav-logo span{color:var(--red)}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-link{color:rgba(255,255,255,.72);text-decoration:none;font-size:.88rem;font-weight:500;transition:color .2s}
.nav-link:hover{color:white}
.nav-cta{background:var(--red);color:white!important;padding:9px 22px;border-radius:5px;font-size:.85rem;font-weight:700;text-decoration:none}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:100%;height:2px;background:white;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-mobile-panel{display:none;flex-direction:column;background:var(--ink);border-top:1px solid rgba(255,255,255,.1)}
.nav-mobile-panel.open{display:flex}
.nav-mobile-panel a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.95rem;font-weight:600;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-mobile-panel a:last-child{border-bottom:none}
.nav-mobile-panel a:active{background:rgba(255,255,255,.05)}

/* ARTICLE HEADER */
.article-header{background:var(--ink);padding:56px 32px 48px}
.article-header-inner{max-width:var(--article-max);margin:0 auto}
.breadcrumb{font-size:.78rem;color:rgba(255,255,255,.5);margin-bottom:18px}
.breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none}
.breadcrumb a:hover{color:white}
.article-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.article-header h1{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;line-height:1.2;color:white;margin-bottom:18px}
.article-meta{display:flex;gap:14px;align-items:center;font-size:.85rem;color:rgba(255,255,255,.55);flex-wrap:wrap}
.article-meta .dot{width:3px;height:3px;background:rgba(255,255,255,.4);border-radius:50%}

/* ARTICLE BODY */
.article-body{padding:48px 32px 20px}
.article-body-inner{max-width:var(--article-max);margin:0 auto}
.article-body-inner img{width:100%;border-radius:10px;display:block;margin:8px 0 6px}
.img-caption{font-size:.82rem;color:var(--muted);text-align:center;margin-bottom:36px;line-height:1.5}
.article-body-inner p{color:var(--ink);line-height:1.85;margin-bottom:20px;font-size:1.03rem}
.article-body-inner h2{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:900;margin:44px 0 16px;line-height:1.3}
.article-body-inner h3{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;margin:32px 0 12px}
.article-body-inner ul,.article-body-inner ol{margin:0 0 20px 22px;color:var(--ink)}
.article-body-inner li{line-height:1.8;margin-bottom:8px;font-size:1.02rem}
.article-body-inner strong{font-weight:700}
.article-body-inner a{color:var(--red)}

/* SIDE-BY-SIDE FIGURE — text left, image right */
.figure-row{display:flex;gap:32px;align-items:center;margin:40px 0}
.figure-row .figure-text{flex:1;min-width:0}
.figure-row .figure-text p{margin-bottom:0}
.figure-row .figure-img-wrap{flex:0 0 260px;width:260px}
.figure-row .figure-img-wrap img{width:100%;height:320px;object-fit:cover;object-position:center;border-radius:12px;display:block;margin:0}
.figure-row .figure-caption{font-size:.78rem;color:var(--muted);text-align:center;margin-top:8px;line-height:1.5}

/* CALLOUT / CTA BOX */
.callout{background:var(--warm);border:1px solid var(--border);border-left:4px solid var(--red);border-radius:8px;padding:22px 24px;margin:32px 0}
.callout p{margin-bottom:0!important;font-size:.98rem!important}
.callout strong{color:var(--red)}

.cta-box{background:var(--ink);border-radius:12px;padding:32px 28px;margin:40px 0;text-align:center}
.cta-box h3{font-family:"Playfair Display",serif;color:white;font-size:1.25rem;font-weight:900;margin-bottom:10px;line-height:1.35}
.cta-box p{color:rgba(255,255,255,.68);font-size:.94rem;line-height:1.7;margin-bottom:20px;max-width:480px;margin-left:auto;margin-right:auto}
.cta-box-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-primary{background:var(--red);color:white!important;padding:14px 28px;border-radius:6px;font-weight:700;font-size:.92rem;text-decoration:none;transition:opacity .2s;display:inline-block;white-space:nowrap}
.btn-primary:hover{opacity:.85}
.btn-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:white!important;padding:13px 26px;border-radius:6px;font-weight:600;font-size:.88rem;text-decoration:none;transition:all .2s;display:inline-block;white-space:nowrap}
.btn-secondary:hover{background:rgba(255,255,255,.18)}

/* AUTHOR BOX */
.author-box{display:flex;gap:16px;align-items:center;background:var(--warm);border:1px solid var(--border);border-radius:10px;padding:20px 22px;margin:40px 0}
.author-avatar{width:52px;height:52px;border-radius:50%;background:var(--red);color:white;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-weight:900;font-size:1.3rem;flex-shrink:0}
.author-box h4{font-size:.95rem;font-weight:700;margin-bottom:3px}
.author-box p{font-size:.85rem;color:var(--muted);line-height:1.5;margin-bottom:0}

/* FAQ — matches homepage accordion */
.faq-list{max-width:var(--article-max);margin:0 auto}
details{border-bottom:.5px solid var(--border);padding:15px 0}
summary{font-weight:600;font-size:.94rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;-webkit-tap-highlight-color:transparent}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.3rem;color:var(--red);flex-shrink:0;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin-top:10px;font-size:.91rem;color:var(--muted);line-height:1.75}

.related{padding:8px 32px 64px}
.related-inner{max-width:var(--article-max);margin:0 auto}
.related h3{font-family:"Playfair Display",serif;font-size:1.1rem;margin-bottom:16px}
.related a{display:block;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:.5px solid var(--border);font-weight:600;font-size:.95rem}
.related a:hover{color:var(--red)}

/* WHATSAPP FLOAT */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:200;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.3);text-decoration:none;transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}

/* FOOTER */
footer{background:#111;color:rgba(255,255,255,.4);padding:24px 32px}
.footer-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem}
footer a{color:rgba(255,255,255,.5);text-decoration:none}
footer a:hover{color:white}
.footer-logo{font-family:"Playfair Display",serif;font-weight:900;color:white;font-size:1rem}
.footer-logo span{color:var(--red)}

/* HUB PAGE */
.hub-hero{background:var(--ink);padding:64px 32px 48px;text-align:center}
.hub-hero-inner{max-width:var(--max);margin:0 auto}
.hub-hero h1{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;color:white;margin-bottom:14px}
.hub-hero p{color:rgba(255,255,255,.68);max-width:560px;margin:0 auto;line-height:1.75;font-size:.98rem}
.hub-list{padding:56px 32px;max-width:var(--max);margin:0 auto}
.hub-card{display:block;background:white;border:1px solid var(--border);border-radius:10px;padding:26px 24px;text-decoration:none;color:var(--ink);margin-bottom:16px;transition:border-color .2s}
.hub-card:hover{border-color:var(--red)}
.hub-card .hub-tag{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:8px;display:block}
.hub-card h3{font-family:"Playfair Display",serif;font-size:1.15rem;margin-bottom:6px}
.hub-card p{color:var(--muted);font-size:.9rem;line-height:1.6}
.hub-card.soon{opacity:.5;cursor:default}
.hub-card.soon:hover{border-color:var(--border)}

/* MOBILE */
@media(max-width:768px){
  .nav-link{display:none}
  .nav-cta{padding:8px 14px;font-size:.78rem}
  .nav-inner{padding:0 20px}
  .nav-links{gap:10px}
  .nav-hamburger{display:flex}
  .article-header{padding:40px 20px 36px}
  .article-body{padding:36px 20px 10px}
  .figure-row{flex-direction:column;gap:16px;margin:32px 0}
  .figure-row .figure-img-wrap{width:100%;flex:0 0 auto;order:-1}
  .figure-row .figure-img-wrap img{height:auto;aspect-ratio:4/3}
  .cta-box{padding:26px 20px}
  .author-box{flex-direction:column;text-align:center}
  .hub-hero{padding:48px 20px 36px}
  .hub-list{padding:40px 20px}
  .wa-float{right:14px;bottom:14px;width:52px;height:52px}
}
