/* ==========================================================================
   Premium Endodontics — styles
   Tokens → base → layout → components → sections → utilities
   ========================================================================== */

:root {
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  /* Light theme */
  --bg: #ffffff;
  --bg-soft: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --text: #0e1a2b;
  --text-2: #334155;
  --muted: #5b6878;
  --border: #dde4ed;
  --border-strong: #c6d1de;
  --primary: #1d4f91;
  --primary-hover: #163e73;
  --primary-soft: #eaf1fb;
  --on-primary: #ffffff;
  --accent: #86601f;          /* logo gold, darkened to pass AA on all light surfaces */
  --accent-soft: #f7efe2;
  --ring: #2f6fd1;
  --shadow-sm: 0 1px 2px rgb(14 26 43 / .06);
  --shadow: 0 1px 2px rgb(14 26 43 / .05), 0 10px 30px -10px rgb(14 26 43 / .12);
  --header-bg: rgb(255 255 255 / .82);

  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 24px;
  --container: 1200px;
  --gutter: clamp(16px, 4vw, 32px);
  --section-y: clamp(72px, 10vw, 128px);
  --header-h: 72px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

:root[data-theme="dark"] {
  --bg: #121417;
  --bg-soft: #171a1e;
  --surface: #1b1f24;
  --surface-2: #20252b;
  --text: #ece9e4;            /* slightly warm: less blue light */
  --text-2: #cfd2d6;
  --muted: #a3abb6;
  --border: #2c3239;
  --border-strong: #3a424b;
  --primary: #8fb6ee;
  --primary-hover: #a9c7f2;
  --primary-soft: #1d2735;
  --on-primary: #0c1522;
  --accent: #d6ae6a;
  --accent-soft: #2a2419;
  --ring: #a9c7f2;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / .3);
  --shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 32px -12px rgb(0 0 0 / .55);
  --header-bg: rgb(18 20 23 / .82);
  color-scheme: dark;
}

/* ---------- Fonts (self-hosted, no third-party requests) ---------- */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/assets/fonts/inter-latin-wght-normal.woff2") format("woff2-variations"), url("/assets/fonts/inter-latin-wght-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/assets/fonts/inter-latin-ext-wght-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Base ---------- */
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--text-2);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  transition: background-color .3s var(--ease), color .3s var(--ease);
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3 { color: var(--text); line-height: 1.15; margin: 0; font-weight: 600; letter-spacing: -.02em; }
h1 { font-size: clamp(2.4rem, 5.2vw, 4rem); letter-spacing: -.035em; line-height: 1.05; }
h2 { font-size: clamp(1.9rem, 3.6vw, 2.75rem); letter-spacing: -.03em; }
h3 { font-size: 1.125rem; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
a { color: var(--primary); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--primary-hover); }
ul, ol { margin: 0; padding: 0; list-style: none; }
address { font-style: normal; }
strong { color: var(--text); font-weight: 600; }
::selection { background: var(--primary); color: var(--on-primary); }

:focus-visible { outline: 3px solid var(--ring); outline-offset: 3px; border-radius: 6px; }
main:focus { outline: none; }

.icon { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }

.skip-link {
  position: absolute; left: 16px; top: -100px; z-index: 100;
  background: var(--primary); color: var(--on-primary); padding: 12px 18px; border-radius: var(--radius-sm); font-weight: 600;
}
.skip-link:focus { top: 12px; color: var(--on-primary); }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }

.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 16px;
}
.eyebrow::before { content: ""; width: 24px; height: 1px; background: currentColor; }
.lead { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); color: var(--muted); max-width: 62ch; }
.muted { color: var(--muted); }
.small { font-size: .875rem; }
.note { margin-top: 24px; font-size: .875rem; color: var(--muted); }

/* ---------- Buttons ---------- */
.btn {
  --btn-h: 48px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: var(--btn-h); padding: 0 22px;
  font: inherit; font-size: .9875rem; font-weight: 600; letter-spacing: -.005em; line-height: 1;
  border-radius: 999px; border: 1px solid transparent; cursor: pointer; text-decoration: none; white-space: nowrap;
  transition: background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease);
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--primary); color: var(--on-primary); box-shadow: 0 6px 16px -8px var(--primary); }
.btn-primary:hover { background: var(--primary-hover); color: var(--on-primary); transform: translateY(-1px); }
.btn-outline { background: transparent; color: var(--text); border-color: var(--border-strong); }
.btn-outline:hover { border-color: var(--primary); color: var(--primary); }
.btn-ghost { background: transparent; color: var(--text); }
.btn-ghost:hover { background: var(--primary-soft); color: var(--text); }
.btn-lg { --btn-h: 54px; padding: 0 26px; font-size: 1.03rem; }
.btn-sm { --btn-h: 44px; padding: 0 16px; font-size: .9rem; }
.btn-block { width: 100%; }

.icon-btn {
  display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px;
  background: transparent; color: var(--text); border: 1px solid var(--border); cursor: pointer;
  transition: background-color .2s var(--ease), border-color .2s var(--ease), transform .3s var(--ease);
}
.icon-btn:hover { background: var(--primary-soft); border-color: var(--border-strong); }

/* ---------- Header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50; height: var(--header-h);
  background: var(--header-bg); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid transparent; transition: border-color .3s var(--ease), background-color .3s var(--ease);
}
.site-header.is-scrolled { border-bottom-color: var(--border); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 24px; }

.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text); min-height: 44px; }
.brand__mark { width: 40px; height: auto; }
.brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.brand__name { font-weight: 700; letter-spacing: -.02em; font-size: 1.02rem; color: var(--text); }
.brand__sub { font-size: .75rem; color: var(--muted); letter-spacing: .01em; white-space: nowrap; }
.brand__name { white-space: nowrap; }

.nav { margin-inline: auto; }
.nav__list { display: flex; gap: 4px; }
.nav__list a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px;
  color: var(--text-2); text-decoration: none; font-size: .95rem; font-weight: 500; white-space: nowrap;
  transition: color .2s var(--ease), background-color .2s var(--ease);
}
.nav__list a:hover, .nav__list a[aria-current="true"] { color: var(--text); background: var(--primary-soft); }
.nav__mobile-cta { display: none; }

.header-tools { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.nav + .header-tools { margin-left: 0; }

.lang-switch { display: inline-flex; padding: 3px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); }
.lang-switch__btn {
  display: inline-grid; place-items: center; min-width: 44px; height: 38px; padding: 0 10px; border-radius: 999px;
  font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: var(--muted); text-decoration: none;
  transition: background-color .2s var(--ease), color .2s var(--ease);
}
.lang-switch__btn:hover { color: var(--text); }
.lang-switch__btn[aria-current="true"] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm); }
:root[data-theme="dark"] .lang-switch__btn[aria-current="true"] { background: var(--border-strong); }

.theme-toggle .icon-moon { display: none; }
:root[data-theme="dark"] .theme-toggle .icon-sun { display: none; }
:root[data-theme="dark"] .theme-toggle .icon-moon { display: block; }
.theme-toggle:hover { transform: rotate(-12deg); }

.menu-toggle { display: none; }
.menu-toggle .icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .icon-open { display: none; }
.menu-toggle[aria-expanded="true"] .icon-close { display: block; }

/* Language suggestion banner */
.lang-banner {
  position: fixed; z-index: 60; left: 50%; bottom: 24px; transform: translateX(-50%);
  width: min(560px, calc(100% - 32px));
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 14px 14px 14px 20px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border);
  box-shadow: var(--shadow); animation: rise .4s var(--ease);
}
.lang-banner[hidden] { display: none; }
.lang-banner p { margin: 0; color: var(--text); font-weight: 500; }
.lang-banner__actions { display: flex; gap: 8px; }

/* ---------- Hero ---------- */
.hero {
  position: relative; padding: clamp(40px, 7vw, 96px) 0 clamp(56px, 8vw, 104px);
  background:
    radial-gradient(60rem 30rem at 85% -10%, var(--primary-soft), transparent 70%),
    linear-gradient(var(--bg), var(--bg));
  overflow: hidden;
}
.hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero__copy h1 { margin-bottom: 24px; max-width: 14ch; }
.hero__copy .lead { margin-bottom: 32px; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }
.hero__stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 12px 40px; margin: 0; padding-top: 28px; border-top: 1px solid var(--border); }
.hero__stats div { display: flex; flex-direction: column; }
.hero__stats dd { order: -1; }
.hero__stats dd { margin: 0; font-size: 1.5rem; font-weight: 600; color: var(--text); letter-spacing: -.02em; }
.hero__stats dt { font-size: .8125rem; color: var(--muted); }

.hero__media { position: relative; }
.hero__media img {
  width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 62% center;
  border-radius: var(--radius-lg); box-shadow: var(--shadow);
}
.hero__badge {
  position: absolute; left: -24px; bottom: 32px; max-width: 290px;
  display: flex; gap: 14px; align-items: center; padding: 16px 18px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
  font-size: .875rem; line-height: 1.4; color: var(--muted);
}
.hero__badge strong { display: block; font-size: .9375rem; }
.hero__badge-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--accent-soft); color: var(--accent); flex: none; }

/* ---------- Trust strip ---------- */
.trust { border-block: 1px solid var(--border); background: var(--surface-2); }
.trust__list { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust__list li { padding: 24px 20px; display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--border); }
.trust__list li:first-child { border-left: 0; padding-left: 0; }
.trust__list strong { font-size: .9375rem; line-height: 1.35; }
.trust__list span { font-size: .8125rem; color: var(--accent); font-weight: 600; letter-spacing: .02em; }

/* ---------- Sections ---------- */
.section { padding-block: var(--section-y); }
.section--soft { background: var(--bg-soft); }
.section-head { max-width: 720px; margin-bottom: clamp(40px, 5vw, 64px); }
.section-head h2 { margin-bottom: 16px; }
.section-head--row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.section-head--row > div { max-width: 640px; }

/* Cards */
.cards { display: grid; gap: 20px; }
.cards--3 { grid-template-columns: repeat(3, 1fr); }
.card {
  position: relative; padding: 28px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border);
  transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.card:hover { border-color: var(--border-strong); transform: translateY(-2px); box-shadow: var(--shadow); }
.card h3 { margin: 20px 0 10px; }
.card p { font-size: .975rem; color: var(--muted); }
.card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--primary-soft); color: var(--primary); }
.card__icon .icon { width: 24px; height: 24px; }
.card--accent { background: var(--primary-soft); border-color: transparent; }
.card--accent .card__icon { background: var(--surface); }
.card__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-weight: 600; text-decoration: none; min-height: 44px; }
.card__link .icon { transition: transform .2s var(--ease); }
.card__link:hover .icon { transform: translateX(3px); }

/* Split */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.split__media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.split__copy h2 { margin-bottom: 16px; }
.features { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; margin-top: 36px; }
.features li { display: flex; gap: 14px; }
.features h3 { font-size: 1rem; margin-bottom: 4px; }
.features p { font-size: .9375rem; color: var(--muted); }
.features__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); color: var(--primary); flex: none; }

/* Cases */
.cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.case { margin: 0; padding: 12px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.case__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.xray { position: relative; border-radius: 10px; overflow: hidden; background: #0d1117; }
.xray svg { width: 100%; height: auto; aspect-ratio: 5 / 6; }
.xray__tag {
  position: absolute; left: 8px; top: 8px; padding: 4px 8px; border-radius: 6px;
  font-size: .6875rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  background: rgb(255 255 255 / .12); color: #e8ecf1; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.xray__tag--after { background: #8fb6ee; color: #0c1522; }
.case figcaption { padding: 16px 8px 8px; display: flex; flex-direction: column; gap: 6px; }
.case figcaption strong { font-size: 1rem; }
.case figcaption span { font-size: .9rem; color: var(--muted); line-height: 1.55; }

/* About */
.about { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.about__media { position: sticky; top: calc(var(--header-h) + 24px); }
.about__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 30% center; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.principles { margin-top: 20px; padding: 24px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.principles h3 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); margin-bottom: 14px; font-weight: 600; }
.principles li { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; color: var(--text); font-weight: 500; }
.principles .icon { color: var(--accent); margin-top: 3px; }
.about__copy h2 { margin-bottom: 8px; }
.about__role { color: var(--accent); font-weight: 600; font-size: .975rem; margin-bottom: 24px; }
.timeline__title { margin: 40px 0 16px; font-size: 1rem; }
.timeline { border-left: 1px solid var(--border-strong); margin-left: 6px; }
.timeline li { position: relative; display: grid; grid-template-columns: 76px 1fr; gap: 16px; padding: 10px 0 10px 24px; font-size: .95rem; }
.timeline li::before { content: ""; position: absolute; left: -5px; top: 18px; width: 9px; height: 9px; border-radius: 50%; background: var(--bg-soft); border: 2px solid var(--primary); }
.timeline__year { font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }

/* Team */
.team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.member { display: flex; flex-direction: column; gap: 18px; padding: 24px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface); }
.member__avatar {
  display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-soft), var(--accent-soft)); color: var(--text); font-weight: 600; letter-spacing: .02em;
}
.member h3 { font-size: 1.02rem; margin-bottom: 2px; }
.member__role { color: var(--accent); font-weight: 600; font-size: .875rem; margin-bottom: 8px; }
.member p:not(.member__role) { font-size: .9375rem; color: var(--muted); }

/* Visit */
.visit { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(24px, 4vw, 48px); align-items: start; }
.steps { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; counter-reset: s; }
.steps li { display: flex; flex-direction: column; gap: 16px; padding: 24px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.steps__n { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--primary); color: var(--on-primary); font-weight: 600; font-size: .9375rem; }
.steps h3 { margin-bottom: 6px; }
.steps p { font-size: .9375rem; color: var(--muted); }
.good { padding: 28px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--accent); }
.good h3 { margin-bottom: 16px; }
.good li { position: relative; padding: 12px 0 12px 22px; font-size: .9375rem; border-top: 1px solid var(--border); }
.good li:first-child { border-top: 0; padding-top: 0; }
.good li::before { content: ""; position: absolute; left: 2px; top: 1.3em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.good li:first-child::before { top: .6em; }

/* Reviews */
.reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.review { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.review--placeholder { border-style: dashed; border-color: var(--border-strong); }
.review blockquote { margin: 0; color: var(--text); font-size: 1.02rem; line-height: 1.6; flex: 1; }
.review--placeholder blockquote { color: var(--muted); font-style: italic; }
.review__q { width: 28px; height: 28px; color: var(--accent); }
.review__who { font-size: .875rem; color: var(--muted); font-weight: 500; }
.pill { position: absolute; top: 20px; right: 20px; padding: 4px 10px; border-radius: 999px; font-size: .75rem; font-weight: 600; background: var(--accent-soft); color: var(--accent); }

/* FAQ */
.faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.faq__head { position: sticky; top: calc(var(--header-h) + 24px); }
.faq__head h2 { margin-bottom: 24px; }
.faq__list { border-top: 1px solid var(--border-strong); }
.faq__list details { border-bottom: 1px solid var(--border-strong); }
.faq__list summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 18px 0;
  cursor: pointer; list-style: none; color: var(--text); font-weight: 600; font-size: 1.05rem; letter-spacing: -.01em;
}
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary::after {
  content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--border-strong);
  background:
    linear-gradient(var(--text), var(--text)) center / 12px 1.5px no-repeat,
    linear-gradient(var(--text), var(--text)) center / 1.5px 12px no-repeat;
  transition: transform .25s var(--ease), background-color .25s var(--ease);
}
.faq__list details[open] summary::after { transform: rotate(45deg); background-color: var(--primary-soft); }
.faq__list summary:hover { color: var(--primary); }
.faq__list details p { padding: 0 48px 22px 0; color: var(--muted); animation: fade .3s var(--ease); }

/* Contact */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.contact__info h2 { margin-bottom: 16px; }
.info { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 36px 0 28px; }
.info li { display: flex; gap: 14px; }
.info h3 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 600; margin-bottom: 6px; }
.info p, .info address { font-size: .9375rem; color: var(--text); }
.info a { font-weight: 500; }
.info__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--primary-soft); color: var(--primary); flex: none; }
.map { position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); aspect-ratio: 16 / 9; background:
  repeating-linear-gradient(0deg, transparent 0 31px, var(--border) 31px 32px),
  repeating-linear-gradient(90deg, transparent 0 31px, var(--border) 31px 32px), var(--surface-2); }
.map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.map__btn {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
  width: 100%; border: 0; background: transparent; cursor: pointer; font: inherit; color: var(--text); font-weight: 600;
}
.map__btn .icon { width: 28px; height: 28px; color: var(--primary); }
.map__btn small { font-weight: 400; color: var(--muted); font-size: .8125rem; }
.map__btn:hover .icon { transform: translateY(-2px); transition: transform .2s var(--ease); }
.link-ext { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; min-height: 44px; font-weight: 600; text-decoration: none; font-size: .9375rem; }
.link-ext .icon { width: 16px; height: 16px; }

.form { padding: clamp(24px, 3vw, 40px); border-radius: var(--radius-lg); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); display: grid; gap: 18px; }
.field { display: grid; gap: 8px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field label { font-size: .875rem; font-weight: 600; color: var(--text); }
.req { color: var(--accent); }
.field input, .field textarea {
  width: 100%; min-height: 50px; padding: 12px 16px; font: inherit; font-size: 1rem; color: var(--text);
  background: var(--surface-2); border: 1px solid var(--border-strong); border-radius: 12px;
  transition: border-color .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease);
}
.field textarea { resize: vertical; min-height: 120px; }
.field input::placeholder, .field textarea::placeholder { color: var(--muted); opacity: .85; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--primary); background: var(--surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 22%, transparent); }
.field [aria-invalid="true"] { border-color: #c2410c; }
:root[data-theme="dark"] .field [aria-invalid="true"] { border-color: #fb923c; }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: .875rem; color: var(--muted); }
.check input { width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--primary); flex: none; }
.check input[aria-invalid="true"] { outline: 2px solid #c2410c; outline-offset: 2px; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form__status { min-height: 1.5em; font-size: .9375rem; font-weight: 500; margin: 0; }
.form__status.is-ok { color: #15803d; }
.form__status.is-err { color: #c2410c; }
:root[data-theme="dark"] .form__status.is-ok { color: #4ade80; }
:root[data-theme="dark"] .form__status.is-err { color: #fb923c; }

/* Footer */
.site-footer { background: var(--bg-soft); border-top: 1px solid var(--border); padding-top: 64px; font-size: .9375rem; }
.footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 48px; }
.footer__brand p { margin-top: 16px; max-width: 34ch; color: var(--muted); }
.footer__h { font-size: .8125rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 600; margin-bottom: 12px; }
.site-footer ul a { display: inline-flex; min-height: 36px; align-items: center; color: var(--text-2); text-decoration: none; }
.site-footer ul a:hover { color: var(--primary); }
.social { display: flex; gap: 8px; }
.social a { display: grid !important; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-strong); }
.footer__contact { margin-top: 16px; }
.footer__contact a { color: var(--text-2); text-decoration: none; }
.footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-block: 24px; border-top: 1px solid var(--border); color: var(--muted); font-size: .8125rem; }
.footer__bottom p { margin: 0; }
.footer__bottom a { color: var(--muted); }
.footer__app { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer__app .btn[hidden] { display: none; }

/* Mobile bottom bar */
.mobile-bar { display: none; }

/* ---------- Motion ---------- */
.js .reveal { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.js .reveal.is-in { opacity: 1; transform: none; }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rise { from { opacity: 0; transform: translate(-50%, 12px); } to { opacity: 1; transform: translate(-50%, 0); } }
.i18n-fade main, .i18n-fade .site-header .nav { transition: opacity .15s ease; }
.is-switching main { opacity: .35; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
  .brand__sub { display: none; }
}
@media (max-width: 1100px) {
  .nav__list a { padding: 0 10px; }
  .team { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1180px) {
  .menu-toggle { display: inline-grid; }
  .header-cta { display: none; }
  .nav {
    position: fixed; inset: var(--header-h) 0 0 0; z-index: 49; margin: 0;
    display: flex; flex-direction: column; gap: 24px; padding: 24px var(--gutter) 32px;
    background: var(--bg); overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility 0s linear .25s;
  }
  .nav.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .25s var(--ease), transform .25s var(--ease); }
  .nav__list { flex-direction: column; gap: 0; }
  .nav__list a { min-height: 56px; font-size: 1.25rem; font-weight: 600; color: var(--text); padding: 0; border-bottom: 1px solid var(--border); border-radius: 0; width: 100%; }
  .nav__list a:hover { background: none; color: var(--primary); }
  .nav__mobile-cta { display: grid; gap: 12px; }
}

@media (max-width: 960px) {
  :root { --header-h: 64px; }

  .hero__grid, .split, .about, .faq, .contact, .visit { grid-template-columns: 1fr; }
  .hero__media { order: -1; }
  .hero__media img { aspect-ratio: 4 / 3; }
  .hero__badge { position: relative; left: auto; bottom: auto; margin: -32px 16px 0; max-width: none; }
  .hero__copy h1 { max-width: 18ch; }
  .trust__list { grid-template-columns: 1fr 1fr; }
  .trust__list li { padding: 18px 16px; }
  .trust__list li:nth-child(odd) { border-left: 0; padding-left: 0; }
  .trust__list li:nth-child(n+3) { border-top: 1px solid var(--border); }
  .cards--3, .cases, .reviews { grid-template-columns: 1fr 1fr; }
  .about__media, .faq__head { position: static; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .about__media img { aspect-ratio: 3 / 2; }
  .split__media img { aspect-ratio: 3 / 2; }

  .mobile-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px;
    padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
    background: var(--header-bg); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--border);
  }
  .mobile-bar .btn-outline { background: var(--surface); }
  body { padding-bottom: 76px; }
  .lang-banner { bottom: 88px; }
}

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .lang-switch__btn { min-width: 40px; }
  .header-tools { gap: 6px; }
  .brand__sub { display: none; }
  .brand__name { white-space: normal; font-size: .95rem; line-height: 1.1; }
  .brand { gap: 10px; min-width: 0; }
  .hero__stats { grid-template-columns: repeat(3, 1fr); gap: 12px 16px; }
  .hero__stats dd { font-size: 1.2rem; }
  .hero__ctas .btn { width: 100%; }
  .cards--3, .cases, .reviews, .team, .steps, .features, .info, .field-row, .footer__grid { grid-template-columns: 1fr; }
  .trust__list strong { font-size: .875rem; }
  .timeline li { grid-template-columns: 64px 1fr; gap: 12px; }
  .faq__list details p { padding-right: 0; }
  .footer__grid { gap: 28px; }
}

@media (max-width: 380px) {
  .brand__text { display: none; }
}

@media print {
  .site-header, .mobile-bar, .lang-banner, .map, .form { display: none !important; }
  .js .reveal { opacity: 1; transform: none; }
}

/* Editorial redesign — Premium Endodontics */
:root{--bg:#f9f8f4;--bg-soft:#f0f0e9;--surface:#fffefa;--surface-2:#f3f3ee;--text:#182b38;--text-2:#40515b;--muted:#637078;--border:#dcded7;--border-strong:#bac1bf;--primary:#203d4c;--primary-hover:#345665;--primary-soft:#e6eceb;--on-primary:#fff;--accent:#8c6a31;--accent-soft:#efe7d5;--header-bg:rgba(249,248,244,.96);--radius:4px;--radius-lg:4px;--radius-sm:3px;--container:1440px;--gutter:clamp(24px,5vw,80px);--header-h:100px;--section-y:110px;--shadow:none;--shadow-sm:none}
:root[data-theme="dark"]{--bg:#101f29;--bg-soft:#162a35;--surface:#1b313d;--surface-2:#142630;--text:#f5f3eb;--text-2:#ccd4d5;--muted:#a9b9bf;--border:#344753;--border-strong:#526774;--primary:#d8bf8b;--primary-hover:#ecd3a0;--primary-soft:#2a404a;--on-primary:#152a37;--accent:#d8bf8b;--accent-soft:#2f3b39;--header-bg:rgba(16,31,41,.96)}
body{font-size:16px;line-height:1.75}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,58px);line-height:1.08}h3{font-weight:500;line-height:1.35}a,button{-webkit-tap-highlight-color:transparent}.btn{border-radius:3px;font-size:13px;font-weight:500;letter-spacing:.02em;padding:0 24px;box-shadow:none}.btn-lg{--btn-h:54px;font-size:13px}.btn-primary{box-shadow:none}.btn .icon{width:17px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;gap:14px;margin-bottom:23px}.eyebrow::before{width:26px}.lead{font-size:15px;line-height:1.85}.icon-btn{border-radius:2px;border:0}.topline{background:#203b49;color:#e0e6e7;font-size:10px;letter-spacing:.035em}.topline .container{height:32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.topline p{margin:0}.topline a{color:inherit;text-decoration:none}.topline__phones{display:flex;gap:24px}.site-header{border-bottom:1px solid var(--border)}.header-inner{gap:24px}.brand{gap:12px}.brand__mark{width:39px;height:44px;object-fit:contain}.brand__name{font-family:Georgia,serif;font-size:21px;font-weight:400;letter-spacing:-.04em}.brand__sub{font-size:8px;letter-spacing:.07em;margin-top:7px}.nav__list{gap:8px}.nav__list a{font-size:11px;padding:0 7px;border-radius:0}.nav__list a:hover,.nav__list a[aria-current=true]{background:transparent;color:var(--accent)}.header-tools{gap:10px}.header-cta{--btn-h:42px;padding:0 18px;font-size:11px}.lang-switch{border:0;background:none;padding:0;gap:0}.lang-switch__btn{min-width:30px;height:44px;padding:0 7px;font-size:10px;border-radius:0;color:var(--muted)}.lang-switch__btn[aria-current=true],:root[data-theme=dark] .lang-switch__btn[aria-current=true]{background:transparent;color:var(--text);box-shadow:inset 0 -1px var(--accent)}.theme-toggle{width:34px}.theme-toggle .icon{width:17px}.hero{padding:0;overflow:hidden;background:var(--bg)}.hero__grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:0;max-width:1600px;padding:0}.hero__copy{padding:74px 65px 44px max(var(--gutter),calc((100vw - 1280px)/2));position:relative}.hero__copy h1{font-size:clamp(48px,4.65vw,76px);max-width:10.5ch;line-height:1.015;margin-bottom:26px}.hero__copy h1 em{font-weight:400;color:var(--accent)}.hero__copy .lead{max-width:43ch;margin-bottom:28px}.hero__ctas{gap:18px;margin-bottom:36px;align-items:center}.hero__ctas .btn-outline{padding:0;border:0;font-size:12px;border-radius:0;border-bottom:1px solid var(--border-strong)}.hero__stats{gap:30px;padding-top:25px;border-color:var(--border);max-width:440px}.hero__stats dd{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin-bottom:7px}.hero__stats dt{font-size:9px;letter-spacing:.01em}.hero__media{min-height:620px;overflow:hidden;background:#253f4b}.hero__media img{height:100%;width:100%;position:absolute;inset:0;aspect-ratio:auto;object-fit:cover;object-position:58% center;border-radius:0;box-shadow:none}.hero__media:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(12,27,34,.65));pointer-events:none}.hero__badge{left:36px;right:36px;bottom:32px;padding:0;max-width:none;border:0;border-radius:0;background:none;color:#e1e6e7;box-shadow:none;z-index:1;font-size:10px;letter-spacing:.03em;gap:14px}.hero__badge strong{color:#fff;font-size:15px;font-family:Georgia,serif;font-weight:400;margin-bottom:5px}.hero__badge-icon{background:transparent;border:1px solid #c3b088;border-radius:50%;color:#dfc994;width:42px;height:42px}.hero__label{position:absolute;top:28px;left:30px;z-index:1;color:white;font-size:9px;letter-spacing:.17em;text-transform:uppercase;padding:8px 12px;background:rgba(17,35,44,.72)}.trust{background:var(--bg);border-top:0}.trust__list{padding:28px 0;gap:35px}.trust__list li,.trust__list li:first-child{padding:0 0 0 22px;border-left:1px solid var(--border)}.trust__list strong{font-family:Georgia,serif;font-size:16px;font-weight:400;line-height:1.3;max-width:220px}.trust__list span{font-size:9px;font-weight:400;margin-top:5px;color:var(--muted)}.section-head{max-width:780px}.section-head .lead{max-width:62ch}.section-head h2{margin-bottom:22px}#services .section-head{display:grid;grid-template-columns:1.15fr 1fr;max-width:none;column-gap:90px;align-items:end;margin-bottom:46px}#services .section-head .eyebrow{grid-column:1/-1}#services .section-head h2{margin:0;max-width:13ch}#services .section-head .lead{margin:0}.cards{gap:0;border-top:1px solid var(--border);counter-reset:service}.card{padding:30px 32px 28px 0;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;counter-increment:service;min-height:255px}.card:nth-child(3n+2),.card:nth-child(3n){padding-left:30px;border-left:1px solid var(--border)}.card:before{content:'0' counter(service);position:absolute;right:26px;top:30px;font-size:11px;color:var(--muted)}.card:hover{transform:none;background:var(--surface);box-shadow:none}.card__icon,.card--accent .card__icon{background:none;color:var(--accent);width:32px;height:32px}.card h3{font-family:Georgia,serif;font-size:24px;margin-top:20px}.card p{font-size:13px;line-height:1.8;max-width:38ch}.card__link{font-size:11px;color:var(--accent);margin-top:5px}.micro-section{background:#1d3746;color:#cbd7dc;--text:#f6f4ed;--text-2:#d8e0e2;--muted:#b6c8ce;--accent:#d8bd86;--border:#48606c;--surface:transparent;--primary:#d8bd86;--border-strong:#48606c}.split{grid-template-columns:1fr 1.04fr;gap:80px}.split__media{position:relative}.split__media img{aspect-ratio:4/4.5;border-radius:0;object-position:center;box-shadow:none}.split__copy h2{max-width:13ch;margin-bottom:22px}.features{gap:26px 22px;margin-top:36px}.features li{display:block}.features__icon{border:0;padding:0;width:24px;height:24px;background:none;margin-bottom:12px}.features h3{font-size:13px}.features p{font-size:12px}.about{gap:90px;grid-template-columns:.9fr 1.1fr}.about__media{position:static}.about__media img{aspect-ratio:4/5;object-position:center 28%;border-radius:0;box-shadow:none}.about__copy h2{font-size:clamp(38px,4vw,58px);max-width:13ch;margin-bottom:18px}.about__role{font-size:11px;line-height:1.8;font-weight:500;max-width:42ch}.about__copy>p:not(.about__role):not(.eyebrow){font-size:14px;line-height:1.85}.principles{background:none;border:0;border-top:1px solid var(--border);padding:24px 0;margin-top:24px}.principles h3{font-size:9px}.principles li{font-size:12px;font-weight:400;padding:6px 0}.principles .icon{width:14px}.career{margin-top:28px;border-block:1px solid var(--border);padding:16px 0}.career>summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--text)}.timeline{margin-top:22px}.timeline li{font-size:12px;grid-template-columns:62px 1fr}.team-section{padding-top:0}.team-section .section-head{margin-bottom:35px}.team-section h2{font-size:42px}.team{gap:30px}.member{border:0;border-top:1px solid var(--border);background:none;border-radius:0;padding:22px 0;gap:16px}.member__avatar{font-family:Georgia,serif;background:none;border:1px solid var(--border);color:var(--accent);font-weight:400;font-size:19px}.member h3{font-size:14px}.member__role{font-size:10px;margin:6px 0 10px}.member p:not(.member__role){font-size:12px}.visit{gap:60px;grid-template-columns:1.12fr 1fr}.steps{gap:30px}.steps li{border:0;border-top:1px solid var(--border);background:none;border-radius:0;padding:22px 0}.steps__n{font-family:Georgia,serif;font-size:32px;font-weight:400;width:auto;height:auto;justify-content:start;background:none;color:var(--accent)}.steps h3{font-size:16px}.steps p{font-size:13px}.good{border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:0;padding:30px;background:var(--surface)}.good h3{font-family:Georgia,serif;font-size:24px}.good li{font-size:12px}.reviews-section{padding-block:55px;border-block:1px solid var(--border)}.reviews-section .section-head{margin:0}.reviews-section h2{font-size:36px;margin-bottom:0}.reviews-section .eyebrow{margin-bottom:10px}.reviews-section .lead{display:none}.faq__list summary{font-size:14px;font-weight:500;min-height:75px}.faq__list summary:after{width:25px;height:25px;border:0}.faq__list details p{font-size:13px}.contact{gap:75px}.contact__info h2{max-width:11ch}.info{grid-template-columns:1fr 1fr;gap:28px 20px}.info__icon{background:none;color:var(--accent);width:22px;height:26px;border-radius:0}.info h3{font-size:9px}.info p,.info address{font-size:12px}.info a{color:var(--text);text-decoration:none}.info .small{font-size:10px}.map{aspect-ratio:3/1;border-radius:0}.map__btn{font-size:12px}.map__btn small{font-size:10px}.link-ext{font-size:11px}.form{padding:38px;background:var(--surface);border-radius:0;box-shadow:none;gap:22px}.form__intro{border-bottom:1px solid var(--border);padding-bottom:20px}.form__intro h3{font-family:Georgia,serif;font-size:28px;margin-bottom:8px}.form__intro p{font-size:12px;color:var(--muted)}.field label{font-size:11px;font-weight:500}.field input,.field textarea{border-radius:0;background:var(--bg);font-size:14px;min-height:48px;padding:12px}.check{font-size:11px}.check input{width:17px;height:17px}.form__status{font-size:12px}.site-footer{padding-top:60px}.footer__grid{grid-template-columns:1.5fr 1fr 1fr}.footer__brand p{font-size:12px}.footer__h{font-size:10px}.site-footer ul a,.footer__contact{font-size:12px}.footer__bottom{font-size:10px}.footer__contact a{line-height:2}.footer__brand .brand__sub{display:block}.js .reveal{opacity:1;transform:none}.form-note{font-size:11px;color:var(--muted)}
@media(min-width:1600px){.hero__copy{padding-left:160px}.hero__grid{border-inline:1px solid var(--border)}}
@media(max-width:1250px){.brand__sub{display:block}.hero__copy{padding:64px 40px 40px var(--gutter)}.hero__media{min-height:620px}.header-tools{margin-left:auto!important}.hero__ctas{gap:10px}.hero__stats{gap:20px}.nav__list a{font-size:10px}.split,.about{gap:45px}}
@media(max-width:1180px){.nav{height:calc(100dvh - var(--header-h));padding:28px var(--gutter)}.nav__list a{font-size:20px}.nav__mobile-cta .btn{font-size:14px}.menu-toggle{border:1px solid var(--border)}.hero__copy h1{font-size:60px}.hero__stats dt{font-size:9px}.hero__ctas .btn{font-size:12px}}
@media(max-width:960px){:root{--header-h:80px;--section-y:80px}.topline__phones a:last-child{display:none}.hero__grid{grid-template-columns:1fr 1fr}.hero__media{order:0;min-height:580px}.hero__copy{padding:48px 30px 35px var(--gutter)}.hero__copy h1{font-size:49px}.hero__copy .lead{font-size:13px}.hero__ctas{flex-direction:column;align-items:start;margin-bottom:25px}.hero__stats{gap:16px}.hero__stats dd{font-size:23px}.hero__badge{position:absolute;margin:0;left:24px;right:24px;bottom:28px}.hero__badge-icon{display:none}.hero__label{left:22px;top:22px}.trust__list{gap:20px 25px}.trust__list li:nth-child(n){border:0;padding:0}.trust__list strong{max-width:none}.cards--3{grid-template-columns:repeat(3,1fr)}.card{padding:25px 18px 22px 0}.card:nth-child(n){padding-left:18px}.card h3{font-size:22px}.card p{font-size:12px}.split,.about{grid-template-columns:1fr 1fr;gap:35px}.split__media img{aspect-ratio:3/4.5}.features{grid-template-columns:1fr}.about__media img{aspect-ratio:3/4.5}.about__copy h2{font-size:40px}.about__copy>p:not(.eyebrow):not(.about__role){font-size:13px}.team{grid-template-columns:1fr 1fr}.visit{grid-template-columns:1fr 1fr;gap:35px}.steps{grid-template-columns:1fr}.faq{grid-template-columns:.75fr 1.25fr;gap:35px}.contact{grid-template-columns:1fr 1fr;gap:30px}.info{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}.form{padding:25px}.footer__grid{grid-template-columns:1.4fr 1fr 1fr}.mobile-bar .btn{font-size:12px}.hero__stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){:root{--header-h:78px;--gutter:24px;--section-y:68px}.topline .container{height:30px;font-size:8px;gap:10px}.topline__phones{gap:0}.brand__name{font-size:17px;white-space:normal;max-width:100px;line-height:1}.brand__sub{display:none}.brand__mark{width:29px;height:34px}.brand{gap:8px}.header-inner{gap:8px}.header-tools{gap:5px}.theme-toggle{width:30px}.menu-toggle{width:35px;height:38px}.lang-switch__btn{min-width:26px;font-size:9px;padding:0 5px}.hero__grid{grid-template-columns:1fr}.hero__copy{padding:44px 24px 35px}.hero__copy .eyebrow{font-size:9px;margin-bottom:23px}.hero__copy h1{font-size:57px;max-width:10.5ch;margin-bottom:22px}.hero__copy .lead{font-size:14px;max-width:42ch;margin-bottom:22px}.hero__ctas{flex-direction:row;align-items:center;gap:17px;margin-bottom:28px}.hero__ctas .btn{width:auto;padding:0 18px;font-size:11px}.hero__ctas .btn-outline{padding:0}.hero__stats{justify-content:stretch;max-width:none;padding-top:22px}.hero__stats dd{font-size:27px}.hero__stats dt{font-size:9px}.hero__media{height:410px;min-height:0}.hero__media img{object-position:center 42%}.hero__badge strong{font-size:18px}.hero__badge{font-size:10px;bottom:26px;left:26px}.hero__badge-icon{display:grid}.hero__label{font-size:8px;left:24px}.trust__list{padding:27px 0;gap:25px 22px}.trust__list strong{font-size:14px}.trust__list span{font-size:8px;line-height:1.5}.trust__list li:nth-child(even){border-left:1px solid var(--border);padding-left:20px}#services .section-head{grid-template-columns:1fr;gap:0;margin-bottom:32px}#services .section-head h2{max-width:12ch;margin-bottom:22px}h2{font-size:43px}.lead{font-size:14px}.cards--3{grid-template-columns:1fr 1fr}.card:nth-child(n){padding:25px 20px 25px 0;border-left:0;min-height:0}.card:nth-child(even){padding-left:20px;padding-right:0;border-left:1px solid var(--border)}.card:before{right:20px;font-size:9px}.card:nth-child(even):before{right:0}.card__icon{width:27px}.card h3{font-size:22px}.card p{font-size:12px}.card__link{font-size:10px;line-height:1.5}.split,.about,.visit,.faq,.contact{grid-template-columns:1fr;gap:36px}.split__media img{aspect-ratio:4/3}.split__copy h2{font-size:45px;max-width:12ch}.features{grid-template-columns:1fr 1fr;gap:24px 18px}.features p{font-size:12px}.about__media img{aspect-ratio:4/4.2;object-position:center 26%}.about__copy h2{font-size:46px;max-width:13ch}.about__copy>p:not(.eyebrow):not(.about__role){font-size:14px}.about__role{font-size:12px}.principles{margin-top:20px}.team{gap:22px}.team-section h2{font-size:36px}.member h3{font-size:13px}.member p:not(.member__role){font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:24px}.good{padding:25px}.reviews-section .section-head{gap:24px}.reviews-section h2{font-size:33px}.faq__head{margin-bottom:0}.faq__list summary{font-size:14px}.contact__info h2{max-width:12ch}.info{grid-template-columns:1fr 1fr;gap:25px 12px}.info p,.info address{font-size:11px}.info li{gap:9px;min-width:0}.info a{overflow-wrap:anywhere}.form{padding:26px 22px;gap:20px}.form__intro h3{font-size:30px}.field input,.field textarea{font-size:16px}.footer__grid{grid-template-columns:1fr 1fr;gap:32px}.footer__brand{grid-column:1/-1}.footer__brand .brand__name{max-width:none;font-size:23px}.footer__brand .brand__sub{font-size:9px}.footer__brand p{max-width:40ch}.footer__bottom{font-size:9px}.mobile-bar{padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.mobile-bar .btn{--btn-h:44px;font-size:12px}.lang-banner{font-size:13px}.lang-banner .btn{font-size:12px}}
@media(max-width:380px){:root{--gutter:18px}.header-inner{gap:4px}.brand__text{display:flex}.brand__name{font-size:15px;max-width:85px}.brand__mark{width:25px}.header-tools{gap:1px}.hero__copy{padding-inline:20px}.hero__copy h1{font-size:52px}.hero__ctas{gap:12px}.hero__ctas .btn{font-size:10px}.info{grid-template-columns:1fr}}
