:root{
  --red: #D01C03;
  --red-dark: #A01502;
  --ink: #000000;
  --ink-soft: #1A1A1A;
  --paper: #FFFFFF;
  --paper-2: #D9D9D9;
  --steel: #6B6B6B;
  --steel-light: #9A9A9A;
  --line: #D9D9D9;
  --line-dark: #2A2A2A;
  --white: #FFFFFF;

  --display: 'Oswald', sans-serif;
  --body: 'Poppins', sans-serif;
  --mono: 'Questrial', sans-serif;
}

*{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; }
body{
  font-family: var(--body);
  background: var(--paper);
  color: var(--ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
img, svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:inherit; cursor:pointer; }

a:focus-visible, button:focus-visible{
  outline: 2px solid var(--red);
  outline-offset: 3px;
}

.wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}

.eyebrow{
  font-family: var(--mono);
  font-size: 12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--red);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:22px; height:1px;
  background: var(--red);
  display:inline-block;
}

h1,h2,h3{
  font-family: var(--display);
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: 0.01em;
  font-weight: 600;
}

/* ---------- Top safety bar ---------- */
.safety-bar{
  background: var(--ink);
  color: var(--paper);
  font-family: var(--mono);
  font-size: 12.5px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line-dark);
}
.safety-bar .wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  text-align:center;
  flex-wrap: wrap;
}
.safety-bar strong{ color: var(--red); font-weight:600; }
.safety-bar a{ text-decoration: underline; text-underline-offset: 3px; color: var(--paper); }
.safety-bar a:hover{ color: var(--red); }

/* ---------- Nav ---------- */
header.site{
  position: sticky; top:0; z-index: 50;
  background: rgba(20,23,26,0.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line-dark);
}
nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 16px 0;
}
.logo-lockup{
  display:flex;
  align-items:center;
  gap:10px;
  background: var(--red);
  padding: 10px 20px;
  border-radius: 2px;
}
.logo-img{
  height: 45px;
  width: auto;
  display:block;
}
.nav-links{
  display:flex;
  gap: 30px;
  align-items:center;
}
.nav-links a{
  font-size: 14px;
  color: var(--paper);
  font-weight: 500;
  position:relative;
  padding: 4px 0;
}
.nav-links a::after{
  content:"";
  position:absolute; left:0; bottom:-2px;
  width:0; height:2px; background: var(--red);
  transition: width .2s ease;
}
.nav-links a:hover::after{ width:100%; }
.nav-links a.active::after{ width:100%; }
.btn{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: var(--body);
  padding: 12px 22px;
  border-radius: 2px;
  border: 1.5px solid transparent;
  transition: transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary{ background: var(--red); color: var(--white); }
.btn-primary:hover{ background: var(--red-dark); }
.btn-ghost{ border-color: var(--paper); color: var(--paper); }
.btn-ghost:hover{ border-color: var(--red); color: var(--red); }
.btn-dark{ border-color: var(--red); color: var(--ink); }
.btn-dark:hover{ background: var(--ink); color: var(--paper); }
.nav-cta{ display:flex; }
.menu-toggle{ display:none; background:none; border:none; color:var(--paper); font-size: 22px; }
.mobile-menu{
  display:none;
  flex-direction: column;
  background: var(--ink);
  border-top: 1px solid var(--line-dark);
  padding: 8px 28px 22px;
}
.mobile-menu.open{ display:flex; }
.mobile-menu a{
  color: var(--paper);
  padding: 13px 0;
  border-bottom: 1px solid var(--line-dark);
  font-size: 15px;
}
.mobile-menu .btn{
  margin-top: 16px;
  justify-content: center;
  border-bottom: none;
}

/* ---------- Hero ---------- */
.hero{
  position: relative;
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
  padding: 96px 0 84px;
}
.hero::before{
  /* blueprint grid */
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(var(--line-dark) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: 0.35;
  mask-image: radial-gradient(ellipse at 70% 40%, black 10%, transparent 70%);
}
.hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  align-items:center;
}
.hero h1{
  font-size: clamp(38px, 5.2vw, 62px);
  color: var(--white);
  margin-bottom: 22px;
}
.hero h1 em{
  font-style: normal;
  color: var(--red);
}
.hero-eyebrow{ margin-bottom: 18px; }
.hero p.lead{
  font-size: 17px;
  color: var(--steel-light);
  max-width: 46ch;
  margin-bottom: 34px;
}
.hero-ctas{ display:flex; gap:16px; flex-wrap:wrap; }
.hero-stage{
  position: relative;
  height: 380px;
}
.hero-stage svg{ width:100%; height:100%; }
.gear{ transform-origin: center; }
@media (prefers-reduced-motion: no-preference){
  .gear-a{ animation: spin 22s linear infinite; }
  .gear-b{ animation: spin-rev 16s linear infinite; }
  .gear-c{ animation: spin 30s linear infinite; }
}
@keyframes spin{ to{ transform: rotate(360deg); } }
@keyframes spin-rev{ to{ transform: rotate(-360deg); } }

/* ---------- Page banner (internal pages) ---------- */
.page-banner{
  position: relative;
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
  padding: 64px 0 56px;
}
.page-banner::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(var(--line-dark) 1px, transparent 1px),
    linear-gradient(90deg, var(--line-dark) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: 0.35;
  mask-image: radial-gradient(ellipse at 15% 30%, black 10%, transparent 70%);
}
.page-banner .wrap{ position:relative; z-index:2; }
.page-banner h1{
  font-size: clamp(32px, 4.4vw, 50px);
  color: var(--white);
  margin: 14px 0 0;
}
.breadcrumb{
  font-family: var(--mono);
  font-size: 12px;
  color: var(--steel-light);
  margin-top: 18px;
}
.breadcrumb a:hover{ color: var(--red); }
.breadcrumb .sep{ margin: 0 8px; color: var(--line-dark); }

/* ---------- Compromisso strip ---------- */
.strip{
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.strip .wrap{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
}
.strip-item{
  padding: 30px 26px;
  border-left: 1px solid var(--line);
}
.strip-item:first-child{ border-left:none; padding-left:0; }
.strip-item .num{
  font-family: var(--mono);
  font-size: 12px;
  color: var(--red);
  display:block;
  margin-bottom: 10px;
}
.strip-item h3{
  font-size: 16px;
  margin-bottom: 8px;
}
.strip-item p{
  font-size: 13.5px;
  color: var(--steel);
}

/* ---------- Section shell ---------- */
section{ padding: 88px 0; }
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 30px;
  margin-bottom: 46px;
  flex-wrap: wrap;
}
.section-head h2{
  font-size: clamp(28px,3.4vw,40px);
  margin-top: 12px;
}
.section-head .desc{
  max-width: 38ch;
  color: var(--steel);
  font-size: 14.5px;
  padding-bottom: 4px;
}

/* ---------- Produtos grid ---------- */
.catalog-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.cat-card{
  background: var(--white);
  padding: 0;
  display:flex;
  flex-direction: column;
  min-height: 240px;
  overflow: hidden;
}
.cat-card .cover{
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display:block;
  border-bottom: 1px solid var(--line);
  filter: grayscale(15%);
  transition: filter .2s ease, transform .3s ease;
}
.cat-card:hover .cover{ filter: grayscale(0%); transform: scale(1.02); }
.cat-card .spec-fill{ padding:0; }
.cat-card .spec-fill svg{ width:100%; height:100%; display:block; }
.cat-card .cc-body{
  padding: 22px 24px 26px;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.cat-card .code{
  font-family: var(--mono);
  font-size: 12px;
  color: var(--steel-light);
  margin-bottom: 12px;
  display:block;
}
.cat-card h3{
  font-size: 18px;
  margin-bottom: 12px;
  line-height:1.2;
}
.cat-card p{
  font-size: 13.5px;
  color: var(--steel);
}
.cat-card .dl{
  margin-top: auto;
  padding-top: 18px;
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--red);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.cat-card:hover{ background: var(--paper); }
.cat-card:hover .dl{ gap: 10px; transition: gap .15s ease; }
.cat-card.wide:hover{ background: var(--ink-soft); }

.cat-card.wide{
  grid-column: 1 / -1;
  background: var(--ink);
  border-color: var(--ink);
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-height: auto;
  padding: 30px 40px;
}
.cat-card.wide .cc-left{ max-width: 52ch; }
.cat-card.wide h3{ color: var(--white); margin-bottom: 6px; }
.cat-card.wide p{ color: var(--steel-light); flex-grow:0; }
.cat-card.wide .dl{ margin-top:0; white-space: nowrap; }
.cat-card.wide .wide-cover{
  height: 180px;
  width: auto;
  border-radius: 2px;
  flex-shrink: 0;
  object-fit: cover;
}

/* ---------- Bonhoeffer panel ---------- */
.partner{
  background: var(--red);
  color: var(--white);
  position: relative;
  overflow:hidden;
}
.partner .wrap{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items:center;
  padding: 76px 28px;
}
.partner .eyebrow{ color: rgba(255,255,255,0.8); }
.partner .eyebrow::before{ background: rgba(255,255,255,0.8); }
.partner h2{
  color: var(--white);
  font-size: clamp(26px,3.2vw,36px);
  margin: 14px 0 18px;
}
.partner p{
  font-size: 15px;
  color: rgba(255,255,255,0.88);
  max-width: 48ch;
}
.partner-cta-row{
  display:flex;
  align-items:center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.partner-badge{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  background: rgba(0,0,0,0.18);
  display:inline-block;
  padding: 6px 12px;
  margin-top: 0;
  border: 1px solid rgba(255,255,255,0.35);
}
.partner-badge-link{
  transition: background .15s ease, border-color .15s ease;
}
.partner-badge-link:hover{
  background: rgba(0,0,0,0.3);
  border-color: rgba(255,255,255,0.6);
}
.partner-visual{
  border: 1px solid rgba(255,255,255,0.3);
  padding: 34px;
  font-family: var(--mono);
  font-size: 13px;
  background: rgba(0,0,0,0.12);
}
.partner-visual .row{
  display:flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px dashed rgba(255,255,255,0.3);
}
.partner-visual .row:last-child{ border-bottom:none; }

/* ---------- Quem somos (teaser + full page) ---------- */
.about{
  background: var(--ink);
  color: var(--paper);
}
.about .eyebrow{ color: var(--red); }
.about .wrap{
  display:grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
}
.about h2{
  color: var(--white);
  font-size: clamp(26px,3.2vw,38px);
  margin: 14px 0 20px;
}
.about > .wrap > div:first-child p{
  color: var(--steel-light);
  font-size: 15px;
  max-width: 40ch;
}
.values-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
}
.value-card{
  background: var(--ink-soft);
  padding: 24px;
}
.value-card .tag{
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  display:block;
}
.value-card p{
  font-size: 13.5px;
  color: var(--steel-light);
}
.value-card h4{
  font-family: var(--display);
  text-transform: uppercase;
  font-size: 15px;
  color: var(--white);
  margin-bottom: 8px;
  letter-spacing: 0.02em;
}

/* ---------- Blog index ---------- */
.blog{ background: var(--paper); }
.post-index{ border-top: 1px solid var(--line); }
.post-row{
  display:grid;
  grid-template-columns: 90px 1fr auto;
  gap: 24px;
  align-items:center;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
  transition: padding-left .15s ease;
}
.post-row:hover{ padding-left: 10px; }
.post-row .date{
  font-family: var(--mono);
  font-size: 12px;
  color: var(--steel-light);
}
.post-row .tag{
  font-family: var(--mono);
  font-size: 11px;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  display:block;
  margin-bottom: 6px;
}
.post-row h3{
  font-size: 17px;
  text-transform: none;
  font-family: var(--body);
  font-weight: 600;
  letter-spacing: 0;
}
.post-row .arrow{
  font-family: var(--mono);
  color: var(--steel-light);
  font-size: 18px;
}
.post-row:hover .arrow{ color: var(--red); }
.post-index-toggle{ text-align: center; padding-top: 20px; }

/* ---------- CTA band ---------- */
.cta-band{
  background: var(--white);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.cta-band .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 30px;
  flex-wrap: wrap;
  padding: 50px 28px;
}
.cta-band h2{ font-size: clamp(22px,2.6vw,30px); }
.cta-band .sub{ color: var(--steel); font-size: 14px; margin-top: 8px; }

/* ---------- Footer ---------- */
footer{
  background: var(--ink);
  color: var(--steel-light);
  padding: 64px 0 30px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--line-dark);
}
.footer-grid h4{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--paper);
  margin-bottom: 16px;
}
.footer-grid li{ margin-bottom: 10px; font-size: 13.5px; }
#seguranca{ cursor: pointer; transition: color .15s ease; }
#seguranca:hover{ color: var(--red); }
.footer-grid a:hover{ color: var(--red); }
.footer-logo-img{ height: 45px; width:auto; margin-bottom: 16px; }
.social-links{
  display:flex;
  gap: 12px;
  margin-top: 18px;
}
.social-links a{
  width: 34px; height: 34px;
  display:flex; align-items:center; justify-content:center;
  border: 1px solid var(--red);
  border-radius: 2px;
  background: var(--red);
  color: var(--white);
  transition: background .2s ease;
}
.social-links a:hover{ background: var(--red-dark); }
.footer-grid p.tagline{ font-size: 13px; max-width: 30ch; color: var(--steel-light); }
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top: 26px;
  font-size: 12px;
  flex-wrap: wrap;
  gap: 10px;
}
.preview-note{
  font-family: var(--mono);
  font-size: 11px;
  color: var(--steel);
}

/* ---------- Forms ---------- */
.form{ max-width: 640px; }
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.field{ margin-bottom: 22px; }
.field > label{
  display:block;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--steel);
  margin-bottom: 8px;
}
.field label .opt{
  text-transform: none;
  font-family: var(--body);
  color: var(--steel-light);
  letter-spacing: 0;
}
.field input,
.field select,
.field textarea{
  width: 100%;
  border: 1px solid var(--line);
  background: var(--white);
  padding: 13px 14px;
  font-family: var(--body);
  font-size: 14.5px;
  color: var(--ink);
  border-radius: 2px;
  transition: border-color .15s ease;
}
.field textarea{ resize: vertical; min-height: 110px; }
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline: none;
  border-color: var(--red);
}
.field select{ cursor:pointer; }
.field select:disabled{ opacity:0.5; cursor:not-allowed; }

.radio-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.radio-card{ position:relative; }
.radio-card input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.radio-card .card{
  display: block;
  border: 1px solid var(--line);
  padding: 16px;
  height: 100%;
  transition: border-color .15s ease, background .15s ease;
}
.radio-card .card strong{
  display:block;
  font-family: var(--display);
  text-transform: uppercase;
  font-size: 13.5px;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}
.radio-card .card span{ font-size: 12px; color: var(--steel); }
.radio-card input:checked + .card{ border-color: var(--red); background: var(--paper-2); }
.radio-card input:focus-visible + .card{ outline: 2px solid var(--red); outline-offset: 2px; }

.form-note{
  font-size: 12.5px;
  color: var(--steel-light);
  margin: -6px 0 26px;
  max-width: 56ch;
}
.form-actions{ margin-top: 6px; }

.req-list{ border-top: 1px solid var(--line); max-width: 68ch; }
.req-list li{
  padding: 12px 0 12px 26px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
  color: var(--steel);
  position: relative;
}
.req-list li::before{
  content:"✓";
  position:absolute; left:0; top:12px;
  color: var(--red);
  font-weight:600;
}

.quick-nav{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }
.section-split{ background: var(--paper-2); }

.internal-note{
  background: var(--paper-2);
  border-left: 3px solid var(--red);
  padding: 16px 20px;
  font-size: 13.5px;
  color: var(--steel);
  max-width: 68ch;
  margin-bottom: 30px;
}
.form-status{
  font-family: var(--mono);
  font-size: 13px;
  margin-top: 16px;
  display:none;
}
.form-status.show{ display:block; }
.form-status.ok{ color: var(--red); }

/* ---------- Post article ---------- */
.post-meta{
  display:flex;
  gap: 16px;
  align-items:center;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--steel-light);
  margin-bottom: 34px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.post-meta .tag{ color: var(--red); text-transform: uppercase; letter-spacing: 0.04em; }

.post-body{ max-width: 68ch; font-size: 15.5px; color: var(--steel); }
.post-body p{ margin-bottom: 18px; }
.post-body h3, .post-body h4{
  font-family: var(--display);
  text-transform: uppercase;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.2;
  margin: 34px 0 14px;
}
.post-body ul{ margin: 0 0 18px 0; }
.post-body li{
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}
.post-body li::before{ content:"—"; position:absolute; left:0; color: var(--red); }
.post-body blockquote{
  border-left: 3px solid var(--red);
  padding: 2px 0 2px 20px;
  margin: 22px 0;
  font-style: italic;
  color: var(--ink);
}
.post-body strong{ color: var(--ink); font-weight: 600; }
.post-body hr{ border: none; border-top: 1px solid var(--line); margin: 32px 0; }
.post-body a{ color: var(--red); text-decoration: underline; text-underline-offset: 3px; }

.video-embed{
  aspect-ratio: 16 / 9;
  margin: 28px 0;
  background: var(--ink);
  max-width: 68ch;
  overflow: hidden;
}
.video-embed iframe{ display:block; width:100%; height:100%; border:0; }

.embed-box{
  border: 1px solid var(--line);
  margin: 28px 0;
  max-width: 68ch;
}
.embed-box iframe{ display:block; width:100%; border:0; }
.embed-box.drive iframe{ height: 230px; }

.support-cta{
  display:flex;
  align-items:center;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--paper-2);
  padding: 20px 24px;
  margin: 20px 0 28px;
  max-width: 68ch;
}
.support-cta p{ font-size: 13.5px; color: var(--steel); flex:1; min-width: 200px; }

.lesson-nav{
  display:flex;
  justify-content:space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 46px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
  max-width: 68ch;
}

/* ---------- Scam warning dialog ---------- */
.scam-dialog{
  border: none;
  border-radius: 2px;
  padding: 0;
  max-width: 640px;
  width: calc(100% - 48px);
  max-height: 85vh;
  color: var(--ink);
}
.scam-dialog::backdrop{ background: rgba(0,0,0,0.65); }
.scam-dialog-form{
  position: relative;
  padding: 44px 40px 36px;
  overflow-y: auto;
  max-height: 85vh;
}
.scam-dialog h2{
  font-size: clamp(22px, 3vw, 28px);
  margin: 10px 60px 20px 0;
  line-height: 1.15;
}
.scam-dialog h3{
  font-family: var(--display);
  text-transform: uppercase;
  font-size: 14.5px;
  letter-spacing: 0.02em;
  margin: 26px 0 12px;
}
.scam-dialog p{ font-size: 14.5px; color: var(--steel); margin-bottom: 14px; line-height: 1.6; }
.scam-dialog ul{ margin-bottom: 14px; }
.scam-dialog li{
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 14.5px;
  color: var(--steel);
  line-height: 1.6;
}
.scam-dialog li::before{ content:"—"; position:absolute; left:0; color: var(--red); }
.scam-dialog strong{ color: var(--ink); }
.scam-dialog-contact{
  font-family: var(--mono);
  font-size: 13.5px;
  color: var(--ink);
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.scam-dialog-contact a{ color: var(--red); }
.scam-dialog-sign{
  font-size: 12.5px;
  color: var(--steel-light);
  margin-top: 10px;
  margin-bottom: 0;
}
.scam-dialog-close{
  position: absolute;
  top: 20px; right: 20px;
  width: 32px; height: 32px;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  font-size: 15px;
  cursor: pointer;
  line-height: 1;
  transition: border-color .15s ease, color .15s ease;
}
.scam-dialog-close:hover{ border-color: var(--red); color: var(--red); }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
  .hero-stage{ height: 260px; order:-1; }
  .strip .wrap{ grid-template-columns: repeat(2,1fr); }
  .strip-item:nth-child(3){ border-left:none; }
  .catalog-grid{ grid-template-columns: repeat(2,1fr); }
  .partner .wrap{ grid-template-columns: 1fr; }
  .about .wrap{ grid-template-columns: 1fr; }
  .values-grid{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px){
  .nav-links{ display:none; }
  .nav-cta{ display:none; }
  .menu-toggle{ display:block; }
  .strip .wrap{ grid-template-columns: 1fr; }
  .strip-item{ border-left:none !important; border-top: 1px solid var(--line); padding: 22px 0; }
  .strip-item:first-child{ border-top:none; }
  .catalog-grid{ grid-template-columns: 1fr; }
  .cat-card.wide{ flex-direction: column; align-items: flex-start; }
  .cat-card.wide .wide-cover{ width: 100%; height: 200px; order: -1; }
  .post-row{ grid-template-columns: 1fr; gap:6px; }
  .footer-grid{ grid-template-columns: 1fr; gap: 28px; }
  .form-row{ grid-template-columns: 1fr; }
  .radio-grid{ grid-template-columns: 1fr 1fr; }
  .scam-dialog-form{ padding: 36px 22px 28px; }
  .scam-dialog h2{ margin-right: 46px; }
}
