.hero { padding: 82px 0 60px; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 48px; align-items: center; }
.hero-subline { display:block; margin-top: 6px; font-weight: 500; color: rgba(16,22,33,.80); }
.hero .section-lead { max-width: 540px; }
.hero-actions { display:flex; gap: 14px; flex-wrap:wrap; align-items:center; margin-top: 30px; }
.hero-actions .button-secondary::before { content:""; width:8px; height:8px; border:2px solid currentColor; border-radius:50%; opacity:.72; }
.hero-signals { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top: 34px; max-width: 620px; }
.signal { display:flex; gap:12px; align-items:center; color: var(--text-soft); font-weight: 650; font-size: .82rem; line-height: 1.35; }
.signal-icon { width: 34px; height: 34px; border-radius: 12px; display:grid; place-items:center; background: var(--green-soft); color: var(--green-strong); border:1px solid rgba(104,179,125,.16); flex:0 0 auto; }
.signal-icon svg { width:19px; height:19px; stroke: currentColor; fill:none; stroke-width:1.8; }

.visual-shell { position: relative; min-height: 510px; }
.hero-stage {
  position: relative; height: 100%; min-height: 510px; border-radius: 0; overflow: visible;
}
.hero-stage__bg {
  position:absolute; inset:0 0 0 0; width:100%; height:100%; object-fit: cover; object-position: center;
  border-radius: 0; filter: drop-shadow(0 24px 58px rgba(16,22,33,.14));
}
.audit-card {
  position: absolute; background: rgba(255,255,255,.94); border:1px solid rgba(16,22,33,.08); border-radius: 18px;
  box-shadow: 0 22px 50px rgba(16,22,33,.10); backdrop-filter: blur(8px);
}
.audit-card--summary { left: -10px; top: 28px; width: 370px; padding: 24px 24px 20px; }
.audit-card--status { right: 12px; bottom: 26px; width: 300px; padding: 20px 20px 18px; }
.audit-card__title { font-size: .95rem; font-weight: 800; letter-spacing: -.02em; margin-bottom: 18px; }
.audit-score { display:grid; grid-template-columns: 92px 1fr; gap: 16px; align-items:center; margin-bottom: 20px; }
.audit-score__ring {
  width: 86px; height: 86px; border-radius: 50%; display:grid; place-items:center; border: 4px solid var(--green); color: var(--green-strong);
}
.audit-score__value { text-align:center; line-height:1; }
.audit-score__value strong { display:block; font-size: 2rem; font-family: var(--font-display); letter-spacing: -.05em; }
.audit-score__value span { display:block; font-size: .74rem; color: var(--text-muted); margin-top: 4px; }
.audit-score__text strong { display:block; font-size: 1rem; letter-spacing:-.03em; }
.audit-score__text p { margin-top: 6px; color: var(--text-soft); line-height: 1.55; font-size: .87rem; }
.audit-list { display:grid; gap: 10px; }
.audit-list__item, .status-list__item { display:grid; grid-template-columns: 1fr auto; gap: 12px; align-items:start; font-size:.86rem; }
.audit-list__item span:first-child, .status-list__item span:first-child { color: var(--text-soft); line-height:1.35; font-weight:600; }
.audit-dot { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.82rem; }
.audit-dot::before { content:""; width:8px; height:8px; border-radius:50%; background: currentColor; }
.audit-dot--high { color: #db6736; }
.audit-dot--medium { color: #d9a229; }
.audit-dot--low { color: #66a85f; }
.status-list { display:grid; gap: 10px; }
.status-item-state { color: #66a85f; font-weight: 700; font-size: .82rem; display:inline-flex; align-items:center; gap:8px; }
.status-item-state::before { content:"✓"; font-weight:900; }
.status-card-foot {
  margin-top: 16px; min-height: 54px; border-radius: 12px; background: #f3faf4; border:1px solid rgba(104,179,125,.14);
  display:flex; align-items:center; gap:12px; padding: 0 14px; color:#2a7a42;
}
.status-card-foot svg { width:22px; height:22px; stroke: currentColor; fill:none; stroke-width:1.8; }
.status-card-foot strong { display:block; font-size:.87rem; }
.status-card-foot span { display:block; font-size:.78rem; color: rgba(42,122,66,.78); }

.hosting-strip { border-top: 1px solid rgba(16,22,33,.075); border-bottom: 1px solid rgba(16,22,33,.075); padding: 58px 0; background: rgba(255,255,255,.24); }
.hosting-text-card { text-align:center; }
.hosting-strip .kicker { margin-bottom: 18px; }
.hosting-strip h2 { font-size: clamp(1.85rem, 3vw, 3.15rem); line-height: 1.08; max-width: 1120px; margin: 0 auto 24px; }
.hosting-strip p { color: var(--text-soft); font-size: 1.03rem; max-width: 940px; margin: 0 auto; line-height: 1.78; }
.hosting-legal-note { margin-top: 20px !important; font-size: .88rem !important; color: var(--text-muted) !important; max-width: 820px !important; }

.section-split { display:grid; grid-template-columns: .92fr 1.08fr; align-items:end; gap:46px; margin-bottom:36px; }
.section-split p { max-width: 560px; color: var(--text-soft); line-height:1.72; font-size: .94rem; }
.level-card { padding: 24px 26px 22px; min-height: 430px; display:flex; flex-direction:column; }
.level-card.featured { background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,250,245,.92)); border-color: rgba(104,179,125,.28); }
.level-card .icon-tile { margin-bottom:16px; }
.level-tag { color: var(--green-strong); font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom: 8px; }
.level-card p { color: var(--text-soft); line-height:1.58; margin-top: 10px; font-size:.91rem; }
.level-card .check-list { gap: 8px; margin-top: 16px; }
.level-card .check-list li { font-size:.88rem; }
.level-price { margin-top:auto; padding-top:20px; font-size:1.28rem; font-weight:800; letter-spacing:-.04em; }
.level-price span { font-size:.78rem; color:var(--text-muted); font-weight:700; }
.price-note { margin-top: 8px !important; color: var(--text-muted) !important; font-size: .78rem !important; line-height: 1.45 !important; font-weight: 650; }
.level-actions { display:flex; justify-content:center; margin-top:22px; }
.level-actions .button-secondary::after { content:"→"; margin-left:8px; }

.need-wrap { display:grid; grid-template-columns: .88fr 1.12fr; gap: 36px; align-items: stretch; }
.need-copy { padding: 6px 0; }
.need-copy h2 { max-width: 420px; }
.need-copy .section-lead { max-width: 520px; }
.need-visual { min-height: 520px; }
.need-visual img { width:100%; height:100%; object-fit:cover; border-radius: 0; box-shadow: 0 24px 58px rgba(16,22,33,.13); }

.process-row { display:grid; grid-template-columns: repeat(5,1fr); gap:24px; align-items:start; position:relative; }
.process-row::before { content:""; position:absolute; left:74px; right:74px; top:31px; border-top:1px solid rgba(16,22,33,.15); z-index:0; }
.process-step { padding:0; min-height: 184px; background: transparent; box-shadow:none; border:0; position:relative; z-index:1; }
.process-step .icon-tile { background:rgba(255,255,255,.72); margin-bottom:18px; }
.step-number { color: var(--green-strong); font-weight:800; font-size:.70rem; letter-spacing:.13em; margin-bottom:9px; }
.process-step h3 { font-family: var(--font); letter-spacing:-.02em; font-size: .96rem; margin-bottom:8px; font-weight:800; }
.process-step p { color: var(--text-soft); line-height:1.56; font-size:.82rem; }

.deliverable { padding: 24px 22px; text-align:center; }
.deliverable .icon-badge { margin:0 auto 15px; }
.deliverable h3 { font-family: var(--font); letter-spacing:-.02em; font-size:1rem; margin-bottom:8px; }

.dark-cta {
  position: relative; overflow:hidden; background: linear-gradient(135deg, var(--dark), var(--dark-2)); color:#fff; border-radius: 10px;
  padding: 38px 42px; display:grid; grid-template-columns: 1fr; gap: 34px; align-items:center; box-shadow: var(--shadow-soft);
}
.dark-cta::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 78% 34%, rgba(104,179,125,.24), transparent 28%); }
.dark-cta > * { position: relative; z-index: 2; }
.dark-cta h2, .dark-cta .kicker { color:#fff; }
.dark-cta .kicker { opacity:.78; }
.dark-cta p { color: rgba(255,255,255,.76); line-height:1.68; margin-top:14px; max-width: 650px; font-size:.94rem; }
.faq-grid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-top:28px; }
.faq-item { padding:22px; }
.faq-item h3 { font-family: var(--font); letter-spacing:-.02em; font-size:1rem; margin-bottom:10px; }
.faq-item p { color:var(--text-soft); line-height:1.65; font-size:.91rem; }

.contact-section .section-lead { max-width: 760px; }
.contact-panel { display:block; }
.contact-card {
  max-width: 1060px;
  margin:28px auto 0;
  padding:clamp(26px, 4vw, 40px);
  border-color:rgba(16,22,33,.09);
  box-shadow:0 18px 60px rgba(16,22,33,.07);
}
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 30px; align-items:start; }
.form-grid .full { grid-column:1/-1; }
.phone-field { display:grid; grid-template-columns:118px minmax(0,1fr); gap:14px; }
.check-grid { display:grid; grid-template-columns:1fr; gap:12px; align-items:start; padding-top:6px; }
.security-note { max-width:1060px; margin:18px auto 0; padding:16px 18px; border-radius:18px; background: rgba(104,179,125,.09); border:1px solid rgba(104,179,125,.18); color:#164f2f; line-height:1.62; font-weight:750; }
.form-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding-top:4px; }
.form-meta-note { color:var(--text-muted); font-size:.82rem; line-height:1.6; max-width:560px; }
.visually-hidden-field { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

@media (prefers-reduced-motion: reduce) { .logo-marquee__track { animation: none; } }
@media (max-width: 1100px) {
  .hero-grid, .section-split, .need-wrap, .dark-cta { grid-template-columns:1fr; }
  .hero-signals { grid-template-columns:1fr; }
  .visual-shell { min-height: 560px; }
}
@media (max-width: 980px) {
  .process-row, .faq-grid, .form-grid, .check-grid { grid-template-columns:1fr; }
  .process-row::before { display:none; }
  .phone-field { grid-template-columns:1fr; }
  .form-actions { align-items:stretch; }
}
@media (max-width: 640px) {
  .hero { padding-top: 58px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button-primary, .button-secondary { width:100%; }
  .visual-shell, .hero-stage { min-height: 520px; }
  .audit-card--summary { left: 8px; top: 12px; width: calc(100% - 70px); }
  .audit-card--status { right: 8px; bottom: 12px; width: 250px; }
  .need-visual { min-height: 380px; }
  .dark-cta { padding: 28px; }
  .contact-card { padding:22px 18px; }
}


.method-section { padding-top: 58px; }
.method-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 48px;
  align-items: start;
}
.method-copy {
  display: grid;
  gap: 16px;
  color: var(--text-soft);
  font-size: .96rem;
  line-height: 1.75;
}
.agency-section { padding-top: 28px; }
.agency-card {
  padding: 34px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 42px;
  align-items: start;
}
.agency-card p {
  color: var(--text-soft);
  line-height: 1.72;
  font-size: .94rem;
}
.limits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.limits-grid .section-lead {
  font-size: .94rem;
  margin-top: 16px;
}
.warning-list li::before {
  content: "–";
  color: var(--warning);
}
.pdf-placeholder {
  display: none !important;
}

@media (max-width: 980px) {
  .method-grid, .agency-card, .limits-grid { grid-template-columns: 1fr; }
}

.cta-graphic { display:none !important; }
.price-policy-section { display:none !important; }

.service-descriptor{margin:18px 0 0;max-width:760px;font-size:clamp(1.02rem,1.8vw,1.28rem);line-height:1.45;color:rgba(20,27,43,.78);font-weight:700;}
@media (min-width: 1101px){ .hero-grid { grid-template-columns: 1.08fr .92fr; } }
