:root {
  --ink: #192a30;
  --ink-soft: #263b42;
  --paper: #f3f5f5;
  --surface: #fff;
  --muted: #55656b;
  --line: #d4dddf;
  --accent: #b7462b;
  --warm: #f1aa84;
  --blue: #b7462b;
  --max: 1240px;
  --reading: 730px;
  --sans: "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 18px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.container, .header-inner { width: min(calc(100% - 96px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; background: var(--ink); color: white; padding: 10px 18px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 50; background: #f3f5f5f5; border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; gap: 15px; align-items: center; flex-shrink: 0; line-height: 1.2; }
.brand-sign { position: relative; display: flex; align-items: center; font-size: 34px; font-weight: 700; letter-spacing: -5px; width: 44px; height: 46px; }
.brand-sign span { color:var(--palette-safe,var(--accent)); transform: translateY(6px); }
.brand strong { display: block; font-size: 16px; letter-spacing: -.3px; }
.brand small { display: block; font-size: 12px; margin-top: 6px; color: var(--muted); }
.main-nav { display: flex; align-items: center; gap: 23px; font-size: 13px; line-height: 1.35; }
.main-nav > a { padding-block: 12px; }
.main-nav > a:hover, .main-nav > a[aria-current="page"] { color:var(--palette-safe,var(--accent)); }
.main-nav .nav-action { padding: 13px 18px; background: var(--ink); color: white; border-radius: 4px; font-weight: 600; }
.nav-action:hover { background: var(--ink-soft); }
.menu-button { display: none; width: 46px; height: 46px; border: 1px solid var(--line); background: transparent; cursor: pointer; border-radius: 4px; }
.menu-button span { display: block; height: 2px; width: 20px; margin: 5px auto; background: var(--ink); }
.hero { padding: 58px 0 0; }
.hero-grid { display: grid; grid-template-columns: 1.2fr .88fr; gap: 70px; align-items: center; }
.kicker { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; line-height: 1.5; font-weight: 600; letter-spacing: 1.15px; text-transform: uppercase; margin: 0 0 28px; }
.kicker::before { content: ""; width: 22px; height: 2px; background: var(--accent); flex-shrink: 0; }
h1 { margin: 0; font-size: clamp(40px, 4.7vw, 66px); line-height: 1.06; letter-spacing: -.048em; font-weight: 500; }
.hero h1 { font-size: clamp(44px, 4.65vw, 67px); line-height: 1.06; letter-spacing: -.048em; text-wrap: initial; }
.hero h1 span { color:var(--palette-safe,var(--accent)); }
.hero-lead { max-width: 550px; font-size: 22px; line-height: 1.5; margin: 26px 0 14px; letter-spacing: -.3px; }
.hero-context { max-width: 480px; font-size: 17px; line-height: 1.6; color: var(--muted); margin: 0; }
.hero-actions { display: flex; align-items: flex-start; flex-direction: column; gap: 13px; margin-top: 30px; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; min-height: 56px; padding: 15px 23px; color: white; background: var(--accent); border: 1px solid transparent; border-radius: 4px; font-size: 15px; line-height: 1.4; font-weight: 600; cursor: pointer; transition: background .2s, transform .2s; }
.button:hover { background: #973822; transform: translateY(-2px); }
.button span { font-size: 23px; line-height: 1; }
.button-dark { background: var(--ink); }
.button-dark:hover { background: var(--ink-soft); }
.button-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.button-outline:hover { background: var(--ink); color: white; }
.microcopy { font-size: 13px; color: var(--muted); line-height: 1.5; }
.hero-photo { position: relative; align-self: stretch; margin: 0; min-height: 540px; }
.hero-photo picture { display: block; height: 100%; overflow: hidden; border-radius: 5px; }
.hero-photo img { height: 100%; width: 100%; object-fit: cover; object-position: 52% center; }
.hero-photo::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 38%; background: linear-gradient(transparent, #14272bdf); pointer-events: none; border-radius: 0 0 5px 5px; }
.hero-photo figcaption { position: absolute; z-index: 1; bottom: 26px; left: 28px; right: 24px; color: white; display: grid; gap: 5px; }
.photo-name { font-size: 20px; letter-spacing: -.4px; }
.hero-photo figcaption > span:last-child { color: #e3ebed; font-size: 13px; }
.photo-index { position: absolute; right: -27px; top: 3px; writing-mode: vertical-rl; font-size: 10px; letter-spacing: 1.6px; color: var(--muted); }
.trust-row { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 55px; border-top: 1px solid var(--line); }
.trust-row div { padding: 28px 28px 30px 0; }
.trust-row div + div { padding-left: 30px; border-left: 1px solid var(--line); }
.trust-row strong { display: block; font-size: 29px; font-weight: 500; letter-spacing: -.9px; }
.trust-row span { display: block; color: var(--muted); font-size: 14px; margin-top: 4px; line-height: 1.5; }
.section { padding: 104px 0; }
.section-white { background: var(--surface); }
.section-dark { background: var(--ink); color: white; }
.section-head { display: grid; grid-template-columns: 1.25fr .75fr; gap: 100px; align-items: end; margin-bottom: 50px; }
.section-head h2, .content-heading { margin: 0; font-size: clamp(32px, 3.8vw, 49px); font-weight: 500; line-height: 1.15; letter-spacing: -.04em; text-wrap: initial; }
.section-head > p { max-width: 380px; margin: 0 0 5px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.section-dark .kicker { color: #bdccce; }
.section-dark .kicker::before { background: var(--warm); }
.section-dark .section-head > p { color: #c1cfd2; }
.situation-list { border-top: 1px solid var(--line); }
.situation-row { display: grid; grid-template-columns: 40px 1.05fr 1fr 48px; align-items: center; gap: 28px; padding: 34px 0; border-bottom: 1px solid var(--line); transition: background .2s; }
.situation-row:hover { background: #f6f8f8; }
.row-number { font-size: 30px; font-weight: 500; line-height: 1.25; font-variant-numeric: tabular-nums; color:var(--palette-safe,var(--accent)); align-self: start; }
.situation-row h3 { margin: 0; font-size: 29px; font-weight: 500; letter-spacing: -.8px; line-height: 1.25; }
.situation-row p { margin: 0; font-size: 17px; color: var(--muted); }
.row-arrow { display: grid; place-items: center; height: 48px; border: 1px solid var(--line); border-radius: 50%; font-size: 24px; transition: background .2s; }
.situation-row:hover .row-arrow { background: var(--accent); color: white; border-color: var(--accent); }
.other-situations { display: flex; justify-content: space-between; align-items: center; gap: 60px; padding-top: 30px; }
.other-situations p { font-size: 16px; color: var(--muted); max-width: 690px; margin: 0; }
.text-link { display: inline-flex; align-items: center; gap: 24px; padding-block: 12px; font-size: 15px; font-weight: 600; flex-shrink: 0; border-bottom: 1px solid var(--ink); }
.text-link:hover { color:var(--palette-safe,var(--accent)); border-color: var(--accent); }
.result-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #4f6268; }
.result-item { padding: 26px 24px 0 0; }
.result-item + .result-item { padding-left: 24px; border-left: 1px solid #4f6268; }
.result-item > span { font-size: 13px; color: var(--warm); }
.result-item h3, .result-item > strong { display: block; font-size: 23px; font-weight: 500; letter-spacing: -.4px; line-height: 1.3; margin: 42px 0 18px; }
.result-item p { font-size: 16px; color: #c4d0d3; line-height: 1.65; margin: 0; }
.role-note { display: flex; gap: 26px; padding: 32px; margin-top: 55px; background: #263b42; align-items: center; }
.note-symbol { color: var(--warm); font-size: 36px; }
.role-note p { margin: 0; font-size: 18px; color: #f0f4f4; }
.service-grid { display: grid; grid-template-columns: 1.12fr 1fr; gap: 22px; }
.service-card { display: flex; flex-direction: column; background: white; padding: 34px; border: 1px solid var(--line); border-radius: 5px; }
.service-card.primary { background: #e5eceb; border-color: #ced9d7; }
.card-tag, .card-index { font-size: 12px; line-height: 1.5; color: var(--muted); letter-spacing: .55px; }
.service-card h3 { margin: 65px 0 20px; font-size: 40px; font-weight: 500; letter-spacing: -1.3px; line-height: 1.15; }
.service-card p { color: var(--muted); font-size: 17px; line-height: 1.6; max-width: 420px; margin: 0; }
.format-facts { display: flex; gap: 35px; margin: 36px 0; }
.format-facts span { display: grid; gap: 5px; font-size: 13px; color: var(--muted); }
.format-facts b { color: var(--ink); font-size: 20px; font-weight: 500; }
.card-link { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: auto; padding-top: 25px; font-size: 15px; font-weight: 600; line-height: 1.5; }
.card-link span { font-size: 23px; }
.card-link:hover { color:var(--palette-safe,var(--accent)); }
.service-stack { display: grid; gap: 22px; }
.service-stack .service-card h3 { font-size: 28px; margin: 28px 0 13px; letter-spacing: -.7px; }
.about-home { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.about-intro { max-width: 490px; font-size: 22px; margin: 30px 0; line-height: 1.55; }
.experience-list > div { border-top: 1px solid var(--line); padding: 24px 0; }
.experience-list > div:last-child { border-bottom: 1px solid var(--line); }
.experience-list span { font-size: 12px; color:var(--palette-safe,var(--accent)); text-transform: uppercase; letter-spacing: 1px; }
.experience-list h3 { font-size: 23px; font-weight: 500; margin: 10px 0; line-height: 1.3; }
.experience-list p { color: var(--muted); font-size: 16px; margin: 0; }
.steps-horizontal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.steps-horizontal article { border-top: 1px solid var(--line); padding-top: 20px; }
.steps-horizontal span { font-size: 14px; color:var(--palette-safe,var(--accent)); }
.steps-horizontal h3 { font-size: 23px; line-height: 1.3; font-weight: 500; margin: 32px 0 16px; }
.steps-horizontal p { color: var(--muted); font-size: 17px; margin: 0; }
.cta-section { padding: 92px 0; background: #e6ebea; border-top: 1px solid var(--line); }
.cta-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: start; }
.cta-grid h2 { font-size: clamp(32px, 3.7vw, 49px); font-weight: 500; letter-spacing: -.045em; line-height: 1.15; margin: 0; }
.cta-grid > div > p:not(.kicker) { color: var(--muted); font-size: 18px; margin: 24px 0; }
.contact-links { display: grid; justify-items: start; gap: 12px; margin-top: 35px; font-size: 16px; }
.contact-links a { border-bottom: 1px solid #9caaad; overflow-wrap: anywhere; }
.contact-links a:hover { color:var(--palette-safe,var(--accent)); }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; padding: 34px; background: white; border-radius: 5px; border: 1px solid var(--line); }
.lead-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 500; color: var(--ink); }
.lead-form label:nth-of-type(3), .lead-form label:nth-of-type(4) { grid-column: 1 / -1; }
.lead-form input, .lead-form textarea { width: 100%; min-width: 0; border: 1px solid #ccd6d8; border-radius: 3px; padding: 13px 14px; background: #fbfcfc; font-size: 16px; color: var(--ink); }
.lead-form input { height: 50px; }
.lead-form textarea { min-height: 120px; resize: vertical; }
.lead-form input::placeholder, .lead-form textarea::placeholder { color: #69787e; opacity: 1; }
.form-footer { grid-column: 1 / -1; display: grid; gap: 12px; }
.form-footer .button { width: 100%; }
.form-footer p { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 0; }
.site-footer { background: var(--ink); color: #e8eff0; padding: 58px 0; }
.footer-grid { display: grid; grid-template-columns: 1fr 1.2fr .9fr; gap: 50px; }
.footer-title { font-size: 20px; letter-spacing: -.4px; line-height: 1.4; }
.footer-title span { display: block; font-size: 14px; color: #b6c6ca; margin-top: 10px; max-width: 240px; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 25px; font-size: 14px; line-height: 1.5; }
.footer-links a:hover { color: var(--warm); }
.footer-meta { display: grid; gap: 10px; justify-items: end; align-content: start; font-size: 14px; }
.footer-meta span { color: #afc0c5; font-size: 13px; margin-top: 15px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 13px; line-height: 1.5; margin-bottom: 36px; }
.breadcrumbs a { border-bottom: 1px solid #9caaad; }
.page-hero { padding: 38px 0 62px; background: #e7eeed; border-bottom: 1px solid var(--line); }
.page-hero .kicker { margin-bottom: 22px; }
.page-hero h1 { max-width: 1040px; font-size: clamp(38px, 4.4vw, 60px); text-wrap: balance; line-height: 1.1; }
.page-hero > .container > p:not(.kicker) { max-width: 800px; color: var(--muted); font-size: 21px; line-height: 1.6; margin: 24px 0 0; }
.page-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 30px; font-size: 14px; }
.page-meta > * { padding-left: 13px; border-left: 2px solid var(--accent); }
.editorial { display: grid; grid-template-columns: minmax(0, 730px) minmax(0, 1fr); gap: 90px; align-items: start; }
.editorial-copy { min-width: 0; }
.editorial-copy h2 { font-size: 34px; font-weight: 500; letter-spacing: -1px; line-height: 1.2; margin: 58px 0 20px; text-wrap: initial; }
.editorial-copy h2:first-child { margin-top: 0; }
.editorial-copy h3 { font-size: 24px; font-weight: 500; line-height: 1.35; margin: 30px 0 12px; }
.editorial-copy p, .editorial-copy li { color: #46585f; font-size: 18px; line-height: 1.8; }
.editorial-copy p { margin: 0 0 22px; }
.editorial-copy ul, .editorial-copy ol { display: grid; gap: 12px; padding-left: 23px; margin: 20px 0 28px; }
.editorial-copy li { padding-left: 5px; }
.editorial-copy li::marker { color:var(--palette-safe,var(--accent)); }
.editorial-copy strong { color: var(--ink); }
.editorial-aside { position: sticky; top: 125px; padding: 28px; border-top: 3px solid var(--accent); background: white; box-shadow: 0 8px 30px #192a3006; }
.editorial-aside h2 { font-size: 24px; line-height: 1.3; font-weight: 500; letter-spacing: -.6px; margin: 0 0 16px; }
.editorial-aside p { font-size: 16px; color: var(--muted); line-height: 1.7; margin: 0 0 22px; }
.editorial-aside .button { padding-inline: 18px; font-size: 14px; }
.detail-list { margin: 30px 0; border-top: 1px solid var(--line); }
.detail-list div { display: grid; grid-template-columns: 175px 1fr; gap: 26px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.detail-list dt { font-size: 15px; color: var(--muted); }
.detail-list dd { font-size: 18px; margin: 0; }
.note { margin: 35px 0; padding: 26px; border-left: 3px solid var(--accent); background: #e7eeed; }
.note p { margin: 0; font-size: 17px; }
.portrait-card { position: relative; overflow: hidden; border-radius: 5px; align-self: start; background: var(--ink); }
.portrait-card img { width: 100%; height: auto; }
.portrait-caption { padding: 22px; color: white; display: grid; gap: 8px; }
.portrait-caption strong { font-size: 21px; font-weight: 500; }
.portrait-caption span { font-size: 15px; color: #c4d0d3; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.card { display: flex; flex-direction: column; border-top: 2px solid var(--accent); background: white; padding: 28px; }
.card h3 { font-size: 28px; font-weight: 500; letter-spacing: -.65px; line-height: 1.25; margin: 28px 0 18px; }
.card p { color: var(--muted); font-size: 17px; margin: 0; line-height: 1.7; }
.card-dark { background: var(--ink); color: white; border-color: var(--warm); }
.card-dark .card-index, .card-dark .card-tag, .card-dark p { color: #c4d0d3; }
.card-dark .card-link:hover { color: var(--warm); }
.article-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }
.article-card { display: flex; flex-direction: column; padding: 35px; border: 1px solid var(--line); background: white; }
.article-card > span, .article-card time { font-size: 14px; color: var(--muted); }
.article-card h2, .article-card h3 { font-size: 32px; font-weight: 500; line-height: 1.25; letter-spacing: -.9px; margin: 45px 0 18px; }
.article-card p { font-size: 17px; color: var(--muted); margin: 0; }
.timeline { border-top: 1px solid var(--line); }
.timeline-step { display: grid; grid-template-columns: 45px 1fr 1fr; gap: 30px; padding: 30px 0; border-bottom: 1px solid var(--line); }
.timeline-step h3 { margin: 0; font-size: 24px; font-weight: 500; }
.timeline-step p { margin: 0; color: var(--muted); font-size: 17px; }
.timeline-step > span { color:var(--palette-safe,var(--accent)); }
@media (min-width: 1500px) {
  .hero { padding-top: 72px; }
  .hero-photo { min-height: 580px; }
}
@media (max-width: 1150px) {
  .header-inner, .container { width: calc(100% - 64px); }
  .brand small { display: none; }
  .main-nav { gap: 16px; }
  .hero-grid { gap: 42px; grid-template-columns: 1.12fr .9fr; }
  .hero h1 { font-size: 50px; }
  .hero-photo { min-height: 530px; }
  .hero-lead { font-size: 21px; }
  .desktop-break { display: none; }
  .section-head, .about-home, .cta-grid, .editorial { gap: 55px; }
  .result-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
  .result-item:nth-child(3) { border-left: 0; padding-left: 0; }
  .situation-row { grid-template-columns: 40px 1fr 1fr 44px; gap: 20px; }
  .situation-row h3 { font-size: 26px; }
  .footer-grid { gap: 28px; }
}
@media (max-width: 980px) {
  .menu-button { display: block; flex-shrink: 0; }
  .header-inner { min-height: 80px; }
  .main-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 18px 32px 26px; border-bottom: 1px solid var(--line); box-shadow: 0 12px 20px #192a3010; background: #f3f5f5; }
  .main-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .main-nav > a { padding: 14px 0; font-size: 16px; }
  .main-nav .nav-action { text-align: center; margin-top: 12px; padding: 15px; }
  .brand small { display: block; }
  .hero h1 { font-size: 43px; }
  .hero-grid { gap: 34px; }
  .hero-photo { min-height: 515px; }
  .photo-index { display: none; }
  .hero-photo figcaption { left: 20px; right: 15px; bottom: 20px; }
  .hero-photo figcaption > span:last-child { font-size: 12px; }
  .hero-lead { font-size: 20px; }
  .hero-context { font-size: 16px; }
  .trust-row { margin-top: 38px; }
  .trust-row div + div { padding-left: 20px; }
  .trust-row strong { font-size: 26px; }
  .trust-row span { font-size: 13px; }
  .section { padding: 78px 0; }
  .section-head { grid-template-columns: 1fr .85fr; gap: 40px; }
  .section-head h2, .content-heading { font-size: 37px; }
  .situation-row { grid-template-columns: 40px 1fr 40px; }
  .situation-row p { grid-column: 2; }
  .row-arrow { grid-column: 3; grid-row: 1 / 3; height: 40px; }
  .other-situations { gap: 35px; align-items: start; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card.primary { min-height: 420px; }
  .service-stack { grid-template-columns: 1fr 1fr; }
  .service-card h3 { margin-top: 35px; }
  .about-home { gap: 45px; }
  .cta-grid, .editorial { grid-template-columns: 1fr; gap: 38px; }
  .editorial-aside { position: static; max-width: 730px; }
  .editorial-copy { max-width: 730px; }
  .lead-form { max-width: 730px; }
  .cta-grid > div > p { max-width: 580px; }
  .card-grid { grid-template-columns: 1fr; }
  .card h3 { max-width: 700px; }
  .footer-grid { grid-template-columns: 1fr 1.2fr; }
  .footer-meta { grid-column: 1 / -1; justify-items: start; grid-template-columns: auto auto 1fr; }
  .footer-meta span { justify-self: end; margin: 0; }
}
@media (max-width: 680px) {
  main * { min-width: 0; }
  h1, h2, h3, .result-item > strong { overflow-wrap: anywhere; }
  .container, .header-inner { width: calc(100% - 40px); }
  .header-inner { min-height: 74px; }
  .brand { gap: 12px; }
  .brand strong { font-size: 15px; }
  .brand small { font-size: 11px; }
  .brand-sign { font-size: 31px; width: 38px; }
  .main-nav { padding-inline: 20px; }
  .hero { padding-top: 38px; }
  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .kicker { font-size: 11px; letter-spacing: .8px; gap: 9px; margin-bottom: 24px; }
  .kicker::before { width: 16px; }
  .hero h1 { font-size: clamp(35px, 7.9vw, 51px); letter-spacing: -.04em; line-height: 1.1; }
  .hero-lead { font-size: 21px; margin-top: 24px; line-height: 1.5; }
  .hero-context { font-size: 17px; }
  .hero-actions { margin-top: 25px; }
  .hero-actions .button { width: 100%; }
  .button { font-size: 15px; padding: 16px 19px; min-height: 57px; }
  .hero-photo { min-height: 0; height: 420px; }
  .hero-photo img { object-position: center 37%; }
  .hero-photo figcaption { left: 22px; }
  .hero-photo figcaption > span:last-child { font-size: 13px; }
  .trust-row { grid-template-columns: 1fr 1fr; margin-top: 32px; }
  .trust-row div { padding: 21px 14px 24px 0; border-bottom: 1px solid var(--line); }
  .trust-row div:nth-child(3) { padding-left: 0; border-left: 0; }
  .trust-row div + div { padding-left: 18px; }
  .trust-row strong { font-size: 28px; }
  .trust-row span { font-size: 13px; }
  .section { padding: 65px 0; }
  .section-head { grid-template-columns: 1fr; gap: 22px; margin-bottom: 32px; }
  .section-head h2, .content-heading { font-size: 34px; letter-spacing: -.035em; line-height: 1.2; }
  .section-head > p { max-width: none; font-size: 17px; margin: 0; }
  .situation-row { padding: 26px 0; gap: 12px 14px; grid-template-columns: 36px 1fr 35px; }
  .situation-row h3 { font-size: 25px; line-height: 1.3; }
  .situation-row p { font-size: 16px; grid-column: 2 / 4; }
  .row-arrow { height: 35px; font-size: 20px; grid-row: 1; }
  .row-number { font-size: 26px; }
  .other-situations { flex-direction: column; gap: 16px; }
  .result-grid { grid-template-columns: 1fr; gap: 0; border: 0; }
  .result-item, .result-item + .result-item { display: grid; grid-template-columns: 25px 1fr; gap: 12px; border-top: 1px solid #4f6268; border-left: 0; padding: 24px 0; }
  .result-item h3, .result-item > strong { font-size: 23px; margin: 0; }
  .result-item > span { padding-top: 4px; }
  .result-item p { grid-column: 2; font-size: 17px; }
  .result-item:not(:has(> span)) { display: block; }
  .result-item:not(:has(> span)) > strong { margin-bottom: 16px; }
  .role-note { padding: 23px; gap: 17px; margin-top: 18px; align-items: start; }
  .role-note p { font-size: 16px; }
  .role-note br { display: none; }
  .service-card { padding: 25px; }
  .service-card h3 { font-size: clamp(26px, 7.5vw, 34px); margin-top: 36px; }
  .service-card.primary { min-height: 430px; }
  .format-facts { gap: 20px; margin: 28px 0; flex-wrap: wrap; }
  .format-facts b { font-size: 18px; }
  .format-facts span { font-size: 12px; }
  .service-stack { grid-template-columns: 1fr; }
  .service-stack .service-card h3 { font-size: 28px; }
  .about-home { grid-template-columns: 1fr; gap: 38px; }
  .about-intro { font-size: 21px; margin: 24px 0 18px; }
  .steps-horizontal { grid-template-columns: 1fr; gap: 27px; }
  .steps-horizontal h3 { margin: 17px 0 10px; }
  .cta-section { padding: 65px 0; }
  .cta-grid { gap: 30px; }
  .cta-grid h2 { font-size: 36px; }
  .contact-links { gap: 12px; font-size: 16px; }
  .lead-form { padding: 22px; grid-template-columns: 1fr; gap: 20px; }
  .lead-form label { grid-column: 1; }
  .site-footer { padding: 42px 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-meta { grid-template-columns: 1fr; justify-items: start; gap: 15px; border-top: 1px solid #4f6268; padding-top: 24px; }
  .footer-meta span { justify-self: start; }
  .footer-links { gap: 15px 22px; font-size: 14px; }
  .page-hero { padding: 25px 0 42px; }
  .breadcrumbs { font-size: 12px; margin-bottom: 28px; }
  .page-hero h1 { font-size: 36px; line-height: 1.15; letter-spacing: -.035em; }
  .page-hero > .container > p:not(.kicker) { font-size: 19px; line-height: 1.65; }
  .page-meta { display: grid; gap: 14px; font-size: 14px; }
  .editorial-copy h2 { font-size: 28px; margin-top: 42px; line-height: 1.25; }
  .editorial-copy p, .editorial-copy li { font-size: 17px; line-height: 1.75; }
  .editorial-copy li { padding-left: 0; }
  .detail-list div { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
  .detail-list dt { font-size: 14px; }
  .detail-list dd { font-size: 18px; }
  .note { padding: 22px; }
  .article-grid { grid-template-columns: 1fr; }
  .article-card { padding: 26px; }
  .article-card h2, .article-card h3 { font-size: 27px; }
  .card { padding: 25px; }
  .card h3 { font-size: 27px; }
  .timeline-step { grid-template-columns: 25px 1fr; gap: 14px; }
  .timeline-step p { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

:root { --ink:#173e65; --ink-soft:#254f78; --paper:#fff9f0; --muted:#526475; --line:#d9dedf; --accent:#b64e25; --lime:#ffd2a1; --warm:#ffd2a1; --max:1320px; }
body { font-size:20px; line-height:1.55; }
h1,h2,h3 { font-weight:650; letter-spacing:-.045em; text-wrap:initial; line-height:1.1; }
strong { font-weight:650; }
em { font-style:normal; color:var(--palette-safe,var(--accent)); }
.reading-progress { position:fixed; z-index:70; top:0; height:4px; width:100%; pointer-events:none; }
.reading-progress span { display:block; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; }
.site-header { background:#fff9f0f5; }
.header-inner { min-height:92px; transition:min-height .3s; }
.site-header.is-scrolled .header-inner { min-height:78px; }
.brand strong { font-size:17px; }
.brand-sign { font-size:37px; }
.main-nav { font-size:14px; }
.main-nav .nav-action { padding:15px 20px; border-radius:0; }
.main-nav .nav-action:hover { background:var(--accent); }
.menu-button { border-radius:0; }
.menu-button span { transition:transform .25s; }
.menu-button[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; background:var(--accent); color:white; min-height:68px; padding:19px 26px; font-size:18px; font-weight:650; line-height:1.4; border:0; border-radius:0; transition:background .25s,box-shadow .25s,transform .25s; }
.button > span { font-size:30px; line-height:1; transition:transform .3s; }
.button:hover { background:var(--ink); transform:translateY(-3px); box-shadow:0 8px 0 #141c2014; }
.button:hover > span { transform:translate(3px,-3px); }
.button-lime { background:var(--lime); color:var(--ink); }
.button-lime:hover { background:#ffe2bc; }
.button-dark { background:var(--ink); }
.button-dark:hover { background:var(--accent); }
.kicker { gap:20px; font-size:15px; line-height:1.4; font-weight:650; letter-spacing:.04em; margin-bottom:30px; }
.kicker::before { display:none; }
.section-num { font-size:50px; letter-spacing:-.065em; line-height:1; font-weight:500; color:var(--palette-safe,var(--accent)); font-variant-numeric:tabular-nums; }
.hero { position:relative; overflow:clip; background:var(--ink); color:white; padding:62px 0 0; }
.hero-grid { grid-template-columns:1.35fr .85fr; gap:28px; align-items:stretch; }
.hero-copy { padding:13px 0 34px; position:relative; z-index:2; }
.hero-eyebrow { color:#d7deda; font-size:14px; gap:12px; margin-bottom:40px; }
.status-dot { flex:0 0 9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 6px #b64e2516; }
.hero h1 { font-size:clamp(65px,6.7vw,99px); letter-spacing:-.06em; line-height:.99; margin:0 0 0 -5px; max-width:none; }
.hero h1 .hero-line { color:white; display:block; animation:headline-in .9s cubic-bezier(.2,.7,.2,1) both; }
.hero h1 .accent-line { color:var(--lime); margin-top:8px; animation-delay:.13s; }
.hero h1 .question-mark { display:inline-block; transform:rotate(9deg); color:inherit; }
.hero-lead { color:#bdc7c8; font-size:22px; line-height:1.5; max-width:590px; margin:37px 0 0; }
.hero-lead strong { display:block; color:white; font-size:26px; line-height:1.35; margin-top:10px; max-width:520px; }
.hero-actions { margin-top:35px; display:flex; flex-direction:row; gap:24px; align-items:center; flex-wrap:wrap; }
.microcopy { color:#c5cecf; font-size:15px; line-height:1.5; }
.hero-scroll { display:inline-flex; gap:15px; align-items:center; font-size:16px; margin-top:32px; color:#c5cecf; }
.hero-scroll > span { display:grid; place-items:center; width:36px; height:36px; border:1px solid #627073; border-radius:50%; font-size:24px; transition:transform .3s; }
.hero-scroll:hover > span { transform:translateY(5px); }
.hero-photo { align-self:stretch; min-height:600px; position:relative; isolation:isolate; margin:0; background:#35434b; border-radius:0; overflow:visible; animation:portrait-in 1.1s cubic-bezier(.2,.7,.2,1) both; }
.hero-photo picture { display:block; position:absolute; inset:0; overflow:hidden; border-radius:0; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:51% 35%; filter:none; }
.hero-photo::after { content:""; position:absolute; inset:25% 0 0; height:auto; border-radius:0; background:linear-gradient(0deg,#141c20f5 0%,#141c20b0 25%,transparent 90%); z-index:1; }
.photo-corner { position:absolute; z-index:3; top:-18px; right:-18px; display:grid; place-items:center; width:80px; height:80px; background:var(--lime); color:var(--ink); font-size:68px; line-height:1; }
.hero-photo figcaption { position:absolute; bottom:30px; left:32px; right:25px; z-index:2; display:block; }
.hero-photo figcaption strong { display:block; font-size:45px; font-weight:600; line-height:1; letter-spacing:-.035em; margin:23px 0 13px; }
.hero-photo figcaption > span:first-child { display:block; font-size:18px; color:var(--lime); line-height:1.4; }
.hero-photo figcaption > span:last-child { display:block; font-size:14px; color:#d9e0de; }
.hero-baseline { display:flex; gap:24px; align-items:center; padding:29px 0; margin-top:40px; border-top:1px solid #465252; font-size:18px; letter-spacing:.08em; font-weight:500; }
.hero-baseline i { color:var(--lime); font-style:normal; font-size:28px; }
.baseline-end { margin-left:auto; color:#aebabd; font-size:14px; letter-spacing:0; }
.proof-strip { background:var(--lime); }
.trust-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:38px 0; margin-top:0; border:0; }
.trust-row > div,.trust-row > div + div { border:0; border-left:1px solid #b6cadb; padding:8px 30px; }
.trust-row > div:first-child { border:0; padding-left:0; }
.trust-row strong { display:block; font-size:69px; line-height:1; font-weight:550; letter-spacing:-.07em; }
.trust-row strong span { display:inline; font-size:28px; margin-left:6px; letter-spacing:-.03em; color:inherit; }
.trust-row .proof-name { font-size:34px; letter-spacing:-.05em; min-height:69px; display:flex; align-items:center; }
.trust-row p { font-size:16px; line-height:1.45; margin:17px 0 0; }
.section { padding:116px 0; }
.section-head { grid-template-columns:1.45fr 1fr; gap:70px; align-items:end; margin-bottom:62px; }
.section-head h2,.content-heading { font-size:clamp(44px,4.65vw,67px); line-height:1.05; font-weight:650; letter-spacing:-.045em; }
.section-head > p,.section-intro { font-size:22px; color:var(--muted); line-height:1.5; max-width:440px; padding-bottom:5px; }
.section-intro strong { color:var(--ink); }
.situation-list { border-top:2px solid var(--ink); }
.situation { border-bottom:1px solid var(--line); transition:background .35s; }
.situation summary { list-style:none; display:grid; grid-template-columns:100px 1fr 60px; align-items:center; gap:30px; padding:32px 20px 32px 0; cursor:pointer; }
.situation summary::-webkit-details-marker { display:none; }
.row-number { color:var(--palette-safe,var(--accent)); font-size:73px; font-weight:500; letter-spacing:-.07em; line-height:1; align-self:start; padding:0; }
.situation h3 { font-size:39px; letter-spacing:-.035em; line-height:1.1; margin:0; }
.situation summary:hover h3 { color:var(--palette-safe,var(--accent)); }
.situation-toggle { width:60px; height:60px; display:grid; place-items:center; font-size:43px; font-weight:300; border:1px solid #a3afa8; border-radius:50%; transition:transform .4s,background .4s; }
.situation[open] .situation-toggle { transform:rotate(45deg); background:var(--ink); color:var(--lime); border-color:var(--ink); }
.situation[open] { background:#f4e6d6; }
.situation[open] summary { padding-left:22px; }
.situation-body { overflow:hidden; }
.situation-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:0 40px 38px 152px; }
.situation-inner p { font-size:20px; line-height:1.55; color:#526475; margin:0; }
.situation-inner p strong { display:block; color:var(--ink); margin-top:12px; }
.answer-label { display:block; color:var(--palette-safe,var(--accent)); font-size:15px; font-weight:650; text-transform:uppercase; margin-bottom:10px; }
.text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:25px; border-bottom:2px solid currentColor; padding:12px 0; font-weight:650; font-size:18px; line-height:1.4; transition:color .2s; }
.text-link span { display:inline-block; font-size:28px; transition:transform .3s; }
.text-link:hover { color:var(--palette-safe,var(--accent)); }
.text-link:hover span { transform:translate(3px,-3px); }
.situation-inner .text-link { margin-top:17px; }
.other-situations { margin-top:34px; gap:55px; }
.other-situations p { font-size:18px; max-width:none; }
.journey-section { background:var(--accent); color:white; }
.journey-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:100px; align-items:start; }
.journey-heading { position:sticky; top:120px; }
.journey-heading h2 { font-size:clamp(45px,4.4vw,65px); line-height:1.05; margin:0; }
.journey-heading h2 span { color:var(--lime); }
.journey-heading > p:not(.kicker) { font-size:23px; line-height:1.5; max-width:440px; margin-top:30px; color:#e0e5ff; }
.journey-heading .text-link { margin-top:23px; color:white; font-size:17px; }
.journey-heading .text-link:hover { color:var(--lime); }
.journey-section .section-num { color:var(--lime); }
.journey-section .kicker { font-size:14px; color:white; }
.journey-mark { font-size:180px; line-height:1; color:var(--lime); padding-top:20px; }
.journey-steps { border-left:1px solid #718daa; padding-left:38px; }
.journey-step { display:grid; grid-template-columns:68px 1fr; gap:24px; padding:8px 0 54px; margin-bottom:45px; border-bottom:1px solid #718daa; position:relative; }
.journey-step:last-child { margin-bottom:0; border:0; padding-bottom:0; }
.journey-step::before { content:""; position:absolute; top:24px; left:-45px; width:13px; height:13px; border:2px solid var(--lime); background:var(--accent); border-radius:50%; transition:background .4s,box-shadow .4s; }
.journey-step.is-visible::before { background:var(--lime); box-shadow:0 0 0 7px #ffd2a125; }
.step-number { font-size:63px; line-height:1; letter-spacing:-.07em; color:var(--lime); }
.step-caption { display:block; color:#dfe6ff; font-size:16px; margin-bottom:16px; }
.journey-step h3 { font-size:39px; line-height:1.1; margin:0; }
.journey-step p { font-size:20px; line-height:1.55; margin:23px 0 0; color:#e0e5ff; }
.step-output { display:block; color:var(--lime); font-size:17px; margin-top:25px; }
.flagship-card { display:grid; grid-template-columns:1.4fr 1fr; background:var(--ink); color:white; position:relative; overflow:hidden; }
.flagship-main { padding:50px; }
.card-tag { display:block; font-size:16px; line-height:1.5; letter-spacing:0; }
.flagship-main > .card-tag { color:var(--lime); max-width:350px; }
.flagship-main h3 { font-size:clamp(40px,3.8vw,57px); margin:45px 0 25px; }
.flagship-main > p { font-size:21px; color:#c6d0d0; line-height:1.5; }
.flagship-main > p strong { color:white; }
.flagship-main .button { margin-top:36px; }
.flagship-facts { padding:50px 40px; border-left:1px solid #6986a4; background:#254f78; position:relative; }
.flagship-facts > div + div { margin-top:38px; }
.flagship-facts strong { display:block; font-size:clamp(62px,5.5vw,80px); line-height:1; letter-spacing:-.055em; color:var(--lime); font-weight:550; }
.flagship-facts strong span { font-size:24px; margin-left:9px; letter-spacing:-.03em; }
.flagship-facts p { font-size:17px; color:#d1d9d7; margin:12px 0 0; }
.flagship-arrow { position:absolute; right:20px; bottom:0; font-size:130px; line-height:1; color:var(--lime); }
.secondary-formats { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.format-card { position:relative; padding:38px; border:1px solid var(--line); background:white; transition:border-color .3s,transform .3s; }
.format-card:hover { border-color:var(--accent); transform:translateY(-5px); }
.card-index { font-size:65px; line-height:1; letter-spacing:-.06em; color:var(--palette-safe,var(--accent)); font-variant-numeric:tabular-nums; }
.format-card .card-index { display:block; margin-bottom:32px; }
.format-card h3 { font-size:44px; margin:20px 0 26px; min-height:92px; }
.format-card p { font-size:21px; color:var(--muted); line-height:1.55; }
.format-card p strong { color:var(--ink); }
.format-card .text-link { display:flex; margin-top:32px; }
.partner-section { background:#eaf1f6; border-block:1px solid var(--line); }
.partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.partner-title h2 { font-size:clamp(45px,5.3vw,76px); line-height:1.05; margin:0; }
.partner-title .text-link { margin-top:35px; }
.partner-statement { font-size:34px; line-height:1.3; letter-spacing:-.025em; margin:0 0 48px; }
.partner-statement strong { color:var(--palette-safe,var(--accent)); }
.experience-list > div { border-color:#c7d5e0; padding:25px 0; }
.experience-list > div:last-child { padding-bottom:0; border-bottom:0; }
.experience-list span { font-size:15px; font-weight:650; }
.experience-list h3 { font-size:27px; font-weight:650; letter-spacing:-.025em; line-height:1.2; margin:12px 0; }
.experience-list p { font-size:19px; }
.steps-horizontal { grid-template-columns:repeat(3,minmax(0,1fr)); }
.steps-horizontal article { border-top:2px solid var(--ink); padding-top:25px; }
.steps-horizontal article > span { font-size:77px; font-weight:500; line-height:1; letter-spacing:-.065em; }
.steps-horizontal h3 { font-size:36px; font-weight:650; line-height:1.1; margin:25px 0 23px; }
.steps-horizontal p { font-size:20px; }
.cta-section { background:var(--lime); padding:105px 0; }
.cta-grid { grid-template-columns:1fr 1fr; gap:85px; }
.cta-grid h2 { font-size:clamp(43px,4.5vw,66px); font-weight:650; letter-spacing:-.05em; line-height:1.05; }
.cta-grid > div > p:not(.kicker) { font-size:22px; color:var(--ink); margin:30px 0; }
.cta-offer { border-top:1px solid #d7ad83; padding-top:23px; margin-top:35px; }
.cta-offer strong { display:block; font-size:50px; letter-spacing:-.05em; line-height:1.1; }
.cta-offer > span { display:block; font-size:18px; margin-top:8px; }
.contact-links { font-size:19px; margin-top:32px; }
.contact-links a { border-color:currentColor; }
.lead-form { gap:25px 20px; padding:36px; border:1px solid #d7ad83; border-radius:0; }
.lead-form label { gap:10px; font-size:17px; font-weight:600; }
.lead-form input,.lead-form textarea { padding:13px 0; background:white; border:0; border-bottom:1px solid #b8c4ce; border-radius:0; font-size:18px; }
.lead-form input { height:52px; }
.lead-form textarea { min-height:125px; }
.form-footer p { font-size:15px; }
.footer-title { font-size:27px; font-weight:600; letter-spacing:-.03em; line-height:1.2; }
.footer-title span { font-size:16px; font-weight:400; line-height:1.5; margin-top:18px; max-width:none; }
.footer-links,.footer-meta { font-size:15px; }
.footer-grid { grid-template-columns:1.05fr 1.2fr 1fr; gap:45px; }
.breadcrumbs { font-size:15px; color:#c0cfcd; margin-bottom:47px; }
.breadcrumbs a { border-color:currentColor; }
.page-hero { background:var(--ink); color:white; padding:40px 0 75px; }
.page-hero .kicker { color:var(--lime); font-size:17px; }
.page-hero h1 { max-width:1100px; font-size:clamp(44px,5.5vw,79px); animation:headline-in .7s both; text-wrap:initial; }
.page-hero > .container > p:not(.kicker) { font-size:25px; line-height:1.55; max-width:930px; color:#c9d5d2; margin-top:30px; }
.page-meta { gap:20px 36px; margin-top:37px; font-size:19px; color:var(--lime); }
.page-meta > * { border-left:3px solid var(--lime); padding-left:16px; }
.editorial { grid-template-columns:minmax(0,780px) minmax(0,1fr); gap:80px; }
.editorial-copy h2 { font-size:41px; font-weight:650; margin:62px 0 25px; line-height:1.15; }
.editorial-copy h2:first-child { margin-top:0; }
.editorial-copy h3 { font-size:29px; font-weight:650; }
.editorial-copy p,.editorial-copy li { font-size:21px; line-height:1.75; color:#455c70; }
.editorial-copy ul,.editorial-copy ol { gap:17px; padding-left:28px; margin:25px 0 38px; }
.editorial-copy ol { list-style:none; counter-reset:list-step; padding:0; gap:25px; }
.editorial-copy ol > li { counter-increment:list-step; position:relative; padding-left:65px; min-height:55px; }
.editorial-copy ol > li::before { content:counter(list-step,decimal-leading-zero); position:absolute; left:0; top:0; font-size:40px; line-height:1.2; font-weight:500; letter-spacing:-.06em; color:var(--palette-safe,var(--accent)); }
.editorial-aside { top:120px; background:var(--lime); padding:30px; border:0; }
.editorial-aside h2 { font-size:29px; font-weight:650; line-height:1.15; margin-bottom:20px; }
.editorial-aside p { font-size:18px; line-height:1.65; color:var(--ink); }
.editorial-aside .button { font-size:17px; padding:18px; width:100%; }
.detail-list div { padding:22px 0; }
.detail-list dt { font-size:18px; }
.detail-list dd { font-size:23px; font-weight:550; }
.note { padding:30px; border-left:5px solid var(--accent); background:#f2e6d8; }
.note p { font-size:21px; }
.portrait-card { border-radius:0; }
.portrait-card img { filter:none; }
.portrait-caption { padding:28px; }
.portrait-caption strong { font-size:35px; }
.portrait-caption span { font-size:18px; }
.result-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; border:0; }
.result-item,.result-item + .result-item { border:0; border-top:1px solid #6986a4; padding:25px 0 0; }
.result-item > span { font-size:68px; line-height:1; color:var(--lime); }
.result-item h3,.result-item > strong { font-size:32px; font-weight:650; line-height:1.15; margin:22px 0; }
.result-item p { font-size:21px; }
.card { padding:32px; border-top-width:5px; }
.card h3 { font-size:34px; font-weight:650; line-height:1.1; }
.card p { font-size:20px; }
.card-dark .card-tag,.card-dark .card-index { color:var(--lime); }
.card-link { font-size:18px; padding-top:30px; }
.card-link span { font-size:30px; transition:transform .25s; }
.card-link:hover span { transform:translate(4px,-4px); }
.article-card { border:0; border-top:5px solid var(--accent); padding:38px; }
.article-card > span,.article-card time { font-size:17px; }
.article-card h2,.article-card h3 { font-size:39px; font-weight:650; line-height:1.1; margin:38px 0 25px; }
.article-card p { font-size:21px; }
.timeline-step { grid-template-columns:85px 1fr 1fr; gap:35px; padding:35px 0; }
.timeline-step > span { font-size:60px; line-height:1; letter-spacing:-.055em; }
.timeline-step h3 { font-size:31px; font-weight:650; }
.timeline-step p { font-size:21px; }
[data-reveal].will-reveal { opacity:0; transform:translateY(34px); }
[data-reveal] { transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible { opacity:1; transform:none; }
@keyframes headline-in { from { opacity:.2; transform:translateY(35px); } to { opacity:1; transform:none; } }
@keyframes portrait-in { from { opacity:.2; transform:translateY(30px); } to { opacity:1; transform:none; } }
@keyframes page-leave { to { opacity:0; transform:translateY(-8px); } }
@keyframes page-enter { from { opacity:0; transform:translateY(12px); } }
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:page-leave .18s ease both; }
::view-transition-new(root) { animation:page-enter .3s ease both; }
@media (min-width:1550px) {
 .hero h1 { font-size:101px; } .hero-photo { min-height:665px; } .hero-lead { margin-top:46px; }
}
@media (max-width:1180px) {
 .container,.header-inner { width:calc(100% - 64px); }
 .brand small { display:none; } .main-nav { gap:17px; font-size:13px; }
 .hero h1 { font-size:7.05vw; } .hero-lead { font-size:21px; } .hero-lead strong { font-size:24px; }
 .hero-photo { min-height:610px; } .hero-actions { gap:17px; } .hero-baseline { font-size:16px; }
 .section-head,.journey-layout,.partner-grid,.cta-grid,.editorial { gap:50px; }
 .journey-step { grid-template-columns:55px 1fr; gap:18px; } .step-number { font-size:53px; } .journey-step h3 { font-size:34px; }
 .flagship-main { padding:35px; } .flagship-facts { padding:40px 25px; }
 .trust-row > div,.trust-row > div + div { padding-inline:24px; } .trust-row > div:first-child { padding-left:0; }
 .trust-row .proof-name { font-size:30px; } .situation-inner { gap:40px; } .footer-grid { gap:25px; }
}
@media (max-width:980px) {
 .header-inner,.site-header.is-scrolled .header-inner { min-height:80px; }
 .brand small { display:block; }
 .main-nav { background:var(--paper); max-height:calc(100dvh - 80px); overflow-y:auto; }
 .main-nav > a { font-size:18px; padding:15px 0; }
 .hero { padding-top:45px; } .hero-grid { grid-template-columns:1.2fr .85fr; gap:24px; }
 .hero-eyebrow { font-size:12px; } .hero h1 { font-size:7.1vw; }
 .hero-photo { min-height:600px; } .hero-photo figcaption { left:23px; }
 .hero-photo figcaption strong { font-size:36px; }
 .hero-photo figcaption > span:first-child { font-size:17px; } .hero-photo figcaption > span:last-child { font-size:13px; }
 .photo-corner { width:62px; height:62px; font-size:50px; top:-10px; right:-10px; }
 .hero-lead { font-size:20px; } .hero-lead strong { font-size:23px; }
 .hero-actions .button { font-size:17px; padding-inline:20px; } .baseline-end { display:none; } .hero-baseline { justify-content:space-between; }
 .trust-row { grid-template-columns:1fr 1fr; row-gap:32px; padding:35px 0; }
 .trust-row > div:nth-child(3) { border:0; padding-left:0; } .trust-row .proof-name { min-height:auto; font-size:35px; }
 .section { padding:85px 0; } .section-head { grid-template-columns:1.2fr 1fr; gap:35px; }
 .section-head h2,.content-heading { font-size:43px; } .section-head > p { font-size:20px; }
 .kicker { font-size:13px; gap:15px; } .section-num { font-size:44px; }
 .situation summary { grid-template-columns:80px 1fr 53px; gap:20px; } .row-number { font-size:64px; }
 .situation h3 { font-size:33px; } .situation-toggle { width:53px; height:53px; }
 .situation-inner { padding-left:122px; grid-template-columns:1fr; gap:25px; }
 .other-situations { align-items:start; flex-direction:column; gap:20px; }
 .journey-layout { grid-template-columns:1fr; gap:55px; } .journey-heading { position:static; }
 .journey-heading h2 { font-size:58px; } .journey-heading h2 br { display:none; }
 .journey-heading h2 span { display:block; } .journey-mark { display:none; }
 .journey-heading > p:not(.kicker) { max-width:600px; } .journey-step { grid-template-columns:85px 1fr; gap:30px; }
 .step-number { font-size:75px; } .journey-step h3 { font-size:42px; } .journey-step h3 br { display:none; }
 .flagship-card { grid-template-columns:1.2fr 1fr; } .flagship-main h3 { font-size:35px; }
 .flagship-main .button { font-size:16px; gap:20px; padding-inline:19px; }
 .flagship-facts strong { font-size:52px; } .flagship-facts strong span { display:block; margin:8px 0 0; } .flagship-arrow { font-size:100px; }
 .format-card { padding:28px; } .format-card h3 { font-size:37px; min-height:80px; }
 .partner-grid { gap:40px; } .partner-title h2 { font-size:47px; } .partner-statement { font-size:27px; }
 .steps-horizontal { gap:25px; } .steps-horizontal h3 { font-size:30px; } .steps-horizontal p { font-size:19px; }
 .cta-grid,.editorial { grid-template-columns:1fr; gap:40px; } .cta-grid > div > p { max-width:660px; }
 .lead-form,.editorial-aside { max-width:760px; } .editorial-copy { max-width:780px; }
 .card-grid { grid-template-columns:1fr; } .card { padding:34px; }
 .footer-grid { grid-template-columns:1fr 1.2fr; } .footer-meta { grid-template-columns:1fr 1fr; justify-items:start; }
 .footer-meta span { grid-column:1 / -1; justify-self:start; }
}
@media (max-width:680px) {
 .container,.header-inner { width:calc(100% - 40px); } .header-inner,.site-header.is-scrolled .header-inner { min-height:76px; }
 .brand strong { font-size:16px; } .brand small { font-size:11px; } .brand-sign { font-size:33px; width:38px; }
 .menu-button { width:45px; height:45px; }
 .hero { padding-top:35px; } .hero-grid { grid-template-columns:1fr; gap:25px; }
 .hero-copy { padding:0; } .hero-eyebrow { font-size:11px; letter-spacing:.025em; margin-bottom:30px; gap:10px; }
 .hero h1 { font-size:clamp(41px,11.5vw,73px); margin-left:-2px; line-height:1.01; }
 .hero h1 .accent-line { margin-top:5px; }
 .hero-lead { font-size:20px; margin-top:28px; } .hero-lead br { display:none; }
 .hero-lead strong { font-size:24px; margin-top:15px; }
 .hero-actions { margin-top:28px; gap:16px; } .hero-actions .button { width:100%; font-size:18px; padding:18px 22px; }
 .microcopy { font-size:16px; } .microcopy br { display:none; }
 .hero-scroll { margin-top:20px; font-size:16px; }
 .hero-photo { min-height:0; height:450px; margin-top:18px; } .hero-photo img { object-position:center 30%; }
 .hero-photo figcaption { left:25px; bottom:23px; } .hero-photo figcaption strong { font-size:40px; margin-top:16px; }
 .hero-photo figcaption > span:last-child { font-size:14px; }
 .hero-baseline { margin-top:30px; padding-block:22px; gap:9px; font-size:11px; letter-spacing:.07em; } .hero-baseline i { font-size:21px; }
 .trust-row { row-gap:26px; margin-top:0; }
 .trust-row > div,.trust-row > div + div { padding:0 0 0 20px; border-bottom:0; }
 .trust-row > div:first-child,.trust-row > div:nth-child(3) { padding-left:0; }
 .trust-row strong { font-size:59px; } .trust-row strong span { font-size:23px; }
 .trust-row .proof-name { font-size:28px; } .trust-row p { font-size:15px; margin-top:14px; }
 .section { padding:70px 0; } .section-head { grid-template-columns:1fr; gap:26px; margin-bottom:38px; }
 .section-head h2,.content-heading { font-size:clamp(34px,9.9vw,56px); line-height:1.06; }
 .section-head > p { font-size:20px; padding:0; } .section-intro br { display:none; }
 .kicker { font-size:12px; gap:15px; margin-bottom:24px; } .section-num { font-size:42px; }
 .situation summary { grid-template-columns:47px minmax(0,1fr) 35px; gap:12px; padding:26px 0; }
 .situation[open] summary { padding-left:0; }
 .row-number { font-size:44px; line-height:1.05; } .situation h3 { font-size:clamp(22px,6.5vw,31px); line-height:1.13; }
 .situation-toggle { width:35px; height:35px; font-size:29px; }
 .situation-inner { padding:0 17px 28px; gap:25px; } .situation-inner p { font-size:19px; }
 .answer-label { font-size:15px; } .situation-inner .text-link { font-size:17px; }
 .text-link { font-size:18px; } .other-situations { margin-top:27px; } .other-situations p { font-size:18px; } .other-situations br { display:none; }
 .journey-layout { gap:45px; } .journey-heading h2 { font-size:43px; }
 .journey-heading > p:not(.kicker) { font-size:21px; margin-top:25px; }
 .journey-steps { padding-left:21px; } .journey-step { grid-template-columns:1fr; gap:20px; padding:0 0 35px; margin-bottom:35px; }
 .journey-step::before { left:-28px; top:22px; } .step-number { font-size:70px; }
 .step-caption { font-size:16px; } .journey-step h3 { font-size:36px; } .journey-step p { font-size:20px; margin-top:20px; }
 .step-output { font-size:17px; }
 .flagship-card { grid-template-columns:1fr; } .flagship-main { padding:28px 23px; }
 .flagship-main > .card-tag { font-size:15px; }
 .flagship-main h3 { font-size:clamp(27px,7.6vw,45px); margin-top:32px; }
 .flagship-main > p { font-size:20px; } .flagship-main .button { width:100%; font-size:16px; padding:18px; }
 .flagship-facts { border-left:0; border-top:1px solid #6986a4; padding:28px 23px; display:grid; grid-template-columns:1fr 1.25fr; gap:25px; }
 .flagship-facts > div + div { margin-top:0; } .flagship-facts strong { font-size:clamp(35px,10.3vw,56px); }
 .flagship-facts strong span { font-size:20px; margin-top:9px; } .flagship-facts p { font-size:16px; } .flagship-arrow { display:none; }
 .secondary-formats { grid-template-columns:1fr; gap:20px; margin-top:20px; }
 .format-card { padding:28px 24px; } .format-card h3 { font-size:36px; min-height:0; }
 .format-card p { font-size:20px; } .format-card .card-index { font-size:63px; margin-bottom:26px; }
 .partner-grid { grid-template-columns:1fr; gap:38px; } .partner-title h2 { font-size:clamp(38px,11.5vw,64px); }
 .partner-statement { font-size:30px; } .partner-statement br { display:none; } .partner-statement strong { display:block; }
 .experience-list h3 { font-size:27px; } .experience-list p { font-size:19px; }
 .steps-horizontal { grid-template-columns:1fr; gap:32px; }
 .steps-horizontal article { display:grid; grid-template-columns:72px 1fr; gap:18px; padding-top:22px; }
 .steps-horizontal article > span { font-size:66px; } .steps-horizontal h3 { font-size:31px; margin:0; }
 .steps-horizontal p { grid-column:1 / -1; font-size:20px; }
 .cta-section { padding:70px 0; } .cta-grid { gap:32px; }
 .cta-grid h2 { font-size:clamp(36px,10.9vw,56px); } .cta-grid > div > p:not(.kicker) { font-size:21px; margin-top:24px; }
 .cta-offer strong { font-size:45px; } .cta-offer > span { font-size:17px; }
 .contact-links { font-size:18px; gap:15px; } .lead-form { padding:26px 22px; grid-template-columns:1fr; gap:23px; }
 .lead-form label { grid-column:1; font-size:17px; } .lead-form input,.lead-form textarea { font-size:17px; }
 .form-footer .button { padding-inline:16px; font-size:17px; gap:15px; } .button { padding:18px 22px; font-size:18px; min-height:64px; }
 .form-footer p { font-size:15px; } .site-footer { padding:45px 0; }
 .footer-grid { grid-template-columns:1fr; gap:33px; } .footer-title { font-size:28px; }
 .footer-title span { max-width:300px; } .footer-links { font-size:16px; gap:16px 23px; }
 .footer-meta { grid-template-columns:1fr; font-size:16px; }
 .page-hero { padding:28px 0 50px; } .breadcrumbs { font-size:14px; margin-bottom:30px; }
 .page-hero .kicker { font-size:14px; } .page-hero h1 { font-size:clamp(33px,9.3vw,52px); line-height:1.1; overflow-wrap:anywhere; }
 .page-hero > .container > p:not(.kicker) { font-size:22px; margin-top:28px; }
 .page-meta { display:grid; gap:18px; font-size:18px; }
 .editorial-copy h2 { font-size:33px; margin-top:45px; } .editorial-copy h3 { font-size:28px; }
 .editorial-copy p,.editorial-copy li { font-size:20px; line-height:1.65; }
 .editorial-copy ul { padding-left:21px; } .editorial-copy ol > li { padding-left:53px; } .editorial-copy ol > li::before { font-size:37px; }
 .editorial-aside { padding:27px 23px; } .editorial-aside h2 { font-size:30px; } .editorial-aside p { font-size:19px; }
 .detail-list div { grid-template-columns:1fr; gap:8px; padding:20px 0; }
 .detail-list dt { font-size:17px; } .detail-list dd { font-size:22px; } .note { padding:23px; } .note p { font-size:20px; }
 .inner-page .hero-grid { grid-template-columns:1fr; gap:35px; }
 .portrait-caption strong { font-size:32px; } .result-grid { grid-template-columns:1fr; gap:35px; }
 .result-item > strong { font-size:28px; } .result-item p { font-size:20px; }
 .card { padding:27px 24px; } .card h3 { font-size:31px; overflow-wrap:anywhere; } .card p { font-size:20px; } .card-tag { font-size:16px; }
 .article-grid { grid-template-columns:1fr; gap:25px; } .article-card { padding:30px 25px; }
 .article-card h2,.article-card h3 { font-size:33px; } .article-card p { font-size:20px; }
 .timeline-step { grid-template-columns:60px 1fr; gap:20px; } .timeline-step > span { font-size:53px; }
 .timeline-step h3 { font-size:29px; } .timeline-step p { grid-column:1 / -1; font-size:20px; }
}
@media (max-width:360px) {
 .container,.header-inner { width:calc(100% - 32px); } .brand strong { font-size:14px; } .brand small { font-size:10px; } .brand { gap:9px; }
 .hero-eyebrow { font-size:10px; } .situation summary { grid-template-columns:42px minmax(0,1fr) 30px; gap:10px; }
 .situation-toggle { width:30px; height:30px; } .row-number { font-size:39px; } .situation h3 { font-size:21px; }
 .lead-form { padding:23px 17px; } .form-footer .button { font-size:15px; } .trust-row .proof-name { font-size:24px; }
 .hero-baseline { font-size:10px; gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
 [data-reveal].will-reveal { opacity:1; transform:none; }
 ::view-transition-old(root),::view-transition-new(root) { animation:none !important; }
}

.hero { background:var(--paper); color:var(--ink); }
.hero-eyebrow { color:var(--ink); }
.status-dot { background:var(--accent); }
.hero h1 .hero-line { color:var(--ink); }
.hero h1 .accent-line { color:var(--palette-safe,var(--accent)); }
.hero-lead,.microcopy,.hero-scroll { color:var(--muted); }
.hero-lead strong { color:var(--ink); }
.hero .button-lime { background:var(--accent); color:white; }
.hero .button-lime:hover { background:#983c19; }
.hero-scroll > span { border-color:#9eb5c9; }
.hero-photo { background:white; display:grid; grid-template-rows:minmax(380px,1fr) auto; min-height:600px; }
.hero-photo picture { position:relative; inset:auto; min-height:0; height:100%; }
.hero-photo img { filter:none; object-position:center 27%; }
.hero-photo::after { display:none; }
.photo-corner { background:var(--accent); color:white; }
.hero-photo figcaption { position:static; padding:25px 30px; background:white; color:var(--ink); border-bottom:5px solid var(--accent); }
.hero-photo figcaption strong { font-size:38px; margin:13px 0 10px; }
.hero-photo figcaption strong br { display:none; }
.hero-photo figcaption > span:first-child { color:var(--palette-safe,var(--accent)); font-size:16px; }
.hero-photo figcaption > span:last-child { color:var(--muted); font-size:14px; }
.hero-baseline { border-color:#bfceda; }
.hero-baseline i { color:var(--palette-safe,var(--accent)); }
.baseline-end { color:var(--muted); }
.proof-strip { background:#e5eef5; }
.trust-row strong { color:var(--ink); }
.journey-section { background:#224a76; }
.journey-step::before { background:#224a76; }
.journey-heading > p:not(.kicker),.journey-step p,.step-caption { color:#e1edf7; }
.flagship-facts p,.flagship-main > p { color:#e1edf7; }
.page-hero { background:#e5eef5; color:var(--ink); }
.page-hero .kicker,.page-meta { color:var(--palette-safe,var(--accent)); }
.page-hero > .container > p:not(.kicker),.breadcrumbs { color:var(--muted); }
.page-meta > * { border-color:var(--accent); }
.portrait-card { background:white; }
.portrait-caption { background:#e5eef5; color:var(--ink); }
.portrait-caption span { color:var(--muted); }
.editorial-aside { background:#f5e5d3; }
.section-dark { background:#224a76; }
@media (max-width:980px) {
 .hero-photo { grid-template-rows:minmax(340px,1fr) auto; min-height:600px; }
 .hero-photo figcaption { padding:22px; }
 .hero-photo figcaption strong { font-size:32px; }
}
@media (max-width:680px) {
 .hero-photo { height:auto; min-height:0; grid-template-rows:365px auto; }
 .hero-photo figcaption { padding:24px; }
 .hero-photo figcaption strong { font-size:35px; }
 .hero-photo img { object-position:center 26%; }
}
