/* ============================================================
   Site CSS — handwritten, BEM, CSS Grid layout, mobile-first
   Two design families share this file:
     .theme-pub   -> publication / advertorial / about
     .theme-offer -> offer / legal pages
   ============================================================ */

:root{
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 48px;
  --space-7: 64px;
  --space-8: 96px;
  --radius-s: 8px;
  --radius-m: 14px;
  --radius-l: 24px;
  --shadow-s: 0 1px 3px rgba(20,20,30,.08);
  --shadow-m: 0 8px 24px rgba(20,20,30,.10);
  --shadow-l: 0 20px 48px rgba(20,20,30,.16);
  --max-content: 1180px;
  --max-article: 760px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;min-width:0;overflow-x:hidden;}
img,video{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0;}
ul,ol{padding:0;}
a{color:inherit;}
button{font-family:inherit;}

.container{
  width:100%;
  max-width:var(--max-content);
  margin:0 auto;
  padding:0 var(--space-3);
}
@media (min-width:768px){ .container{padding:0 var(--space-5);} }

.skip-link{
  position:absolute;left:-999px;top:auto;
}
.skip-link:focus{
  left:8px;top:8px;z-index:999;background:#000;color:#fff;padding:8px 12px;border-radius:6px;
}

/* focus visibility everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid #2f6fed;
  outline-offset:2px;
  border-radius:4px;
}

/* ============================================================
   PUBLICATION THEME (advertorial + about)
   ============================================================ */
.theme-pub{
  --pub-bg:#ffffff;
  --pub-ink:#181614;
  --pub-soft:#5b5450;
  --pub-rule:#181614;
  --pub-badge-bg:#fbe3c3;
  --pub-badge-ink:#8a5518;
  --pub-highlight:#1f6b3d;
  --pub-highlight-bg:#eaf6ee;
  --pub-surface:#faf7f2;
  --pub-border:#e7e0d6;
  --pub-cta:#c23b1f;
  --pub-cta-ink:#ffffff;
  background:var(--pub-bg);
  color:var(--pub-ink);
  font-family:'Inter',Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
.theme-pub h1,.theme-pub h2,.theme-pub h3,.theme-pub .masthead__name{
  font-family:'Playfair Display',Georgia,serif;
}

/* ---- masthead ---- */
.masthead{
  padding:var(--space-3) 0 var(--space-2);
  border-bottom:3px solid var(--pub-rule);
}
.masthead__top{
  display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);
  flex-wrap:wrap;
}
.masthead__date{
  font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--pub-soft);
}
.ribbon-badge{
  display:inline-block;
  background:var(--pub-badge-bg);
  color:var(--pub-badge-ink);
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
}
.masthead__brand{
  text-align:center;padding-top:var(--space-2);
}
.masthead__name{
  font-size:clamp(28px,6vw,42px);
  font-weight:900;
  margin:0;
  letter-spacing:-.01em;
}
.masthead__tag{
  display:block;
  font-family:'Playfair Display',Georgia,serif;
  font-style:italic;
  color:var(--pub-soft);
  font-size:clamp(13px,2.4vw,16px);
  margin-top:4px;
}

/* ---- article ---- */
.article{
  max-width:var(--max-article);
  margin:0 auto;
  padding:var(--space-4) var(--space-3) 0;
}
.article__kicker{
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--pub-cta);margin-bottom:var(--space-2);
}
.article__title{
  font-size:clamp(28px,7vw,46px);
  line-height:1.14;
  font-weight:900;
  margin-bottom:var(--space-3);
}
.article__subhead{
  font-size:clamp(17px,3vw,20px);
  font-style:italic;
  color:var(--pub-soft);
  line-height:1.5;
  margin-bottom:var(--space-3);
}
.byline{
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);
  font-size:14px;color:var(--pub-soft);
  padding-bottom:var(--space-3);
  border-bottom:1px solid var(--pub-border);
  margin-bottom:var(--space-4);
}
.byline__stars{color:#e2a13a;letter-spacing:1px;}
.byline__author{font-weight:700;color:var(--pub-ink);}

.figure{margin:0 0 var(--space-4);}
.figure__media{
  border-radius:var(--radius-m);
  overflow:hidden;
  box-shadow:var(--shadow-s);
}
.figure__media img,.figure__media video{width:100%;object-fit:cover;}
.figure__caption{
  font-size:13px;color:var(--pub-soft);margin-top:var(--space-1);text-align:center;
}
.video-frame{
  position:relative;width:100%;
  aspect-ratio:16/10;
  background:#111;
  border-radius:var(--radius-m);
  overflow:hidden;
}
.video-frame video{width:100%;height:100%;object-fit:cover;}

.article__body{ color:var(--pub-ink); }
.article__body p{ margin-bottom:var(--space-3); font-size:17px; }
.article__body h2{
  font-size:clamp(23px,4.5vw,30px);
  line-height:1.2;
  margin:var(--space-6) 0 var(--space-3);
}
.article__body h3{
  font-size:clamp(19px,3.5vw,22px);
  margin:var(--space-4) 0 var(--space-2);
}
.hl{
  background:var(--pub-highlight-bg);
  color:var(--pub-highlight);
  font-weight:700;
  padding:0 3px;
  border-radius:3px;
}

.pull-quote{
  font-family:'Playfair Display',Georgia,serif;
  font-style:italic;
  font-size:clamp(21px,4vw,27px);
  line-height:1.35;
  color:var(--pub-ink);
  border-left:4px solid var(--pub-cta);
  padding:var(--space-2) 0 var(--space-2) var(--space-3);
  margin:var(--space-5) 0;
}
.pull-quote cite{
  display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:14px;
  color:var(--pub-soft);margin-top:var(--space-2);
}

/* full-bleed callout band */
.callout-band{
  background:var(--pub-ink);
  color:#fff;
  width:100%;
  margin:var(--space-6) 0;
  padding:var(--space-6) 0;
}
.callout-band__inner{
  max-width:var(--max-article);margin:0 auto;padding:0 var(--space-3);
}
.callout-band__kicker{
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#f0b968;margin-bottom:var(--space-2);
}
.callout-band__title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(24px,4.5vw,32px);
  margin-bottom:var(--space-2);
  line-height:1.2;
}
.callout-band__text{ font-size:17px;color:#e9e6e1;margin-bottom:var(--space-4);}
.callout-band .cta-button{background:#fff;color:var(--pub-ink);}
.callout-band .cta-button:hover{background:#f0b968;color:var(--pub-ink);}

/* worked example */
.worked-example{
  background:var(--pub-surface);
  border:1px solid var(--pub-border);
  border-radius:var(--radius-m);
  padding:var(--space-4);
  margin:var(--space-5) 0;
}
.worked-example__label{
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--pub-cta);margin-bottom:var(--space-2);
}
.worked-example__title{font-size:20px;font-weight:800;margin-bottom:var(--space-2);}
.worked-example__row{
  display:flex;justify-content:space-between;gap:var(--space-2);
  padding:var(--space-2) 0;border-bottom:1px dashed var(--pub-border);
  font-size:15px;
}
.worked-example__row:last-child{border-bottom:none;}
.worked-example__row dt{color:var(--pub-soft);}
.worked-example__row dd{margin:0;font-weight:700;text-align:right;}
.worked-example__total{
  display:flex;justify-content:space-between;margin-top:var(--space-2);
  font-size:18px;font-weight:800;padding-top:var(--space-2);border-top:2px solid var(--pub-ink);
}
.worked-example__note{font-size:13px;color:var(--pub-soft);margin-top:var(--space-2);}

.stat-strip{
  display:grid;grid-template-columns:1fr;gap:var(--space-3);
  margin:var(--space-5) 0;
}
@media (min-width:600px){ .stat-strip{grid-template-columns:repeat(3,1fr);} }
.stat-strip__item{
  background:#fff;border:1px solid var(--pub-border);border-radius:var(--radius-m);
  padding:var(--space-3);text-align:center;
}
.stat-strip__value{font-size:clamp(22px,4vw,28px);font-weight:900;color:var(--pub-cta);}
.stat-strip__label{font-size:13px;color:var(--pub-soft);margin-top:4px;}

.deliverables{
  list-style:none;margin:var(--space-4) 0;padding:0;
  display:grid;gap:var(--space-2);
}
.deliverables__item{
  display:flex;gap:var(--space-2);align-items:flex-start;
  background:var(--pub-surface);border:1px solid var(--pub-border);
  border-radius:var(--radius-s);padding:var(--space-3);font-size:15px;
}
.deliverables__icon{
  flex:none;width:28px;height:28px;border-radius:50%;
  background:var(--pub-highlight);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;
}

/* FAQ accordion (accent borrow) */
.faq{ margin:var(--space-5) 0; }
.faq__item{
  border-bottom:1px solid var(--pub-border);
}
.faq__question{
  display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);
  padding:var(--space-3) 0;cursor:pointer;font-weight:700;font-size:16px;list-style:none;
}
.faq__question::-webkit-details-marker{display:none;}
.faq__question::after{
  content:"+";flex:none;font-size:22px;color:var(--pub-cta);transition:transform .2s ease;
}
details[open] .faq__question::after{ transform:rotate(45deg); }
.faq__answer{ padding:0 0 var(--space-3); color:var(--pub-soft); font-size:15px; }

.cta-band{
  text-align:center;
  padding:var(--space-5) var(--space-3);
  background:var(--pub-surface);
  border-radius:var(--radius-m);
  margin:var(--space-5) 0;
}
.cta-band__title{ font-size:clamp(20px,3.6vw,26px); font-weight:800; margin-bottom:var(--space-2);}
.cta-band__text{ color:var(--pub-soft); margin-bottom:var(--space-3); }

.cta-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 28px;
  background:var(--pub-cta);color:var(--pub-cta-ink);
  font-weight:700;font-size:16px;text-decoration:none;
  border-radius:999px;border:none;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  box-shadow:var(--shadow-s);
}
.cta-button:hover{ transform:translateY(-2px); box-shadow:var(--shadow-m); background:#9c3018; }

.article__foot-space{ height:var(--space-6); }

/* ============================================================
   OFFER THEME (SaaS minimal premium)
   ============================================================ */
.theme-offer{
  --offer-bg:#ffffff;
  --offer-ink:#15141f;
  --offer-soft:#5c5a6b;
  --offer-accent:#4338ca;
  --offer-accent-soft:#eceafc;
  --offer-cta:#d6266d;
  --offer-cta-ink:#ffffff;
  --offer-surface:#f6f6fb;
  --offer-border:#e6e5f0;
  --offer-dark:#14132a;
  background:var(--offer-bg);
  color:var(--offer-ink);
  font-family:'Inter',Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
}
.theme-offer h1,.theme-offer h2,.theme-offer h3{ font-family:'Inter',Arial,sans-serif; letter-spacing:-.01em;}

.offer-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--space-3) var(--space-3);
  max-width:var(--max-content);margin:0 auto;
  position:relative;
}
.offer-nav__brand{ font-weight:800;font-size:18px;text-decoration:none;color:var(--offer-ink);}
.offer-nav__links{
  display:none;
  gap:var(--space-4);
  list-style:none;align-items:center;
}
.offer-nav__links a{ text-decoration:none;color:var(--offer-soft);font-weight:600;font-size:15px; }
.offer-nav__links a:hover{ color:var(--offer-ink); }
.offer-nav__cta{ display:none; }
.offer-nav__toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:10px;border:1px solid var(--offer-border);
  background:#fff;cursor:pointer;
}
.offer-nav__toggle span{ display:block;width:20px;height:2px;background:var(--offer-ink);position:relative; }
.offer-nav__toggle span::before,.offer-nav__toggle span::after{
  content:"";position:absolute;left:0;width:20px;height:2px;background:var(--offer-ink);
}
.offer-nav__toggle span::before{ top:-6px; }
.offer-nav__toggle span::after{ top:6px; }
.offer-nav__mobile{
  display:none;
  flex-direction:column;
  gap:var(--space-2);
  padding:var(--space-3);
  border-top:1px solid var(--offer-border);
  background:#fff;
}
.offer-nav__mobile.is-open{ display:flex; }
.offer-nav__mobile a{
  text-decoration:none;color:var(--offer-ink);font-weight:600;padding:var(--space-2) 0;
  min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--offer-border);
}
.offer-nav__mobile .cta-pill{ margin-top:var(--space-1); align-self:flex-start; }

@media (min-width:768px){
  .offer-nav__links{ display:flex; }
  .offer-nav__cta{ display:inline-flex; }
  .offer-nav__toggle{ display:none; }
  .offer-nav__mobile{ display:none !important; }
}

.cta-pill{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 26px;
  background:var(--offer-cta);color:var(--offer-cta-ink);
  font-weight:700;font-size:15px;text-decoration:none;border:none;border-radius:999px;cursor:pointer;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  box-shadow:var(--shadow-s);
}
.cta-pill:hover{ transform:translateY(-2px); box-shadow:var(--shadow-m); background:#a91a56; }
.cta-pill--ghost{
  background:transparent;color:var(--offer-ink);border:1px solid var(--offer-border);
}
.cta-pill--ghost:hover{ background:var(--offer-surface); }
.cta-row{ display:flex; flex-wrap:wrap; gap:var(--space-2); }

.offer-hero{
  text-align:center;
  padding:var(--space-6) var(--space-3) var(--space-5);
  max-width:840px;margin:0 auto;
}
.offer-hero__pill{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--offer-accent-soft);color:var(--offer-accent);
  font-size:13px;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:var(--space-3);
}
.offer-hero__title{
  font-size:clamp(28px,7vw,48px);
  font-weight:800;line-height:1.1;margin-bottom:var(--space-3);
}
.offer-hero__subtitle{
  font-size:clamp(16px,2.6vw,19px);
  color:var(--offer-soft);margin-bottom:var(--space-3);
  max-width:640px;margin-left:auto;margin-right:auto;
}
.offer-hero__h2{
  font-size:clamp(18px,3vw,22px);
  font-weight:700;color:var(--offer-ink);
  margin-bottom:var(--space-4);
  max-width:660px;margin-left:auto;margin-right:auto;
}
.offer-hero__h2 .accent{ color:var(--offer-cta); }
.offer-hero .cta-row{ justify-content:center; }

.app-frame{
  max-width:960px;margin:0 auto;padding:0 var(--space-3);
}
.app-frame__window{
  background:var(--offer-dark);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-l);
  overflow:hidden;
}
.app-frame__bar{
  display:flex;gap:8px;padding:var(--space-2) var(--space-3);
}
.app-frame__dot{ width:11px;height:11px;border-radius:50%;background:#4c4a63; }
.app-frame__video{ position:relative;width:100%;aspect-ratio:16/9; }
.app-frame__video video{ width:100%;height:100%;object-fit:cover; }

.section{ padding:var(--space-6) 0; }
.section--surface{ background:var(--offer-surface); }
.section__head{ text-align:center; max-width:680px;margin:0 auto var(--space-5); }
.section__kicker{
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--offer-accent);margin-bottom:var(--space-2);
}
.section__title{ font-size:clamp(24px,4.5vw,34px); font-weight:800; margin-bottom:var(--space-2); }
.section__text{ color:var(--offer-soft); font-size:17px; }

.feature-rows{ display:grid; gap:var(--space-6); }
.feature-row{
  display:grid; gap:var(--space-3);
  align-items:center;
}
@media (min-width:768px){
  .feature-row{ grid-template-columns:1fr 1fr; gap:var(--space-6); }
  .feature-row--reverse .feature-row__media{ order:2; }
  .feature-row--reverse .feature-row__text{ order:1; }
}
.feature-row__eyebrow{ font-weight:700;color:var(--offer-cta);font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;}
.feature-row__title{ font-size:clamp(20px,3.4vw,26px); font-weight:800; margin-bottom:var(--space-2); }
.feature-row__text{ color:var(--offer-soft); font-size:16px; }
.feature-row__media{
  border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-m);
}
.feature-row__media img{ width:100%; object-fit:cover; }
.feature-row__card{
  background:#fff;border:1px solid var(--offer-border);border-radius:var(--radius-m);
  padding:var(--space-4);box-shadow:var(--shadow-s);
}
.feature-row__card ul{ list-style:none; display:grid; gap:10px; margin-top:var(--space-2); }
.feature-row__card li{ font-size:15px; padding-left:24px; position:relative; }
.feature-row__card li::before{
  content:"✓"; position:absolute; left:0; top:0; color:var(--offer-accent); font-weight:800;
}

.rate-aside{
  border:2px solid var(--offer-accent);
  border-radius:var(--radius-m);
  padding:var(--space-4);
  max-width:760px;margin:0 auto;
  background:#fff;
}
.rate-aside__label{
  display:inline-block;background:var(--offer-accent);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;margin-bottom:var(--space-3);
}
.rate-aside__grid{
  display:grid;grid-template-columns:1fr;gap:var(--space-2);margin-bottom:var(--space-3);
}
@media (min-width:600px){ .rate-aside__grid{ grid-template-columns:repeat(2,1fr); } }
.rate-aside__row{
  display:flex;justify-content:space-between;gap:var(--space-2);
  padding:var(--space-2);background:var(--offer-surface);border-radius:var(--radius-s);font-size:15px;
}
.rate-aside__row strong{ font-weight:800; }
.rate-aside__math{
  font-size:15px;color:var(--offer-soft);border-top:1px dashed var(--offer-border);padding-top:var(--space-3);
}
.rate-aside__foot{ font-size:13px;color:var(--offer-soft);margin-top:var(--space-2); }

.leverage{
  background:var(--offer-dark);color:#fff;border-radius:var(--radius-l);
  padding:var(--space-6) var(--space-4);
  max-width:960px;margin:0 auto;
}
.leverage__kicker{ font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a5b4fc;margin-bottom:var(--space-2);}
.leverage__title{ font-size:clamp(22px,4vw,30px);font-weight:800;margin-bottom:var(--space-3); }
.leverage__text{ color:#d4d3e6;font-size:16px;margin-bottom:var(--space-2); max-width:680px;}
.leverage__steps{ list-style:none;display:grid;gap:var(--space-2);margin-top:var(--space-3); }
.leverage__steps li{
  display:flex;gap:var(--space-2);align-items:flex-start;font-size:15px;color:#eceafc;
}
.leverage__num{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--offer-cta);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;
}

.pricing{
  display:grid;gap:var(--space-4);
  max-width:var(--max-content);margin:0 auto;
}
@media (min-width:768px){ .pricing{ grid-template-columns:repeat(3,1fr); align-items:stretch; } }
.pricing__card{
  background:#fff;border:1px solid var(--offer-border);border-radius:var(--radius-m);
  padding:var(--space-4);display:flex;flex-direction:column;box-shadow:var(--shadow-s);
}
.pricing__card--highlight{
  background:var(--offer-dark);color:#fff;border-color:var(--offer-dark);
  box-shadow:var(--shadow-l);
  transform:translateY(0);
}
@media (min-width:768px){ .pricing__card--highlight{ transform:translateY(-12px); } }
.pricing__badge{
  align-self:flex-start;background:var(--offer-cta);color:#fff;font-size:12px;font-weight:700;
  padding:4px 12px;border-radius:999px;margin-bottom:var(--space-2);
}
.pricing__name{ font-size:20px;font-weight:800;margin-bottom:4px; }
.pricing__hours{ font-size:13px;color:var(--offer-soft);margin-bottom:var(--space-3); }
.pricing__card--highlight .pricing__hours{ color:#c7c5db; }
.pricing__price{ font-size:clamp(28px,4vw,34px);font-weight:900;margin-bottom:var(--space-3); }
.pricing__list{ list-style:none;display:grid;gap:10px;margin-bottom:var(--space-4);flex:1; }
.pricing__list li{ font-size:14px;padding-left:22px;position:relative; }
.pricing__list li::before{ content:"✓";position:absolute;left:0;color:var(--offer-accent);font-weight:800; }
.pricing__card--highlight .pricing__list li::before{ color:#a5b4fc; }
.pricing__card .cta-pill{ width:100%; }
.pricing__card--highlight .cta-pill{ background:#fff;color:var(--offer-dark); }
.pricing__card--highlight .cta-pill:hover{ background:#e6e5f0; }

.addons{
  display:grid;gap:var(--space-3);max-width:var(--max-content);margin:0 auto;
}
@media (min-width:600px){ .addons{ grid-template-columns:repeat(3,1fr); } }
.addon{
  background:#fff;border:1px solid var(--offer-border);border-radius:var(--radius-m);
  padding:var(--space-3);
}
.addon__name{ font-weight:800;font-size:16px;margin-bottom:4px; }
.addon__price{ color:var(--offer-cta);font-weight:800;font-size:18px;margin-bottom:8px; }
.addon__desc{ font-size:14px;color:var(--offer-soft); }

.perks{
  list-style:none;display:grid;gap:var(--space-2);
  max-width:720px;margin:0 auto;
}
.perks li{
  display:flex;gap:var(--space-2);align-items:flex-start;
  background:#fff;border:1px solid var(--offer-border);border-radius:var(--radius-s);
  padding:var(--space-3);font-size:15px;
}
.perks li::before{
  content:"★";color:var(--offer-cta);font-weight:800;flex:none;
}

.limits{
  background:var(--offer-surface);border-radius:var(--radius-m);
  padding:var(--space-4);max-width:760px;margin:0 auto;
}
.limits__title{ font-size:20px;font-weight:800;margin-bottom:var(--space-2); }
.limits ul{ list-style:none;display:grid;gap:10px; }
.limits li{ font-size:15px;color:var(--offer-soft);padding-left:20px;position:relative; }
.limits li::before{ content:"–";position:absolute;left:0;color:var(--offer-ink); }

.founder-note{
  background:#fbf8ee;border:1px solid #e9e2c8;border-radius:var(--radius-m);
  padding:var(--space-5);max-width:680px;margin:0 auto var(--space-5);
  font-family:Georgia,'Playfair Display',serif;
}
.founder-note__label{ font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8a7a3f;margin-bottom:var(--space-2); }
.founder-note p{ margin-bottom:var(--space-3);line-height:1.7;color:#2e2a1c; }
.founder-note__sign{ font-style:italic;font-weight:700;color:#2e2a1c; }

.lead-form{
  max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--offer-border);
  border-radius:var(--radius-m);padding:var(--space-4);box-shadow:var(--shadow-s);
}
.form-field{ margin-bottom:var(--space-3); }
.form-field label{ display:block;font-weight:700;font-size:14px;margin-bottom:6px; }
.form-field input,.form-field textarea{
  width:100%;font-size:16px;padding:12px 14px;border:1px solid var(--offer-border);
  border-radius:var(--radius-s);font-family:inherit;background:#fff;color:var(--offer-ink);
  min-height:48px;
}
.form-field textarea{ min-height:100px;resize:vertical; }
.form-field input:focus,.form-field textarea:focus{ border-color:var(--offer-accent); }
.form-field--error input,.form-field--error textarea{ border-color:#c62839; }
.form-field__error{ display:none;color:#c62839;font-size:13px;margin-top:6px; }
.form-field--error .form-field__error{ display:block; }
.form-row{ display:grid;gap:var(--space-3); }
@media (min-width:520px){ .form-row--two{ grid-template-columns:1fr 1fr; } }
.form-consent{
  display:flex;gap:10px;align-items:flex-start;margin-bottom:var(--space-3);font-size:14px;
}
.form-consent input{ width:20px;height:20px;flex:none;margin-top:2px; }
.lead-form__submit{ width:100%; }
.lead-form__note{ font-size:13px;color:var(--offer-soft);margin-top:var(--space-2);text-align:center; }
.lead-form__success{
  display:none;text-align:center;padding:var(--space-4);
  background:#eef8ef;border:1px solid #bfe3c5;border-radius:var(--radius-m);color:#1f6b3d;font-weight:600;
}
.lead-form.is-submitted .lead-form__fields{ display:none; }
.lead-form.is-submitted .lead-form__success{ display:block; }

/* ============================================================
   Shared: disclaimer + footer (all pages)
   ============================================================ */
.site-disclaimer{
  display:block;
  max-width:var(--max-content);margin:0 auto;
  padding:var(--space-4) var(--space-3);
  font-size:14px;line-height:1.6;color:#3d3b47;
  background:#fff6e6;border-top:1px solid #f0dfb0;border-bottom:1px solid #f0dfb0;
}
.site-disclaimer a{ color:#1f4fbd;text-decoration:underline;font-weight:600; }

.site-footer{
  background:#15141f;color:#c9c7d6;
  padding:var(--space-5) 0 var(--space-6);
}
.site-footer__inner{
  max-width:var(--max-content);margin:0 auto;padding:0 var(--space-3);
  display:grid;gap:var(--space-4);
}
@media (min-width:768px){
  .site-footer__inner{ grid-template-columns:1.3fr 1fr; align-items:start; }
}
.site-footer__company{
  font-size:14px;line-height:1.7;white-space:pre-line;
}
.site-footer__links{
  display:flex;flex-direction:column;gap:12px;
}
@media (min-width:480px){
  .site-footer__links{ flex-direction:row;flex-wrap:wrap;gap:16px 24px; }
}
.site-footer__links a{
  color:#e5e4ee;text-decoration:none;font-size:14px;font-weight:600;
  min-height:44px;display:inline-flex;align-items:center;
}
.site-footer__links a:hover{ text-decoration:underline; }

/* ============================================================
   Legal page article layout (offer theme article pages)
   ============================================================ */
.legal-page{
  max-width:var(--max-article);margin:0 auto;
  padding:var(--space-6) var(--space-3) var(--space-5);
}
.legal-page__title{ font-size:clamp(26px,5vw,38px);font-weight:800;margin-bottom:var(--space-3); }
.legal-page__updated{ font-size:14px;color:var(--offer-soft);margin-bottom:var(--space-5); }
.legal-page h2{ font-size:22px;font-weight:800;margin:var(--space-5) 0 var(--space-2); }
.legal-page p{ margin-bottom:var(--space-3);font-size:16px;color:#2c2a38; }
.legal-page ul{ margin:0 0 var(--space-3);padding-left:22px; }
.legal-page li{ margin-bottom:8px;font-size:16px;color:#2c2a38; }
.legal-page a{ color:var(--offer-accent);font-weight:600;text-decoration:underline; }

.contact-grid{
  display:grid;gap:var(--space-4);max-width:var(--max-content);margin:0 auto;
  padding:var(--space-6) var(--space-3);
}
@media (min-width:768px){ .contact-grid{ grid-template-columns:1fr 1fr; } }
.contact-card{
  background:var(--offer-surface);border-radius:var(--radius-m);padding:var(--space-4);
}
.contact-card h2{ font-size:20px;font-weight:800;margin-bottom:var(--space-2); }
.contact-card p{ color:var(--offer-soft);margin-bottom:8px; }
.contact-card a{ color:var(--offer-accent);font-weight:700;text-decoration:none; }

/* about page (publication theme) reuse of .article */
.about-hero{
  max-width:var(--max-article);margin:0 auto;padding:var(--space-5) var(--space-3) 0;
}
.about-hero h1{ font-size:clamp(28px,6vw,42px);font-weight:900;margin-bottom:var(--space-3); }
.about-hero p{ font-size:18px;color:var(--pub-soft); }

/* 404 */
.not-found{
  text-align:center;padding:var(--space-8) var(--space-3);max-width:600px;margin:0 auto;
}
.not-found__code{ font-size:clamp(48px,10vw,88px);font-weight:900;color:var(--offer-accent); }
.not-found__title{ font-size:24px;font-weight:800;margin:var(--space-3) 0; }
.not-found__text{ color:var(--offer-soft);margin-bottom:var(--space-4); }
