:root {
  --paper: #f2f6f5;
  --surface: #ffffff;
  --ink: #172b2c;
  --muted: #607170;
  --line: #cfdcda;
  --blue: #0c746f;
  --blue-dark: #075b58;
  --blue-soft: #e0efed;
  --green-soft: #dcebe5;
  --green-ink: #245f50;
  --copper: #b9683f;
  --danger: #b42318;
  --shadow: 0 18px 52px rgba(23, 43, 44, 0.09);
  --radius-sm: 5px;
  --radius: 7px;
  --radius-lg: 10px;
  --container: 1240px;
  --reading: 760px;
  --header-height: 126px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
.no-js .js-only-form { display: none; }
img, svg { display: block; max-width: 100%; }
a { color: var(--blue-dark); text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover { color: var(--blue); }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(12, 116, 111, 0.4); outline-offset: 3px; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.reading { width: min(100%, var(--reading)); }
.skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 1000; padding: 10px 14px;
  background: var(--ink); color: white; transform: translateY(-150%); border-radius: 8px;
}
.skip-link:focus { transform: translateY(0); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--blue-dark); font-size: 0.76rem; font-weight: 800;
  letter-spacing: 0.12em; line-height: 1.4; text-transform: uppercase;
}
.eyebrow::before { width: 34px; height: 2px; background: var(--copper); content: ""; }
.section-kicker { display: flex; align-items: center; gap: 10px; color: var(--blue-dark); font-weight: 750; font-size: 0.82rem; letter-spacing: .08em; text-transform: uppercase; }
.section-kicker::before { width: 28px; height: 2px; background: currentColor; content: ""; }
h1, h2, h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; letter-spacing: -0.032em; line-height: 1.06; text-wrap: balance; }
h1 { font-size: clamp(2.4rem, 6.4vw, 4.65rem); font-weight: 700; }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 700; }
h3 { font-size: clamp(1.2rem, 2.4vw, 1.55rem); font-weight: 700; }
p { margin: 0 0 1.15em; }
.lede { color: #38504e; font-size: clamp(1.05rem, 2vw, 1.22rem); line-height: 1.6; }
.small { color: var(--muted); font-size: .86rem; line-height: 1.55; }
.muted { color: var(--muted); }
.mt-small { margin-top: 14px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 720; }
.text-link::after { content: "→"; transition: transform .2s ease; }
.text-link:hover::after { transform: translateX(3px); }

.topline { border-bottom: 1px solid var(--line); background: #e8efed; color: #475c5a; font-size: .74rem; line-height: 1.4; }
.topline .container { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 22px; }
.topline strong { color: var(--ink); }
.topline__private { display: flex; align-items: center; gap: 9px; }
.topline__private::before { width: 16px; height: 2px; background: var(--copper); content: ""; }
.topline__note { color: #607170; text-align: right; }
.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(207, 220, 218, .95); background: rgba(255, 255, 255, .96); backdrop-filter: blur(14px); }
.header-shell { min-height: var(--header-height); }
.header-main { display: grid; min-height: 76px; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
.brand-mark { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid var(--blue); border-radius: 50%; background: transparent; color: var(--blue-dark); font-size: 1.12rem; font-weight: 800; line-height: 1; }
.brand-mark::before, .brand-mark::after { position: absolute; top: 50%; width: 8px; height: 16px; transform: translateY(-50%); content: ""; }
.brand-mark::before { left: -5px; border-top: 2px solid var(--copper); border-bottom: 2px solid var(--copper); border-left: 2px solid var(--copper); }
.brand-mark::after { right: -5px; border-top: 2px solid var(--copper); border-right: 2px solid var(--copper); border-bottom: 2px solid var(--copper); }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1.02rem; letter-spacing: -.02em; }
.brand-copy span { margin-top: 4px; color: var(--muted); font-size: .72rem; }
.header-identity { display: grid; grid-template-columns: auto auto; align-items: center; gap: 28px; }
.header-identity > span { color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.header-nav-row { display: flex; min-height: 49px; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
.desktop-nav { display: flex; align-items: center; justify-content: flex-start; gap: 2px; }
.nav-link, .nav-trigger { min-height: 42px; padding: 9px 15px; border: 0; border-radius: 4px; background: transparent; color: var(--ink); font-size: .87rem; font-weight: 680; text-decoration: none; cursor: pointer; }
.nav-link:hover, .nav-trigger:hover, .nav-trigger[aria-expanded="true"] { background: var(--blue-soft); color: var(--blue-dark); }
.nav-dropdown { position: relative; }
.nav-trigger { display: inline-flex; align-items: center; gap: 7px; }
.nav-trigger::after { content: "⌄"; font-size: 1rem; transform: translateY(-2px); }
.nav-panel { position: absolute; top: calc(100% + 10px); left: 50%; width: min(760px, 80vw); padding: 22px; transform: translateX(-42%); border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.nav-panel[hidden] { display: none; }
.nav-panel__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.nav-group strong { display: block; margin-bottom: 8px; color: var(--blue-dark); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.nav-group a { display: block; padding: 7px 0; color: var(--ink); font-size: .88rem; line-height: 1.35; text-decoration: none; }
.nav-group a:hover { color: var(--blue); text-decoration: underline; }
.header-hours { color: var(--muted); font-size: .75rem; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-phone { display: grid; color: var(--ink); font-size: .92rem; font-weight: 770; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.header-phone small { margin-top: 4px; color: var(--muted); font-size: .67rem; font-weight: 500; }
.header-request { display: inline-flex; min-height: 42px; align-items: center; gap: 13px; border-bottom: 2px solid var(--copper); color: var(--ink); font-size: .86rem; font-weight: 780; text-decoration: none; }
.header-request span { color: var(--blue); font-size: 1.2rem; transition: transform .18s ease; }
.header-request:hover span { transform: translateX(4px); }
.btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; font-weight: 760; line-height: 1.25; text-align: center; text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn--primary { background: var(--blue); color: white; }
.btn--primary:hover { background: var(--blue-dark); color: white; }
.btn--secondary { border-color: #9eb6b3; background: transparent; color: var(--ink); }
.btn--secondary:hover { border-color: var(--blue); background: white; color: var(--blue-dark); }
.btn--wide { width: 100%; }
.menu-toggle { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); cursor: pointer; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after { width: 20px; height: 2px; background: currentColor; content: ""; transition: .2s ease; }
.menu-toggle { flex-direction: column; gap: 5px; }
.menu-toggle[aria-expanded="true"] span { opacity: 0; }
.menu-toggle[aria-expanded="true"]::before { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"]::after { transform: translateY(-7px) rotate(-45deg); }
.mobile-nav { display: none; }

.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.conversion-hero { overflow: hidden; padding: 30px 0 0; background: #edf3f1; }
.conversion-hero__grid { display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(400px, .76fr); gap: 0; align-items: stretch; border-radius: 18px; box-shadow: 0 26px 70px rgba(23,43,44,.16); }
.conversion-hero__scene { position: relative; min-height: 650px; overflow: hidden; border-radius: 18px 0 0 18px; background: var(--ink); }
.conversion-hero__scene > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.conversion-hero__scene::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,30,31,.97) 0%, rgba(15,30,31,.88) 38%, rgba(15,30,31,.38) 72%, rgba(15,30,31,.12) 100%); content: ""; }
.conversion-hero__copy { position: relative; z-index: 1; display: flex; width: min(72%, 610px); min-height: 650px; flex-direction: column; justify-content: center; padding: clamp(36px, 5vw, 66px); color: white; }
.conversion-hero__copy .eyebrow { color: #b8e0da; }
.conversion-hero__copy h1 { max-width: 570px; color: white; font-size: clamp(2.65rem, 5.15vw, 4.75rem); line-height: .98; }
.conversion-hero__copy > p:not(.eyebrow) { max-width: 560px; margin: 25px 0 0; color: #d8e4e2; font-size: 1rem; line-height: 1.62; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.hero-proof span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(14,35,35,.45); color: #eef6f5; font-size: .73rem; font-weight: 680; line-height: 1.35; }
.hero-phone { display: grid; align-self: flex-start; margin-top: 30px; color: white; font-size: 1.12rem; font-weight: 790; line-height: 1.2; text-decoration: none; }
.hero-phone small { margin-bottom: 5px; color: #95cfc6; font-size: .72rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.hero-phone:hover { color: white; text-decoration: underline; }
.conversion-hero__form { display: flex; align-items: stretch; background: white; border-radius: 0 18px 18px 0; }
.conversion-hero__meta { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; border-right: 1px solid var(--line); border-left: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.conversion-hero__meta span { display: grid; min-height: 84px; align-content: center; padding: 14px 24px; border-right: 1px solid var(--line); }
.conversion-hero__meta span:last-child { border-right: 0; }
.conversion-hero__meta strong { display: block; margin-bottom: 2px; color: var(--ink); font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.route-strip { background: var(--ink); color: white; }
.route-strip__inner { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 60px; align-items: center; min-height: 192px; padding-block: 35px; }
.route-strip__title span { color: #8dc9c1; font-size: .73rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.route-strip__title h2 { max-width: 410px; margin-top: 10px; color: white; font-size: clamp(1.45rem, 3vw, 2.15rem); }
.route-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: route; }
.route-steps li { position: relative; min-height: 88px; padding: 8px 26px 8px 62px; border-left: 1px solid rgba(255,255,255,.17); color: #d9e8e6; font-size: .88rem; line-height: 1.45; counter-increment: route; }
.route-steps li::before { position: absolute; left: 22px; top: 6px; color: #d98357; content: counter(route, decimal-leading-zero); font-size: .77rem; font-weight: 850; letter-spacing: .08em; }

.actions-map { padding: 54px 0 90px; background: var(--paper); }
.action-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.action-card { position: relative; display: flex; min-height: 200px; flex-direction: column; justify-content: space-between; padding: 26px 30px 30px; border-right: 1px solid var(--line); background: transparent; color: var(--ink); text-decoration: none; transition: background .18s ease, color .18s ease; }
.action-card:first-child { border-left: 1px solid var(--line); }
.action-card:hover { background: white; color: var(--ink); }
.action-card__icon { display: block; color: var(--copper); font-size: .76rem; font-weight: 850; letter-spacing: .1em; }
.action-card__icon::after { content: " / 03"; color: #849492; font-weight: 650; }
.action-card h2 { margin: 34px 0 10px; font-size: 1.42rem; }
.action-card p { margin: 0; color: var(--muted); font-size: .9rem; }
.action-card__go { position: absolute; right: 26px; top: 21px; color: var(--blue); font-size: 1.25rem; }

.section { padding: 84px 0; }
.section--white { background: white; }
.section--blue { background: var(--blue-soft); }
.section-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); gap: 48px; align-items: end; margin-bottom: 34px; }
.section-head p { max-width: 650px; margin: 0; color: var(--muted); }

.lead-panel { width: min(100%, 960px); margin-inline: auto; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow); }
.lead-panel::before { display: block; height: 7px; background: var(--blue); content: ""; }
.lead-panel__head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; padding: 32px 34px 18px; }
.lead-panel__head h2 { max-width: 600px; font-size: clamp(1.65rem, 3.5vw, 2.5rem); }
.lead-panel__head p { max-width: 630px; margin: 12px 0 0; color: var(--muted); }
.price-chip { align-self: start; padding: 12px 14px; border-radius: 8px; background: var(--green-soft); color: var(--green-ink); font-size: .83rem; font-weight: 760; white-space: nowrap; }
.lead-panel__terms { margin: 0 34px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); color: #38504e; font-size: .86rem; }
.lead-form { padding: 26px 34px 34px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field--full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .84rem; font-weight: 730; }
.field input, .field select { width: 100%; min-height: 54px; padding: 12px 14px; border: 1px solid #9eb6b3; border-radius: 8px; background: white; color: var(--ink); font-size: 1rem; line-height: 1.3; }
.field input::placeholder { color: #778894; opacity: 1; }
.field input:hover, .field select:hover { border-color: #728aa2; }
.field input:focus, .field select:focus { border-color: var(--blue); outline: 3px solid rgba(12,116,111,.15); }
.field [aria-invalid="true"] { border-color: var(--danger); }
.field-error { min-height: 1.35em; margin: 6px 0 0; color: var(--danger); font-size: .78rem; line-height: 1.4; }
.consent-row { display: grid; grid-template-columns: 24px 1fr; gap: 11px; align-items: start; margin-top: 4px; }
.consent-row input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--blue); }
.consent-row label { color: #415767; font-size: .79rem; line-height: 1.55; }
.privacy-link { margin: 7px 0 0 35px; font-size: .78rem; }
.form-actions { display: grid; grid-template-columns: minmax(220px, .42fr) 1fr; gap: 18px; align-items: center; margin-top: 22px; }
.form-actions .small { margin: 0; }
.form-status { margin-top: 16px; padding: 0; border-radius: 8px; font-size: .88rem; font-weight: 650; }
.form-status:not(:empty) { padding: 13px 15px; border: 1px solid #cbd8e7; background: var(--paper); }
.form-status[data-kind="success"] { border-color: #9bc6b3; background: #eef7f3; color: #245441; }
.form-status[data-kind="error"] { border-color: #e6ada8; background: #fff2f1; color: #8b241c; }
.lead-form.is-loading .btn { opacity: .72; cursor: wait; }
.lead-panel--compact { width: 100%; min-height: 650px; margin: 0; border: 0; border-radius: 0 18px 18px 0; box-shadow: none; }
.lead-panel--compact::before { height: 8px; background: var(--copper); }
.lead-panel--compact .lead-panel__head { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 30px 30px 16px; }
.lead-panel--compact .lead-panel__head h2 { font-size: clamp(1.75rem, 3vw, 2.45rem); }
.lead-panel--compact .lead-panel__head p { margin-top: 10px; font-size: .88rem; line-height: 1.5; }
.lead-panel--compact .price-chip { justify-self: start; padding: 8px 11px; font-size: .76rem; }
.lead-panel--compact .lead-panel__terms { margin-inline: 30px; padding: 10px 12px; font-size: .75rem; line-height: 1.45; }
.lead-panel--compact .lead-form { padding: 18px 30px 26px; }
.lead-panel--compact .form-grid { grid-template-columns: 1fr; gap: 11px; }
.lead-panel--compact .field--full { grid-column: auto; }
.lead-panel--compact .field input, .lead-panel--compact .field select { min-height: 48px; font-size: .9rem; }
.lead-panel--compact .field label { margin-bottom: 5px; font-size: .78rem; }
.lead-panel--compact .field-error { min-height: .85em; margin-top: 3px; font-size: .72rem; }
.lead-panel--compact .consent-row { grid-template-columns: 21px 1fr; gap: 9px; margin-top: 0; }
.lead-panel--compact .consent-row input { width: 18px; height: 18px; }
.lead-panel--compact .consent-row label { font-size: .72rem; line-height: 1.45; }
.lead-panel--compact .privacy-link { margin: 4px 0 0 30px; font-size: .71rem; }
.lead-panel--compact .form-actions { grid-template-columns: 1fr; gap: 10px; margin-top: 14px; }
.lead-panel--compact .form-actions .small { font-size: .7rem; line-height: 1.45; }
.lead-panel--compact .btn { min-height: 52px; border-radius: 8px; }

.topics-board { display: grid; grid-template-columns: 1.08fr .92fr 1.05fr; gap: 16px; align-items: start; }
.topic-group { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.topic-group:nth-child(2) { margin-top: 34px; }
.topic-group__title { margin-bottom: 18px; color: var(--blue-dark); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.topic-link { display: block; padding: 16px 0; border-top: 1px solid #e3e9f0; color: var(--ink); text-decoration: none; }
.topic-link:first-of-type { border-top: 0; }
.topic-link strong { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 1rem; line-height: 1.35; }
.topic-link strong::after { color: var(--blue); content: "↗"; }
.topic-link span { display: block; margin-top: 6px; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.topic-link:hover strong { color: var(--blue-dark); }

.prep-feature { overflow: hidden; }
.prep-feature__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(38px, 7vw, 86px); align-items: center; }
.prep-feature__media { position: relative; margin: 0; }
.prep-feature__media::before { position: absolute; inset: 24px -22px -22px 24px; z-index: 0; border: 1px solid var(--line); border-radius: 14px; content: ""; }
.prep-feature__media img { position: relative; z-index: 1; width: 100%; aspect-ratio: 1.42; object-fit: cover; border-radius: 14px; box-shadow: var(--shadow); }
.prep-feature__media figcaption { position: relative; z-index: 2; width: calc(100% - 44px); margin: -42px 22px 0; padding: 13px 16px; border-radius: 8px; background: rgba(23,43,44,.94); color: #e4eeec; font-size: .75rem; line-height: 1.5; }
.prep-feature__copy h2 { max-width: 610px; margin-bottom: 22px; }
.prep-feature__copy .lede { margin-bottom: 26px; }
.prep-list { display: grid; gap: 0; margin: 0 0 28px; padding: 0; list-style: none; counter-reset: prep; }
.prep-list li { position: relative; display: grid; gap: 2px; min-height: 76px; align-content: center; padding: 14px 16px 14px 62px; border-top: 1px solid var(--line); counter-increment: prep; }
.prep-list li:last-child { border-bottom: 1px solid var(--line); }
.prep-list li::before { position: absolute; left: 6px; top: 17px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue-dark); content: counter(prep, decimal-leading-zero); font-size: .72rem; font-weight: 840; }
.prep-list strong { font-size: .91rem; }
.prep-list span { color: var(--muted); font-size: .8rem; }
.mid-conversion { border-top: 1px solid #c3d9d5; border-bottom: 1px solid #c3d9d5; }

.person-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(34px, 7vw, 90px); align-items: stretch; }
.name-card { position: relative; display: flex; min-height: 440px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 34px; border-radius: var(--radius-lg); background: var(--ink); color: white; }
.name-card::before { position: absolute; top: 28px; right: -76px; width: 240px; height: 240px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; content: ""; }
.name-card::after { position: absolute; right: 32px; bottom: 30px; width: 88px; height: 112px; border: 2px solid rgba(255,255,255,.32); border-right: 0; content: ""; }
.name-card__monogram { position: relative; z-index: 1; color: #8fc9c1; font-size: clamp(4rem, 9vw, 7.5rem); font-weight: 780; letter-spacing: -.08em; line-height: .8; }
.name-card__copy { position: relative; z-index: 1; max-width: 300px; }
.name-card__copy strong { display: block; font-size: 1.45rem; line-height: 1.25; }
.name-card__copy span { display: block; margin-top: 10px; color: #cbd8e0; font-size: .86rem; }
.person-copy h2 { margin-bottom: 22px; }
.person-copy .lede { margin-bottom: 28px; }
.facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 28px 0; }
.fact { padding: 17px 18px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.fact strong { display: block; color: var(--blue-dark); font-size: 1.05rem; }
.fact span { display: block; margin-top: 4px; color: var(--muted); font-size: .78rem; line-height: 1.45; }

.format-grid, .materials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.format-card, .material-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.format-card__index { display: block; margin-bottom: 30px; color: var(--blue); font-size: .77rem; font-weight: 800; letter-spacing: .08em; }
.format-card h3, .material-card h3 { margin-bottom: 12px; }
.format-card p, .material-card p { color: var(--muted); font-size: .88rem; }
.materials-grid { grid-template-columns: repeat(4, 1fr); }
.material-card { display: flex; min-height: 250px; flex-direction: column; }
.material-card .text-link { margin-top: auto; font-size: .84rem; }

.price-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.price-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.price-table th, .price-table td { padding: 18px 20px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.price-table th { background: var(--blue-soft); color: var(--blue-dark); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.price-table td { font-size: .9rem; }
.price-table tr:last-child td { border-bottom: 0; }
.price-table td:nth-child(2) { color: var(--blue-dark); font-weight: 780; white-space: nowrap; }

.contact-band { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
.contact-card, .requisites-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; }
.contact-card h2, .requisites-card h2 { margin-bottom: 24px; font-size: 1.7rem; }
.contact-list { display: grid; gap: 18px; margin: 0; }
.contact-list div { display: grid; grid-template-columns: 112px 1fr; gap: 18px; }
.contact-list dt { color: var(--muted); font-size: .8rem; font-weight: 720; }
.contact-list dd { margin: 0; font-weight: 640; }
.contact-list dd a { color: var(--ink); }
.requisite-lines { display: grid; gap: 14px; }
.requisite-line { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.requisite-line:last-child { border-bottom: 0; }
.requisite-line span { color: var(--muted); font-size: .82rem; }
.requisite-line strong { text-align: right; font-size: .9rem; }

.breadcrumbs { padding-top: 28px; color: var(--muted); font-size: .78rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { margin-left: 7px; color: #91a1af; content: "/"; }
.breadcrumbs a { color: var(--muted); }
.article-hero { padding: 52px 0 48px; }
.article-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); gap: 58px; align-items: end; }
.article-hero h1 { font-size: clamp(2.35rem, 5.7vw, 4.25rem); }
.article-hero .lede { max-width: 820px; margin-top: 24px; }
.article-side { padding: 24px; border-left: 5px solid var(--blue); border-radius: 0 var(--radius) var(--radius) 0; background: var(--blue-soft); }
.article-side strong { display: block; margin-bottom: 10px; color: var(--blue-dark); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.article-side p { margin: 0; color: #38504e; font-size: .9rem; line-height: 1.55; }
.article-layout { display: grid; grid-template-columns: 230px minmax(0, 760px); gap: clamp(34px, 7vw, 90px); align-items: start; justify-content: center; }
.toc { position: sticky; top: 110px; padding: 18px 0; border-top: 2px solid var(--blue); }
.toc strong { display: block; margin-bottom: 10px; font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.toc a { display: block; padding: 7px 0; color: var(--muted); font-size: .79rem; line-height: 1.4; text-decoration: none; }
.toc a:hover { color: var(--blue-dark); text-decoration: underline; }
.article-content { min-width: 0; }
.quick-answer { margin-bottom: 44px; padding: 24px 26px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.quick-answer strong { display: block; margin-bottom: 8px; color: var(--blue-dark); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.quick-answer p { margin: 0; }
.article-section { padding: 42px 0; border-top: 1px solid var(--line); }
.article-section:first-of-type { border-top: 0; padding-top: 0; }
.article-section h2 { margin-bottom: 20px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.article-section h3 { margin: 28px 0 12px; }
.article-section p { color: #38504e; }
.checklist { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.checklist li { position: relative; padding: 14px 16px 14px 44px; border: 1px solid var(--line); border-radius: 8px; background: white; color: #304757; font-size: .9rem; line-height: 1.5; }
.checklist li::before { position: absolute; left: 15px; top: 15px; display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue-dark); content: "✓"; font-size: .72rem; font-weight: 900; }
.content-table-wrap { overflow-x: auto; margin: 24px 0; border: 1px solid var(--line); border-radius: 10px; }
.content-table { width: 100%; min-width: 620px; border-collapse: collapse; background: white; }
.content-table th, .content-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); text-align: left; vertical-align: top; }
.content-table th:last-child, .content-table td:last-child { border-right: 0; }
.content-table tr:last-child td { border-bottom: 0; }
.content-table th { background: var(--blue-soft); color: var(--blue-dark); font-size: .78rem; }
.content-table td { color: #304757; font-size: .86rem; }
.source-box { margin-top: 38px; padding: 22px; border-radius: 10px; background: var(--blue-soft); }
.source-box strong { display: block; margin-bottom: 9px; font-size: .82rem; }
.source-box ul { margin: 0; padding-left: 20px; }
.source-box li { margin: 7px 0; font-size: .82rem; }
.faq { margin-top: 42px; }
.faq h2 { margin-bottom: 22px; font-size: 2rem; }
.faq details { border-top: 1px solid var(--line); background: white; }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { position: relative; padding: 20px 46px 20px 0; font-weight: 720; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { position: absolute; right: 4px; top: 18px; color: var(--blue); content: "+"; font-size: 1.4rem; }
.faq details[open] summary::after { content: "−"; }
.faq details p { max-width: 680px; margin: 0; padding: 0 40px 20px 0; color: var(--muted); font-size: .9rem; }
.related { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.related a { padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); font-size: .84rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.related a:hover { border-color: var(--blue); color: var(--blue-dark); }
.article-form-wrap { padding: 82px 0; background: var(--blue-soft); }

.plain-hero { padding: 58px 0 42px; }
.plain-hero h1 { max-width: 1000px; font-size: clamp(2.35rem, 5.5vw, 4.1rem); }
.plain-hero .lede { max-width: 780px; margin-top: 22px; }
.content-page { padding: 30px 0 92px; }
.content-page__layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(250px, 330px); gap: 70px; align-items: start; }
.prose h2 { margin: 46px 0 18px; font-size: clamp(1.5rem, 3vw, 2.15rem); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 30px 0 12px; }
.prose p, .prose li { color: #304757; }
.prose ul, .prose ol { padding-left: 1.35em; }
.prose li { margin: .55em 0; }
.prose .notice { padding: 20px 22px; border-left: 5px solid var(--blue); border-radius: 0 10px 10px 0; background: var(--blue-soft); }
.side-note { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.side-note h2 { margin-bottom: 16px; font-size: 1.3rem; }
.side-note p, .side-note li { color: var(--muted); font-size: .83rem; }
.side-note ul { margin: 0; padding-left: 19px; }
.legal-meta { display: inline-flex; margin-bottom: 20px; padding: 8px 10px; border-radius: 6px; background: var(--green-soft); color: var(--green-ink); font-size: .76rem; font-weight: 750; }
.error-page { display: grid; min-height: 70vh; place-items: center; padding: 60px 20px; }
.error-card { width: min(100%, 760px); padding: 42px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow); }
.error-code { color: var(--blue); font-size: clamp(4rem, 14vw, 8rem); font-weight: 800; letter-spacing: -.08em; line-height: .8; }
.error-card h1 { margin: 28px 0 16px; font-size: 2.4rem; }
.error-card .hero-actions { margin-top: 24px; }

.site-footer { padding: 52px 0 26px; background: var(--ink); color: #d9e3e9; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .8fr .8fr; gap: 48px; }
.footer-brand .brand { color: white; }
.footer-brand .brand-mark { border-color: #8fc9c1; color: white; }
.footer-brand .brand-mark::before, .footer-brand .brand-mark::after { border-color: #d98357; }
.footer-brand .brand-copy span { color: #aabcc7; }
.footer-brand p { max-width: 430px; margin-top: 20px; color: #b9c8d1; font-size: .82rem; }
.footer-col strong { display: block; margin-bottom: 12px; color: white; font-size: .79rem; letter-spacing: .07em; text-transform: uppercase; }
.footer-col a { display: block; margin: 7px 0; color: #d9e3e9; font-size: .82rem; text-decoration: none; }
.footer-col a:hover { color: white; text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: #9fb1bd; font-size: .72rem; }
.footer-bottom p { margin: 0; }
.mobile-cta { position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); z-index: 80; display: none; min-height: 48px; padding: 11px 18px; border-radius: 999px; background: var(--blue); color: white; font-size: .83rem; font-weight: 760; text-decoration: none; box-shadow: 0 14px 30px rgba(23,43,44,.24); }
.mobile-cta[hidden] { display: none !important; }

@media (max-width: 1080px) {
  :root { --header-height: 72px; }
  .header-nav-row { display: none; }
  .header-main { min-height: var(--header-height); grid-template-columns: minmax(230px, 1fr) auto auto; }
  .header-identity > span { display: none; }
  .header-phone { justify-self: end; }
  .menu-toggle { display: flex; }
  .mobile-nav { position: fixed; inset: calc(34px + var(--header-height)) 0 0; z-index: 99; display: block; overflow-y: auto; padding: 22px 20px 38px; border-top: 1px solid var(--line); background: var(--paper); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav__inner { width: min(100%, 680px); margin-inline: auto; }
  .mobile-nav strong { display: block; margin: 22px 0 8px; color: var(--blue-dark); font-size: .76rem; letter-spacing: .07em; text-transform: uppercase; }
  .mobile-nav a { display: block; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 650; text-decoration: none; }
  .mobile-nav .btn { margin-top: 22px; border-bottom: 0; color: white; }
  .conversion-hero__grid, .article-hero__grid { grid-template-columns: 1fr; }
  .conversion-hero__scene { min-height: 590px; border-radius: 18px 18px 0 0; }
  .conversion-hero__copy { width: min(72%, 650px); min-height: 590px; }
  .conversion-hero__form, .lead-panel--compact { border-radius: 0 0 18px 18px; }
  .lead-panel--compact { min-height: auto; }
  .lead-panel--compact .form-grid { grid-template-columns: 1fr 1fr; }
  .lead-panel--compact .field--full { grid-column: 1 / -1; }
  .prep-feature__grid { grid-template-columns: 1fr; }
  .prep-feature__media { width: min(100%, 760px); }
  .route-strip__inner { grid-template-columns: 1fr; gap: 28px; }
  .materials-grid { grid-template-columns: repeat(2, 1fr); }
  .article-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 38px; }
}

@media (max-width: 800px) {
  :root { --header-height: 68px; }
  .container { width: min(calc(100% - 30px), var(--container)); }
  .topline__note { display: none; }
  .topline .container { justify-content: center; }
  .brand-copy span { display: none; }
  .header-phone { font-size: .8rem; }
  .header-phone small { display: none; }
  .header-request { display: none; }
  .conversion-hero { padding-top: 18px; }
  .conversion-hero__scene, .conversion-hero__copy { min-height: 550px; }
  .conversion-hero__copy { width: min(84%, 640px); padding: 36px; }
  .conversion-hero__meta { grid-template-columns: 1fr; }
  .conversion-hero__meta span { min-height: 66px; border-right: 0; border-bottom: 1px solid var(--line); }
  .conversion-hero__meta span:last-child { border-bottom: 0; }
  .action-grid, .format-grid { grid-template-columns: 1fr; }
  .action-card { min-height: 170px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
  .action-card:last-child { border-bottom: 0; }
  .section { padding: 64px 0; }
  .section-head { grid-template-columns: 1fr; gap: 16px; }
  .lead-panel__head { grid-template-columns: 1fr; padding: 27px 22px 16px; }
  .price-chip { justify-self: start; }
  .lead-panel__terms { margin-inline: 22px; }
  .lead-form { padding: 22px; }
  .form-grid, .form-actions { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .lead-panel--compact .form-grid { grid-template-columns: 1fr; }
  .lead-panel--compact .field--full { grid-column: auto; }
  .topics-board { grid-template-columns: 1fr; }
  .topic-group:nth-child(2) { margin-top: 0; }
  .person-grid { grid-template-columns: 1fr; }
  .name-card { min-height: 340px; }
  .contact-band { grid-template-columns: 1fr; }
  .article-layout, .content-page__layout { grid-template-columns: 1fr; }
  .toc, .side-note { position: static; }
  .toc { order: -1; padding: 18px; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 10px; background: white; }
  .article-hero { padding: 42px 0 34px; }
  .article-side { max-width: 680px; }
  .related { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .mobile-cta { display: inline-flex; }
}

@media (max-width: 520px) {
  body { font-size: 16px; }
  .container { width: min(calc(100% - 24px), var(--container)); }
  .topline { font-size: .7rem; }
  .brand { gap: 8px; }
  .brand-mark { width: 34px; height: 38px; }
  .brand-copy strong { font-size: .9rem; }
  .header-main { gap: 10px; }
  .header-phone { display: grid; width: 44px; height: 44px; place-items: center; font-size: 0; }
  .header-phone::before { content: "☎"; font-size: 1.15rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .conversion-hero__grid { width: calc(100% - 16px); }
  .conversion-hero__scene { min-height: 540px; border-radius: 14px 14px 0 0; }
  .conversion-hero__scene::after { background: linear-gradient(90deg, rgba(15,30,31,.96) 0%, rgba(15,30,31,.82) 70%, rgba(15,30,31,.42) 100%); }
  .conversion-hero__scene > img { object-position: 62% center; }
  .conversion-hero__copy { width: 100%; min-height: 540px; padding: 30px 22px; }
  .conversion-hero__copy h1 { font-size: clamp(2.25rem, 12vw, 3.35rem); }
  .hero-proof { gap: 6px; }
  .hero-proof span { font-size: .68rem; }
  .conversion-hero__meta { width: calc(100% - 16px); }
  .lead-panel--compact, .conversion-hero__form { border-radius: 0 0 14px 14px; }
  .lead-panel--compact .lead-panel__head, .lead-panel--compact .lead-form { padding-left: 17px; padding-right: 17px; }
  .lead-panel--compact .lead-panel__terms { margin-inline: 17px; }
  .prep-feature__media::before { display: none; }
  .prep-feature__media figcaption { width: calc(100% - 24px); margin-inline: 12px; }
  .route-strip__inner { padding-block: 34px; }
  .route-steps { grid-template-columns: 1fr; }
  .route-steps li { min-height: 62px; border-top: 1px solid rgba(255,255,255,.17); border-left: 0; }
  .facts, .materials-grid { grid-template-columns: 1fr; }
  .lead-panel { border-radius: 12px; }
  .lead-panel__head, .lead-form { padding-left: 17px; padding-right: 17px; }
  .lead-panel__terms { margin-inline: 17px; }
  .privacy-link { margin-left: 0; }
  .contact-card, .requisites-card { padding: 22px; }
  .contact-list div { grid-template-columns: 1fr; gap: 2px; }
  .requisite-line { display: grid; }
  .requisite-line strong { text-align: left; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { display: grid; }
  .error-card { padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .topline, .site-header, .mobile-cta, .lead-panel, .article-form-wrap, .site-footer { display: none !important; }
  body { background: white; color: black; font-size: 12pt; }
  a { color: black; text-decoration: none; }
  .container { width: 100%; }
  .article-layout, .content-page__layout { display: block; }
  .toc, .side-note { position: static; }
}
