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

:root {
  --bg:#f5f3ee;
  --paper:#fffdfa;
  --ink:#14211f;
  --muted:#65716f;
  --line:#d9d5cb;
  --green:#1f6f64;
  --green-2:#164f47;
  --dark:#11211f;
  --dark-2:#192d29;
  --sand:#e9e4d9;
  --mint:#ddebe5;
  --white:#fff;
  --radius:26px;
  --shadow:0 18px 55px rgba(20,33,31,.08);
  --max:1180px;
}

html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 88% 3%, rgba(31,111,100,.085), transparent 28rem),
    var(--bg);
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { max-width:100%; display:block; }
p,h1,h2,h3,h4 { margin-top:0; }

.container { width:min(var(--max), calc(100% - 40px)); margin:0 auto; }
.section { padding:100px 0; }
.section-sm { padding:70px 0; }
.eyebrow {
  margin:0 0 17px;
  color:var(--green);
  font-size:12px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.kicker {
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  color:#45524f;
  font-size:12px;
}
.kicker::before {
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--green);
}
h1 {
  margin-bottom:25px;
  font-size:clamp(49px,6.1vw,86px);
  line-height:.96;
  letter-spacing:-.057em;
}
h1 .accent, h2 .accent { color:var(--green); }
h2 {
  margin-bottom:0;
  font-size:clamp(36px,4.25vw,58px);
  line-height:1.03;
  letter-spacing:-.045em;
}
h3 { letter-spacing:-.025em; }
.lead {
  max-width:760px;
  color:#46524f;
  font-size:clamp(18px,1.8vw,22px);
  line-height:1.5;
}
.muted { color:var(--muted); }
.note { font-size:13px; color:var(--muted); }

.site-header {
  position:sticky; top:0; z-index:60;
  border-bottom:1px solid rgba(217,213,203,.72);
  background:rgba(245,243,238,.88);
  backdrop-filter:blur(18px);
}
.header-inner {
  min-height:78px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:32px;
  align-items:center;
}
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand-mark {
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--ink);
  border-radius:13px;
  font-weight:900;
  letter-spacing:-.06em;
}
.brand-copy { display:grid; line-height:1.18; }
.brand-copy strong { font-size:14px; }
.brand-copy small { margin-top:4px; color:var(--muted); font-size:11px; }
.main-nav { display:flex; justify-content:center; gap:24px; font-size:14px; }
.main-nav a { color:#35423f; }
.main-nav a:hover,.main-nav a.active { color:var(--green); }
.menu-toggle { display:none; }

.button {
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border:0;
  border-radius:15px;
  background:var(--green);
  color:white;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.button:hover { transform:translateY(-1px); background:var(--green-2); }
.button-dark { background:var(--dark); }
.button-dark:hover { background:#091412; }
.button-ghost {
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink);
}
.button-small { min-height:43px; padding:0 17px; font-size:13px; }
.text-link { font-weight:800; }
.text-link span { color:var(--green); }

.hero { padding:78px 0 90px; overflow:hidden; }
.hero-grid {
  display:grid;
  grid-template-columns:1.12fr .72fr;
  gap:68px;
  align-items:center;
}
.hero-copy .kicker { margin-bottom:22px; }
.hero-lead { margin-bottom:32px; }
.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.hero-foot {
  margin-top:30px;
  max-width:670px;
  padding-left:16px;
  border-left:2px solid var(--line);
  color:var(--muted);
  font-size:14px;
}
.hero-panel {
  min-height:510px;
  position:relative;
  overflow:hidden;
  padding:31px;
  border-radius:32px;
  background:var(--dark);
  color:white;
  box-shadow:var(--shadow);
  display:flex;flex-direction:column;justify-content:space-between;
}
.hero-panel::after {
  content:""; position:absolute; width:300px; height:300px; right:-100px; top:-75px;
  border:1px solid rgba(255,255,255,.12); border-radius:50%;
  box-shadow:0 0 0 45px rgba(255,255,255,.024),0 0 0 90px rgba(255,255,255,.015);
}
.panel-label { color:rgba(255,255,255,.58); font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.metric { display:grid; gap:6px; }
.metric strong { font-size:34px; letter-spacing:-.045em; }
.metric span { color:rgba(255,255,255,.65); font-size:13px; }
.metric-big strong { font-size:clamp(48px,5vw,72px); }
.metric-big span { max-width:310px; }
.metrics-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pill-row { display:flex; flex-wrap:wrap; gap:8px; }
.pill-row span {
  padding:7px 10px; border:1px solid rgba(255,255,255,.16); border-radius:999px;
  color:rgba(255,255,255,.72); font-size:11px;
}

.trust-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.34); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:26px 22px; border-right:1px solid var(--line); display:grid; gap:4px; }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { border-right:0; }
.trust-item b { font-size:14px; }
.trust-item span { color:var(--muted); font-size:12px; }

.section-heading { max-width:880px; margin-bottom:46px; }
.section-heading > p:last-child { margin:17px 0 0; color:var(--muted); font-size:18px; }

.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.audience-card {
  min-height:260px; padding:27px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper);
  display:flex; flex-direction:column;
}
.audience-card span { color:var(--green); font-size:12px; font-weight:850; }
.audience-card h3 { margin:40px 0 10px; font-size:25px; }
.audience-card p { margin:0; color:var(--muted); }
.audience-card b { margin-top:auto; padding-top:22px; font-size:13px; }

.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card {
  min-height:510px; padding:30px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper);
  display:flex; flex-direction:column;
}
.service-card.featured { background:var(--mint); border-color:#c5dcd2; }
.service-number { color:var(--green); font-size:12px; font-weight:900; letter-spacing:.12em; }
.service-card h3 { margin:40px 0 15px; font-size:28px; }
.service-card p { color:#4d5956; }
.clean-list { padding-left:18px; margin:14px 0 28px; color:#53605d; }
.clean-list li { margin:8px 0; }
.card-link { margin-top:auto; color:var(--green-2); font-weight:850; }

.section-dark { background:var(--dark); color:white; }
.section-dark .eyebrow { color:#96cabd; }
.section-dark .section-heading > p:last-child { color:rgba(255,255,255,.6); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.16); border-left:1px solid rgba(255,255,255,.16); }
.process-step { min-height:225px; padding:25px; border-right:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.process-step span { color:#94c9bb; font-size:11px; font-weight:900; }
.process-step h3 { margin:50px 0 8px; font-size:21px; }
.process-step p { margin:0; color:rgba(255,255,255,.61); font-size:13px; }

.heading-row { max-width:none; display:grid; grid-template-columns:1fr 340px; gap:70px; align-items:end; }
.heading-aside { margin:0!important; font-size:14px!important; }

.cases-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.case-card {
  min-height:330px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper);
  display:flex;flex-direction:column;
}
.case-large { grid-column:1/-1; min-height:390px; background:#e8ece5; }
.case-top { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.case-tag {
  padding:7px 10px; border-radius:999px; background:rgba(31,111,100,.08); color:var(--green-2);
  font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.08em;
}
.case-top strong { font-size:33px; letter-spacing:-.04em; }
.case-card h3 { max-width:760px; margin:68px 0 11px; font-size:29px; }
.case-card p { max-width:800px; color:var(--muted); }
.case-result { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); display:grid; gap:4px; }
.case-result span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.case-result b { max-width:760px; font-size:14px; }

.section-tint { background:var(--sand); }
.split-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:88px; }
.sticky { position:sticky; top:115px; align-self:start; }
.question-box {
  margin-top:15px; padding:18px 19px; border:1px solid #d0cabe; border-radius:17px; background:rgba(255,255,255,.42);
  display:flex; gap:13px; align-items:flex-start;
}
.question-box span { color:var(--green); font-size:11px; font-weight:900; }
.question-box b { line-height:1.33; }
.detail-list { border-top:1px solid #c9c3b6; }
.detail-item { padding:28px 0; border-bottom:1px solid #c9c3b6; display:grid; grid-template-columns:190px 1fr; gap:32px; }
.detail-item h3 { margin:0; font-size:20px; }
.detail-item p { margin:0; color:var(--muted); }

.packages { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.package {
  padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); display:flex; flex-direction:column;
}
.package.popular { background:var(--dark); color:white; border-color:var(--dark); }
.package-label { color:var(--green); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.package.popular .package-label { color:#9dcec1; }
.package h3 { margin:38px 0 10px; font-size:28px; }
.package p { color:var(--muted); }
.package.popular p,.package.popular li { color:rgba(255,255,255,.67); }
.package ul { padding-left:18px; margin:15px 0 30px; }
.package li { margin:8px 0; color:#52605d; }
.package .card-link { margin-top:auto; }
.package.popular .card-link { color:white; }

.consult-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.consult-card {
  min-height:285px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); display:flex; flex-direction:column;
}
.consult-card > span { color:var(--green); font-size:11px; font-weight:900; }
.consult-card h3 { margin:40px 0 10px; font-size:27px; }
.consult-card p { color:var(--muted); }
.consult-card b { margin-top:auto; padding-top:19px; border-top:1px solid var(--line); font-size:14px; }

.faq { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question {
  width:100%; padding:23px 0; border:0; background:transparent; color:var(--ink);
  display:flex; justify-content:space-between; gap:20px; text-align:left; cursor:pointer; font-weight:850; font-size:18px;
}
.faq-question span:last-child { color:var(--green); font-size:25px; line-height:1; }
.faq-answer { display:none; padding:0 0 24px; max-width:860px; color:var(--muted); }
.faq-item.open .faq-answer { display:block; }
.faq-item.open .faq-question span:last-child { transform:rotate(45deg); }

.cta-band {
  padding:68px 0;
  background:var(--mint);
  border-top:1px solid #c7d9d2;
  border-bottom:1px solid #c7d9d2;
}
.cta-grid { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.cta-grid h2 { max-width:780px; }
.cta-grid p { margin:18px 0 0; max-width:700px; color:#50605c; }

.contact-grid { display:grid; grid-template-columns:1fr .8fr; gap:86px; }
.contact-lead { max-width:620px; margin:22px 0 32px; color:var(--muted); font-size:18px; }
.contact-links { display:grid; max-width:540px; }
.contact-links a { padding:17px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.contact-links a:last-child { border-bottom:1px solid var(--line); }
.contact-links span { color:var(--muted); font-size:12px; }

.contact-form {
  padding:29px; background:var(--dark); color:white; border-radius:28px; box-shadow:var(--shadow);
}
.contact-form label { display:grid; gap:7px; margin-bottom:17px; }
.contact-form label > span { color:rgba(255,255,255,.67); font-size:12px; }
.contact-form input,.contact-form textarea {
  width:100%; padding:13px 14px; border:1px solid rgba(255,255,255,.15); border-radius:13px;
  color:white; background:rgba(255,255,255,.055); outline:none;
}
.contact-form input:focus,.contact-form textarea:focus { border-color:#9bcabd; }
.contact-form textarea { resize:vertical; }
.checkbox-row { display:flex!important; grid-template-columns:auto 1fr!important; gap:10px!important; align-items:flex-start; }
.checkbox-row input { width:auto; margin-top:4px; }
.checkbox-row span { line-height:1.4; }
.checkbox-row a { text-decoration:underline; text-underline-offset:3px; }
.form-button { width:100%; margin-top:3px; }
.form-note { display:block; margin-top:12px; color:rgba(255,255,255,.45); line-height:1.45; }

.site-footer { padding:44px 0; background:#0e1b19; color:rgba(255,255,255,.78); }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:55px; align-items:end; }
.footer-brand .brand-mark { border-color:rgba(255,255,255,.48); }
.footer-brand small { color:rgba(255,255,255,.46); }
.footer-note { margin:18px 0 0; color:rgba(255,255,255,.42); font-size:12px; }
.requisites,.footer-contacts { display:grid; gap:7px; font-size:12px; }
.requisites { color:rgba(255,255,255,.5); }
.requisites a { text-decoration:underline; text-underline-offset:3px; }
.footer-contacts { text-align:right; }

.subhero { padding:72px 0 74px; border-bottom:1px solid var(--line); }
.subhero-grid { display:grid; grid-template-columns:1fr 360px; gap:70px; align-items:end; }
.subhero h1 { max-width:900px; font-size:clamp(47px,5.7vw,78px); }
.subhero-side { color:var(--muted); font-size:16px; }
.page-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.page-card {
  min-height:300px; padding:26px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); display:flex; flex-direction:column;
}
.page-card .num { color:var(--green); font-size:11px; font-weight:900; }
.page-card h3 { margin:40px 0 10px; font-size:25px; }
.page-card p { color:var(--muted); }
.page-card b { margin-top:auto; padding-top:18px; border-top:1px solid var(--line); font-size:13px; }
.text-section { max-width:850px; }
.text-section h2 { margin:45px 0 16px; font-size:32px; }
.text-section h3 { margin:28px 0 10px; font-size:23px; }
.text-section p,.text-section li { color:#4e5b58; }
.text-section ul { padding-left:20px; }

.floating-contact {
  position:fixed; z-index:55; right:18px; bottom:18px;
  display:flex; gap:8px; padding:7px; border:1px solid var(--line); border-radius:16px;
  background:rgba(255,253,250,.92); backdrop-filter:blur(12px); box-shadow:var(--shadow);
}
.floating-contact a {
  min-height:39px; display:inline-flex; align-items:center; padding:0 12px; border-radius:11px; font-size:12px; font-weight:850;
}
.floating-contact a:first-child { background:var(--dark); color:white; }
.floating-contact a:last-child { color:var(--green-2); }

@media(max-width:980px){
  .header-inner { grid-template-columns:auto auto; justify-content:space-between; }
  .header-cta { display:none; }
  .menu-toggle { display:inline-flex; padding:9px 12px; border:1px solid var(--line); border-radius:11px; background:transparent; color:var(--ink); }
  .main-nav { display:none; grid-column:1/-1; padding:0 0 18px; justify-content:flex-start; flex-wrap:wrap; }
  .main-nav.open { display:flex; }
  .hero-grid,.split-grid,.contact-grid,.subhero-grid { grid-template-columns:1fr; }
  .hero-grid { gap:42px; }
  .hero-panel { min-height:430px; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .service-grid,.packages,.page-card-grid { grid-template-columns:1fr; }
  .service-card { min-height:auto; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .heading-row { grid-template-columns:1fr; gap:15px; }
  .cases-grid { grid-template-columns:1fr; }
  .case-large { grid-column:auto; }
  .sticky { position:static; }
  .consult-grid,.audience-grid { grid-template-columns:1fr 1fr; }
  .cta-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; align-items:start; }
  .footer-contacts { text-align:left; }
}
@media(max-width:660px){
  .container { width:min(var(--max),calc(100% - 28px)); }
  .section { padding:74px 0; }
  .site-header .brand-copy small { display:none; }
  h1 { font-size:clamp(45px,15vw,62px); }
  .hero { padding-top:52px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero-panel { min-height:390px; padding:23px; }
  .metric-big strong { font-size:45px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { padding-left:0; border-right:0; border-bottom:1px solid var(--line); }
  .process-grid { grid-template-columns:1fr; }
  .process-step { min-height:185px; }
  .process-step h3 { margin-top:34px; }
  .consult-grid,.audience-grid { grid-template-columns:1fr; }
  .case-card,.case-large { min-height:310px; }
  .case-card h3 { margin-top:48px; font-size:25px; }
  .case-top strong { font-size:24px; }
  .detail-item { grid-template-columns:1fr; gap:8px; }
  .contact-links a { flex-direction:column; gap:3px; }
  .footer-grid { grid-template-columns:1fr; gap:27px; }
  .floating-contact { left:14px; right:14px; bottom:12px; justify-content:space-between; }
}


/* V5: server-side contact form */
.form-honeypot {
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.form-button:disabled {
  opacity:.62;
  cursor:wait;
  transform:none;
}

.form-status {
  min-height:0;
  margin-top:12px;
  padding:0;
  border-radius:12px;
  font-size:13px;
  line-height:1.45;
}

.form-status.success,
.form-status.error {
  padding:11px 13px;
}

.form-status.success {
  background:rgba(157,206,193,.13);
  border:1px solid rgba(157,206,193,.35);
  color:#c6e4dc;
}

.form-status.error {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);
  color:#ffd7d2;
}


/* V6: fixed-price service formats */
.formats-teaser {
  background:#eef3ef;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.formats-teaser-grid {
  display:grid;
  grid-template-columns:1fr auto;
  gap:42px;
  align-items:center;
}
.formats-teaser h2 { max-width:780px; }
.formats-teaser p { max-width:760px; margin:18px 0 0; color:var(--muted); }
.price-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.price-chips span {
  display:inline-flex; align-items:center; min-height:34px; padding:0 11px;
  border:1px solid #cbd8d2; border-radius:999px; background:rgba(255,255,255,.56);
  color:#39514a; font-size:12px; font-weight:800;
}
.formats-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.format-card {
  min-height:500px; padding:30px; border:1px solid var(--line);
  border-radius:var(--radius); background:var(--paper);
  display:flex; flex-direction:column;
}
.format-card.featured { background:var(--dark); color:white; border-color:var(--dark); }
.format-card.full { grid-column:1/-1; min-height:auto; }
.format-top { display:flex; justify-content:space-between; gap:22px; align-items:flex-start; }
.format-index {
  color:var(--green); font-size:11px; font-weight:900;
  letter-spacing:.1em; text-transform:uppercase;
}
.format-card.featured .format-index { color:#9dcec1; }
.format-price { text-align:right; white-space:nowrap; }
.format-price strong { display:block; font-size:32px; line-height:1; letter-spacing:-.04em; }
.format-price span { display:block; margin-top:6px; color:var(--muted); font-size:11px; }
.format-card.featured .format-price span,
.format-card.featured p,
.format-card.featured li,
.format-card.featured .format-meta { color:rgba(255,255,255,.66); }
.format-card h3 { margin:52px 0 12px; font-size:30px; }
.format-card p { color:var(--muted); }
.format-list { margin:14px 0 24px; padding-left:18px; }
.format-list li { margin:8px 0; color:#53605d; }
.format-meta {
  margin-top:auto; padding-top:18px; border-top:1px solid var(--line);
  display:grid; grid-template-columns:repeat(2,1fr); gap:14px;
  color:var(--muted); font-size:12px;
}
.format-card.featured .format-meta { border-top-color:rgba(255,255,255,.16); }
.format-meta b { display:block; margin-top:4px; color:var(--ink); font-size:13px; }
.format-card.featured .format-meta b { color:white; }
.format-action { margin-top:22px; }
.format-card.featured .button { background:#f4f1e9; color:var(--dark); }
.format-card.featured .button:hover { background:white; }
.scope-note {
  margin-top:30px; padding:24px; border:1px solid var(--line);
  border-radius:20px; background:#f3f0e8; color:#52605d;
}
.scope-note strong { color:var(--ink); }
@media(max-width:980px){
  .formats-teaser-grid { grid-template-columns:1fr; }
  .formats-grid { grid-template-columns:1fr; }
  .format-card.full { grid-column:auto; }
}
@media(max-width:660px){
  .format-card { min-height:auto; }
  .format-top { flex-direction:column; }
  .format-price { text-align:left; }
  .format-card h3 { margin-top:34px; }
  .format-meta { grid-template-columns:1fr; }
}


/* V6.3 readability pass for formats page */
.formats-page .section-heading {
  max-width: 920px;
  margin-bottom: 46px;
}

.formats-page .section-heading h2 {
  max-width: 820px;
}

.formats-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.format-card,
.format-card.full {
  min-height:unset;
  grid-column:auto;
  padding:32px;
  border:1px solid #dbe3df;
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 10px 30px rgba(16,45,38,.045);
}

.format-card.featured {
  background:#0d2a25;
  color:#fff;
  border-color:#0d2a25;
}

.format-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding-bottom:22px;
  border-bottom:1px solid #e1e7e3;
}

.format-card.featured .format-top {
  border-bottom-color:rgba(255,255,255,.15);
}

.format-index {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#eaf4ef;
  color:#176f60;
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.format-card.featured .format-index {
  background:rgba(255,255,255,.10);
  color:#a9d8cc;
}

.format-price {
  text-align:right;
  flex-shrink:0;
}

.format-price strong {
  display:block;
  font-size:34px;
  line-height:1;
  letter-spacing:-.035em;
}

.format-price span {
  display:inline-block;
  margin-top:9px;
  padding:6px 10px;
  border-radius:999px;
  background:#edf4ef;
  color:#53635f;
  font-size:11px;
  font-weight:700;
}

.format-card.featured .format-price span {
  background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.72);
}

.format-card h3 {
  margin:30px 0 14px;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.03em;
}

.format-card > p {
  margin:0;
  color:#596762;
  font-size:16px;
  line-height:1.55;
}

.format-card.featured > p {
  color:rgba(255,255,255,.70);
}

.format-list {
  list-style:none;
  padding:0;
  margin:24px 0 28px;
}

.format-list li {
  position:relative;
  margin:0;
  padding:9px 0 9px 38px;
  color:#45534f;
  line-height:1.45;
  border-bottom:1px solid rgba(17,55,46,.06);
}

.format-list li:last-child {
  border-bottom:none;
}

.format-list li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:7px;
  width:24px;
  height:24px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e6f3ed;
  color:#147463;
  font-size:13px;
  font-weight:900;
}

.format-card.featured .format-list li {
  color:rgba(255,255,255,.76);
  border-bottom-color:rgba(255,255,255,.08);
}

.format-card.featured .format-list li::before {
  background:rgba(169,216,204,.15);
  color:#a9d8cc;
}

.format-meta {
  margin-top:auto;
  padding:20px 0 0;
  border-top:1px solid #dfe6e2;
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:18px;
  color:#79847f;
  font-size:12px;
}

.format-card.featured .format-meta {
  border-top-color:rgba(255,255,255,.14);
  color:rgba(255,255,255,.52);
}

.format-meta > div {
  min-width:0;
}

.format-meta b {
  display:block;
  margin-top:5px;
  color:#112d27;
  font-size:14px;
  line-height:1.35;
}

.format-card.featured .format-meta b {
  color:#fff;
}

.format-action {
  margin-top:24px;
}

.format-action .button {
  width:100%;
  justify-content:center;
  min-height:52px;
  font-size:15px;
}

.scope-note {
  margin-top:26px;
  padding:22px 24px;
  border:1px solid #d9e1dd;
  border-radius:18px;
  background:#f4f1e9;
  color:#56645f;
  line-height:1.55;
}

.scope-note strong {
  display:block;
  margin-bottom:6px;
  color:#112d27;
}

@media(max-width:900px){
  .formats-grid { grid-template-columns:1fr; }
  .format-card { padding:26px; }
}

@media(max-width:600px){
  .format-top {
    flex-direction:column;
    align-items:flex-start;
  }
  .format-price { text-align:left; }
  .format-card h3 { font-size:26px; }
  .format-meta { grid-template-columns:1fr; }
}


/* V7: formats without commodity pricing + tender economics calculator */
.tender-calc-section {
  padding-top: 34px;
}
.calc-shell {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:34px;
  padding:34px;
  border-radius:28px;
  background:#0d2a25;
  color:#fff;
  box-shadow:0 18px 54px rgba(12,39,33,.10);
}
.calc-copy h2 {
  margin:10px 0 14px;
  max-width:560px;
  color:#fff;
}
.calc-copy > p {
  max-width:560px;
  color:rgba(255,255,255,.68);
  line-height:1.6;
}
.calc-note {
  margin-top:24px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  color:rgba(255,255,255,.55);
  font-size:12px;
  line-height:1.5;
}
.tender-calculator {
  padding:24px;
  border-radius:22px;
  background:#f7f5ef;
  color:var(--ink);
}
.calc-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.calc-fields label {
  display:block;
}
.calc-fields span {
  display:block;
  margin-bottom:7px;
  color:#596762;
  font-size:12px;
  font-weight:700;
}
.calc-fields input {
  width:100%;
  min-height:48px;
  padding:0 13px;
  border:1px solid #d5dfda;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.calc-fields input:focus {
  outline:2px solid rgba(26,126,108,.18);
  border-color:#7ab8aa;
}
.calc-button {
  width:100%;
  margin-top:15px;
  justify-content:center;
}
.calc-results {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}
.calc-result {
  padding:14px;
  border:1px solid #dbe4df;
  border-radius:14px;
  background:#fff;
}
.calc-result span {
  display:block;
  color:#76817d;
  font-size:11px;
}
.calc-result strong {
  display:block;
  margin-top:5px;
  color:#102c26;
  font-size:20px;
  letter-spacing:-.02em;
}
.calc-verdict {
  grid-column:1/-1;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f3ee;
  color:#174e43;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
}
.calc-verdict.risky {
  background:#f4ece7;
  color:#7a4134;
}
.calc-verdict.caution {
  background:#f5f0df;
  color:#725d21;
}
.calc-cta {
  grid-column:1/-1;
  justify-content:center;
  margin-top:2px;
}
.format-price-text {
  max-width:190px;
  white-space:normal;
}
.format-price-text strong {
  font-size:18px;
  line-height:1.15;
}
.tender-dept-card {
  border-color:#b9d4cb;
  background:#eff6f2;
}
.v7-formats .format-card {
  min-height:560px;
}
.v7-formats .format-card.tender-dept-card {
  min-height:560px;
}

@media(max-width:900px){
  .calc-shell { grid-template-columns:1fr; }
}
@media(max-width:600px){
  .calc-shell { padding:22px; border-radius:22px; }
  .tender-calculator { padding:18px; }
  .calc-fields,
  .calc-results { grid-template-columns:1fr; }
  .calc-verdict,
  .calc-cta { grid-column:auto; }
}


/* V8: tools hub + bookmark prompt */
.tools-hub {
  padding-top: 46px;
}
.tools-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.tool-card {
  padding:28px;
  border:1px solid #dbe3df;
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 10px 30px rgba(16,45,38,.04);
  display:flex;
  flex-direction:column;
  min-height:320px;
}
.tool-card.available {
  background:#f3faf6;
  border-color:#cfe3db;
}
.tool-card.coming {
  background:#fffdf8;
}
.tool-status {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  width:max-content;
  padding:0 12px;
  border-radius:999px;
  background:#e9f3ee;
  color:#176f60;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tool-card h3 {
  margin:18px 0 10px;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.tool-card p {
  margin:0;
  color:#596762;
  line-height:1.55;
}
.tool-card .button {
  margin-top:auto;
  justify-content:center;
}

.bookmark-panel {
  margin-top:24px;
  padding:28px 30px;
  border-radius:26px;
  background:#0d2a25;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
}
.bookmark-panel .eyebrow,
.bookmark-modal .eyebrow {
  color:#9dcec1;
}
.bookmark-copy h3 {
  margin:10px 0 12px;
  color:#fff;
}
.bookmark-copy p:last-child {
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.6;
}
.bookmark-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.button-secondary {
  background:transparent;
  color:var(--ink);
  border:1px solid #d5dfda;
}
.button-secondary:hover {
  background:#f3f6f4;
}
.bookmark-panel .button-secondary,
.bookmark-modal__buttons .button-secondary,
.calc-mini-bookmark .button-secondary {
  color:#fff;
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
}
.bookmark-panel .button-secondary:hover,
.bookmark-modal__buttons .button-secondary:hover,
.calc-mini-bookmark .button-secondary:hover {
  background:rgba(255,255,255,.12);
}
.calc-mini-bookmark {
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.calc-mini-bookmark span {
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.45;
}

.bookmark-modal[hidden] {
  display:none;
}
.bookmark-modal {
  position:fixed;
  inset:0;
  z-index:2000;
}
.bookmark-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(3,17,14,.55);
  backdrop-filter:blur(6px);
}
.bookmark-modal__dialog {
  position:relative;
  z-index:1;
  width:min(680px, calc(100% - 28px));
  margin:40px auto;
  padding:28px;
  border-radius:28px;
  background:#fffdf8;
  box-shadow:0 24px 60px rgba(5,23,19,.20);
}
.bookmark-modal__close {
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border:none;
  border-radius:50%;
  background:#f0f3f1;
  color:#17332d;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.bookmark-modal__lead {
  color:#596762;
  margin:0 0 18px;
}
.bookmark-steps {
  display:grid;
  gap:12px;
}
.bookmark-step {
  padding:15px 16px;
  border:1px solid #dde5e1;
  border-radius:18px;
  background:#f8faf8;
}
.bookmark-step strong {
  display:block;
  margin-bottom:4px;
  color:#0f2d27;
}
.bookmark-step span {
  display:block;
  color:#5d6a66;
  line-height:1.5;
}
.bookmark-modal__buttons {
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.bookmark-modal__buttons .button-dark {
  color:#fff;
}
.copy-ok {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

@media(max-width:980px){
  .tools-grid {
    grid-template-columns:1fr;
  }
  .bookmark-panel {
    grid-template-columns:1fr;
  }
  .bookmark-actions {
    justify-content:flex-start;
  }
}
@media(max-width:640px){
  .tool-card {
    min-height:auto;
    padding:22px;
  }
  .tool-card h3 {
    font-size:24px;
  }
  .bookmark-panel,
  .bookmark-modal__dialog {
    padding:22px;
  }
  .calc-mini-bookmark {
    flex-direction:column;
    align-items:flex-start;
  }
}


/* V9: dedicated tools page + deadline calculator */
.tools-hero {
  padding-bottom:42px;
}
.tools-live {
  padding-top:36px;
}
.tool-workbench {
  padding:28px;
  border-radius:28px;
  background:#f3f6f3;
  border:1px solid #dbe4df;
}
.tool-calculator {
  max-width:none;
  background:#fffdf8;
  border:1px solid #dde4e0;
}
.deadline-section {
  background:#0d2a25;
  color:#fff;
}
.deadline-section .section-heading h2 {
  color:#fff;
}
.deadline-section .section-heading p {
  color:rgba(255,255,255,.68);
}
.deadline-shell {
  padding:28px;
  border-radius:28px;
  background:#f7f5ef;
  color:var(--ink);
}
.deadline-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:22px;
}
.deadline-tab {
  min-height:44px;
  padding:0 16px;
  border:1px solid #d7e0dc;
  border-radius:999px;
  background:#fff;
  color:#42524d;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.deadline-tab.active {
  background:#0d2a25;
  color:#fff;
  border-color:#0d2a25;
}
.deadline-pane[hidden] {
  display:none;
}
.deadline-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.between-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.deadline-field span {
  display:block;
  margin-bottom:7px;
  color:#596762;
  font-size:12px;
  font-weight:800;
}
.deadline-field input,
.deadline-field select {
  width:100%;
  min-height:50px;
  padding:0 13px;
  border:1px solid #d5dfda;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.deadline-check {
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:17px;
  color:#53615d;
  font-size:13px;
  line-height:1.45;
}
.deadline-check input {
  width:18px;
  height:18px;
  margin-top:1px;
  flex:0 0 auto;
}
.deadline-run {
  margin-top:18px;
}
.deadline-output {
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:14px;
}
.deadline-result-main {
  padding:20px;
  border-radius:18px;
  background:#0d2a25;
  color:#fff;
}
.deadline-result-main span,
.deadline-result-main em {
  display:block;
  color:rgba(255,255,255,.64);
  font-size:12px;
  font-style:normal;
}
.deadline-result-main strong {
  display:block;
  margin:8px 0 5px;
  font-size:30px;
  line-height:1;
}
.deadline-stats {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.deadline-stats-3 {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-column:1/-1;
}
.deadline-stats > div {
  padding:17px;
  border:1px solid #dce4e0;
  border-radius:16px;
  background:#fff;
}
.deadline-stats span {
  display:block;
  color:#78827e;
  font-size:11px;
}
.deadline-stats strong {
  display:block;
  margin-top:6px;
  color:#102d27;
  font-size:24px;
}
.deadline-note {
  grid-column:1/-1;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f3ee;
  color:#174e43;
  font-size:13px;
  line-height:1.5;
}
.deadline-note.warning {
  background:#f5f0df;
  color:#725d21;
}
.legal-calendar-note {
  margin-top:20px;
  padding:14px 16px;
  border:1px solid #dce4e0;
  border-radius:16px;
  background:#fff;
  color:#61706b;
  font-size:12px;
  line-height:1.55;
}
.tools-next {
  background:#f2f6f3;
}
.tools-bookmark-panel {
  margin-top:0;
}
body.modal-open {
  overflow:hidden;
}

@media(max-width:980px){
  .deadline-grid {
    grid-template-columns:1fr 1fr;
  }
  .deadline-output {
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .tool-workbench,
  .deadline-shell {
    padding:20px;
    border-radius:22px;
  }
  .deadline-grid,
  .between-grid,
  .deadline-stats,
  .deadline-stats-3 {
    grid-template-columns:1fr;
  }
  .deadline-output {
    grid-template-columns:1fr;
  }
  .deadline-result-main strong {
    font-size:26px;
  }
}


/* V10: VAT calculator */
.vat-section {
  background:#f3f6f3;
}
.vat-shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  padding:28px;
  border:1px solid #dbe4df;
  border-radius:28px;
  background:#fffdf8;
}
.vat-controls {
  min-width:0;
}
.vat-mode-switch {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:18px;
}
.vat-mode {
  min-height:44px;
  padding:0 16px;
  border:1px solid #d7e0dc;
  border-radius:999px;
  background:#fff;
  color:#42524d;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.vat-mode.active {
  background:#0d2a25;
  color:#fff;
  border-color:#0d2a25;
}
.vat-field {
  display:block;
  margin-top:14px;
}
.vat-field span {
  display:block;
  margin-bottom:7px;
  color:#596762;
  font-size:12px;
  font-weight:800;
}
.vat-field input {
  width:100%;
  min-height:50px;
  padding:0 13px;
  border:1px solid #d5dfda;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.vat-rates {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.vat-rate {
  min-width:62px;
  min-height:42px;
  padding:0 13px;
  border:1px solid #d7e0dc;
  border-radius:12px;
  background:#fff;
  color:#42524d;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.vat-rate.active {
  background:#e8f3ee;
  color:#176f60;
  border-color:#b9d5cc;
}
.vat-custom-field {
  max-width:220px;
}
.vat-run {
  margin-top:18px;
}
.vat-output {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-content:start;
}
.vat-result {
  padding:18px;
  border:1px solid #dce4e0;
  border-radius:16px;
  background:#fff;
}
.vat-result-main {
  grid-column:1/-1;
  background:#0d2a25;
  color:#fff;
  border-color:#0d2a25;
}
.vat-result span {
  display:block;
  color:#78827e;
  font-size:11px;
}
.vat-result-main span {
  color:rgba(255,255,255,.62);
}
.vat-result strong {
  display:block;
  margin-top:6px;
  color:#102d27;
  font-size:25px;
  line-height:1.05;
}
.vat-result-main strong {
  color:#fff;
  font-size:31px;
}
.vat-formula {
  grid-column:1/-1;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f3ee;
  color:#174e43;
  font-size:13px;
  line-height:1.5;
}
.vat-help {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:4px;
}
.vat-help > div {
  padding:14px 15px;
  border:1px solid #dce4e0;
  border-radius:15px;
  background:#f8faf8;
}
.vat-help strong {
  display:block;
  color:#102d27;
  font-size:16px;
}
.vat-help span {
  display:block;
  margin-top:5px;
  color:#68746f;
  font-size:12px;
  line-height:1.45;
}
.vat-legal-note {
  grid-column:1/-1;
  margin-top:0;
}

@media(max-width:860px){
  .vat-shell {
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .vat-shell {
    padding:20px;
    border-radius:22px;
  }
  .vat-output,
  .vat-help {
    grid-template-columns:1fr;
  }
  .vat-result-main,
  .vat-formula,
  .vat-legal-note {
    grid-column:auto;
  }
}


/* V11: maximum safe tender reduction calculator */
.tools-grid-four {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.reduction-section {
  background:#fffdf8;
}
.reduction-shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  padding:28px;
  border:1px solid #dbe4df;
  border-radius:28px;
  background:#f3f6f3;
}
.reduction-inputs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-content:start;
}
.reduction-field span {
  display:block;
  margin-bottom:7px;
  color:#596762;
  font-size:12px;
  font-weight:800;
}
.reduction-field input {
  width:100%;
  min-height:50px;
  padding:0 13px;
  border:1px solid #d5dfda;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.reduction-run {
  grid-column:1/-1;
  margin-top:4px;
  justify-content:center;
}
.reduction-output {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-content:start;
}
.reduction-result {
  padding:18px;
  border:1px solid #dce4e0;
  border-radius:16px;
  background:#fff;
}
.reduction-main {
  grid-column:1/-1;
  background:#0d2a25;
  border-color:#0d2a25;
  color:#fff;
}
.reduction-result span {
  display:block;
  color:#78827e;
  font-size:11px;
}
.reduction-main span {
  color:rgba(255,255,255,.62);
}
.reduction-result strong {
  display:block;
  margin-top:6px;
  color:#102d27;
  font-size:24px;
  line-height:1.05;
}
.reduction-main strong {
  color:#fff;
  font-size:31px;
}
.reduction-verdict {
  grid-column:1/-1;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f3ee;
  color:#174e43;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
}
.reduction-verdict.warning {
  background:#f5f0df;
  color:#725d21;
}
.reduction-verdict.risky {
  background:#f4ece7;
  color:#7a4134;
}
.reduction-cta {
  grid-column:1/-1;
  justify-content:center;
}
.reduction-rules {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:4px;
}
.reduction-rules > div {
  padding:14px 15px;
  border:1px solid #dce4e0;
  border-radius:15px;
  background:#fff;
}
.reduction-rules strong {
  display:block;
  color:#102d27;
  font-size:14px;
}
.reduction-rules span {
  display:block;
  margin-top:5px;
  color:#68746f;
  font-size:12px;
  line-height:1.45;
}
.reduction-note {
  grid-column:1/-1;
  margin-top:0;
}

@media(max-width:900px){
  .reduction-shell {
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .tools-grid-four {
    grid-template-columns:1fr;
  }
  .reduction-shell {
    padding:20px;
    border-radius:22px;
  }
  .reduction-inputs,
  .reduction-output,
  .reduction-rules {
    grid-template-columns:1fr;
  }
  .reduction-run,
  .reduction-main,
  .reduction-verdict,
  .reduction-cta,
  .reduction-note {
    grid-column:auto;
  }
}


/* V12: merged economics + reduction, contract money calculator */
.reduction-scenario {
  grid-column:1/-1;
  padding:18px;
  border:1px solid #cfe0d9;
  border-radius:18px;
  background:#f7fbf8;
}
.reduction-scenario-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:12px;
  border-bottom:1px solid #dce6e1;
}
.reduction-scenario-head span {
  color:#65736e;
  font-size:12px;
}
.reduction-scenario-head strong {
  color:#102d27;
  font-size:26px;
}
.reduction-scenario-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.reduction-scenario-grid > div {
  padding:12px 14px;
  border-radius:13px;
  background:#fff;
  border:1px solid #e2e8e5;
}
.reduction-scenario-grid span {
  display:block;
  color:#78827e;
  font-size:11px;
}
.reduction-scenario-grid strong {
  display:block;
  margin-top:5px;
  color:#102d27;
  font-size:20px;
}

.contract-money-section {
  background:#0d2a25;
  color:#fff;
}
.contract-money-section .section-heading h2 {
  color:#fff;
}
.contract-money-section .section-heading p {
  color:rgba(255,255,255,.68);
}
.money-shell {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  padding:28px;
  border-radius:28px;
  background:#f7f5ef;
  color:var(--ink);
}
.money-inputs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-content:start;
}
.money-field span {
  display:block;
  margin-bottom:7px;
  color:#596762;
  font-size:12px;
  font-weight:800;
}
.money-field input {
  width:100%;
  min-height:50px;
  padding:0 13px;
  border:1px solid #d5dfda;
  border-radius:13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.money-run {
  grid-column:1/-1;
  margin-top:4px;
  justify-content:center;
}
.money-output {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-content:start;
}
.money-result {
  padding:17px;
  border:1px solid #dce4e0;
  border-radius:16px;
  background:#fff;
}
.money-result-main {
  grid-column:1/-1;
  background:#0d2a25;
  border-color:#0d2a25;
  color:#fff;
}
.money-result span {
  display:block;
  color:#78827e;
  font-size:11px;
}
.money-result-main span {
  color:rgba(255,255,255,.62);
}
.money-result strong {
  display:block;
  margin-top:6px;
  color:#102d27;
  font-size:22px;
  line-height:1.08;
}
.money-result-main strong {
  color:#fff;
  font-size:30px;
}
.money-verdict {
  grid-column:1/-1;
  padding:14px 16px;
  border-radius:14px;
  background:#e9f3ee;
  color:#174e43;
  font-size:13px;
  font-weight:800;
  line-height:1.5;
}
.money-verdict.warning {
  background:#f5f0df;
  color:#725d21;
}
.money-verdict.risky {
  background:#f4ece7;
  color:#7a4134;
}
.money-cta {
  grid-column:1/-1;
  justify-content:center;
}
.money-rules {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.money-rules > div {
  padding:14px 15px;
  border:1px solid #dce4e0;
  border-radius:15px;
  background:#fff;
}
.money-rules strong {
  display:block;
  color:#102d27;
  font-size:14px;
}
.money-rules span {
  display:block;
  margin-top:5px;
  color:#68746f;
  font-size:12px;
  line-height:1.45;
}
.money-note {
  grid-column:1/-1;
  margin-top:0;
}

@media(max-width:900px){
  .money-shell {
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .reduction-scenario-head {
    flex-direction:column;
    align-items:flex-start;
  }
  .reduction-scenario-grid,
  .money-inputs,
  .money-output,
  .money-rules {
    grid-template-columns:1fr;
  }
  .money-shell {
    padding:20px;
    border-radius:22px;
  }
  .money-run,
  .money-result-main,
  .money-verdict,
  .money-cta,
  .money-note {
    grid-column:auto;
  }
}


/* V13: Formats -> TenderOS Tools callout */
.formats-tools-callout {
  background:#f3f6f3;
}
.formats-tools-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  padding:28px;
  border:1px solid #dbe4df;
  border-radius:24px;
  background:#fffdf8;
}
.formats-tools-panel h2 {
  margin:6px 0 10px;
}
.formats-tools-panel p:last-child {
  max-width:760px;
  margin:0;
  color:#68746f;
}
@media(max-width:760px){
  .formats-tools-panel {
    grid-template-columns:1fr;
  }
  .formats-tools-panel .button {
    width:100%;
    justify-content:center;
  }
}


/* V14: payment + legal pages */
.payment-hero { background:#f3f6f3; }
.payment-security-card {
  padding:26px; border-radius:24px; background:#0d2a25; color:#fff; box-shadow:var(--shadow);
}
.payment-security-card strong { display:block; margin:12px 0 8px; font-size:24px; }
.payment-security-card p { color:rgba(255,255,255,.68); font-size:13px; line-height:1.6; }
.payment-lock {
  display:inline-flex; padding:7px 10px; border:1px solid rgba(255,255,255,.18);
  border-radius:999px; color:#b8ddd3; font-size:11px; font-weight:850;
}
.payment-methods { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.payment-methods span {
  padding:8px 11px; border-radius:10px; background:rgba(255,255,255,.08);
  font-size:12px; font-weight:800;
}
.payment-layout {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);
  gap:24px; align-items:start;
}
.payment-form {
  padding:28px; border:1px solid var(--line); border-radius:26px; background:#fffdf8;
}
.payment-form label { display:block; margin-top:16px; }
.payment-form label > span:first-child {
  display:block; margin-bottom:7px; color:#596762; font-size:12px; font-weight:850;
}
.payment-form input[type="text"],
.payment-form input[type="email"],
.payment-form input[type="number"] {
  width:100%; min-height:52px; padding:0 14px; border:1px solid #d5dfda;
  border-radius:13px; background:#fff; color:var(--ink); font:inherit;
}
.payment-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.payment-status {
  display:flex; align-items:flex-start; gap:12px; padding:14px 16px;
  border-radius:14px; background:#f5f0df; color:#725d21;
}
.payment-status.ready { background:#e9f3ee; color:#174e43; }
.status-dot {
  width:10px; height:10px; margin-top:5px; flex:0 0 auto; border-radius:50%; background:#c49622;
}
.payment-status.ready .status-dot { background:#2f8b73; }
.payment-status strong, .payment-status small { display:block; }
.payment-status small { margin-top:4px; opacity:.78; font-size:12px; line-height:1.45; }
.payment-consent {
  display:flex!important; align-items:flex-start; gap:10px; padding:14px;
  border-radius:13px; background:#f7f8f5; font-size:12px; line-height:1.5;
}
.payment-consent input { margin-top:3px; flex:0 0 auto; }
.payment-submit { width:100%; margin-top:18px; }
.payment-submit:disabled { opacity:.52; cursor:not-allowed; transform:none; }
.payment-side { display:grid; gap:14px; }
.payment-side-card {
  padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--paper);
}
.payment-side-card.compact { background:#e9f3ee; border-color:#cddfd7; }
.payment-side-card h3 { margin:0 0 8px; }
.payment-side-card p { color:#65716d; font-size:13px; line-height:1.55; }
.payment-steps { list-style:none; padding:0; margin:18px 0 0; display:grid; gap:14px; }
.payment-steps li { display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:start; }
.payment-steps b {
  width:30px; height:30px; display:grid; place-items:center; border-radius:9px;
  background:#e8f3ee; color:#176f60; font-size:12px;
}
.payment-steps span { color:#596762; font-size:13px; line-height:1.5; }
.payment-result-page { min-height:70vh; display:grid; place-items:center; padding:80px 0; }
.payment-result-card {
  max-width:720px; margin:auto; padding:40px; text-align:center;
  border:1px solid var(--line); border-radius:28px; background:#fffdf8;
}
.result-icon {
  width:58px; height:58px; display:grid; place-items:center; margin:0 auto 18px;
  border-radius:18px; background:#f4ece7; color:#7a4134; font-size:32px; font-weight:900;
}
.payment-result-card.success .result-icon { background:#e9f3ee; color:#176f60; }
.payment-result-card h1 { margin:8px 0 12px; }
.payment-result-card p { color:#65716d; }
.result-actions { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:24px; }
.legal-page { max-width:900px; }
.legal-page h1 { margin-top:8px; font-size:clamp(40px,5vw,66px); }
.legal-eyebrow { margin-top:42px; }
.legal-intro { margin:18px 0 34px; color:#5e6a66; font-size:18px; line-height:1.65; }
.legal-block { padding:24px 0; border-top:1px solid var(--line); }
.legal-block h2 { margin:0 0 10px; font-size:24px; }
.legal-block p { color:#596762; line-height:1.75; }
.legal-card { margin-top:28px; padding:28px; border:1px solid var(--line); border-radius:24px; background:#fffdf8; }
.requisites-list { margin:0; }
.requisites-list > div {
  display:grid; grid-template-columns:240px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid #e5e2da;
}
.requisites-list > div:last-child { border-bottom:0; }
.requisites-list dt { color:#75807c; font-size:12px; font-weight:800; }
.requisites-list dd { margin:0; font-weight:750; }
.legal-note {
  margin:18px 0 0; padding:14px 16px; border-radius:14px;
  background:#f3f6f3; color:#65716d; font-size:13px;
}
.legal-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; }
.formats-payment-teaser { background:#0d2a25; }
.formats-payment-panel {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; color:#fff;
}
.formats-payment-panel h2 { color:#fff; margin:6px 0 10px; }
.formats-payment-panel p:last-child { margin:0; max-width:760px; color:rgba(255,255,255,.66); }
.formats-payment-panel .eyebrow { color:#9fd2c4; }
.formats-payment-panel .button-dark { background:#fff; color:#102d27; }
.formats-payment-panel .button-dark:hover { background:#edf4f0; }
.requisites { gap:6px; align-content:start; }

@media(max-width:980px){
  .payment-layout { grid-template-columns:1fr; }
}
@media(max-width:760px){
  .payment-form-grid,
  .requisites-list > div,
  .formats-payment-panel { grid-template-columns:1fr; }
  .payment-form, .payment-result-card { padding:22px; }
  .formats-payment-panel .button { width:100%; }
}


/* V16: grants + procurement documents */
.service-expansion {
  margin-top:42px;
}
.service-expansion-heading {
  display:grid;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:18px 42px;
  align-items:end;
  margin-bottom:18px;
}
.service-expansion-heading .eyebrow {
  grid-column:1/-1;
  margin:0;
}
.service-expansion-heading h3 {
  margin:0;
  font-size:clamp(28px,3vw,42px);
}
.service-expansion-heading > p:last-child {
  margin:0;
  color:var(--muted);
}
.service-expansion-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.service-card-compact {
  min-height:430px;
}
.service-card-compact h3 {
  margin-top:28px;
}
.service-crosslink {
  padding-top:46px;
  padding-bottom:46px;
}
.service-crosslink-panel {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:28px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#f3f6f3;
}
.service-crosslink-panel h2 {
  margin:6px 0 10px;
  font-size:clamp(28px,3vw,42px);
}
.service-crosslink-panel p:last-child {
  max-width:780px;
  margin:0;
  color:var(--muted);
}
.grants-hero,
.docs-hero {
  background:#f7f5ef;
}
.service-hero-panel {
  min-height:430px;
}
.grants-grid .page-card,
.docs-grid .page-card {
  min-height:330px;
}
.docs-two-col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.docs-column-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
}
.docs-column-card h3 {
  margin:0 0 18px;
  font-size:26px;
}
.docs-column-card .clean-list {
  margin-bottom:0;
}
@media(max-width:900px){
  .service-expansion-heading,
  .service-expansion-grid,
  .service-crosslink-panel,
  .docs-two-col {
    grid-template-columns:1fr;
  }
}
