/* source:styles */
@layer reset, base, components, sections, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 100px; }
  body, h1, h2, h3, p, figure, blockquote, dl, dd { margin: 0; }
  ul, ol { margin: 0; padding: 0; }
  img { display: block; max-width: 100%; }
  button, input, textarea { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  a { color: inherit; text-decoration: none; }
}

@layer base {
  :root {
    --ink: #10283d;
    --ink-deep: #091c2c;
    --ink-soft: #314b60;
    --paper: #f4f1ea;
    --paper-2: #ebe6dc;
    --white: #fffefb;
    --gold: #c39a5d;
    --gold-bright: #ddb979;
    --gold-text: #765429;
    --line: rgba(16, 40, 61, .14);
    --line-light: rgba(255, 255, 255, .16);
    --muted: #52636f;
    --success: #3f735f;
    --danger: #9c3737;
    --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --wrap: min(1220px, calc(100% - 48px));
    --radius: 5px;
    --shadow: 0 24px 70px rgba(9, 28, 44, .12);
  }

  body {
    min-width: 320px;
    overflow-x: clip;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3 { color: var(--ink-deep); line-height: 1.08; text-wrap: balance; }
  h1, h2 { font-family: var(--serif); font-weight: 500; letter-spacing: -.035em; }
  h1 { font-size: clamp(3rem, 6.2vw, 6rem); }
  h2 { font-size: clamp(2.35rem, 4.4vw, 4.35rem); }
  h3 { font-size: 1.25rem; }
  p { text-wrap: pretty; }
  ::selection { color: var(--white); background: var(--ink); }
  :focus-visible { outline: 3px solid var(--gold-bright); outline-offset: 4px; }
}

@layer components {
  .wrap { width: var(--wrap); margin-inline: auto; }
  .section { padding: clamp(90px, 10vw, 150px) 0; }
  .section--dark { color: rgba(255,255,255,.78); background: var(--ink-deep); }
  .section--dark h2, .section--dark h3 { color: var(--white); }
  .section--paper { background: var(--paper-2); }

  .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 12px 18px;
    color: var(--white);
    background: var(--ink-deep);
    transform: translateY(-160%);
  }
  .skip-link:focus { transform: translateY(0); }

  .scroll-progress {
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    pointer-events: none;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
  }

  .site-header {
    position: sticky;
    z-index: 100;
    top: 0;
    border-bottom: 1px solid transparent;
    background: rgba(244, 241, 234, .88);
    backdrop-filter: blur(18px) saturate(130%);
    transition: box-shadow .25s ease, border-color .25s ease;
  }
  .site-header.is-scrolled { border-color: var(--line); box-shadow: 0 12px 35px rgba(9,28,44,.07); }
  .header__inner { display: flex; min-height: 84px; align-items: center; gap: 34px; }
  .brand { display: inline-flex; align-items: center; gap: 13px; min-width: max-content; }
  .brand__mark {
    display: block;
    overflow: hidden;
    width: 45px;
    aspect-ratio: 1;
    flex: 0 0 auto;
    border: 2px solid var(--gold);
    border-radius: 50%;
  }
  .brand__mark img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
  .brand__text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
  .brand__home, .brand__text strong { color: inherit; font-family: var(--serif); font-size: 17px; font-weight: 600; }
  .brand__home:hover { color: inherit; }
  .brand__text small { margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
  .header__online { display: inline-flex; min-height: 32px; align-items: center; gap: 8px; margin: -3px -2px -7px; padding: 4px 2px; color: #416550; border: 0; background: transparent; border-radius: 999px; cursor: pointer; font: inherit; font-size: 10px; font-weight: 760; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
  .header__online:hover span { text-decoration: underline; text-underline-offset: 3px; }
  .header__online i { width: 8px; aspect-ratio: 1; flex: 0 0 auto; background: #41b86b; border-radius: 50%; box-shadow: 0 0 0 4px rgba(65,184,107,.14); animation: online-pulse 1.8s ease-out infinite; }
  .header__online.is-offline { color: var(--muted); }
  .header__online.is-offline i, .messenger-dialog__status.is-offline i { background: #9da4aa; box-shadow: 0 0 0 4px rgba(157,164,170,.12); animation: none; }
  .desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
  .desktop-nav a { position: relative; padding: 30px 0 26px; font-size: 14px; font-weight: 560; }
  .desktop-nav a::after { position: absolute; bottom: 20px; left: 0; width: 100%; height: 1px; content: ""; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
  .desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
  .header__actions { display: flex; align-items: center; gap: 22px; }
  .header__city { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
  .header__city svg { width: 15px; }
  .menu-toggle { display: none; width: 46px; height: 46px; color: var(--ink); border: 1px solid var(--line); background: transparent; border-radius: 50%; }
  .menu-toggle svg { width: 22px; }
  .mobile-nav { border-top: 1px solid var(--line); background: var(--paper); }
  .mobile-nav .wrap { display: grid; padding: 18px 0 24px; }
  .mobile-nav a { display: flex; min-height: 52px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 22px; }
  .mobile-nav a svg { width: 20px; }
  .mobile-nav .button { margin-top: 20px; }

  .button {
    display: inline-flex;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 0 24px;
    color: var(--white);
    border: 1px solid var(--ink);
    background: var(--ink);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 720;
    letter-spacing: .015em;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
  }
  .button:hover { color: var(--white); background: var(--ink-deep); transform: translateY(-2px); }
  .button__icon { width: 17px; height: 17px; transition: transform .2s ease; }
  .button:hover .button__icon { transform: translateX(3px); }
  .button--compact { min-height: 43px; padding: 0 19px; font-size: 11px; }
  .button--secondary { color: var(--ink); border-color: var(--line); background: transparent; }
  .button--secondary:hover { color: var(--ink); border-color: var(--ink); background: rgba(255,255,255,.4); }
  .button--gold { color: var(--ink-deep); border-color: var(--gold-bright); background: var(--gold-bright); }
  .button--gold:hover { color: var(--ink-deep); border-color: var(--gold); background: var(--gold); }
  .button--wide { width: 100%; }
  .text-link, .card-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    color: var(--ink);
    border: 0;
    border-bottom: 1px solid currentColor;
    background: none;
    font-size: 13px;
    font-weight: 720;
    cursor: pointer;
  }
  .text-link svg, .card-link svg { width: 16px; transition: transform .2s ease; }
  .text-link:hover svg, .card-link:hover svg { transform: translateX(4px); }

  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: var(--gold-text);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .19em;
    text-transform: uppercase;
  }
  .eyebrow::before { width: 26px; height: 1px; content: ""; background: currentColor; }
  .eyebrow--light { color: var(--gold-bright); }
  .section-head { max-width: 820px; margin-bottom: 58px; }
  .section-head--split { display: grid; max-width: none; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); align-items: end; gap: clamp(40px, 8vw, 130px); }
  .section-head--split p { color: var(--muted); font-size: 17px; }
  .section-head--split .text-link { margin-top: 22px; }
  .lead { color: var(--ink-soft); font-size: clamp(18px, 2vw, 22px); line-height: 1.65; }
  .muted { color: var(--muted); }

  .breadcrumbs { padding-top: 24px; }
  .breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; list-style: none; color: var(--muted); font-size: 11px; }
  .breadcrumbs li:not(:last-child)::after { margin-left: 8px; content: "/"; opacity: .5; }
  .breadcrumbs a:hover { color: var(--ink); }

  .plain-checks { display: grid; gap: 16px; list-style: none; }
  .plain-checks li { display: flex; align-items: flex-start; gap: 12px; }
  .plain-checks svg { flex: 0 0 20px; width: 20px; color: var(--gold); }
  .plain-checks--light { color: rgba(255,255,255,.82); }

  .education-note { display: flex; align-items: flex-start; gap: 15px; margin: 30px 0; padding: 18px 0; border-block: 1px solid var(--line); }
  .education-note > svg { flex: 0 0 28px; width: 28px; color: var(--gold); }
  .education-note div { display: grid; gap: 3px; }
  .education-note strong { font-size: 14px; }
  .education-note span { color: var(--muted); font-size: 12px; }

  .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .service-card { position: relative; display: flex; min-height: 390px; flex-direction: column; padding: clamp(28px, 3vw, 42px); overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.2); transition: color .35s ease, background .35s ease, transform .35s ease; }
  .service-card::before { position: absolute; inset: 100% 0 0; content: ""; background: var(--ink); transition: inset .35s cubic-bezier(.2,.7,.2,1); }
  .service-card > * { position: relative; z-index: 1; }
  .service-card:hover { color: rgba(255,255,255,.75); transform: translateY(-4px); }
  .service-card:hover::before { inset: 0; }
  .service-card:hover h3, .service-card:hover .card-link { color: var(--white); }
  .service-card:hover .service-card__icon { color: var(--ink); background: var(--gold-bright); }
  .service-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 50px; }
  .service-card__icon { display: grid; width: 50px; aspect-ratio: 1; place-items: center; color: var(--gold); border: 1px solid var(--line); border-radius: 50%; transition: color .35s ease, background .35s ease; }
  .service-card__icon svg { width: 23px; }
  .service-card__number { color: var(--muted); font-family: var(--serif); font-size: 12px; }
  .service-card h3 { margin-bottom: 17px; font-family: var(--serif); font-size: clamp(1.5rem, 2vw, 2rem); font-weight: 500; transition: color .35s ease; }
  .service-card p { color: var(--muted); font-size: 14px; transition: color .35s ease; }
  .service-card:hover p { color: rgba(255,255,255,.66); }
  .service-card .card-link { align-self: flex-start; margin-top: auto; padding-top: 30px; }

  .faq-list { border-top: 1px solid var(--line); }
  .faq-item { border-bottom: 1px solid var(--line); }
  .faq-item summary { display: flex; min-height: 90px; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; font-family: var(--serif); font-size: clamp(19px, 2vw, 25px); list-style: none; }
  .faq-item summary::-webkit-details-marker { display: none; }
  .faq-item__toggle { display: grid; flex: 0 0 38px; width: 38px; aspect-ratio: 1; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
  .faq-item__toggle svg { width: 17px; transition: transform .25s ease; }
  .faq-item[open] .faq-item__toggle svg { transform: rotate(180deg); }
  .faq-item__body { max-width: 650px; padding: 0 60px 28px 0; color: var(--muted); }

  .contact-dialog {
    width: min(590px, calc(100% - 32px));
    max-height: min(790px, calc(100dvh - 32px));
    padding: 0;
    overflow: auto;
    color: var(--ink);
    border: 0;
    background: var(--white);
    border-radius: 18px;
    box-shadow: 0 40px 120px rgba(0,0,0,.3);
  }
  .contact-dialog::backdrop { background: rgba(5,18,29,.72); backdrop-filter: blur(8px); }
  .contact-dialog[open] { animation: dialog-in .28s ease both; }
  .dialog__close { position: absolute; z-index: 3; top: 8px; right: 8px; display: grid; width: 44px; aspect-ratio: 1; place-items: center; padding: 0; color: rgba(9,28,44,.5); outline: 0; border: 0; box-shadow: none; background: transparent; border-radius: 50%; -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; cursor: pointer; transition: color .2s ease, opacity .2s ease; }
  .dialog__close:focus { border: 0; box-shadow: none; background: transparent; }
  .dialog__close:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 1px; }
  .dialog__close:hover { color: var(--ink); opacity: .85; }
  .dialog__close svg { width: 17px; }
  .messenger-dialog__content { padding: 48px clamp(25px, 6vw, 52px) 34px; text-align: center; }
  .messenger-dialog__status { display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; color: #416550; background: #e5f5ea; border-radius: 99px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
  .messenger-dialog__status i { width: 9px; aspect-ratio: 1; background: #41b86b; border-radius: 50%; box-shadow: 0 0 0 4px rgba(65,184,107,.14); }
  .messenger-dialog__status.is-offline { color: var(--muted); background: #edf0f1; }
  .messenger-dialog__portrait { display: block; width: 112px; height: 112px; margin: 23px auto 20px; border: 4px solid var(--gold-bright); border-radius: 50%; object-fit: cover; object-position: center 22%; box-shadow: 0 14px 28px rgba(9,28,44,.14); }
  .messenger-dialog__content h2 { margin-bottom: 17px; font-size: clamp(2.3rem, 7vw, 3.4rem); }
  .messenger-dialog__content > p:not(.messenger-dialog__note):not(.messenger-dialog__privacy):not(.messenger-dialog__topic) { max-width: 430px; margin: 0 auto; color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
  .messenger-dialog__topic { display: inline-block; margin: -4px auto 14px !important; padding: 7px 11px; color: #76552e !important; background: #f4e5c7; border-radius: 99px; font-size: 11px !important; font-weight: 760; line-height: 1.35 !important; }
  .messenger-choices { display: grid; gap: 12px; margin-top: 29px; }
  .messenger-choice { display: flex; min-height: 62px; align-items: center; justify-content: center; gap: 13px; padding: 12px 20px; color: var(--ink-deep); border-radius: 7px; font-size: 17px; font-weight: 760; transition: transform .2s ease, filter .2s ease; }
  .messenger-choice:hover { color: var(--ink-deep); filter: brightness(.94); transform: translateY(-2px); }
  .messenger-choice svg { width: 27px; }
  .messenger-choice--whatsapp { background: #25d366; }
  .messenger-choice--telegram { background: #229ed9; }
  .messenger-dialog__note { margin-top: 17px; color: var(--muted); font-size: 13px; }
  .messenger-dialog__privacy { display: flex; align-items: flex-start; justify-content: center; gap: 8px; margin-top: 28px; padding-top: 22px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; line-height: 1.55; }
  .messenger-dialog__privacy svg { flex: 0 0 16px; width: 16px; color: var(--gold); }
  .price-quiz-dialog { width: min(650px, calc(100% - 32px)); max-height: min(790px, calc(100dvh - 32px)); padding: 0; overflow: auto; color: var(--ink); border: 0; background: var(--white); border-radius: 18px; box-shadow: 0 40px 120px rgba(0,0,0,.3); }
  .price-quiz-dialog::backdrop { background: rgba(5,18,29,.72); backdrop-filter: blur(8px); }
  .price-quiz-dialog[open] { animation: dialog-in .28s ease both; }
  .price-quiz { padding: 47px clamp(25px, 6vw, 52px) 34px; }
  .price-quiz__head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; margin-bottom: 31px; }
  .price-quiz__head .eyebrow { justify-self: start; gap: 0; margin: 0; }
  .price-quiz__head .eyebrow::before { display: none; }
  .price-quiz__progress { color: var(--muted); font-size: 11px; font-weight: 750; white-space: nowrap; }
  .price-quiz__progress-line { grid-column: 1 / -1; height: 3px; overflow: hidden; background: #e5dfd2; border-radius: 99px; }
  .price-quiz__progress-line i { display: block; width: 20%; height: 100%; background: var(--gold); border-radius: inherit; transition: width .25s ease; }
  .price-quiz__step h2, .price-quiz__result h2 { max-width: 500px; margin-bottom: 13px; font-size: clamp(2.15rem, 5vw, 3.35rem); }
  .price-quiz__step > p, .price-quiz__result > p { max-width: 540px; color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
  .price-quiz__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 27px; }
  .price-quiz__options button { min-height: 60px; padding: 13px 17px; color: var(--ink); border: 1px solid var(--line); background: #faf8f3; border-radius: 7px; cursor: pointer; font: inherit; font-size: 14px; font-weight: 720; line-height: 1.35; text-align: left; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
  .price-quiz__options button:hover { border-color: var(--gold); transform: translateY(-1px); }
  .price-quiz__options button[aria-pressed="true"] { color: var(--white); border-color: var(--ink); background: var(--ink); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
  .price-quiz__controls { display: flex; align-items: center; margin-top: 22px; }
  .price-quiz__back { min-height: 44px; padding: 8px 0; color: var(--ink-soft); border: 0; background: transparent; cursor: pointer; font: inherit; font-size: 13px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }
  .price-quiz__back[hidden], .price-quiz__controls[hidden], .price-quiz__result[hidden] { display: none; }
  .price-quiz__choices { margin-top: 25px; }
  .price-quiz__telegram-note { margin-top: 13px !important; color: var(--muted) !important; font-size: 12px !important; text-align: center; }
  .price-quiz__privacy { display: flex; justify-content: center; gap: 8px; margin-top: 20px; padding-top: 18px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; text-align: center; }
  .price-quiz__privacy svg { width: 16px; color: var(--gold); }
  .mobile-contact { display: none; }

  .site-footer { padding: 84px 0 28px; color: rgba(255,255,255,.67); background: var(--ink-deep); }
  .footer__grid { display: grid; grid-template-columns: 1.5fr .8fr .65fr .75fr; gap: clamp(30px, 5vw, 80px); }
  .brand--footer { color: var(--white); }
  .brand--footer .brand__mark { border-color: var(--gold-bright); }
  .brand--footer small { color: rgba(255,255,255,.5); }
  .footer__identity p { max-width: 370px; margin-top: 24px; font-size: 13px; }
  .footer__title { margin-bottom: 22px; color: var(--white); font-family: var(--sans); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
  .footer__links { display: grid; gap: 12px; list-style: none; font-size: 12px; }
  .footer__links a:hover, .footer__contact a:hover { color: var(--white); }
  .footer__contact p { margin-bottom: 9px; color: var(--white); font-family: var(--serif); font-size: 17px; }
  .footer__contact .text-link { margin-top: 20px; color: var(--gold-bright); }
  .footer__office { display: flex; align-items: flex-start; gap: 10px; margin-top: 20px; color: rgba(255,255,255,.75); font-size: 12px; line-height: 1.45; }
  .footer__office:hover { color: var(--white); }
  .footer__office > svg { flex: 0 0 18px; width: 18px; margin-top: 3px; color: var(--gold-bright); }
  .footer__office span { display: grid; gap: 2px; }
  .footer__office small { color: rgba(255,255,255,.48); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
  .footer__office em { color: var(--gold-bright); font-size: 11px; font-style: normal; }
  .footer__map { margin-top: 65px; padding: 55px 0; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
  .footer__map-grid { display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: clamp(35px, 7vw, 100px); }
  .footer__map h2 { margin: 14px 0 20px; color: var(--white); font-size: clamp(2rem, 3vw, 3.2rem); }
  .footer__map p { max-width: 480px; margin-bottom: 24px; color: rgba(255,255,255,.63); font-size: 14px; }
  .footer__map .text-link { color: var(--gold-bright); }
  .footer__map iframe { display: block; width: 100%; min-height: 320px; border: 0; filter: saturate(.76) contrast(.96); }
  .footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 70px; padding-top: 24px; border-top: 1px solid var(--line-light); font-size: 10px; }
  .footer__settings { padding: 0; color: rgba(255,255,255,.58); border: 0; background: transparent; cursor: pointer; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
  .footer__settings:hover { color: var(--white); }
  .consent-banner { position: fixed; z-index: 150; right: 20px; bottom: 20px; left: 20px; display: grid; grid-template-columns: 1fr auto; width: min(920px, calc(100% - 40px)); margin-inline: auto; padding: 24px; color: rgba(255,255,255,.78); background: rgba(9,28,44,.98); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; box-shadow: 0 25px 80px rgba(0,0,0,.32); backdrop-filter: blur(14px); }
  .consent-banner[hidden] { display: none; }
  .consent-banner strong { display: block; margin-bottom: 6px; color: var(--white); font-family: var(--serif); font-size: 21px; font-weight: 500; }
  .consent-banner p { max-width: 650px; font-size: 12px; }
  .consent-banner a { display: inline-block; margin-top: 8px; color: var(--gold-bright); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
  .consent-banner__actions { display: flex; align-items: center; gap: 9px; margin-left: 24px; }
  .consent-banner__actions .button { min-height: 45px; padding: 0 18px; white-space: nowrap; }
}

@layer sections {
  .hero { position: relative; padding: clamp(55px, 7vw, 95px) 0 0; overflow: hidden; }
  .hero::before { position: absolute; top: 0; right: -15%; width: 65%; height: 100%; content: ""; opacity: .8; background: radial-gradient(circle at center, rgba(195,154,93,.13), transparent 65%); pointer-events: none; }
  .hero__grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: clamp(42px, 7vw, 100px); }
  .hero__content { position: relative; z-index: 2; padding-bottom: 30px; }
  .hero__kicker { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--muted); font-size: 10px; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
  .hero h1 { max-width: 750px; }
  .hero h1 em { color: #9e7848; font-weight: inherit; }
  .hero h1 [data-hero-rotator] { display: inline-block; transition: opacity .17s ease; }
  .hero h1 [data-hero-rotator].is-changing { opacity: 0; }
  .hero__lead { max-width: 650px; margin-top: 32px; color: var(--ink-soft); font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
  .hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
  .hero__quick-choices { margin-top: 22px; }
  .hero__quick-choices > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 10px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
  .hero__quick-choices > div { display: flex; flex-wrap: wrap; gap: 8px; }
  .hero__quick-choices button { min-height: 36px; padding: 8px 13px; color: var(--ink); border: 1px solid var(--line); background: rgba(255,255,255,.55); border-radius: 99px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 650; line-height: 1.2; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
  .hero__quick-choices button:hover { color: var(--white); border-color: var(--ink); background: var(--ink); transform: translateY(-1px); }
  .hero__mobile-assurance { display: none; }
  .hero__assurance { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 34px; color: var(--muted); font-size: 10px; font-weight: 670; letter-spacing: .02em; }
  .hero__assurance span { display: flex; align-items: center; gap: 7px; }
  .hero__assurance svg { width: 16px; color: var(--gold); }
  .hero__visual { position: relative; min-width: 0; }
  .hero__image-wrap { position: relative; overflow: hidden; background: var(--paper-2); border-radius: 260px 260px 7px 7px; box-shadow: var(--shadow); }
  .hero__image-wrap::after { position: absolute; inset: 0; content: ""; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); pointer-events: none; }
  .hero__image-wrap img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 64% center; }
  .identity-card { position: absolute; right: -24px; bottom: 28px; display: grid; width: min(270px, 55%); padding: 22px 25px; color: var(--white); background: rgba(9,28,44,.92); backdrop-filter: blur(10px); box-shadow: 0 18px 55px rgba(9,28,44,.25); }
  .identity-card span, .identity-card small { color: var(--gold-bright); font-size: 9px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
  .identity-card strong { margin: 9px 0 8px; font-family: var(--serif); font-size: clamp(17px, 2vw, 24px); font-weight: 500; line-height: 1.12; }
  .identity-card small { color: rgba(255,255,255,.5); letter-spacing: .05em; text-transform: none; }
  .contact-path { position: relative; z-index: 1; padding: clamp(64px, 8vw, 110px) 0; background: var(--paper-2); border-block: 1px solid var(--line); }
  .contact-path__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
  .contact-path__intro h2 { max-width: 500px; margin-top: 18px; font-size: clamp(2.2rem, 3.5vw, 3.6rem); }
  .contact-path__intro p { max-width: 470px; margin-top: 22px; color: var(--muted); font-size: 14px; }
  .contact-path__steps { display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .contact-path__steps li { min-height: 215px; padding: 29px 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .contact-path__steps > li > span { display: block; margin-bottom: 48px; color: var(--gold-text); font-family: var(--serif); font-size: 17px; }
  .contact-path__steps strong { display: block; font-family: var(--serif); font-size: 21px; font-weight: 500; line-height: 1.25; }
  .contact-path__steps p { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.6; }
  .contact-path--service { background: var(--white); }

  .section--situations { padding-top: clamp(100px, 12vw, 175px); }
  .situation-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .situation-card { position: relative; display: grid; min-height: 230px; align-content: start; padding: 34px; color: var(--ink); border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; text-align: left; cursor: pointer; transition: background .25s ease, transform .25s ease; }
  .situation-card:hover { z-index: 2; background: var(--white); transform: translateY(-3px); box-shadow: 0 20px 50px rgba(9,28,44,.08); }
  .situation-card__index { margin-bottom: 28px; color: var(--gold-text); font-family: var(--serif); font-size: 12px; }
  .situation-card strong { font-family: var(--serif); font-size: 24px; font-weight: 500; }
  .situation-card small { max-width: 290px; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.55; }
  .situation-card > svg { position: absolute; right: 27px; bottom: 27px; width: 21px; color: var(--gold); }

  .position-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(70px, 10vw, 150px); }
  .position-intro { position: sticky; top: 125px; align-self: start; }
  .position-intro p { max-width: 520px; margin: 26px 0 35px; font-size: 16px; }
  .position-steps { list-style: none; counter-reset: step; }
  .position-steps li { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 34px 0; border-bottom: 1px solid var(--line-light); }
  .position-steps li:first-child { border-top: 1px solid var(--line-light); }
  .position-steps > li > span { color: var(--gold-bright); font-family: var(--serif); font-size: 14px; }
  .position-steps strong { color: var(--white); font-family: var(--serif); font-size: clamp(25px, 3vw, 38px); font-weight: 500; }
  .position-steps p { max-width: 530px; margin-top: 10px; color: rgba(255,255,255,.57); font-size: 13px; }

  .section--services { background: var(--paper); }
  .section--value { background: var(--white); }
  .value-grid, .price-grid { display: grid; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .value-grid { grid-template-columns: repeat(3, 1fr); }
  .value-card { min-height: 300px; padding: clamp(28px, 3.4vw, 46px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .value-card > span { display: block; margin-bottom: 56px; color: var(--gold-text); font-family: var(--serif); font-size: 16px; }
  .value-card h3 { max-width: 270px; font-family: var(--serif); font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; }
  .value-card p { max-width: 310px; margin-top: 15px; color: var(--muted); font-size: 13px; line-height: 1.6; }
  .section--prices { background: var(--paper-2); }
  .price-grid { grid-template-columns: repeat(3, 1fr); background: rgba(255,255,255,.32); }
  .price-card { display: flex; min-height: 230px; flex-direction: column; padding: clamp(26px, 3vw, 42px); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .price-card h3 { font-family: var(--serif); font-size: clamp(21px, 2vw, 27px); font-weight: 500; }
  .price-card p { margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.55; }
  .price-card strong { margin-top: auto; padding-top: 28px; color: var(--gold-text); font-family: var(--serif); font-size: clamp(25px, 2.5vw, 34px); font-weight: 500; }
  .price-note { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin-top: 25px; padding-top: 25px; border-top: 1px solid var(--line); }
  .price-note p { max-width: 720px; color: var(--muted); font-size: 13px; }
  .section--consultation { background: var(--white); }
  .consultation-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(55px, 9vw, 130px); }
  .consultation-grid--reverse { grid-template-columns: .92fr .72fr; }
  .consultation-photo { position: relative; overflow: hidden; box-shadow: var(--shadow); }
  .consultation-photo::after { position: absolute; inset: 0; content: ""; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); pointer-events: none; }
  .consultation-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
  .consultation-grid--reverse .consultation-photo img { aspect-ratio: 4/5; object-position: center top; }
  .consultation-copy h2 { margin-bottom: 28px; }
  .consultation-copy .lead { margin-bottom: 34px; }
  .feature-list { display: grid; gap: 0; margin: 0 0 34px; list-style: none; border-top: 1px solid var(--line); }
  .feature-list li { display: grid; grid-template-columns: 28px 1fr; gap: 15px; padding: 20px 0; border-bottom: 1px solid var(--line); }
  .feature-list > li > svg { width: 20px; color: var(--gold); }
  .feature-list div { display: grid; gap: 5px; }
  .feature-list strong { font-family: var(--serif); font-size: 19px; font-weight: 600; }
  .feature-list span { color: var(--muted); font-size: 12px; }

  .section--about-preview { overflow: hidden; background: var(--paper-2); }
  .about-preview { display: grid; grid-template-columns: 1fr .78fr; align-items: center; gap: clamp(55px, 10vw, 150px); }
  .about-preview__copy { max-width: 660px; }
  .about-preview__lead { margin-top: 28px; color: var(--ink-soft); font-size: 20px; }
  .about-preview blockquote { margin-top: 34px; padding-left: 24px; color: #4b5f6e; border-left: 2px solid var(--gold); font-family: var(--serif); font-size: clamp(20px, 2vw, 27px); font-style: italic; line-height: 1.45; }
  .about-preview__visual { position: relative; }
  .about-preview__visual::before { position: absolute; z-index: 0; top: -80px; right: -80px; width: 330px; aspect-ratio: 1; content: ""; border: 1px solid rgba(195,154,93,.35); border-radius: 50%; }
  .about-preview__visual img { position: relative; z-index: 1; width: 100%; max-height: 740px; object-fit: cover; object-position: center top; box-shadow: var(--shadow); }
  .about-preview__seal { position: absolute; z-index: 2; right: -35px; bottom: 35px; display: grid; width: 145px; aspect-ratio: 1; place-content: center; color: var(--white); background: var(--ink); border: 1px solid var(--gold); border-radius: 50%; text-align: center; box-shadow: 0 16px 45px rgba(9,28,44,.2); }
  .about-preview__seal span { font-family: var(--serif); font-size: 24px; }
  .about-preview__seal small { color: var(--gold-bright); font-size: 9px; letter-spacing: .08em; }

  .faq-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: clamp(55px, 9vw, 130px); }
  .faq-intro { align-self: start; }
  .faq-intro p { max-width: 390px; margin: 25px 0 30px; color: var(--muted); }

  .section--cta { padding-top: 0; background: var(--paper); }
  .cta-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; padding: clamp(45px, 7vw, 88px); color: rgba(255,255,255,.67); background: var(--ink); box-shadow: 0 25px 70px rgba(9,28,44,.16); }
  .cta-panel h2 { max-width: 800px; color: var(--white); }
  .cta-panel p { max-width: 700px; margin-top: 20px; }

  .inner-hero { padding: clamp(70px, 9vw, 125px) 0 clamp(80px, 10vw, 140px); }
  .inner-hero__grid { display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: clamp(60px, 10vw, 140px); }
  .inner-hero h1 { max-width: 920px; font-size: clamp(3.4rem, 6vw, 6.2rem); }
  .inner-hero h1 + p { max-width: 720px; margin-top: 30px; color: var(--ink-soft); font-size: 19px; }
  .inner-hero__aside { padding: 28px 0 8px 28px; border-left: 1px solid var(--gold); }
  .inner-hero__aside > span { color: var(--gold-text); font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
  .inner-hero__aside p { margin-top: 14px; color: var(--muted); font-size: 13px; }
  .compact-dark { padding: 90px 0; }
  .compact-dark__grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 90px; }
  .compact-dark__grid p { margin-bottom: 25px; }

  .service-hero { padding: clamp(75px, 9vw, 130px) 0; }
  .service-hero__grid { display: grid; grid-template-columns: 1.35fr .65fr; align-items: center; gap: clamp(60px, 10vw, 150px); }
  .service-hero h1 { font-size: clamp(3.3rem, 6vw, 6rem); }
  .service-hero h1 + p { max-width: 760px; margin-top: 30px; color: var(--ink-soft); font-size: 19px; }
  .service-hero__card { padding: 38px; color: rgba(255,255,255,.68); background: var(--ink); box-shadow: var(--shadow); }
  .service-hero__icon { display: grid; width: 54px; aspect-ratio: 1; margin-bottom: 45px; place-items: center; color: var(--ink); background: var(--gold-bright); border-radius: 50%; }
  .service-hero__icon svg { width: 25px; }
  .service-hero__card strong { display: block; color: var(--white); font-family: var(--serif); font-size: 27px; font-weight: 500; }
  .service-hero__card > p { margin: 16px 0 25px; font-size: 13px; }
  .service-hero__price { display: grid; gap: 4px; margin: 0 0 25px; padding: 17px 0; border-block: 1px solid var(--line-light); }
  .service-hero__price small { color: rgba(255,255,255,.52); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .service-hero__price b { color: var(--gold-bright); font-family: var(--serif); font-size: 29px; font-weight: 500; }
  .service-hero__card ul { display: flex; flex-wrap: wrap; gap: 9px 18px; list-style: none; color: var(--gold-bright); font-size: 10px; font-weight: 700; text-transform: uppercase; }
  .service-hero__card li { display: flex; align-items: center; gap: 5px; }
  .service-hero__card li svg { width: 13px; }
  .two-lists { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(60px, 10vw, 140px); }
  .two-lists h2 { margin-bottom: 42px; font-size: clamp(2.3rem, 4vw, 3.6rem); }
  .number-list { list-style: none; border-top: 1px solid var(--line); }
  .number-list li { display: grid; grid-template-columns: 45px 1fr; gap: 14px; padding: 23px 0; border-bottom: 1px solid var(--line); }
  .number-list span { color: var(--gold-text); font-family: var(--serif); }
  .number-list p { font-size: 14px; }
  .paper-panel { padding: clamp(34px, 5vw, 58px); background: var(--white); box-shadow: 0 24px 70px rgba(9,28,44,.07); }
  .paper-panel__note { margin-top: 35px; padding-top: 20px; color: var(--muted); border-top: 1px solid var(--line); font-size: 11px; }
  .section--process { background: var(--paper-2); }
  .process-line { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
  .process-line li { min-height: 260px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .process-line span { display: block; margin-bottom: 55px; color: var(--gold-text); font-family: var(--serif); }
  .process-line strong { display: block; margin-bottom: 12px; font-family: var(--serif); font-size: 23px; }
  .process-line p { color: var(--muted); font-size: 12px; }

  .about-hero { padding: clamp(65px, 8vw, 115px) 0 clamp(95px, 11vw, 160px); }
  .about-hero__grid { display: grid; grid-template-columns: .73fr 1.27fr; align-items: center; gap: clamp(60px, 10vw, 150px); }
  .about-hero__photo { position: relative; }
  .about-hero__photo::before { position: absolute; top: -25px; left: -25px; width: 55%; height: 40%; content: ""; border-top: 1px solid var(--gold); border-left: 1px solid var(--gold); }
  .about-hero__photo img { position: relative; width: 100%; max-height: 740px; object-fit: cover; object-position: center top; box-shadow: var(--shadow); }
  .about-hero__role { margin: 16px 0 30px; color: var(--gold-text); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .about-hero__copy .lead { max-width: 730px; }
  .about-hero__facts { display: grid; grid-template-columns: 1fr 1.5fr; gap: 0; margin: 40px 0; border-block: 1px solid var(--line); }
  .about-hero__facts div { display: grid; align-content: center; min-height: 120px; padding: 18px 26px 18px 0; }
  .about-hero__facts div + div { padding-left: 26px; border-left: 1px solid var(--line); }
  .about-hero__facts strong { font-family: var(--serif); font-size: 32px; font-weight: 500; }
  .about-hero__facts span { color: var(--muted); font-size: 11px; }
  .story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 150px); }
  .story-heading { position: sticky; top: 130px; align-self: start; }
  .story-copy { display: grid; gap: 25px; }
  .story-copy > p:not(.lead) { color: var(--muted); }
  .story-copy blockquote { margin-top: 15px; padding: 30px; color: var(--ink); border-left: 2px solid var(--gold); background: var(--paper-2); font-family: var(--serif); font-size: 24px; font-style: italic; }
  .section--education { background: var(--white); }
  .education-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(60px, 10vw, 140px); }
  .education-copy dl { margin: 35px 0 25px; border-top: 1px solid var(--line); }
  .education-copy dl > div { display: grid; grid-template-columns: 145px 1fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--line); }
  .education-copy dt { color: var(--muted); font-size: 11px; }
  .education-copy dd { font-size: 13px; font-weight: 650; }
  .education-copy .muted { font-size: 10px; }
  .diploma-card { padding: 20px; background: var(--paper); box-shadow: var(--shadow); transform: rotate(1deg); }
  .diploma-card img { width: 100%; }
  .diploma-card figcaption { display: flex; align-items: center; gap: 9px; padding: 17px 5px 0; color: var(--muted); font-size: 10px; }
  .diploma-card figcaption svg { width: 18px; color: var(--gold); }
  .process-cards { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 60px; list-style: none; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
  .process-cards li { min-height: 285px; padding: 34px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
  .process-cards span { color: var(--gold-bright); font-family: var(--serif); }
  .process-cards h3 { margin: 60px 0 14px; font-family: var(--serif); font-size: 25px; font-weight: 500; }
  .process-cards p { color: rgba(255,255,255,.52); font-size: 12px; }

  .contact-page { padding: clamp(70px, 9vw, 130px) 0; }
  .contact-page__grid { display: grid; grid-template-columns: 1.12fr .88fr; align-items: start; gap: clamp(55px, 9vw, 130px); }
  .contact-page__intro h1 { font-size: clamp(3.3rem, 6vw, 5.8rem); }
  .contact-page__intro > .lead { max-width: 720px; margin-top: 28px; }
  .contact-page__methods { display: grid; gap: 13px; max-width: 620px; margin-top: 42px; }
  .contact-method { display: grid; grid-template-columns: 34px 1fr 20px; min-height: 90px; align-items: center; gap: 17px; padding: 18px 22px; border: 1px solid var(--line); background: var(--white); transition: transform .2s ease, box-shadow .2s ease; }
  .contact-method:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
  .contact-method > svg:first-child { width: 30px; }
  .contact-method > svg:last-child { width: 20px; }
  .contact-method span { display: grid; gap: 2px; }
  .contact-method small { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
  .contact-method strong { font-size: 18px; }
  .contact-method--whatsapp > svg:first-child { color: #21aa5a; }
  .contact-method--telegram > svg:first-child { color: #229ed9; }
  .contact-page__guide { padding: clamp(30px, 4vw, 48px); color: rgba(255,255,255,.75); background: var(--ink-deep); box-shadow: var(--shadow); }
  .contact-page__person { display: flex; align-items: center; gap: 14px; padding-bottom: 25px; border-bottom: 1px solid var(--line-light); color: var(--white); font-family: var(--serif); font-size: 18px; line-height: 1.25; }
  .contact-page__person img { width: 58px; height: 58px; border: 2px solid var(--gold-bright); border-radius: 50%; object-fit: cover; object-position: center 22%; }
  .contact-page__person small { color: var(--gold-bright); font-family: var(--sans); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
  .contact-page__guide h2 { margin: 32px 0 24px; color: var(--white); font-size: clamp(2rem, 3vw, 2.8rem); }
  .contact-page__guide ol { display: grid; gap: 19px; list-style: none; }
  .contact-page__guide li { display: grid; grid-template-columns: 30px 1fr; gap: 14px; align-items: start; }
  .contact-page__guide li span { color: var(--gold-bright); font-family: var(--serif); }
  .contact-page__guide > p { display: flex; gap: 9px; margin-top: 31px; padding-top: 22px; border-top: 1px solid var(--line-light); color: rgba(255,255,255,.54); font-size: 12px; }
  .contact-page__guide > p svg { flex: 0 0 16px; width: 16px; color: var(--gold-bright); }
  .contact-location__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(55px, 9vw, 130px); }
  .contact-location__grid > div > p { max-width: 620px; margin-top: 25px; color: var(--muted); }
  .contact-location address { display: grid; grid-template-columns: 46px 1fr; gap: 20px; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--line); background: var(--white); font-style: normal; }
  .contact-location address > span { display: grid; width: 46px; aspect-ratio: 1; place-items: center; color: var(--ink); background: var(--gold-bright); border-radius: 50%; }
  .contact-location address > span svg { width: 22px; }
  .contact-location address > div { display: grid; gap: 7px; }
  .contact-location address small { margin-top: 14px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .contact-location address small:first-child { margin-top: 0; }
  .contact-location address strong { font-family: var(--serif); font-size: 20px; font-weight: 500; line-height: 1.35; }
  .contact-location address .text-link { justify-self: start; margin-top: 20px; }

  .legal-page { padding: clamp(70px, 9vw, 130px) 0; }
  .legal-page__grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: clamp(60px, 10vw, 150px); }
  .legal-page aside { position: sticky; top: 130px; align-self: start; }
  .legal-page aside h1 { font-size: clamp(3rem, 5vw, 5rem); }
  .legal-page aside p { margin-top: 20px; color: var(--muted); }
  .legal-copy { padding: clamp(34px, 5vw, 65px); background: var(--white); }
  .legal-copy h2 { margin: 45px 0 15px; font-family: var(--sans); font-size: 19px; font-weight: 750; letter-spacing: 0; }
  .legal-copy p { color: var(--muted); font-size: 14px; }
  .draft-notice { padding: 24px; color: var(--ink); border-left: 3px solid var(--gold); background: var(--paper-2); }
  .draft-notice p { margin-top: 8px; }
}

@layer utilities {
  .reveal { opacity: 1; transform: none; }
  @keyframes dialog-in { from { opacity: 0; transform: translateY(15px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
  @keyframes online-pulse { 0% { box-shadow: 0 0 0 0 rgba(65,184,107,.36); } 70% { box-shadow: 0 0 0 7px rgba(65,184,107,0); } 100% { box-shadow: 0 0 0 0 rgba(65,184,107,0); } }

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

  @supports (view-transition-name: none) {
    @view-transition { navigation: auto; }
    .brand__mark { view-transition-name: brand-mark; }
  }

  @media (max-width: 1120px) {
    :root { --wrap: min(100% - 38px, 1050px); }
    .desktop-nav { gap: 17px; }
    .header__city { display: none; }
    .hero__grid { grid-template-columns: 1.08fr .92fr; gap: 45px; }
    .identity-card { right: -8px; }
    .service-grid { grid-template-columns: repeat(2, 1fr); }
    .value-grid, .price-grid { grid-template-columns: repeat(2, 1fr); }
    .footer__grid { grid-template-columns: 1.3fr .8fr .8fr; }
    .footer__contact { grid-column: 2 / -1; }
  }

  @media (max-width: 900px) {
    .desktop-nav, .header__actions { display: none; }
    .menu-toggle { display: grid; margin-left: auto; place-items: center; }
    .header__inner { min-height: 72px; }
    .hero { padding-top: 45px; }
    .hero__grid, .about-preview, .consultation-grid, .consultation-grid--reverse,
    .position-grid, .faq-grid, .inner-hero__grid, .service-hero__grid, .two-lists, .contact-path__grid,
    .about-hero__grid, .story-grid, .education-grid, .contact-page__grid, .contact-location__grid,
    .legal-page__grid { grid-template-columns: 1fr; }
    .hero__content { order: 1; }
    .hero__visual { order: 2; width: min(700px, 100%); }
    .hero__image-wrap { border-radius: 240px 240px 5px 5px; }
    .hero__image-wrap img { aspect-ratio: 6/5; object-position: center 31%; }
    .contact-path__steps { grid-template-columns: repeat(3, 1fr); }
    .section-head--split { grid-template-columns: 1fr; gap: 25px; }
    .position-intro, .story-heading, .legal-page aside { position: static; }
    .about-preview__visual { width: min(600px, 90%); margin-inline: auto; }
    .about-preview__visual img { max-height: 680px; }
    .about-preview__seal { right: -25px; }
    .process-line, .process-cards { grid-template-columns: repeat(2, 1fr); }
    .compact-dark__grid { grid-template-columns: 1fr; gap: 35px; }
    .service-hero__card { max-width: 560px; }
    .about-hero__photo { width: min(530px, 90%); }
    .education-grid { gap: 55px; }
    .footer__grid { grid-template-columns: 1fr 1fr; }
    .footer__identity { grid-column: 1 / -1; }
    .footer__contact { grid-column: auto; }
  }

  @media (max-width: 680px) {
    :root { --wrap: calc(100% - 30px); }
    body { padding-bottom: 72px; font-size: 16px; line-height: 1.7; }
    .site-header { position: fixed; top: 0; right: 0; left: 0; background: var(--paper); transform: translateY(0); transition: transform .24s ease, box-shadow .25s ease, border-color .25s ease; }
    .site-header.is-header-hidden { transform: translateY(calc(-100% - 2px)); }
    .header__inner { gap: 10px; }
    .header__online { gap: 6px; margin-top: 4px; font-size: 8px; letter-spacing: .04em; }
    .header__online i { width: 7px; }
    body { padding-top: 72px; }
    h1 { font-size: clamp(2.8rem, 13vw, 4.6rem); }
    h2 { font-size: clamp(2.25rem, 10vw, 3.6rem); }
    .section { padding: 82px 0; }
    .brand__mark { width: 41px; }
    .hero h1 { font-size: clamp(3rem, 13.5vw, 4.8rem); }
    .hero__lead { font-size: 18px; line-height: 1.62; }
    .hero__actions { display: grid; }
    .button { min-height: 56px; padding-inline: 24px; font-size: 15px; }
    .button__icon { width: 18px; height: 18px; }
    .hero__actions .button { width: 100%; }
    .hero__mobile-assurance { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; color: var(--ink-soft); font-size: 12px; font-weight: 700; text-align: center; }
    .hero__mobile-assurance svg { width: 18px; color: var(--ink); }
    .hero__quick-choices { margin-top: 20px; }
    .hero__quick-choices > div { display: grid; grid-template-columns: 1fr 1fr; }
    .hero__quick-choices button { min-height: 44px; padding-inline: 10px; font-size: 12px; }
    .eyebrow { gap: 13px; font-size: 11px; letter-spacing: .15em; }
    .hero__assurance { display: none; }
    .hero__image-wrap img { aspect-ratio: 4/5; object-position: 58% center; }
    .identity-card { right: 8px; bottom: 12px; width: 62%; padding: 17px; }
    .contact-path { padding: 52px 0 46px; }
    .contact-path__grid { gap: 28px; }
    .contact-path__steps { grid-template-columns: 1fr; }
    .contact-path__steps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 20px 0; border-right: 0; }
    .contact-path__steps > li > span { margin: 0; font-size: 17px; }
    .contact-path__steps strong { font-size: 21px; }
    .contact-path__steps p { margin-top: 7px; font-size: 15px; }
    .section-head { margin-bottom: 40px; }
    .service-grid, .situation-grid { grid-template-columns: minmax(0, 1fr); }
    .value-grid, .price-grid { grid-template-columns: minmax(0, 1fr); }
    .value-card { min-height: 0; padding: 31px 26px; }
    .value-card > span { margin-bottom: 32px; }
    .value-card h3 { font-size: 28px; }
    .value-card p, .price-card p, .price-note p { font-size: 15px; }
    .price-card { min-height: 0; padding: 30px 26px; }
    .price-card strong { margin-top: 24px; padding-top: 0; }
    .price-note { display: grid; gap: 20px; }
    .service-card { min-height: 330px; }
    .situation-card { min-height: 210px; }
    .position-grid { gap: 60px; }
    .position-steps li { grid-template-columns: 45px 1fr; }
    .consultation-grid { gap: 50px; }
    .consultation-photo img { aspect-ratio: 4/3; object-position: 55% center; }
    /* Portraits stay recognisable without taking over the entire mobile screen. */
    .consultation-grid--reverse .consultation-photo img,
    .about-hero__photo img { aspect-ratio: 4/3; max-height: none; object-fit: cover; object-position: center 42%; }
    .about-preview__visual img { aspect-ratio: 4/3; max-height: none; object-fit: cover; object-position: center 42%; }
    .about-preview__lead { font-size: 17px; }
    .about-preview blockquote { font-size: 20px; }
    .about-preview__visual { width: 88%; }
    .about-preview__seal { right: -30px; width: 115px; }
    .faq-grid { gap: 40px; }
    .faq-item summary { min-height: 80px; font-size: 19px; }
    .cta-panel { grid-template-columns: 1fr; padding: 38px 25px; }
    .cta-panel .button { width: 100%; }
    .inner-hero, .service-hero { padding: 60px 0 85px; }
    .inner-hero h1, .service-hero h1, .about-hero h1, .contact-page__intro h1 { font-size: clamp(3rem, 13vw, 4.7rem); }
    .inner-hero__aside { padding-left: 20px; }
    .process-line, .process-cards { grid-template-columns: 1fr; }
    .number-list li { grid-template-columns: 50px 1fr; gap: 16px; padding: 26px 0; }
    .number-list span { font-size: 18px; }
    .number-list p { font-size: 17px; line-height: 1.55; }
    .section-head--split p,
    .service-card p,
    .feature-list span,
    .position-steps p,
    .inner-hero__aside p,
    .service-hero__card > p,
    .paper-panel__note,
    .process-line p,
    .about-hero__facts span,
    .education-copy dd,
    .legal-copy p { font-size: 16px; line-height: 1.6; }
    .process-line li { min-height: 210px; }
    .process-line span { margin-bottom: 38px; }
    .about-hero__facts { grid-template-columns: 1fr; }
    .about-hero__facts div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
    .about-hero__photo { width: 94%; }
    .education-copy dl > div { grid-template-columns: 1fr; gap: 5px; }
    .diploma-card { padding: 10px; }
    .diploma-card img { height: auto; aspect-ratio: 1170 / 765; object-fit: contain; }
    .contact-page__guide { padding: 30px 24px; }
    .contact-dialog { max-height: calc(100dvh - 18px); }
    .price-quiz-dialog { width: min(100% - 18px, 650px); max-height: calc(100dvh - 18px); }
    .price-quiz { padding: 42px 20px 22px; }
    .price-quiz__head { margin-bottom: 25px; }
    .price-quiz__step h2, .price-quiz__result h2 { font-size: clamp(2rem, 10vw, 2.8rem); }
    .price-quiz__step > p, .price-quiz__result > p { font-size: 15px; }
    .price-quiz__options { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 22px; }
    .price-quiz__options button { min-height: 54px; font-size: 14px; }
    .price-quiz__controls { margin-top: 16px; }
    .price-quiz__privacy { flex-direction: column-reverse; align-items: center; gap: 8px; }
    .mobile-contact { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr; min-height: 72px; padding: 9px max(12px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); opacity: 0; pointer-events: none; background: rgba(9,28,44,.96); backdrop-filter: blur(12px); transform: translateY(110%); transition: opacity .25s ease, transform .25s ease; }
    .mobile-contact.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .mobile-contact a, .mobile-contact button { display: flex; min-height: 54px; align-items: center; justify-content: center; gap: 9px; color: var(--white); border: 0; background: transparent; font-size: 15px; font-weight: 750; }
    .mobile-contact button { color: var(--ink); background: var(--gold-bright); border-radius: 99px; }
    .mobile-contact svg { width: 18px; }
    .site-footer { padding-top: 65px; }
    .footer__title { font-size: 10px; line-height: 1.35; letter-spacing: .12em; }
    .footer__links { font-size: 14px; }
    .footer__links li, .footer__contact p { overflow-wrap: anywhere; }
    .footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 24px; }
    .footer__identity, .footer__contact { grid-column: 1 / -1; }
    .footer__grid > *, .footer__identity, .brand--footer { min-width: 0; }
    .footer__map { margin-top: 45px; padding: 42px 0; }
    .footer__map-grid { grid-template-columns: 1fr; gap: 28px; }
    .footer__map h2 { font-size: 32px; }
    .footer__map iframe { min-height: 280px; }
    .footer__bottom { display: grid; }
    .consent-banner { right: 10px; bottom: 10px; left: 10px; grid-template-columns: 1fr; width: calc(100% - 20px); padding: 20px; }
    .consent-banner__actions { display: grid; grid-template-columns: 1fr 1fr; margin: 18px 0 0; }
    .consent-banner__actions .button { width: 100%; padding-inline: 10px; }
  }
}

/* source:site-enhancements */
/* Readable editorial type scale: restrained on desktop and compact on mobile. */
@layer base {
  h1 { font-size: clamp(2.75rem, 5vw, 4.75rem); }
  h2 { font-size: clamp(2rem, 3.6vw, 3.5rem); }
  h3 { font-size: clamp(1.2rem, 1.7vw, 1.45rem); }
}

@layer components {
  .lead { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.65; }
  .section-head--split p { font-size: clamp(1rem, 1.35vw, 1.0625rem); line-height: 1.65; }
  .messenger-dialog__content h2 { font-size: clamp(2rem, 4.2vw, 2.75rem); }
  .legal-page__grid, .legal-page aside, .legal-copy { min-width: 0; }
  .legal-page aside h1, .legal-copy, .legal-copy p, .legal-copy a { overflow-wrap: anywhere; hyphens: auto; }
}

@layer sections {
  .hero h1 { font-size: clamp(2.9rem, 5.2vw, 4.9rem); }
  .hero__lead { font-size: clamp(1.0625rem, 1.55vw, 1.1875rem); line-height: 1.65; }
  .inner-hero h1 { font-size: clamp(2.75rem, 4.8vw, 4.75rem); }
  .inner-hero h1 + p { font-size: 1.125rem; line-height: 1.65; }
  .service-hero h1 { max-width: 860px; font-size: clamp(2.75rem, 4.6vw, 4.6rem); }
  .service-hero h1 + p { font-size: 1.125rem; line-height: 1.65; }
  .service-hero__card strong { font-size: clamp(1.45rem, 2vw, 1.7rem); }
  .service-hero__card > p { font-size: .875rem; line-height: 1.65; }
  .two-lists h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
  .number-list p, .plain-checks li { font-size: 1rem; line-height: 1.6; }
  .process-line strong { font-size: clamp(1.25rem, 1.8vw, 1.45rem); }
  .process-line p { font-size: .9375rem; line-height: 1.6; }

  .section--process-guarantees {
    padding-block: clamp(70px, 8vw, 112px);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--white);
  }
  .process-guarantees__head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    align-items: end;
    gap: clamp(28px, 5vw, 76px);
    margin-bottom: clamp(34px, 5vw, 58px);
  }
  .process-guarantees__head h2 { max-width: 760px; font-size: clamp(2.15rem, 3.5vw, 3.35rem); }
  .process-guarantees__head > p { max-width: 560px; color: var(--ink-soft); font-size: clamp(1rem, 1.25vw, 1.0625rem); line-height: 1.7; }
  .process-guarantees__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
  }
  .process-guarantee {
    min-width: 0;
    min-height: 255px;
    padding: clamp(24px, 2.6vw, 34px);
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: rgba(244,241,234,.34);
  }
  .process-guarantee > span {
    display: block;
    margin-bottom: clamp(34px, 4vw, 58px);
    color: var(--gold-text);
    font-size: 11px;
    font-weight: 780;
    letter-spacing: .14em;
  }
  .process-guarantee h3 { margin-bottom: 14px; font-size: clamp(1.2rem, 1.65vw, 1.45rem); }
  .process-guarantee p { color: var(--ink-soft); font-size: .9375rem; line-height: 1.65; }
  .process-guarantees__note {
    max-width: 820px;
    margin-top: 20px;
    color: var(--muted);
    font-size: .8125rem;
    line-height: 1.6;
  }
}

@layer utilities {
  @media (max-width: 920px) {
    .process-guarantees__head { grid-template-columns: 1fr; align-items: start; }
    .process-guarantees__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  @media (max-width: 680px) {
    h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
    h2 { font-size: clamp(1.875rem, 8vw, 2.5rem); }
    h3 { font-size: 1.25rem; }
    .hero h1 { font-size: clamp(2.35rem, 10.5vw, 3.15rem); }
    .hero__lead, .service-hero h1 + p, .inner-hero h1 + p, .lead { font-size: 1.0625rem; line-height: 1.65; }
    .inner-hero h1, .service-hero h1, .about-hero h1, .contact-page__intro h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .two-lists h2 { font-size: clamp(1.875rem, 8vw, 2.4rem); }
    .messenger-dialog__content h2 { font-size: clamp(1.9rem, 8.5vw, 2.4rem); }
    .button { font-size: .9375rem; }
    .service-hero__card strong { font-size: 1.5rem; }
    .service-hero__card > p, .process-line p, .paper-panel__note { font-size: .9375rem; }
    .number-list p, .plain-checks li { font-size: 1rem; }
    .legal-page aside h1 { font-size: clamp(2.35rem, 12vw, 4.2rem); }

    .section--process-guarantees { padding-block: 62px; }
    .process-guarantees__head { gap: 18px; margin-bottom: 30px; }
    .process-guarantees__head h2 { font-size: clamp(1.95rem, 8.5vw, 2.4rem); }
    .process-guarantees__head > p { font-size: 1rem; }
    .process-guarantees__grid { grid-template-columns: 1fr; }
    .process-guarantee { min-height: 0; padding: 24px; }
    .process-guarantee > span { margin-bottom: 24px; }
    .process-guarantee h3 { font-size: 1.25rem; }
    .process-guarantee p { font-size: .9375rem; }
    .process-guarantees__note { font-size: .75rem; }
  }
}

/* source:case-studies */
@layer sections {
  .section--case-studies {
    padding-block: clamp(76px, 8.5vw, 124px);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper-2);
  }

  .case-studies__head {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    align-items: end;
    gap: clamp(28px, 5vw, 72px);
    margin-bottom: clamp(34px, 5vw, 56px);
  }

  /* Display headings use the same editorial serif as the rest of the brand. */
  .case-studies__title {
    max-width: 800px;
    font-family: var(--serif);
    font-size: clamp(2.15rem, 3.45vw, 3.3rem);
    font-weight: 500;
    line-height: 1.04;
    letter-spacing: -.035em;
  }

  .case-studies__head > p {
    max-width: 570px;
    color: var(--ink-soft);
    font-size: clamp(1rem, 1.25vw, 1.0625rem);
    line-height: 1.7;
  }

  .case-studies__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
  }

  .case-studies__grid--single {
    grid-template-columns: minmax(0, 820px);
  }

  .case-studies__grid--double {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 1030px;
  }

  .case-study {
    min-width: 0;
    padding: clamp(25px, 2.8vw, 36px);
    border: 1px solid var(--line);
    background: var(--white);
  }

  .case-study__category {
    display: block;
    margin-bottom: 20px;
    color: var(--gold-text);
    font-size: .75rem;
    font-weight: 780;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .case-study h3 {
    min-height: 3.25em;
    margin-bottom: 26px;
    font-family: var(--serif);
    font-size: clamp(1.3rem, 1.75vw, 1.55rem);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.018em;
  }

  .case-study__details {
    display: grid;
    gap: 0;
  }

  .case-study__details > div {
    min-width: 0;
    padding: 17px 0;
    border-top: 1px solid var(--line);
  }

  .case-study__details dt {
    margin-bottom: 6px;
    color: var(--muted);
    font-size: .75rem;
    font-weight: 760;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .case-study__details dd {
    color: var(--ink-soft);
    font-size: .9375rem;
    line-height: 1.62;
    overflow-wrap: anywhere;
  }

  .case-studies__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }

  .case-studies__footer p {
    max-width: 760px;
    color: var(--muted);
    font-size: .8125rem;
    line-height: 1.6;
  }

  .case-studies__footer .button { flex: 0 0 auto; }
}

@layer utilities {
  @media (max-width: 980px) {
    .case-studies__head { grid-template-columns: 1fr; align-items: start; }
    .case-studies__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .case-studies__grid--single { grid-template-columns: minmax(0, 820px); }
  }

  @media (max-width: 680px) {
    .section--case-studies { padding-block: 62px; }
    .case-studies__head { gap: 18px; margin-bottom: 30px; }
    .case-studies__title { font-size: clamp(1.95rem, 8.5vw, 2.4rem); }
    .case-studies__head > p { font-size: 1rem; }
    .case-studies__grid,
    .case-studies__grid--single,
    .case-studies__grid--double { grid-template-columns: 1fr; }
    .case-study { padding: 23px; }
    .case-study h3 { min-height: 0; margin-bottom: 22px; font-size: 1.3rem; }
    .case-study__details > div { padding: 15px 0; }
    .case-study__details dd { font-size: .9375rem; }
    .case-studies__footer { display: grid; gap: 18px; margin-top: 24px; padding-top: 22px; }
    .case-studies__footer .button { width: 100%; }
  }
}

/* source:search-visibility */
@layer sections {
  .section--search-guide {
    padding-block: clamp(76px, 8.5vw, 124px);
    border-top: 1px solid var(--line);
    background: var(--white);
  }

  .section--search-guide-compact {
    padding-block: clamp(62px, 7vw, 96px);
    background: var(--paper-2);
  }

  .search-guide__head {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    align-items: start;
    gap: clamp(30px, 6vw, 88px);
    margin-bottom: clamp(34px, 5vw, 58px);
  }

  .search-guide__head h2,
  .search-guide__directory h2,
  .service-guide__content h2 {
    max-width: 840px;
    font-size: clamp(2.05rem, 3.4vw, 3.35rem);
    line-height: 1.04;
  }

  .search-guide__intro {
    display: grid;
    gap: 16px;
    color: var(--ink-soft);
    font-size: clamp(1rem, 1.25vw, 1.0625rem);
    line-height: 1.72;
  }

  .search-guide__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .search-guide__card {
    min-width: 0;
    padding: clamp(26px, 3vw, 38px);
    border: 1px solid var(--line);
    background: var(--paper-2);
  }

  .search-guide__card h3 {
    margin-bottom: 18px;
    font-size: clamp(1.3rem, 1.75vw, 1.55rem);
    line-height: 1.2;
  }

  .search-guide__card h3 a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
  }

  .search-guide__card h3 a:hover,
  .search-guide__card h3 a:focus-visible {
    color: var(--gold-text);
  }

  .search-guide__card p,
  .service-guide__content > p {
    color: var(--ink-soft);
    font-size: .975rem;
    line-height: 1.7;
  }

  .search-guide__links,
  .service-guide__links,
  .search-guide__directory-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 22px;
  }

  .search-guide__links a,
  .service-guide__links a,
  .search-guide__directory-links a {
    color: var(--ink);
    font-size: .875rem;
    font-weight: 720;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  .search-guide__links a:hover,
  .search-guide__links a:focus-visible,
  .service-guide__links a:hover,
  .service-guide__links a:focus-visible,
  .search-guide__directory-links a:hover,
  .search-guide__directory-links a:focus-visible {
    color: var(--gold-text);
  }

  .search-guide__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin-top: 24px;
    padding: 24px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
  }

  .search-guide__summary p {
    max-width: 850px;
    color: var(--ink-soft);
    font-size: .9375rem;
    line-height: 1.65;
  }

  .search-guide__author {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 24px;
    margin-top: 22px;
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.5;
  }

  .search-guide__author a {
    color: inherit;
    text-underline-offset: 3px;
  }

  .search-guide__directory {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: clamp(34px, 7vw, 92px);
  }

  .search-guide__directory-copy {
    display: grid;
    align-content: start;
    gap: 16px;
    color: var(--ink-soft);
    line-height: 1.72;
  }

  .search-guide__directory .search-guide__author {
    grid-column: 1 / -1;
    margin-top: 0;
    padding-top: 20px;
    border-top: 1px solid var(--line);
  }

  .service-guide__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    gap: clamp(30px, 6vw, 82px);
    align-items: start;
  }

  .service-guide__content {
    display: grid;
    gap: 18px;
  }

  .service-guide__content .lead {
    margin-top: 4px;
    font-size: clamp(1.05rem, 1.45vw, 1.18rem);
    line-height: 1.65;
  }

  .service-guide__checklist {
    padding: clamp(26px, 3vw, 36px);
    border: 1px solid var(--line);
    background: var(--paper-2);
  }

  .service-guide__checklist > span {
    display: block;
    margin-bottom: 12px;
    color: var(--gold-text);
    font-size: .6875rem;
    font-weight: 780;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .service-guide__checklist h3 {
    margin-bottom: 20px;
    font-size: clamp(1.25rem, 1.7vw, 1.5rem);
  }

  .service-guide__checklist ul {
    display: grid;
    gap: 0;
    margin-bottom: 22px;
  }

  .service-guide__checklist li {
    position: relative;
    padding: 14px 0 14px 22px;
    border-top: 1px solid var(--line);
    color: var(--ink-soft);
    font-size: .9375rem;
    line-height: 1.55;
  }

  .service-guide__checklist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 21px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
  }

  .service-guide__layout > .search-guide__author {
    grid-column: 1 / -1;
    margin-top: -4px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
  }

  .service-guide__verification {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
    gap: clamp(26px, 5vw, 64px);
    padding-top: clamp(28px, 4vw, 42px);
    border-top: 1px solid var(--line);
  }

  .service-guide__verification h3 {
    margin-top: 10px;
    font-size: clamp(1.3rem, 1.8vw, 1.65rem);
    line-height: 1.2;
  }

  .service-guide__verification p {
    margin-top: 14px;
    color: var(--ink-soft);
    font-size: .875rem;
    line-height: 1.65;
  }

  .service-guide__verification ul {
    display: grid;
    gap: 0;
  }

  .service-guide__verification li {
    display: grid;
    gap: 5px;
    padding: 15px 0;
    border-top: 1px solid var(--line);
  }

  .service-guide__verification li:first-child {
    padding-top: 0;
    border-top: 0;
  }

  .service-guide__verification a {
    color: var(--ink);
    font-size: .9375rem;
    font-weight: 720;
    line-height: 1.45;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
  }

  .service-guide__verification a:hover,
  .service-guide__verification a:focus-visible {
    color: var(--gold-text);
  }

  .service-guide__verification li span {
    color: var(--muted);
    font-size: .75rem;
    line-height: 1.45;
  }
}

@layer utilities {
  @media (max-width: 900px) {
    .search-guide__head,
    .search-guide__directory,
    .service-guide__layout {
      grid-template-columns: 1fr;
    }

    .search-guide__directory .search-guide__author,
    .service-guide__verification,
    .service-guide__layout > .search-guide__author {
      grid-template-columns: 1fr;
      grid-column: auto;
    }
  }

  @media (max-width: 680px) {
    .section--search-guide,
    .section--search-guide-compact {
      padding-block: 62px;
    }

    .search-guide__head {
      gap: 20px;
      margin-bottom: 30px;
    }

    .search-guide__head h2,
    .search-guide__directory h2,
    .service-guide__content h2 {
      font-size: clamp(1.95rem, 8.5vw, 2.4rem);
    }

    .search-guide__grid {
      grid-template-columns: 1fr;
    }

    .search-guide__card,
    .service-guide__checklist {
      padding: 23px;
    }

    .search-guide__summary {
      grid-template-columns: 1fr;
      gap: 18px;
    }

    .search-guide__summary .button {
      width: 100%;
    }

    .search-guide__author {
      display: grid;
      justify-content: start;
    }
  }
}

/* source:mobile-actions */
@layer utilities {
  .engagement-nudge {
    position: fixed;
    z-index: 92;
    top: 50%;
    left: 50%;
    width: min(390px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    box-sizing: border-box;
    overflow-y: auto;
    margin: 0;
    padding: 23px;
    color: var(--ink);
    border: 1px solid rgba(195, 154, 93, .48);
    background: rgba(255, 254, 251, .98);
    box-shadow: 0 24px 70px rgba(9, 28, 44, .2);
    opacity: 0;
    overscroll-behavior: contain;
    transform: translate(-50%, calc(-50% + 14px)) scale(.985);
    transition: opacity .22s ease, transform .22s ease;
  }

  .engagement-nudge[hidden] { display: none; }
  .engagement-nudge.is-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }

  .engagement-nudge__close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    color: var(--muted);
    border: 0;
    background: transparent;
    cursor: pointer;
  }

  .engagement-nudge__close:hover { color: var(--ink); }
  .engagement-nudge__close svg { width: 18px; height: 18px; }

  .engagement-nudge__eyebrow {
    display: block;
    margin: 0 44px 8px 0;
    color: var(--gold-text);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .engagement-nudge strong {
    display: block;
    max-width: 315px;
    padding-right: 24px;
    color: var(--ink-deep);
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 560;
    line-height: 1.14;
  }

  .engagement-nudge p {
    margin-top: 12px;
    color: var(--ink-soft);
    font-size: .875rem;
    line-height: 1.55;
  }

  .engagement-nudge__actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin-top: 18px;
  }

  .engagement-nudge__dismiss,
  .engagement-nudge__write {
    min-height: 46px;
    padding: 0 17px;
    border-radius: 999px;
    font: inherit;
    font-size: .8125rem;
    font-weight: 750;
    cursor: pointer;
  }

  .engagement-nudge__dismiss {
    color: var(--muted);
    border: 0;
    background: transparent;
  }

  .engagement-nudge__dismiss:hover { color: var(--ink); }

  .engagement-nudge__write {
    color: var(--ink-deep);
    border: 1px solid var(--gold);
    background: var(--gold-bright);
  }

  .engagement-nudge__write:hover { border-color: var(--gold-text); background: #e7c785; }

  /* Keep all published sections discoverable without crowding medium desktop widths. */
  .desktop-nav a { white-space: nowrap; }
  .mobile-nav a[aria-current="page"] { color: var(--gold-text); }

  @media (min-width: 901px) and (max-width: 1120px) {
    .header__inner { gap: 20px; }
    .desktop-nav { gap: 14px; }
    .desktop-nav a { font-size: 13px; }
  }

  @media (min-width: 901px) and (max-width: 1000px) {
    .header__actions { display: none; }
  }

  @keyframes mobile-contact-soft-attention {
    0%, 12%, 100% {
      box-shadow: 0 0 0 0 rgba(255, 218, 137, 0);
      filter: brightness(1);
      transform: scale(1);
    }
    2% {
      box-shadow: 0 0 0 2px rgba(255, 239, 194, .92), 0 0 24px 5px rgba(255, 206, 96, .54);
      filter: brightness(1.1);
      transform: scale(1.008);
    }
    5% {
      box-shadow: 0 0 0 11px rgba(255, 224, 151, 0), 0 0 36px 10px rgba(255, 205, 91, .3);
      filter: brightness(1.22);
      transform: scale(1.02);
    }
    8% {
      box-shadow: 0 0 0 4px rgba(255, 235, 181, .2), 0 0 22px 5px rgba(255, 210, 105, .2);
      filter: brightness(1.08);
      transform: scale(1.006);
    }
  }

  @media (max-width: 680px) {
    body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }

    .mobile-contact--single {
      grid-template-columns: minmax(0, 1fr);
      min-height: 74px;
      padding: 8px max(10px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    }

    .mobile-contact--single .mobile-contact__action {
      width: 100%;
      min-width: 0;
      min-height: 52px;
      gap: 8px;
      padding: 0 18px;
      border-radius: 999px;
      font-size: .9375rem;
      line-height: 1.15;
      white-space: nowrap;
    }

    .mobile-contact--single .mobile-contact__action--now {
      color: var(--ink);
      border: 1px solid var(--gold-bright);
      background: var(--gold-bright);
    }

    .mobile-contact--single.is-visible .mobile-contact__action--now {
      animation: mobile-contact-soft-attention 18s ease-out 8s infinite;
    }

    .mobile-contact--single .mobile-contact__action--now:hover,
    .mobile-contact--single .mobile-contact__action--now:focus-visible {
      animation: none;
    }

    .mobile-contact--single .mobile-contact__action svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }

    .engagement-nudge {
      width: min(390px, calc(100vw - 20px));
      max-height: calc(100dvh - 20px);
      padding: 20px 18px 18px;
    }

    .engagement-nudge strong { max-width: 290px; font-size: 1.375rem; }
    .engagement-nudge p { font-size: .875rem; }
  }

  @media (max-width: 350px) {
    .mobile-contact--single { padding-inline: 8px; }
    .mobile-contact--single .mobile-contact__action { padding-inline: 12px; font-size: .875rem; }
    .mobile-contact--single .mobile-contact__action svg { width: 17px; height: 17px; flex-basis: 17px; }
    .engagement-nudge { padding-inline: 16px; }
    .engagement-nudge__actions { gap: 6px; }
    .engagement-nudge__dismiss,
    .engagement-nudge__write { padding-inline: 13px; font-size: .78125rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .mobile-contact--single.is-visible .mobile-contact__action--now { animation: none; }
    .engagement-nudge { transition: none; }
  }
}

/* source:visual-trust */
/* Visual architecture. Proof components remain dormant until confirmed materials are available. */
@layer components {
  .proof-reveal { opacity: 1; transform: none; }

  .hero-video { min-width: 0; }
  .hero-video__poster {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding: 0;
    color: var(--white);
    border: 0;
    background: var(--ink-deep);
    border-radius: 260px 260px 7px 7px;
    box-shadow: var(--shadow);
    cursor: pointer;
    text-align: left;
  }
  .hero-video__poster picture, .hero-video__poster img { display: block; width: 100%; }
  .hero-video__poster img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 64% center; transition: transform .45s ease; }
  .hero-video__poster:hover img { transform: scale(1.015); }
  .hero-video__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,28,44,.05) 20%, rgba(9,28,44,.8) 100%); }
  .hero-video__play {
    position: absolute;
    top: 48%;
    left: 50%;
    display: grid;
    width: 78px;
    aspect-ratio: 1;
    place-items: center;
    color: var(--ink-deep);
    background: rgba(255,254,251,.94);
    border-radius: 50%;
    box-shadow: 0 0 0 0 rgba(255,254,251,.45);
    transform: translate(-50%, -50%);
    animation: hero-play-pulse 1.6s ease-out 2;
  }
  .hero-video__play svg { width: 31px; height: 31px; margin-left: 4px; }
  .hero-video__copy { position: absolute; right: 34px; bottom: 37px; left: 34px; display: grid; gap: 7px; }
  .hero-video__copy small { color: var(--gold-bright); font-size: 10px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
  .hero-video__copy strong { max-width: 430px; color: var(--white); font-family: var(--serif); font-size: clamp(24px, 2.4vw, 34px); font-weight: 500; line-height: 1.12; }
  .hero-video__copy em { width: fit-content; margin-top: 5px; padding: 6px 10px; color: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 10px; font-style: normal; }
  .identity-card--video { right: -22px; bottom: -22px; }

  .trust-strip { position: relative; z-index: 3; border-block: 1px solid var(--line); background: var(--white); }
  .trust-strip__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .trust-strip__item { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; min-width: 0; padding: 24px 20px; border-right: 1px solid var(--line); }
  .trust-strip__item:first-child { border-left: 1px solid var(--line); }
  .trust-strip__item > span { color: var(--gold-text); font-family: var(--serif); font-size: 12px; }
  .trust-strip__item div { display: grid; gap: 4px; }
  .trust-strip__item strong { color: var(--ink); font-size: 13px; }
  .trust-strip__item small { color: var(--muted); font-size: 11px; line-height: 1.45; }

  .document-samples__head, .visual-cases__head {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    align-items: end;
    gap: clamp(30px, 6vw, 90px);
    margin-bottom: 54px;
  }
  .document-samples__head p, .visual-cases__head p { color: var(--muted); font-size: 16px; }
  .document-samples__rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
  .document-sample { min-width: 0; overflow: hidden; border: 1px solid var(--line); background: var(--white); }
  .document-sample__visual { position: relative; display: block; overflow: hidden; width: 100%; padding: 0; border: 0; background: var(--paper-2); cursor: zoom-in; }
  .document-sample__visual img { width: 100%; aspect-ratio: 3 / 3.55; object-fit: cover; object-position: top; transition: transform .3s ease; }
  .document-sample__visual:hover img { transform: translateY(-5px); }
  .document-sample__visual > span { position: absolute; right: 12px; bottom: 12px; left: 12px; padding: 8px 10px; color: rgba(255,255,255,.78); background: rgba(9,28,44,.88); font-size: 9px; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
  .document-sample__copy { display: grid; align-content: start; padding: 26px; }
  .document-sample__copy > small { color: var(--gold-text); font-size: 10px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
  .document-sample__copy h3 { margin-top: 9px; font-family: var(--serif); font-size: 27px; font-weight: 500; }
  .document-sample__copy > p { margin-top: 13px; color: var(--muted); font-size: 13px; }
  .document-sample__copy ul { display: grid; gap: 9px; margin: 22px 0 25px; list-style: none; }
  .document-sample__copy li { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: 12px; }
  .document-sample__copy li svg { flex: 0 0 16px; width: 16px; color: var(--gold); }
  .document-sample__copy .text-link { justify-self: start; }

  .proof-dialog, .video-placeholder-dialog {
    width: min(1040px, calc(100% - 34px));
    max-height: calc(100dvh - 34px);
    overflow: auto;
    padding: 0;
    color: var(--ink);
    border: 1px solid rgba(255,255,255,.3);
    background: var(--paper);
    box-shadow: 0 35px 120px rgba(0,0,0,.35);
  }
  .proof-dialog::backdrop, .video-placeholder-dialog::backdrop { background: rgba(9,28,44,.72); backdrop-filter: blur(6px); }
  .proof-dialog[open], .video-placeholder-dialog[open] { animation: proof-dialog-in .2s ease both; }
  .proof-dialog__close { position: sticky; z-index: 3; top: 14px; float: right; display: grid; width: 44px; aspect-ratio: 1; margin: 14px 14px -58px 0; place-items: center; color: var(--ink); border: 1px solid var(--line); background: rgba(255,254,251,.94); border-radius: 50%; cursor: pointer; }
  .proof-dialog__close svg { width: 20px; }
  .proof-dialog__grid { display: grid; grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr); min-height: 650px; }
  .proof-dialog figure { display: grid; align-content: start; min-width: 0; padding: 35px; background: var(--paper-2); }
  .proof-dialog figure img { width: 100%; max-height: 720px; object-fit: contain; object-position: top; filter: drop-shadow(0 18px 35px rgba(9,28,44,.16)); }
  .proof-dialog figcaption { margin-top: 15px; color: var(--muted); font-size: 11px; }
  .proof-dialog__copy { display: grid; align-content: center; padding: clamp(38px, 6vw, 74px); }
  .proof-dialog__copy > p { margin: 22px 0 30px; color: var(--muted); }
  .proof-dialog__copy .button { width: fit-content; margin-top: 34px; }

  .featured-case { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); align-items: center; gap: clamp(45px, 8vw, 110px); }
  .section--featured-case { background: var(--white); }
  .featured-case__visual { min-width: 0; }
  .featured-case__visual img { width: 100%; box-shadow: var(--shadow); }
  .featured-case__visual figcaption, .visual-case figcaption { margin-top: 12px; color: var(--muted); font-size: 10px; }
  .featured-case__copy h2 { margin-bottom: 24px; }
  .featured-case__lead { color: var(--ink-soft); font-size: 17px; }
  .featured-case__copy dl { margin: 31px 0; border-top: 1px solid var(--line); }
  .featured-case__copy dl > div { display: grid; grid-template-columns: 125px minmax(0, 1fr); gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
  .featured-case__copy dt { color: var(--gold-text); font-size: 10px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
  .featured-case__copy dd { color: var(--ink-soft); font-size: 13px; }
  .featured-case__notice { margin-bottom: 24px; color: var(--muted); font-size: 11px; }

  .section--visual-cases { background: var(--paper-2); }
  .visual-cases__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
  .visual-case { overflow: hidden; min-width: 0; background: var(--white); border: 1px solid var(--line); }
  .visual-case figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
  .visual-case figure figcaption { padding-inline: 25px; }
  .visual-case > div { padding: 27px; }
  .visual-case > div > span { color: var(--gold-text); font-size: 10px; font-weight: 780; letter-spacing: .12em; text-transform: uppercase; }
  .visual-case h3 { margin: 11px 0 14px; font-family: var(--serif); font-size: 28px; font-weight: 500; }
  .visual-case > div > p { color: var(--muted); font-size: 13px; }
  .visual-case details { margin-top: 22px; border-top: 1px solid var(--line); }
  .visual-case summary { padding: 17px 0; color: var(--ink); font-size: 12px; font-weight: 720; cursor: pointer; }
  .visual-case dl { display: grid; gap: 14px; padding-bottom: 20px; }
  .visual-case dl div { display: grid; gap: 4px; }
  .visual-case dt { color: var(--gold-text); font-size: 9px; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
  .visual-case dd { color: var(--muted); font-size: 12px; }

  .section--value-editorial { background: var(--white); }
  .value-editorial { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(55px, 10vw, 140px); }
  .value-editorial__intro { position: sticky; top: 125px; align-self: start; }
  .value-editorial__intro p { max-width: 500px; margin-top: 25px; color: var(--muted); }
  .value-editorial__list { list-style: none; border-top: 1px solid var(--line); }
  .value-editorial__list li { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--line); }
  .value-editorial__list > li > span { color: var(--gold-text); font-family: var(--serif); font-size: 13px; }
  .value-editorial__list h3 { font-family: var(--serif); font-size: 29px; font-weight: 500; }
  .value-editorial__list p { max-width: 620px; margin-top: 8px; color: var(--muted); font-size: 13px; }

  .about-proof { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 17px; align-items: center; margin: 0 0 28px; padding: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.45); transition: transform .2s ease, box-shadow .2s ease; }
  .about-proof:hover { transform: translateY(-2px); box-shadow: 0 16px 42px rgba(9,28,44,.08); }
  .about-proof img { width: 112px; aspect-ratio: 1.52; object-fit: cover; }
  .about-proof span { display: grid; gap: 4px; }
  .about-proof small { color: var(--gold-text); font-size: 9px; font-weight: 780; letter-spacing: .1em; text-transform: uppercase; }
  .about-proof strong { font-size: 13px; line-height: 1.35; }
  .about-proof em { color: var(--muted); font-size: 10px; font-style: normal; }

  .section--cta-portrait { background: var(--ink-deep); }
  .cta-portrait { display: grid; grid-template-columns: 94px minmax(0, 1fr) auto; align-items: center; gap: clamp(25px, 4vw, 55px); padding: clamp(32px, 5vw, 58px); color: rgba(255,255,255,.68); border: 1px solid var(--line-light); }
  .cta-portrait > img { width: 94px; aspect-ratio: 1; object-fit: cover; object-position: center 22%; border: 2px solid var(--gold-bright); border-radius: 50%; }
  .cta-portrait h2 { max-width: 830px; color: var(--white); font-size: clamp(2rem, 3.3vw, 3.35rem); }
  .cta-portrait p { max-width: 780px; margin-top: 15px; font-size: 14px; }

  .video-placeholder-dialog { width: min(860px, calc(100% - 34px)); }
  .video-placeholder-dialog > img { width: 100%; max-height: 430px; object-fit: cover; object-position: center 30%; }
  .video-placeholder-dialog > div { padding: clamp(32px, 6vw, 62px); }
  .video-placeholder-dialog h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
  .video-placeholder-dialog p { max-width: 680px; margin: 20px 0 27px; color: var(--muted); }

  .footer__map-static { padding-block: 42px; }
  .footer__map-static { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); align-items: center; gap: clamp(35px, 7vw, 100px); }
  .footer-map-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) 22px; align-items: center; gap: 16px; min-width: 0; padding: 22px; color: rgba(255,255,255,.76); border: 1px solid var(--line-light); background: rgba(255,255,255,.04); }
  .footer-map-card > svg:first-child { width: 30px; color: var(--gold-bright); }
  .footer-map-card > svg:last-child { width: 20px; }
  .footer-map-card span { display: grid; gap: 3px; }
  .footer-map-card small { color: var(--gold-bright); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
  .footer-map-card strong { color: var(--white); font-size: 15px; }
  .footer-map-card em { color: rgba(255,255,255,.48); font-size: 10px; font-style: normal; }
  .map-poster { display: grid; width: 100%; min-height: 320px; place-content: center; gap: 18px; padding: 35px; color: var(--white); border: 1px solid var(--line-light); background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(195,154,93,.08)); cursor: pointer; text-align: center; }
  .map-poster > svg { width: 46px; margin-inline: auto; color: var(--gold-bright); }
  .map-poster span { display: grid; gap: 7px; }
  .map-poster small { color: var(--gold-bright); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
  .map-poster strong { font-family: var(--serif); font-size: 26px; font-weight: 500; }
  .map-poster em { color: rgba(255,255,255,.5); font-size: 11px; font-style: normal; }
  .footer__map iframe[data-dynamic-map] { min-height: 320px; }
}

@layer utilities {
  @keyframes hero-play-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255,254,251,.42); }
    75% { box-shadow: 0 0 0 18px rgba(255,254,251,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,254,251,0); }
  }
  @keyframes proof-dialog-in {
    from { opacity: 0; transform: translateY(12px) scale(.988); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  @media (prefers-reduced-motion: no-preference) {
    html[data-proof-motion="ready"] .proof-reveal { opacity: 0; transform: translateY(12px); transition: opacity .34s ease, transform .34s ease; }
    html[data-proof-motion="ready"] .proof-reveal.is-proof-visible { opacity: 1; transform: none; }
  }

  @media (max-width: 980px) {
    .trust-strip__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .trust-strip__item:nth-child(3) { border-left: 1px solid var(--line); }
    .trust-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .document-samples__rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .document-sample:last-child { grid-column: 1 / -1; width: min(50%, 420px); justify-self: center; }
    .featured-case, .value-editorial { grid-template-columns: 1fr; }
    .value-editorial__intro { position: static; }
    .cta-portrait { grid-template-columns: 80px minmax(0, 1fr); }
    .cta-portrait .button { grid-column: 1 / -1; width: 100%; }
  }

  @media (max-width: 680px) {
    .hero-video__poster { border-radius: 190px 190px 5px 5px; }
    .hero-video__poster img { aspect-ratio: 4 / 5; object-position: 58% center; }
    .hero-video__play { width: 62px; }
    .hero-video__play svg { width: 25px; }
    .hero-video__copy { right: 21px; bottom: 24px; left: 21px; }
    .hero-video__copy strong { font-size: 25px; }
    .identity-card--video { right: 8px; bottom: 10px; }

    .trust-strip__item { grid-template-columns: 28px minmax(0, 1fr); min-height: 148px; padding: 20px 14px; }
    .trust-strip__item > span,
    .trust-strip__item strong,
    .trust-strip__item small { font-size: .875rem; }
    .trust-strip__item div,
    .trust-strip__item strong,
    .trust-strip__item small { min-width: 0; overflow-wrap: anywhere; }
    .trust-strip__item small { line-height: 1.5; hyphens: auto; }

    .document-samples__head, .visual-cases__head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 32px; }
    .document-samples__rail { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: calc((100vw - var(--wrap)) / -2); padding-right: calc((100vw - var(--wrap)) / 2); }
    .document-samples__rail::-webkit-scrollbar { display: none; }
    .document-sample, .document-sample:last-child { flex: 0 0 min(84vw, 360px); width: auto; scroll-snap-align: start; }
    .document-sample__copy { padding: 22px; }
    .document-sample__copy h3 { font-size: 25px; }

    .proof-dialog, .video-placeholder-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 18px); }
    .proof-dialog__grid { grid-template-columns: 1fr; }
    .proof-dialog figure { padding: 22px; }
    .proof-dialog figure img { max-height: 54dvh; }
    .proof-dialog__copy { padding: 30px 22px; }
    .proof-dialog__copy .button { width: 100%; }

    .featured-case { gap: 33px; }
    .featured-case__copy dl > div { grid-template-columns: 1fr; gap: 5px; }
    .featured-case__copy dd { font-size: 15px; }
    .visual-cases__grid { grid-template-columns: 1fr; }
    .visual-case h3 { font-size: 25px; }
    .visual-case > div > p, .visual-case dd { font-size: 15px; }

    .value-editorial { gap: 35px; }
    .value-editorial__list li { grid-template-columns: 42px minmax(0, 1fr); padding: 24px 0; }
    .value-editorial__list h3 { font-size: 24px; }
    .value-editorial__list p { font-size: 15px; }

    .about-proof { grid-template-columns: 86px minmax(0, 1fr); }
    .about-proof img { width: 86px; }
    .cta-portrait { grid-template-columns: 64px minmax(0, 1fr); padding: 28px 22px; }
    .cta-portrait > img { width: 64px; }
    .cta-portrait h2 { font-size: 29px; }
    .cta-portrait p { font-size: 15px; }

    .video-placeholder-dialog > img { max-height: 34dvh; }
    .footer__map-static { grid-template-columns: 1fr; }
    .footer-map-card { grid-template-columns: 36px minmax(0, 1fr) 18px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-video__play { animation: none; }
    .hero-video__poster img, .document-sample__visual img { transition: none; }
  }
}

/* source:video-ready */
/* Real video is created by JavaScript only after a deliberate click. */
@layer components {
  .video-ready-dialog { width: min(920px, calc(100% - 34px)); }
  .video-ready-dialog > .video-ready-dialog__media {
    position: relative;
    display: grid;
    min-height: min(52vw, 500px);
    padding: 0;
    place-items: center;
    overflow: hidden;
    background: var(--ink-deep);
  }
  .video-ready-dialog__media > img,
  .video-ready-dialog__player {
    display: block;
    width: 100%;
    max-height: min(62dvh, 560px);
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 30%;
    background: var(--ink-deep);
  }
  .video-ready-dialog__player { outline: 0; }
  .video-ready-dialog__loading {
    position: absolute;
    inset: auto 18px 18px;
    width: fit-content;
    padding: 8px 12px;
    color: rgba(255,255,255,.82);
    background: rgba(9,28,44,.82);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    font-size: 11px;
  }
  .video-ready-dialog > .video-ready-dialog__copy { padding: clamp(32px, 6vw, 62px); }
  .video-ready-dialog__copy h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
  .video-ready-dialog__copy p { max-width: 680px; margin: 20px 0 27px; color: var(--muted); }
  .video-ready-dialog__copy .button { width: fit-content; }
}

@layer utilities {
  @media (max-width: 680px) {
    .video-ready-dialog { width: calc(100% - 18px); max-height: calc(100dvh - 18px); }
    .video-ready-dialog > .video-ready-dialog__media { min-height: 220px; }
    .video-ready-dialog__media > img,
    .video-ready-dialog__player { max-height: 43dvh; aspect-ratio: 16 / 10; }
    .video-ready-dialog > .video-ready-dialog__copy { padding: 30px 22px; }
    .video-ready-dialog__copy .button { width: 100%; }
  }
}

/* source:layout-corrections */
/* Corrections verified in Chromium on desktop and mobile viewports.
   This file is intentionally unlayered so it overrides the layered base styles. */
.hero-video { overflow: clip; }
.identity-card--video { display: none; }

.hero-video__poster img,
.consultation-photo img,
.about-preview__visual img,
.about-hero__photo img,
.document-sample__visual img,
.featured-case__visual img,
.visual-case figure img,
.proof-dialog figure img,
.video-ready-dialog__media > img {
  height: auto;
}

.cta-portrait > img { height: 94px; }
.about-proof img { height: auto; object-fit: contain; }

/* Diploma layout: keep the document landscape and visually subordinate to the proof copy. */
.section--education { overflow: clip; }
.section--education .education-grid {
  grid-template-columns: minmax(330px, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(46px, 7vw, 96px);
}
.section--education .education-copy { min-width: 0; }
.section--education .diploma-card {
  width: min(100%, 650px);
  max-width: 650px;
  justify-self: end;
  margin: 0;
  padding: clamp(12px, 1.35vw, 18px);
  background: var(--paper);
  box-shadow: 0 20px 56px rgba(9, 28, 44, .11);
  transform: none;
}
.section--education .diploma-card img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
}
.section--education .diploma-card figcaption {
  min-height: 36px;
  padding: 12px 4px 0;
  font-size: .75rem;
  line-height: 1.45;
}

.contact-dialog { max-height: min(900px, calc(100dvh - 32px)); }
.menu-toggle__icon--close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon--open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon--close { display: block; }
.home .hero { padding-top: clamp(36px, 4vw, 56px); }
.home .hero__content { padding-bottom: 20px; }
.home .hero__lead { margin-top: 22px; }
.home .hero__actions { margin-top: 26px; }

/* The refusal remains available but visually secondary; consent is the primary action. */
.consent-banner__actions [data-consent-reject] {
  order: 1;
  color: rgba(255,255,255,.72);
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: .82;
}
.consent-banner__actions [data-consent-reject]:hover {
  color: rgba(255,255,255,.94);
  border: 0;
  background: rgba(255,255,255,.07);
  opacity: 1;
}
.consent-banner__actions [data-consent-accept] {
  order: 2;
  color: var(--ink-deep);
  border: 2px solid #f4d89e;
  background: var(--gold-bright);
  box-shadow: 0 0 0 1px rgba(9,28,44,.2), 0 10px 28px rgba(0,0,0,.2);
}
.consent-banner__actions [data-consent-accept]:hover {
  color: var(--ink-deep);
  border-color: var(--white);
  background: #e8c88d;
  transform: translateY(-2px);
}

/* Main portrait: a strict rectangular frame with the same gold corner language as the about page. */
.home .hero__visual { isolation: isolate; }
.home .hero__visual::before {
  position: absolute;
  z-index: 0;
  top: -18px;
  left: -18px;
  width: 46%;
  height: 34%;
  content: "";
  border-top: 2px solid var(--gold);
  border-left: 2px solid var(--gold);
  pointer-events: none;
}
.home .hero__image-wrap {
  z-index: 1;
  overflow: visible;
  border-radius: 0;
}
.home .hero__image-wrap::after {
  z-index: 2;
  border-radius: 0;
}
.home .hero__image-wrap img {
  position: relative;
  z-index: 1;
  border-radius: 0;
}
.home .identity-card { z-index: 3; }

@media (min-width: 901px) and (max-width: 1180px) {
  .section--education .education-grid {
    grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr);
    gap: clamp(34px, 5vw, 64px);
  }
  .section--education .diploma-card {
    width: min(100%, 580px);
    max-width: 580px;
  }
}

@media (min-width: 901px) and (max-height: 820px) {
  .home .hero { padding-top: 24px; }
  .home .hero h1 { font-size: clamp(3.4rem, 4.8vw, 4.2rem); }
  .home .hero__kicker { margin-bottom: 20px; }
  .home .hero__lead { margin-top: 16px; }
  .home .hero__actions { margin-top: 16px; }
}

.section--cta-portrait {
  display: block;
  min-height: 220px;
  padding: 0;
  background: var(--ink-deep);
}

html[data-proof-motion="ready"] .section--cta-portrait .cta-portrait,
.section--cta-portrait .cta-portrait {
  min-height: 220px;
  opacity: 1;
  visibility: visible;
  transform: none;
}

@media (max-width: 900px) {
  html.mobile-menu-open { overflow: hidden; overscroll-behavior: none; }
  html.mobile-menu-open body { overscroll-behavior: none; }
  html.mobile-menu-open .site-header { transform: none; }
  .site-header { isolation: isolate; }
  .mobile-nav__backdrop {
    position: fixed;
    z-index: 99;
    top: 72px;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0;
    border: 0;
    background: var(--ink-deep);
  }
  .mobile-nav {
    position: fixed;
    z-index: 101;
    top: 72px;
    right: 0;
    left: 0;
    overflow-y: auto;
    max-height: calc(100dvh - 72px);
    border-top: 1px solid var(--line);
    background: var(--paper);
    box-shadow: 0 24px 48px rgba(9,28,44,.28);
    overscroll-behavior: contain;
  }
  .mobile-nav[hidden],
  .mobile-nav__backdrop[hidden] { display: none; }
  .mobile-nav .wrap { padding-block: 18px 26px; }

  .section--education .education-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 38px;
  }
  .section--education .education-copy { max-width: 720px; }
  .section--education .diploma-card {
    width: min(100%, 760px);
    max-width: 760px;
    justify-self: center;
    margin-inline: auto;
  }

  .home .hero__visual::before {
    top: -12px;
    left: -12px;
    width: 42%;
    height: 28%;
  }
}

@media (max-width: 680px) {
  .home .hero { padding-top: 12px; }
  .home .hero__content { padding-bottom: 20px; }
  .home .hero__lead { margin-top: 10px; }
  .home .hero__actions { margin-top: 12px; }

  /* Mobile reading scale: content roles are sized deliberately, not by a global font replacement. */
  main p:not(.about-hero__role),
  main dd,
  main blockquote {
    font-size: 1rem;
    line-height: 1.65;
  }

  .hero__lead,
  .lead,
  .inner-hero h1 + p,
  .service-hero h1 + p {
    font-size: 1.0625rem;
    line-height: 1.65;
  }

  .text-link,
  .card-link,
  main figcaption,
  main dt,
  main small,
  main summary,
  .document-sample__copy li,
  .about-proof strong,
  .about-proof em,
  .messenger-dialog__topic,
  .messenger-dialog__status,
  .messenger-dialog__note,
  .messenger-dialog__privacy,
  .price-quiz__progress,
  .price-quiz__back,
  .price-quiz__telegram-note,
  .price-quiz__privacy,
  .callback-field,
  .callback-consent,
  .callback-form__note,
  .search-guide__author,
  .search-guide__author a,
  .mobile-contact__action,
  .proof-dialog figcaption,
  .site-footer p,
  .site-footer li,
  .site-footer a,
  .site-footer em,
  .consent-banner p,
  .consent-banner a {
    font-size: .875rem;
    line-height: 1.55;
  }

  .callback-field input,
  .callback-field select,
  .callback-field textarea,
  .callback-copy,
  .price-quiz__step > p,
  .price-quiz__result > p {
    font-size: 1rem;
  }

  .eyebrow,
  .hero__kicker,
  .hero__quick-choices > span,
  .service-card__number,
  .identity-card > span,
  .identity-card > small,
  .brand__text small,
  .brand--footer small,
  .header__online,
  .about-preview__seal small,
  .about-hero__role,
  .inner-hero__aside > span,
  .service-hero__price small,
  .document-sample__copy > small,
  .featured-case__copy dt,
  .visual-case > div > span,
  .visual-case dt,
  .about-proof small,
  .footer__title,
  .footer__office small,
  .footer-map-card small,
  .map-poster small,
  .callback-form__availability,
  .process-guarantee > span,
  .case-study__category,
  .service-guide__checklist > span {
    font-size: .75rem;
    line-height: 1.45;
  }

  .hero__quick-choices button,
  .breadcrumbs,
  .breadcrumbs ol,
  .breadcrumbs li,
  .breadcrumbs a {
    font-size: .875rem;
  }

  .about-hero__copy { order: 1; }
  .about-hero__photo { order: 2; width: 100%; }

  .section--education { padding-block: 64px; }
  .section--education .education-grid { gap: 28px; }
  .section--education .education-copy h2 {
    max-width: 11ch;
    font-size: clamp(2.25rem, 11vw, 3.15rem);
    line-height: 1;
  }
  .section--education .education-copy dl { margin-top: 28px; }
  .section--education .diploma-card {
    width: 100%;
    max-width: none;
    padding: 8px;
    box-shadow: 0 14px 34px rgba(9, 28, 44, .1);
  }
  .section--education .diploma-card img {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }
  .section--education .diploma-card figcaption {
    min-height: 0;
    padding: 10px 4px 2px;
    font-size: .875rem;
  }

  .home .hero__visual::before {
    top: -8px;
    left: -8px;
    width: 38%;
    height: 24%;
    border-top-width: 2px;
    border-left-width: 2px;
  }

  .legal-page aside h1 {
    font-size: clamp(2.15rem, 9vw, 2.65rem);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: wrap;
  }

  .document-samples__rail {
    width: calc(100vw - ((100vw - var(--wrap)) / 2));
    max-width: none;
  }

  .cta-portrait > img { height: 64px; }
  .about-preview__seal { right: 10px; }
}

@media (max-width: 350px) {
  .brand__text small { display: none; }
}

/* source:content-protection */
@layer utilities {
  img[data-protected-image] {
    cursor: default;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    user-select: none;
  }

  .footer__copyright-note {
    max-width: 760px;
    color: rgba(255, 255, 255, .74);
    font-size: .75rem;
    line-height: 1.5;
  }

  @media (max-width: 680px) {
    .footer__copyright-note {
      font-size: .75rem;
      line-height: 1.55;
    }
  }
}

/* source:editorial */
@layer components {
  .editorial-page {
    background: #f6f3ec;
  }

  .editorial-index-hero {
    border-bottom: 1px solid rgba(16, 40, 61, .1);
  }

  .editorial-grid {
    display: grid;
  }

  .editorial-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    border: 1px solid rgba(16, 40, 61, .13);
    background: #fffefa;
  }

  .editorial-card__category {
    margin-bottom: 12px;
    color: var(--gold-text);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .editorial-card h2 a {
    color: var(--ink-deep);
    text-decoration: none;
  }

  .editorial-card h2 a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
  }

  .editorial-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    color: var(--muted);
    font-size: .8125rem;
  }

  .editorial-card__status strong,
  .editorial-card__status span {
    display: block;
  }

  .editorial-card__status strong {
    margin-bottom: 6px;
    color: var(--ink-deep);
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .editorial-card__status span {
    color: var(--ink-soft);
    font-size: .875rem;
    line-height: 1.55;
  }

  .editorial-article__header {
    max-width: 980px;
    padding-top: clamp(46px, 7vw, 90px);
    text-align: center;
  }

  .editorial-article__header h1 {
    max-width: 900px;
    margin: 14px auto 20px;
    color: var(--ink-deep);
  }

  .editorial-lead {
    max-width: 780px;
    margin: 0 auto;
    color: var(--ink-soft);
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    line-height: 1.7;
  }

  .editorial-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    margin-top: 24px;
    color: var(--muted);
    font-size: .8125rem;
  }

  .editorial-layout {
    display: grid;
    grid-template-columns: minmax(210px, 260px) minmax(0, 760px);
    justify-content: center;
    align-items: start;
    gap: clamp(32px, 6vw, 72px);
  }

  .editorial-toc {
    position: sticky;
    top: 104px;
    padding: 22px;
    border-left: 2px solid var(--gold);
    background: rgba(255, 254, 250, .7);
  }

  .editorial-toc strong {
    display: block;
    margin-bottom: 12px;
    color: var(--ink-deep);
  }

  .editorial-toc ol {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 18px;
  }

  .editorial-toc a {
    color: var(--ink-soft);
    font-size: .8125rem;
    line-height: 1.45;
  }

  .editorial-body {
    min-width: 0;
  }

  .editorial-answer {
    padding: 28px;
    border: 1px solid rgba(195, 154, 93, .55);
    background: #fffaf0;
  }

  .editorial-answer strong {
    display: block;
    margin-bottom: 8px;
    color: var(--gold-text);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .editorial-answer p,
  .article-section p,
  .article-section li {
    color: var(--ink-soft);
    font-size: 1rem;
    line-height: 1.75;
  }

  .article-section {
    scroll-margin-top: 110px;
  }

  .article-section h2,
  .article-section h3 {
    color: var(--ink-deep);
  }

  .editorial-checklist {
    display: grid;
    gap: 12px;
    padding: 0;
    list-style: none;
  }

  .editorial-checklist li {
    position: relative;
    padding-left: 28px;
  }

  .editorial-options {
    display: grid;
    gap: 14px;
  }

  .editorial-options article {
    padding: 22px;
    border-left: 3px solid var(--gold);
    background: #fffefa;
  }

  .editorial-options p {
    margin: 0;
    font-size: .9375rem;
  }

  .editorial-note {
    padding: 22px;
    color: #f8f3e8;
    background: var(--ink-deep);
  }

  .editorial-note strong {
    display: block;
    margin-bottom: 8px;
    color: var(--gold-bright);
  }

  .editorial-note p {
    margin: 0;
    color: rgba(255, 255, 255, .85);
  }

  .editorial-sources {
    display: grid;
    gap: 12px;
    padding-left: 22px;
  }

  .editorial-sources a,
  .editorial-related a {
    color: #274f73;
  }

  .editorial-author {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 20px;
    padding: 24px;
    border: 1px solid rgba(16, 40, 61, .13);
    background: #fffefa;
  }

  .editorial-author img {
    width: 92px;
    height: 92px;
    object-fit: cover;
  }

  .editorial-author span,
  .editorial-author strong {
    display: block;
  }

  .editorial-author span {
    color: var(--gold-text);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .editorial-author strong {
    margin-top: 4px;
    color: var(--ink-deep);
    font-size: 1.35rem;
  }

  .editorial-author p {
    margin: 8px 0;
    color: var(--ink-soft);
    font-size: .875rem;
    line-height: 1.6;
  }

  .editorial-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 30px;
    margin: 0 0 clamp(42px, 7vw, 88px);
    padding: clamp(28px, 5vw, 48px);
    color: #fff;
    background: var(--ink-deep);
  }

  .editorial-cta h2 {
    margin: 8px 0 10px;
    color: #fff;
    font-size: clamp(1.7rem, 3vw, 2.65rem);
  }

  .editorial-cta p {
    max-width: 720px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    line-height: 1.65;
  }

  .editorial-case-grid {
    display: grid;
    grid-template-columns: minmax(0, 760px) minmax(220px, 300px);
    justify-content: center;
    align-items: start;
    gap: clamp(34px, 6vw, 72px);
  }

  .editorial-case-aside {
    position: sticky;
    top: 104px;
    padding: 24px;
    border: 1px solid rgba(16, 40, 61, .13);
    background: #fffefa;
  }

  .editorial-case-aside strong {
    display: block;
    margin-bottom: 10px;
    color: var(--ink-deep);
  }

  .editorial-case-aside p {
    color: var(--ink-soft);
    font-size: .875rem;
    line-height: 1.6;
  }

  .editorial-status {
    padding: 24px;
    border-left: 3px solid var(--gold);
    background: #fffefa;
  }
}

@layer responsive {
  @media (max-width: 900px) {
    .editorial-layout,
    .editorial-case-grid {
      grid-template-columns: 1fr;
    }

    .editorial-toc,
    .editorial-case-aside {
      position: static;
    }

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

  @media (max-width: 680px) {
    .editorial-article__header {
      padding-top: 38px;
      text-align: left;
    }

    .editorial-meta {
      justify-content: flex-start;
    }

    .editorial-toc ol {
      grid-template-columns: 1fr;
    }

    .editorial-answer,
    .editorial-note,
    .editorial-options article,
    .editorial-status {
      padding: 20px;
    }

    .editorial-author {
      grid-template-columns: 64px minmax(0, 1fr);
      gap: 14px;
      padding: 18px;
    }

    .editorial-author img {
      width: 64px;
      height: 64px;
    }

    .editorial-cta {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .editorial-cta .button {
      width: 100%;
    }
  }
}

/* source:editorial-publication */
@layer components {
  .editorial-page :is(
    .editorial-index-hero h1,
    .editorial-card h2,
    .editorial-article__header h1,
    .article-section h2,
    .article-section h3,
    .editorial-author strong,
    .editorial-cta h2,
    .editorial-intake__questions strong,
    .editorial-helpfulness h2
  ) {
    font-family: var(--serif);
    font-weight: 500;
    letter-spacing: -.035em;
    text-wrap: balance;
  }

  .editorial-index-page .inner-hero h1 {
    max-width: 880px;
    font-size: clamp(2.85rem, 5vw, 5.25rem);
    line-height: 1.02;
  }

  .editorial-card h2 {
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.14;
  }

  .editorial-article__header h1 {
    font-size: clamp(2.35rem, 5vw, 4.5rem);
    line-height: 1.04;
  }

  .article-section h2 {
    font-size: clamp(1.8rem, 2.7vw, 2.45rem);
    line-height: 1.12;
  }

  .article-section h3 {
    font-size: clamp(1.2rem, 1.8vw, 1.45rem);
    line-height: 1.25;
  }

  .editorial-page .faq-item summary {
    font-family: var(--serif);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.28;
  }

  .editorial-author strong,
  .editorial-intake__questions strong {
    letter-spacing: -.02em;
    line-height: 1.25;
  }

  .editorial-cta h2,
  .editorial-helpfulness h2 {
    line-height: 1.15;
  }

  .editorial-page :is(
    .editorial-card > p,
    .editorial-card__status,
    .editorial-lead,
    .editorial-meta,
    .editorial-toc,
    .editorial-answer,
    .article-section p,
    .article-section li,
    .editorial-author p,
    .editorial-case-aside,
    .editorial-cta p,
    .editorial-intake,
    .editorial-helpfulness
  ) {
    font-family: var(--sans);
  }

  .editorial-page .editorial-checklist li::before {
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    color: var(--gold-text);
    border: 0;
    content: "✓";
    font-family: var(--sans);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.75;
  }

  .faq-item__toggle {
    transition: background-color .2s ease;
  }

  .faq-item:hover .faq-item__toggle,
  .faq-item:focus-within .faq-item__toggle {
    border-color: var(--gold);
  }

  .editorial-intake {
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(195, 154, 93, .42);
    background: #fffaf0;
  }

  .editorial-intake__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: clamp(24px, 5vw, 46px);
    align-items: start;
  }

  .editorial-intake__eyebrow,
  .editorial-helpfulness span {
    display: block;
    margin-bottom: 8px;
    color: var(--gold-text);
    font-size: .6875rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .editorial-intake__questions {
    padding: 24px;
    color: #fff;
    background: var(--ink-deep);
  }

  .editorial-intake__questions strong {
    display: block;
    color: var(--gold-bright);
    font-family: var(--serif);
    font-size: 1.35rem;
    font-weight: 500;
  }

  .editorial-intake__questions ul {
    display: grid;
    gap: 9px;
    margin: 16px 0 22px;
    padding-left: 20px;
  }

  .editorial-intake__questions li {
    color: rgba(255, 255, 255, .82);
    font-size: .9rem;
    line-height: 1.55;
  }

  .editorial-intake__questions .button {
    width: 100%;
    justify-content: center;
  }

  .editorial-message-guide {
    padding: 24px;
    border-left: 3px solid var(--gold);
    background: #fffefa;
  }

  .editorial-page .faq-item summary > span:first-child {
    min-width: 0;
  }

  .editorial-page .faq-item summary::after {
    display: block;
    width: 38px;
    aspect-ratio: 1;
    flex: 0 0 38px;
    content: "";
    border: 1px solid var(--line);
    border-radius: 50%;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23091c2c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 17px 17px;
    transition: background-color .2s ease;
  }

  .editorial-page .faq-item:hover summary::after,
  .editorial-page .faq-item:focus-within summary::after {
    border-color: var(--gold);
  }

  .editorial-page .faq-item[open] summary::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23091c2c' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 14 4-4 4 4'/%3E%3C/svg%3E");
  }

  .editorial-helpfulness {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 16px clamp(24px, 4vw, 42px);
    align-items: center;
    margin: 0 0 28px;
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid rgba(16, 40, 61, .13);
    background: #fffefa;
  }

  .editorial-helpfulness__copy {
    min-width: 0;
  }

  .editorial-helpfulness h2 {
    max-width: 760px;
    margin: 0;
    color: var(--ink-deep);
    font-family: var(--serif);
    font-size: clamp(1.35rem, 2.5vw, 1.9rem);
    font-weight: 500;
    line-height: 1.15;
  }

  .editorial-helpfulness__actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: 360px;
    justify-self: end;
    gap: 8px;
  }

  .editorial-helpfulness__actions button {
    min-width: 0;
    min-height: 46px;
    padding: 0 12px;
    color: var(--ink-deep);
    border: 1px solid rgba(16, 40, 61, .2);
    border-radius: 999px;
    background: transparent;
    font: inherit;
    font-size: .8125rem;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
  }

  .editorial-helpfulness__actions button:hover:not(:disabled) {
    border-color: var(--gold);
    background: #fff7e7;
    transform: translateY(-1px);
  }

  .editorial-helpfulness__actions button:focus-visible {
    outline: 2px solid var(--gold-text);
    outline-offset: 2px;
    border-color: var(--gold);
  }

  .editorial-helpfulness__actions button[aria-pressed="true"] {
    color: #fff;
    border-color: var(--ink-deep);
    background: var(--ink-deep);
  }

  .editorial-helpfulness__actions button:disabled {
    cursor: default;
  }

  .editorial-helpfulness__actions button:disabled:not([aria-pressed="true"]) {
    color: var(--muted);
    background: rgba(16, 40, 61, .035);
  }

  .editorial-helpfulness > p {
    display: flex;
    min-height: 1.5em;
    grid-column: 1 / -1;
    align-items: center;
    margin: 0;
    color: var(--muted);
    font-size: .8125rem;
    line-height: 1.5;
  }
}

@layer responsive {
  @media (max-width: 760px) {
    .editorial-intake__grid,
    .editorial-helpfulness {
      grid-template-columns: 1fr;
    }

    .editorial-helpfulness__actions {
      width: min(100%, 360px);
      justify-self: start;
    }
  }

  @media (max-width: 390px) {
    .editorial-intake,
    .editorial-intake__questions,
    .editorial-message-guide,
    .editorial-helpfulness {
      padding: 20px 16px;
    }

    .editorial-helpfulness > p {
      min-height: 3em;
    }
  }

  @media (max-width: 350px) {
    .editorial-helpfulness__actions {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .editorial-helpfulness__actions button[data-helpfulness-value="partly"] {
      grid-column: 1 / -1;
    }
  }
}

/* source:editorial-cards */
@layer components {
  .editorial-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    align-items: stretch;
    gap: clamp(16px, 2.2vw, 26px);
  }

  .editorial-grid:has(> .editorial-card:only-child) {
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
  }

  .editorial-card {
    position: relative;
    height: 100%;
    padding: clamp(24px, 2.8vw, 34px);
    overflow: hidden;
    border-color: rgba(16, 40, 61, .14);
    box-shadow: 0 14px 38px rgba(16, 40, 61, .07);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
  }

  .editorial-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    content: "";
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
  }

  .editorial-card h2 {
    margin: 0;
  }

  .editorial-card h2 a {
    position: relative;
    z-index: 1;
  }

  .editorial-card h2 a:focus-visible,
  .editorial-card .card-link:focus-visible {
    outline: 2px solid var(--gold-text);
    outline-offset: 4px;
  }

  .editorial-card > p {
    margin: 18px 0 24px;
    color: var(--ink-soft);
    line-height: 1.68;
  }

  .editorial-card__meta,
  .editorial-card__status {
    width: 100%;
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid rgba(16, 40, 61, .11);
  }

  .editorial-card__meta {
    justify-content: space-between;
  }

  .editorial-card .card-link {
    position: relative;
    z-index: 1;
    display: inline-flex;
    min-height: 44px;
    align-self: flex-start;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 16px;
    padding: 9px 0 8px;
    border-bottom-color: rgba(16, 40, 61, .48);
    line-height: 1.25;
  }

  .editorial-card .card-link::after {
    content: "→";
    font-family: var(--sans);
    font-size: 1rem;
    line-height: 1;
    transition: transform .2s ease;
  }

  .editorial-card:hover,
  .editorial-card:focus-within {
    border-color: rgba(195, 154, 93, .78);
    box-shadow: 0 22px 52px rgba(16, 40, 61, .12);
  }

  .editorial-card:hover::before,
  .editorial-card:focus-within::before {
    transform: scaleX(1);
  }

  .editorial-card:hover .card-link::after,
  .editorial-card:focus-within .card-link::after {
    transform: translateX(4px);
  }
}

@layer responsive {
  @media (hover: hover) and (pointer: fine) {
    .editorial-card:hover {
      transform: translateY(-3px);
    }
  }

  @media (max-width: 760px) {
    .editorial-grid:has(> .editorial-card:only-child) {
      grid-template-columns: minmax(0, 1fr);
    }

    .editorial-card {
      padding: clamp(22px, 6vw, 28px);
    }
  }

  @media (max-width: 390px) {
    .editorial-card .card-link {
      width: 100%;
    }

    .editorial-card__meta {
      justify-content: flex-start;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .editorial-card,
    .editorial-card::before,
    .editorial-card .card-link::after {
      transition: none;
    }

    .editorial-card:hover {
      transform: none;
    }
  }
}

/* source:editorial-rhythm */
@layer components {
  .article-page,
  .case-page {
    --editorial-flow-xs: clamp(12px, 1.4vw, 16px);
    --editorial-flow-sm: clamp(18px, 2vw, 24px);
    --editorial-flow-md: clamp(28px, 3vw, 36px);
    --editorial-flow-lg: clamp(38px, 4.8vw, 52px);
    --editorial-flow-xl: clamp(46px, 6vw, 68px);
  }

  .article-page .editorial-article__header,
  .case-page .editorial-article__header {
    padding-bottom: clamp(30px, 4.5vw, 52px);
  }

  .article-page .editorial-layout,
  .case-page .editorial-case-grid {
    padding-bottom: var(--editorial-flow-xl);
  }

  .article-page .editorial-answer {
    margin: 0;
  }

  .article-page .editorial-body > .article-section,
  .case-page .editorial-case-main > .article-section {
    margin-top: var(--editorial-flow-lg);
  }

  .article-page .editorial-body > .editorial-answer + .article-section {
    margin-top: var(--editorial-flow-lg);
  }

  .case-page .editorial-case-main > .article-section:first-child {
    margin-top: 0;
  }

  .article-page .editorial-intake + .editorial-message-guide,
  .article-page .editorial-related + .editorial-related {
    margin-top: var(--editorial-flow-md);
  }

  .article-page .editorial-body > .editorial-author,
  .case-page .editorial-case-main > .editorial-author {
    margin-top: var(--editorial-flow-xl);
  }

  .article-page .article-section h2,
  .case-page .article-section h2 {
    margin-bottom: var(--editorial-flow-sm);
  }

  .article-page .article-section h3,
  .case-page .article-section h3 {
    margin-bottom: 8px;
  }

  .article-page .article-section p + p,
  .case-page .article-section p + p {
    margin-top: var(--editorial-flow-xs);
  }

  .article-page .editorial-checklist,
  .case-page .editorial-checklist,
  .article-page .editorial-options,
  .article-page .editorial-note {
    margin-top: var(--editorial-flow-sm);
  }

  .article-page .editorial-related > .editorial-card,
  .case-page .editorial-related > .editorial-card {
    margin-top: 0;
  }

  .article-page .editorial-sources,
  .article-page .faq-list {
    margin-top: 0;
  }

  .article-page .editorial-helpfulness,
  .case-page .editorial-helpfulness {
    margin-bottom: var(--editorial-flow-md);
  }

  .case-page .editorial-case-aside p {
    margin: 10px 0 16px;
  }

  .article-page .editorial-intake__questions ul {
    margin-top: var(--editorial-flow-xs);
    margin-bottom: var(--editorial-flow-sm);
  }
}

@layer responsive {
  @media (max-width: 760px) {
    .article-page,
    .case-page {
      --editorial-flow-xs: 12px;
      --editorial-flow-sm: 18px;
      --editorial-flow-md: 24px;
      --editorial-flow-lg: 32px;
      --editorial-flow-xl: 42px;
    }

    .article-page .editorial-article__header,
    .case-page .editorial-article__header {
      padding-bottom: 30px;
    }
  }

  @media (max-width: 390px) {
    .article-page,
    .case-page {
      --editorial-flow-sm: 16px;
      --editorial-flow-md: 22px;
      --editorial-flow-lg: 28px;
      --editorial-flow-xl: 36px;
    }
  }
}
