:root {
  --pc-ink: #15191f;
  --pc-muted: #626c78;
  --pc-soft: #f5f6f4;
  --pc-warm: #fbfaf7;
  --pc-line: #deded9;
  --pc-panel: #ffffff;
  --pc-accent: #bd4a2b;
  --pc-accent-strong: #97391f;
  --pc-blue: #1f5673;
  --pc-blue-soft: #e8f0f3;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--pc-warm);
  color: var(--pc-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.62;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.pc-shell {
  width: min(100% - 48px, 1160px);
  margin-inline: auto;
}

.pc-site-header {
  border-bottom: 1px solid var(--pc-line);
  background: rgba(251, 250, 247, 0.94);
}

.pc-topbar {
  border-bottom: 1px solid var(--pc-line);
  color: var(--pc-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
}

.pc-topbar .pc-shell,
.pc-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pc-topbar .pc-shell {
  min-height: 34px;
}

.pc-header-inner {
  min-height: 104px;
  gap: 30px;
}

.pc-brand {
  display: inline-flex;
  flex-direction: column;
  color: var(--pc-ink);
  line-height: 1;
}

.pc-brand-name {
  margin: 0;
  font-size: clamp(1.65rem, 2.8vw, 2.18rem);
  font-weight: 760;
  letter-spacing: 0;
}

.pc-brand-role {
  margin: 0.36rem 0 0;
  color: var(--pc-muted);
  font-size: 0.95rem;
  font-weight: 650;
}

.pc-header-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  color: var(--pc-ink);
  font-size: 0.9rem;
  font-weight: 780;
}

.pc-header-nav a {
  text-decoration: none;
}

.pc-header-cta,
.pc-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 6px;
  background: var(--pc-accent);
  color: #ffffff;
  padding: 12px 20px;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.pc-header-cta:hover,
.pc-button:hover {
  background: var(--pc-accent-strong);
  color: #ffffff;
}

.pc-button--secondary {
  border-color: var(--pc-line);
  background: transparent;
  color: var(--pc-ink);
}

.pc-button--secondary:hover {
  border-color: #c9c9c2;
  background: #ffffff;
  color: var(--pc-ink);
}

.pc-home {
  background: var(--pc-warm);
}

.pc-section {
  padding: clamp(64px, 7vw, 92px) 0;
  border-top: 1px solid var(--pc-line);
}

.pc-section--soft {
  background: var(--pc-soft);
}

.pc-section-head {
  max-width: 880px;
}

.pc-section-head--center {
  margin-inline: auto;
  text-align: center;
}

.pc-eyebrow {
  margin: 0 0 18px;
  color: var(--pc-accent);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pc-h1,
.pc-h2,
.pc-h3 {
  margin: 0;
  color: var(--pc-ink);
  font-weight: 850;
  letter-spacing: 0;
}

.pc-h1 {
  max-width: 860px;
  font-size: clamp(3rem, 5vw, 4.65rem);
  line-height: 0.98;
}

.pc-h2 {
  max-width: 820px;
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1.05;
}

.pc-h3 {
  font-size: 1.38rem;
  line-height: 1.18;
}

.pc-lead {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--pc-muted);
  font-size: clamp(1.12rem, 1.8vw, 1.35rem);
  line-height: 1.5;
}

.pc-copy {
  color: var(--pc-muted);
}

.pc-hero {
  padding: clamp(68px, 8vw, 108px) 0 clamp(76px, 9vw, 118px);
  background:
    linear-gradient(180deg, #ffffff 0%, var(--pc-warm) 100%);
}

.pc-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.74fr);
  gap: clamp(48px, 8vw, 96px);
  align-items: center;
}

.pc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.pc-micro {
  max-width: 640px;
  margin: 16px 0 0;
  color: var(--pc-muted);
  font-size: 0.92rem;
}

.pc-portrait-wrap {
  position: relative;
  min-height: 420px;
}

.pc-portrait-panel {
  position: absolute;
  inset: 46px 0 0 54px;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: #ffffff;
}

.pc-portrait {
  position: relative;
  display: block;
  width: min(410px, 100%);
  margin-left: auto;
  object-fit: contain;
  filter: drop-shadow(0 18px 34px rgba(21, 25, 31, .13));
}

.pc-proof {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 38px;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.pc-proof-item {
  min-height: 158px;
  padding: 24px;
  border-right: 1px solid var(--pc-line);
}

.pc-proof-item:last-child {
  border-right: 0;
}

.pc-proof strong {
  display: block;
  margin-bottom: 10px;
  color: var(--pc-ink);
  font-size: 1.68rem;
  line-height: 1;
}

.pc-grid-2,
.pc-grid-3 {
  display: grid;
  gap: 18px;
  margin-top: 36px;
}

.pc-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pc-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pc-card {
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: var(--pc-panel);
  padding: 28px;
}

.pc-card--accent {
  border-top: 4px solid var(--pc-blue);
}

.pc-card p {
  margin: 14px 0 0;
  color: var(--pc-muted);
}

.pc-card ul {
  margin: 18px 0 0;
  padding-left: 20px;
}

.pc-card li {
  margin: 8px 0;
  color: var(--pc-muted);
}

.pc-service-label {
  display: inline-flex;
  min-width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: var(--pc-blue-soft);
  color: var(--pc-blue);
  font-size: 0.82rem;
  font-weight: 900;
}

.pc-method {
  display: grid;
  gap: 0;
  margin-top: 38px;
}

.pc-step {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 20px;
  border-top: 1px solid var(--pc-line);
  padding: 24px 0;
}

.pc-step::before {
  color: var(--pc-blue);
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.pc-step:nth-child(1)::before { content: "01"; }
.pc-step:nth-child(2)::before { content: "02"; }
.pc-step:nth-child(3)::before { content: "03"; }
.pc-step:nth-child(4)::before { content: "04"; }

.pc-step h3,
.pc-step p {
  margin: 0;
}

.pc-step h3 {
  margin-bottom: 7px;
}

.pc-step p {
  color: var(--pc-muted);
}

.pc-about {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(42px, 7vw, 80px);
  align-items: center;
}

.pc-about img {
  width: 100%;
  max-width: 430px;
  border-radius: 8px;
  filter: grayscale(1);
}

.pc-testimonials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 38px;
}

.pc-testimonial {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 230px;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: #ffffff;
  padding: 26px;
}

.pc-testimonial blockquote {
  margin: 0;
  color: var(--pc-ink);
  font-size: 1.02rem;
  font-weight: 650;
  line-height: 1.5;
}

.pc-testimonial footer {
  margin-top: 22px;
  border-top: 1px solid var(--pc-line);
  padding-top: 16px;
  color: var(--pc-muted);
  font-size: 0.92rem;
}

.pc-faqs {
  max-width: 900px;
  margin-top: 36px;
  border-top: 1px solid var(--pc-line);
}

.pc-faq {
  border-bottom: 1px solid var(--pc-line);
}

.pc-faq summary {
  position: relative;
  display: block;
  cursor: pointer;
  padding: 22px 44px 22px 0;
  color: var(--pc-ink);
  font-size: 1.16rem;
  font-weight: 800;
  line-height: 1.24;
}

.pc-faq summary::-webkit-details-marker {
  display: none;
}

.pc-faq summary::after {
  content: "+";
  position: absolute;
  top: 20px;
  right: 0;
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  color: var(--pc-blue);
  line-height: 1;
}

.pc-faq[open] summary::after {
  content: "-";
}

.pc-faq p {
  max-width: 760px;
  margin: 0;
  padding: 0 0 22px;
  color: var(--pc-muted);
}

.pc-form-placeholder {
  max-width: 820px;
  margin-top: 30px;
  border: 1px solid var(--pc-line);
  border-radius: 8px;
  background: #ffffff;
  padding: 28px;
}

.pc-site-footer {
  border-top: 1px solid var(--pc-line);
  background: var(--pc-soft);
  color: var(--pc-muted);
  padding: 34px 0;
  font-size: 0.92rem;
}

.pc-footer-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}

.pc-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

@media (max-width: 940px) {
  .pc-header-inner,
  .pc-topbar .pc-shell,
  .pc-footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .pc-header-inner {
    min-height: 0;
    padding: 24px 0;
  }

  .pc-header-nav {
    flex-wrap: wrap;
    gap: 16px;
  }

  .pc-hero-grid,
  .pc-proof,
  .pc-grid-2,
  .pc-grid-3,
  .pc-about,
  .pc-testimonials {
    grid-template-columns: 1fr;
  }

  .pc-hero-grid {
    gap: 34px;
  }

  .pc-portrait-wrap {
    min-height: auto;
  }

  .pc-portrait-panel {
    display: none;
  }

  .pc-portrait {
    width: min(320px, 82%);
    margin: 0 auto;
  }

  .pc-proof-item {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--pc-line);
  }

  .pc-proof-item:last-child {
    border-bottom: 0;
  }

  .pc-about img {
    max-width: 360px;
  }
}

@media (max-width: 700px) {
  body {
    font-size: 16px;
  }

  .pc-shell {
    width: min(100% - 32px, 1160px);
  }

  .pc-hero,
  .pc-section {
    padding: 48px 0;
  }

  .pc-h1 {
    font-size: 2.18rem;
    line-height: 1.04;
  }

  .pc-h2 {
    font-size: 1.78rem;
    line-height: 1.1;
  }

  .pc-lead {
    font-size: 1.06rem;
    line-height: 1.55;
  }

  .pc-hero-actions {
    gap: 10px;
  }

  .pc-step {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .pc-button,
  .pc-header-cta {
    width: 100%;
  }
}
