@import url('https://fonts.googleapis.com/css2?family=Literata:ital,wght@0,400;0,600;0,700;0,800;1,400;1,700&family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#fdf6f7;
  --surface:#fff0f3;
  --surface-2:#fff8fa;
  --text:#1b1c1a;
  --text-soft:#5a413a;
  --text-muted:#8f7068;
  --border:#f0d8dc;
  --font-display:'Literata',Georgia,serif;
  --font-body:'Be Vietnam Pro',-apple-system,sans-serif;
  --max-article:680px;
  --max-wide:900px;
  --max:1200px;
  --sidebar:300px;
  --logo-color:#b22c00;
  --art-accent:#e8445a;
  --art-hero-top:#130308;
  --art-hero-bot:#3d1020;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --shadow-sm:0 2px 10px rgba(232,68,90,.06);
  --shadow-md:0 6px 32px rgba(61,16,32,.08);
}

html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}

/* ── Site chrome ── */
.progress-bar{
  position:fixed;top:0;left:0;height:3px;width:0%;
  background:var(--art-accent);z-index:200;
  transition:width .08s linear;pointer-events:none;
}
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(253,246,247,.92);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  height:64px;display:flex;align-items:center;
}
.logo{
  font-family:var(--font-display);font-size:1.5rem;font-weight:800;
  color:var(--logo-color);letter-spacing:-.5px;font-style:italic;
}
.universal-disclaimer-box{
  background:#f9f9f9;border-left:4px solid #0066cc;
  padding:12px 16px;margin:12px;border-radius:4px;
}
.universal-disclaimer-box p{font-size:14px;line-height:1.5;color:#4a4a4a;margin:0}
.universal-disclaimer-box strong{color:#1a1a1a}
.disclaimer-link{color:#0066cc;text-decoration:underline;font-weight:500}
.disclaimer-link:hover{color:#004499}

/* ── Hero (split banner + title) ── */
.art-hero{
  padding:40px 24px 36px;
  background:linear-gradient(180deg,var(--surface-2) 0%,var(--bg) 100%);
}
.art-hero__inner{
  max-width:980px;margin:0 auto;
  display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;
}
.art-hero__media{
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-md);
  background:linear-gradient(135deg,#ffd6e0,#ffb3c6);
  aspect-ratio:4/3;
}
.art-hero__media img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}
.art-hero__media img.loaded,.art-figure img.loaded{opacity:1}
.art-figure img{opacity:0;transition:opacity .4s}
.art-hero__content{display:flex;flex-direction:column;gap:14px}
.art-cat-pill{
  display:inline-flex;align-self:flex-start;align-items:center;gap:6px;
  font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  padding:5px 14px;border-radius:20px;
  background:color-mix(in srgb,var(--art-accent) 18%,transparent);
  color:var(--art-accent);
}
.art-title{
  font-family:var(--font-display);
  font-size:clamp(1.55rem,3.8vw,2.35rem);
  font-weight:800;line-height:1.14;letter-spacing:-.6px;color:var(--text);
}
.art-subtitle{
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;
  font-style:italic;color:var(--art-accent);line-height:1.35;
}
.art-dek{font-size:1.02rem;line-height:1.72;color:var(--text-soft)}
.art-meta{
  font-size:.8rem;color:var(--text-muted);
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
}
.art-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--border)}

/* ── Page layout: content + ad sidebar ── */
.art-layout{
  max-width:calc(var(--max-article) + var(--sidebar) + 72px);
  margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar);gap:40px;align-items:start;
}
.art-main{min-width:0}

/* ── Ad slots (AdSense-ready) ── */
.art-ad{
  margin:32px 0;text-align:center;
}
.art-ad__label{
  display:block;font-size:.62rem;font-weight:700;
  text-transform:uppercase;letter-spacing:1.8px;
  color:var(--text-muted);margin-bottom:8px;
}
.art-ad__slot{
  min-height:250px;display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px dashed var(--border);
  border-radius:var(--radius-md);overflow:hidden;
}
.art-ad--leaderboard .art-ad__slot{min-height:90px}
.art-ad--sidebar .art-ad__slot{min-height:600px}
.art-sidebar .art-ad{margin:0 0 24px;position:sticky;top:84px}

/* ── Article body ── */
.art-body{font-size:1.05rem;line-height:1.82;color:var(--text)}
.art-body p{margin-bottom:22px}
.art-body strong{font-weight:700}
.art-body em{font-style:italic;color:var(--text-soft)}

/* Table of contents */
.art-toc{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:20px 22px;margin-bottom:36px;
}
.art-toc__title{
  font-family:var(--font-display);font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:12px;
}
.art-toc ol{padding-left:1.2rem;margin:0}
.art-toc li{margin-bottom:6px;font-size:.92rem;line-height:1.45}
.art-toc a{color:var(--text-soft);transition:color .15s}
.art-toc a:hover{color:var(--art-accent)}

/* Decorative divider */
.art-divider{
  display:flex;align-items:center;justify-content:center;
  margin:8px 0 34px;gap:18px;
}
.art-divider__line{
  height:2px;width:44px;background:var(--art-accent);border-radius:7px;
}
.art-divider__line:first-child{border-radius:7px 0 0 7px}
.art-divider__line:last-child{border-radius:0 7px 7px 0}
.art-divider__icon{color:var(--art-accent);font-size:1.4rem;line-height:1}

/* Sections */
.art-section{margin-bottom:8px}
.art-section + .art-section{margin-top:12px}
.art-hr{border:none;border-top:1px solid var(--border);margin:40px 0}

.art-h2{
  font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.45rem);
  font-weight:700;line-height:1.28;color:var(--text);margin:0 0 18px;
  padding-left:16px;border-left:3px solid var(--art-accent);
}
.art-h2__accent{color:var(--art-accent)}
.art-h2__sub{
  display:block;font-size:.92rem;font-weight:400;
  color:var(--text-muted);margin-top:4px;
}

.art-h3{
  font-family:var(--font-display);font-size:1.15rem;font-weight:700;
  margin:0 0 14px;line-height:1.3;
}
.art-h3--accent{color:var(--art-accent)}
.art-h3--green{color:#2a6e45}
.art-h3--purple{color:#2a234a}
.art-h3--teal{color:#003d40}

/* Pull quotes & callouts */
.art-lead{
  font-style:italic;color:var(--text-muted);
  border-left:3px solid var(--art-accent);
  padding:0 0 0 16px;margin:0 0 20px;
}
.art-pullquote{
  margin:20px 0;padding:16px 18px;border-radius:var(--radius-sm);
  font-size:1.02rem;line-height:1.55;
}
.art-pullquote--accent{
  color:var(--art-accent);border-left:3px solid var(--art-accent);
  padding-left:14px;background:transparent;
}
.art-pullquote--soft{background:var(--surface);color:var(--text-soft)}
.art-pullquote--gradient{
  background:linear-gradient(99deg,#e8e8f0 80%,#c1ebff 100%);
}
.art-pullquote--cta{
  background:linear-gradient(91deg,#fff0fc 85%,#ffe5d3 100%);
  font-size:1.04rem;
}
.art-callout{
  background:var(--surface);padding:14px 20px;
  border-left:4px solid var(--art-accent);
  border-radius:var(--radius-sm);margin:20px 0;
}
.art-callout--gradient{
  background:linear-gradient(90deg,#fff6f0,#ffd6e6);
  border-left:none;
}
.art-callout--center{
  text-align:center;
  background:linear-gradient(97deg,var(--surface) 80%,#e2ffe6 100%);
  border-left:none;
}
.art-highlight{
  background:color-mix(in srgb,var(--art-accent) 12%,transparent);
  padding:0 4px;border-radius:4px;
}
.art-tag{
  display:inline-block;padding:.25em .75em;
  background:linear-gradient(99deg,#ffd6e0 70%,#ffece3 100%);
  border-radius:var(--radius-sm);font-weight:700;color:var(--art-accent);
  font-size:.95rem;
}
.art-kicker{
  text-align:center;font-size:.98rem;color:var(--text-muted);margin:18px 0;
}
.art-closing{
  text-align:center;font-size:1.08rem;margin:24px 0 8px;
}
.art-closing strong{
  color:var(--art-accent);font-weight:800;
  text-shadow:0 1px 8px color-mix(in srgb,var(--art-accent) 35%,transparent);
}

/* Figure / inline image */
.art-figure{
  margin:28px 0;border-radius:var(--radius-md);overflow:hidden;
  background:linear-gradient(120deg,#ffd6e6 60%,var(--surface));
  box-shadow:var(--shadow-sm);
}
.art-figure img{width:100%;max-width:520px;margin:0 auto}
.art-figure figcaption{
  text-align:center;padding:10px 12px;
  font-size:.92rem;color:var(--text-muted);
}

/* Moment cards grid */
.art-card-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0;
}
.art-moment-card{
  border-radius:10px;padding:17px 18px 12px;
  box-shadow:var(--shadow-sm);transition:transform .18s;
}
.art-moment-card:hover{transform:translateY(-2px)}
.art-moment-card__num{
  display:block;font-size:2rem;font-weight:800;
  color:var(--art-accent);line-height:1;
}
.art-moment-card__title{
  margin-top:6px;font-weight:600;font-size:1rem;line-height:1.3;
}
.art-moment-card--1{background:linear-gradient(103deg,#fff6f0,#ffd6e6 70%);color:var(--text-soft)}
.art-moment-card--2{background:linear-gradient(97deg,#e1fbea,#fff6f0 70%);color:#2a6e45}
.art-moment-card--3{background:linear-gradient(101deg,#daeaff,#ffd6e6 70%);color:#2a234a}
.art-moment-card--4{background:linear-gradient(114deg,#ede7fd,#def2fd 70%);color:#003d40}

/* Scenario blocks */
.art-scenario{margin-top:44px}
.art-scenario:first-of-type{margin-top:36px}

/* Lists */
.art-list{margin:16px 0 18px;padding-left:1.5rem}
.art-list li{margin-bottom:8px}
.art-list--fire{list-style:'🔥 '}
.art-list--palm{list-style:'🌴 ';color:#195e3d}
.art-list--film{list-style:'🎬 '}
.art-list--teal{color:#003d40}
.art-list--muted{color:var(--text-muted)}

/* Credits / verdict block */
.art-credits{
  background:var(--surface);border-left:4px solid var(--art-accent);
  padding:14px 21px;margin:16px 0;border-radius:var(--radius-sm);
  font-size:1rem;line-height:1.75;
}
.art-credits b{display:inline-block;min-width:9.5em}

/* Share, email, footer */
.share-section{
  max-width:var(--max-article);margin:0 auto; padding-bottom: 12px;
  border-top:1px solid var(--border);
}
.share-label{
  font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:2.5px;color:var(--text-muted);margin-bottom:14px;
}
.share-btns{display:flex;gap:10px;flex-wrap:wrap}
.share-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 18px;border-radius:var(--radius-sm);
  font-size:.82rem;font-weight:700;font-family:var(--font-body);
  border:none;cursor:pointer;transition:opacity .18s,transform .18s;
}
.share-btn:hover{opacity:.88;transform:translateY(-1px)}
.btn-wa{background:#25D366;color:#fff}
.btn-tw{background:#000;color:#fff}
.btn-copy{background:var(--surface);color:var(--text);border:1px solid var(--border)}
.btn-copy.copied{background:#22c55e;color:#fff;border-color:#22c55e}

.email-section{max-width:var(--max-article);margin:0 auto;padding:0 24px 48px}
.email-box{
  background:var(--surface);border:1px solid var(--border);
  border-top:3px solid var(--art-accent);border-radius:var(--radius-md);
  padding:28px;text-align:center;
}
.email-box h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:6px}
.email-box p{color:var(--text-muted);font-size:.88rem;line-height:1.5}

.site-footer{
  max-width:var(--max);margin:0 auto;padding:32px 24px 48px;
  border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.footer-logo{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--logo-color);font-style:italic}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:.82rem;color:var(--text-muted);font-weight:500;transition:color .18s}
.footer-links a:hover{color:var(--art-accent)}
.footer-copy{font-size:.78rem;color:var(--text-muted);width:100%}

/* ── Responsive ── */
@media (max-width:1080px){
  .art-layout{grid-template-columns:1fr;max-width:var(--max-article)}
  .art-sidebar{display:none}
  .art-ad--sidebar{display:block}
}

@media (max-width:768px){
  .art-hero{padding:28px 18px 24px}
  .art-hero__inner{grid-template-columns:1fr;gap:22px}
  .art-hero__media{aspect-ratio:16/10}
  .art-layout{padding:0 18px 40px}
  .art-card-grid{grid-template-columns:1fr}
  .art-toc{padding:16px 18px}
}

@media (max-width:480px){
  .universal-disclaimer-box{padding:10px 12px;margin:10px 0 16px}
  .universal-disclaimer-box p{font-size:13px}
  .art-body{font-size:1rem}
  .art-h2{padding-left:12px}
  .art-ad__slot{min-height:280px}
  .share-section,.email-section{padding-left:18px;padding-right:18px}
}
