/* styles/tokens.css */
/* Brand fonts (self-hosted from the approved brand package; no third-party requests). */
/* Each font: the full file, then a smaller Latin-only copy (English, Turkish, French, Spanish) that browsers use
   for those characters; the full file downloads only when a page needs other characters. */
@font-face { font-family: 'Readex Pro'; src: url('/assets/fonts/ReadexPro-VariableFont_HEXP-wght.woff2') format('woff2'), url('/assets/fonts/ReadexPro-VariableFont_HEXP-wght.ttf') format('truetype'); font-weight: 160 700; font-display: swap; }
@font-face { font-family: 'Readex Pro'; src: url('/assets/fonts/ReadexPro-VariableFont_HEXP-wght.latin.woff2') format('woff2'); font-weight: 160 700; font-display: swap; unicode-range: U+0000-00FF, U+0100-017F, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308, U+0327, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+2713, U+FEFF, U+FFFD; }
@font-face { font-family: 'Newsreader'; src: url('/assets/fonts/Newsreader-VariableFont_opsz-wght.woff2') format('woff2'), url('/assets/fonts/Newsreader-VariableFont_opsz-wght.ttf') format('truetype'); font-weight: 200 800; font-style: normal; font-display: swap; }
@font-face { font-family: 'Newsreader'; src: url('/assets/fonts/Newsreader-VariableFont_opsz-wght.latin.woff2') format('woff2'); font-weight: 200 800; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0100-017F, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308, U+0327, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+2713, U+FEFF, U+FFFD; }
@font-face { font-family: 'Newsreader'; src: url('/assets/fonts/Newsreader-Italic-VariableFont_opsz-wght.woff2') format('woff2'), url('/assets/fonts/Newsreader-Italic-VariableFont_opsz-wght.ttf') format('truetype'); font-weight: 200 800; font-style: italic; font-display: swap; }
@font-face { font-family: 'Newsreader'; src: url('/assets/fonts/Newsreader-Italic-VariableFont_opsz-wght.latin.woff2') format('woff2'); font-weight: 200 800; font-style: italic; font-display: swap; unicode-range: U+0000-00FF, U+0100-017F, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308, U+0327, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+2713, U+FEFF, U+FFFD; }
@font-face { font-family: 'Allura'; src: url('/assets/fonts/Allura-Regular.woff2') format('woff2'), url('/assets/fonts/Allura-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Allura'; src: url('/assets/fonts/Allura-Regular.latin.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0100-017F, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308, U+0327, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+2713, U+FEFF, U+FFFD; }

:root {
  /* Brand colours (Developer Brand Reference Sheet) */
  --teal: #173F3E;
  --teal-2: #1D4B49;
  --magenta: #D0357A;
  /* A touch darker than --magenta for text and buttons, so white-on-pink and pink-on-blush
     text reach WCAG AA contrast (white 5.2:1, blush 4.6:1). Decorative uses keep --magenta. */
  --magenta-strong: #C72E72;
  --magenta-600: #B82A68;
  --magenta-700: #9E2259;
  --green: #357A33;
  --green-600: #2C6A2B;
  --green-700: #245A24;
  --ink: #3F4B4B;
  --muted: #66706F;
  --muted-2: #7A8584;
  --line: #EFECE7;
  --line-2: #E6E2DC;
  --line-3: #E9E4DE;
  --cream: #F8F5F1;
  --page: #FFFDFB;
  --blush: #FBEFF3;
  --blush-2: #F1D4E0;
  --sage: #EEF4EC;
  --white: #FFFFFF;

  --font-sans: 'Readex Pro', 'Segoe UI', Tahoma, system-ui, sans-serif;
  --font-serif: Newsreader, Georgia, 'Times New Roman', serif;
  --font-script: Allura, cursive;

  --ease: cubic-bezier(.22, 1, .36, 1);
  --focus-ring: 0 0 0 2px #FFFFFF, 0 0 0 4px #173F3E;

  /* Horizontal page padding used by wide layouts: keeps content in a 1328px column.
     --pad-wide: inside sections capped at 1536px (the design canvas).
     --pad-bleed: inside full-width sections (so their text lines up with the capped ones). */
  --pad-wide: max(clamp(32px, 6.8vw, 104px), calc((min(100vw, 1536px) - 1328px) / 2));
  --pad-bleed: max(clamp(32px, 6.8vw, 104px), calc((100vw - 1328px) / 2));
  --pad-x: 20px;
}
@media (min-width: 768px) { :root { --pad-x: 40px; } }
@media (min-width: 1100px) { :root { --pad-x: var(--pad-wide); } }

/* Arabic (RTL) — Readex Pro already covers Arabic for body text. Headings use Noto Kufi Arabic (in place of the
   serif Newsreader) and the handwritten accents use Playpen Sans Arabic (in place of Allura); neither Latin face has Arabic letters. */
@font-face { font-family: 'Noto Kufi Arabic'; src: url('/assets/fonts/NotoKufiArabic-400.arabic.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200F; }
@font-face { font-family: 'Noto Kufi Arabic'; src: url('/assets/fonts/NotoKufiArabic-500.arabic.woff2') format('woff2'); font-weight: 500; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200F; }
@font-face { font-family: 'Noto Kufi Arabic'; src: url('/assets/fonts/NotoKufiArabic-600.arabic.woff2') format('woff2'); font-weight: 600; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200F; }
@font-face { font-family: 'Playpen Sans Arabic'; src: url('/assets/fonts/PlaypenSansArabic-400.arabic.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200F; }
html[dir="rtl"] { --font-serif: Newsreader, 'Noto Kufi Arabic', Georgia, serif; --font-script: Allura, 'Playpen Sans Arabic', cursive; }

/* styles/base.css */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--page); }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body { color: var(--ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
img, svg, picture { display: block; max-width: none; }
picture { display: contents; }
a { color: var(--magenta-600); text-decoration: none; }
a:hover { color: var(--magenta-700); }
button { font: inherit; }
h1, h2, h3, p { overflow-wrap: break-word; }
[hidden] { display: none !important; }

.page-root { min-height: 100vh; background: var(--page); position: relative; overflow-x: clip; }

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

.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--teal); color: #fff; padding: 10px 16px; border-radius: 999px; font-size: 14px; }
.skip-link:focus { left: 16px; color: #fff; outline: none; box-shadow: var(--focus-ring); }

:focus-visible { outline: none; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { box-shadow: var(--focus-ring); }

/* Shared type helpers */
.eyebrow { font: 500 13px/16px var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--magenta-600); }
.rule { display: block; height: 1.5px; background: var(--magenta); border-radius: 2px; flex-shrink: 0; }
.script { font-family: var(--font-script); font-weight: 400; }

/* "Pending" marker used by the approved designs for content awaiting approval */
.pill-pending { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border: 1px dashed #E3C2D0; border-radius: 999px; font: 500 10.5px/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--magenta-600); white-space: nowrap; }
.pill-pending--sm { height: 18px; padding: 0 7px; font-size: 10px; }

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

/* Avoids a flash of content before motion.js takes over (removed by script, or after 2.5s). */
.motion-pending [data-enter], .motion-pending [data-rv], .motion-pending [data-hero-media] { opacity: 0; }

/* styles/components/00-common.css */
/* Logo: crops the empty canvas of the official logo.svg (1920×1080) to the
   artwork frame x 86–1803, y 263–823 (1717×560). The artwork itself is untouched. */
.logo { display: block; position: relative; overflow: hidden; width: var(--logo-w, 180px); aspect-ratio: 1717 / 560; }
.logo img { position: absolute; left: 0; top: 0; width: calc(100% * 1920 / 1717); height: auto; max-width: none; margin-left: calc(-100% * 86 / 1717); margin-top: calc(-100% * 263 / 1717); }

/* Primary magenta button with arrow */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 56px; padding: 0 30px 0 32px; border-radius: 999px; font: 500 17px/20px var(--font-sans); letter-spacing: .01em; white-space: nowrap; touch-action: manipulation; transition: background .22s ease-out, box-shadow .22s ease-out, transform .18s ease-out, color .2s ease-out; }
.btn-primary { background: var(--magenta-strong); color: #fff; }
.btn-primary:hover { background: var(--magenta-600); color: #fff; box-shadow: 0 6px 16px rgba(184,42,104,.22); }
.btn-primary:active { background: var(--magenta-700); transform: scale(.98); }
.btn-outline { background: rgba(255,255,255,.85); color: var(--teal); border: 1.5px solid var(--teal); padding: 0 30px; }
.btn-outline:hover { background: var(--teal); color: #fff; }
.btn-outline-green { height: 52px; padding: 0 26px; gap: 10px; border: 1.5px solid var(--green); color: var(--green-600); font-size: 16px; }
.btn-outline-green:hover { background: var(--green); color: #fff; }
.btn svg, .link-arrow svg, .btn-wa svg { flex-shrink: 0; }
.btn .ico-arrow, [data-hg-arrow] { transition: transform .25s var(--ease); }
.btn:hover .ico-arrow { transform: translateX(4px); }

/* Text link with arrow ("View All Treatments") */
.link-arrow { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 500 15px/20px var(--font-sans); color: var(--magenta-600); }
.link-arrow:hover { color: var(--magenta-700); }

/* WhatsApp green button */
.btn-wa { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: var(--green); color: #fff; border-radius: 999px; font: 500 15px/20px var(--font-sans); letter-spacing: .01em; white-space: nowrap; box-shadow: 0 4px 14px rgba(53,122,51,.18); transition: background .18s ease-out, box-shadow .18s ease-out, transform .18s ease-out; }
.btn-wa:hover { background: var(--green-600); color: #fff; box-shadow: 0 6px 18px rgba(53,122,51,.26); }
.btn-wa:active { background: var(--green-700); transform: scale(.98); }

/* Temporary visual for a missing photo (see docs/IMPLEMENTATION_REPORT.md) */
.ph { position: relative; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ph--blush { background: radial-gradient(120% 90% at 85% 15%, #FFFFFF 0%, rgba(255,255,255,0) 55%), linear-gradient(135deg, #FBEFF3 0%, #F6E3EA 55%, #EEF4EC 100%); color: #D0357A; }
.ph--sage { background: radial-gradient(120% 90% at 15% 20%, #FFFFFF 0%, rgba(255,255,255,0) 55%), linear-gradient(135deg, #EEF4EC 0%, #E3EEE0 55%, #FBEFF3 100%); color: #357A33; }
.ph--teal { background: radial-gradient(110% 90% at 80% 20%, #2A5F5C 0%, rgba(42,95,92,0) 60%), linear-gradient(135deg, #1D4B49 0%, #173F3E 100%); color: rgba(255,255,255,.85); }
.ph__icon { width: 88px; height: 88px; border-radius: 999px; background: rgba(255,255,255,.7); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(23,63,62,.08); }
.ph--teal .ph__icon { background: rgba(255,255,255,.08); box-shadow: none; }
.ph__icon svg { width: 40px; height: 40px; }

/* ===== Text placed over photos =====
   .on-photo: script lines / small captions floating on an image get a soft cream halo
   (radial backplate + glow) so they stay readable whatever the photo does behind them.
   .on-photo-card: short lists over a photo sit on a frosted card. */
.on-photo { isolation: isolate; text-shadow: 0 0 2px rgba(255,253,251,.95), 0 0 12px rgba(255,253,251,.95), 0 0 26px rgba(255,253,251,.8); }
.on-photo::before { content: ''; position: absolute; z-index: -1; inset: -34% -16%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255,253,251,.9) 0%, rgba(255,253,251,.72) 55%, rgba(255,253,251,0) 100%); }
.on-photo-card { isolation: isolate; padding: 12px 18px 12px 16px; border-radius: 14px; background: rgba(255,255,255,.8);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 8px 24px rgba(23,63,62,.08); }

/* Photo filling its frame (hero / panel slots). Focal point set per photo with object-position. */
.img-cover { display: block; width: 100%; height: 100%; object-fit: cover; }

/* styles/components/10-navbar.css */
.site-header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 1px 0 var(--line), 0 6px 20px rgba(23,63,62,.04); font-family: var(--font-sans); }
.site-header__bar { position: relative; z-index: 2; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-inline: 20px; max-width: 1536px; margin: 0 auto; background: #fff; }
.site-header__logo { display: flex; align-items: center; flex-shrink: 0; border-radius: 8px; --logo-w: 148px; }
.site-header__logo .logo { width: var(--logo-w); }
.site-header__actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

.nav-slot { display: none; }

.lang-btn { display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 8px; background: var(--cream); border: 0; border-radius: 999px; color: var(--teal); font: 400 15px/20px var(--font-sans); cursor: pointer; transition: background .18s ease-out; }
.lang-btn:hover { background: var(--cream); }
.lang { position: relative; }
.lang-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 168px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 40px rgba(23,63,62,.12); opacity: 0; transform: translateY(-6px); visibility: hidden; transition: opacity .14s ease-in, transform .14s ease-in, visibility 0s .14s; z-index: 60; }
.lang.is-open .lang-menu { opacity: 1; transform: translateY(0); visibility: visible; transition: opacity .2s ease-out, transform .2s var(--ease), visibility 0s; }
.lang-menu__link { display: block; padding: 10px 14px; border-radius: 12px; font: 400 15px/20px var(--font-sans); color: var(--teal); text-decoration: none; white-space: nowrap; }
.lang-menu__link:hover, .lang-menu__link:focus-visible { background: var(--cream); color: var(--magenta-600); }
.lang-menu__link.is-active { font-weight: 500; color: var(--magenta-600); }

.site-header .btn-wa { height: 44px; width: 44px; padding: 0; }
.btn-wa__label { display: none; }

.burger { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line-2); background: #fff; border-radius: 999px; color: var(--teal); cursor: pointer; transition: background .18s ease-out, border-color .18s ease-out; }
.burger:hover { background: var(--blush); }
.burger__close { display: none; }
.site-header.menu-open .burger { background: var(--blush); border-color: var(--blush-2); }
.site-header.menu-open .burger__open { display: none; }
.site-header.menu-open .burger__close { display: block; }
.burger__open, .burger__close { line-height: 0; }

.mobile-scrim { position: fixed; left: 0; right: 0; top: 72px; bottom: 0; background: rgba(23,63,62,.32); opacity: 0; visibility: hidden; transition: opacity .16s ease-in, visibility 0s .16s; }
.mobile-menu { position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100dvh - 72px); overflow-y: auto; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 18px 40px rgba(23,63,62,.12); border-radius: 0 0 24px 24px; padding: 12px 16px 20px; opacity: 0; transform: translateY(-8px); visibility: hidden; transition: opacity .16s ease-in, transform .16s ease-in, visibility 0s .16s; }
.site-header.menu-open .mobile-scrim { opacity: 1; visibility: visible; transition: opacity .24s ease-out, visibility 0s; }
.site-header.menu-open .mobile-menu { opacity: 1; transform: translateY(0); visibility: visible; transition: opacity .24s ease-out, transform .24s var(--ease), visibility 0s; }
.mobile-menu__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; }
.mobile-menu__link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 16px; border-radius: 14px; font-size: 17px; line-height: 22px; color: var(--teal); font-weight: 400; transition: background .18s ease-out, color .18s ease-out; }
.mobile-menu__link:hover { background: var(--blush); color: var(--magenta-600); }
.mobile-menu__link.is-active { color: var(--magenta-600); font-weight: 500; background: var(--blush); }
.mobile-menu__link .dot { width: 7px; height: 7px; border-radius: 999px; background: var(--magenta); }
.mobile-menu__link:focus-visible, .nav__menu-link:focus-visible { box-shadow: inset 0 0 0 2px var(--teal); }
.mobile-menu__wa { margin-top: 16px; display: flex; align-items: center; justify-content: center; gap: 10px; height: 52px; background: var(--green); color: #fff; border-radius: 999px; font: 500 16px/20px var(--font-sans); }
.mobile-menu__wa:hover { background: var(--green-600); color: #fff; }

@media (max-width: 379.98px) {
  .site-header__bar { padding-inline: 16px; }
  .site-header__logo { --logo-w: 128px; }
  .lang-btn__chev { display: none; }
}

@media (min-width: 768px) {
  .site-header__logo { --logo-w: 170px; }
  .site-header__actions { gap: 10px; }
  .lang-btn { gap: 8px; padding: 0 10px; background: transparent; }
  .lang-btn:hover { background: var(--cream); }
  .site-header .btn-wa { width: auto; padding: 0 20px 0 16px; }
  .btn-wa__label { display: inline; }
  .site-header__bar { padding-inline: 40px; }
  .mobile-menu { padding: 20px 40px 28px; }
  .mobile-menu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 10px; }
  .mobile-menu__wa { display: none; }
}

@media (min-width: 1100px) {
  .site-header__bar { height: 91px; gap: 24px; padding-inline: clamp(32px, 5vw, 104px); }
  .site-header__logo { --logo-w: 176px; }
  .site-header__actions { gap: 10px; }
  .site-header .btn-wa { height: 54px; }
  .burger, .mobile-menu, .mobile-scrim { display: none; }
  .nav-slot { position: relative; flex: 1; min-width: 0; display: flex; justify-content: center; }
  .nav { display: flex; align-items: center; gap: 20px; --nav-font: 14.5px; }
  .nav__link { font-size: var(--nav-font); line-height: 20px; color: var(--teal); font-weight: 400; padding: 14px 0 12px; white-space: nowrap; flex-shrink: 0; border-bottom: 2px solid transparent; transition: color .18s ease-out, border-color .18s ease-out; }
  .nav__link:hover { color: var(--magenta-600); }
  .nav__link.is-active { color: var(--magenta-600); font-weight: 500; border-bottom-color: var(--magenta); }
  .nav__link:focus-visible, .nav__more-btn:focus-visible { border-radius: 4px; }
  .nav__more { position: relative; display: none; }
  .nav[data-collapsed] .nav__more { display: block; }
  .nav[data-collapsed] .nav__link--of { display: none; }
  .nav__more-btn { display: flex; align-items: center; gap: 6px; height: 44px; padding: 0; background: transparent; border: 0; border-bottom: 2px solid transparent; font: 400 var(--nav-font)/20px var(--font-sans); color: var(--teal); cursor: pointer; white-space: nowrap; transition: color .18s ease-out; }
  .nav__more-btn:hover, .nav__more-btn[aria-expanded="true"] { color: var(--magenta-600); }
  .nav__more-btn.is-active { color: var(--magenta-600); font-weight: 500; border-bottom-color: var(--magenta); }
  .nav__chev { transition: transform .2s ease-out; }
  .nav__more-btn[aria-expanded="true"] .nav__chev { transform: rotate(180deg); }
  .nav__more-menu { position: absolute; top: calc(100% + 14px); right: -20px; min-width: 240px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 40px rgba(23,63,62,.12); opacity: 0; transform: translateY(-6px); visibility: hidden; transition: opacity .14s ease-in, transform .14s ease-in, visibility 0s .14s; }
  .nav__more.is-open .nav__more-menu { opacity: 1; transform: translateY(0); visibility: visible; transition: opacity .2s ease-out, transform .2s var(--ease), visibility 0s; }
  .nav__menu-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 0 14px; border-radius: 12px; font-size: 15px; line-height: 20px; color: var(--teal); transition: background .18s ease-out, color .18s ease-out; }
  .nav__menu-link:hover { background: var(--blush); color: var(--magenta-600); }
  .nav__menu-link.is-active { color: var(--magenta-600); font-weight: 500; background: var(--blush); }
  .nav__menu-link .dot { width: 6px; height: 6px; border-radius: 999px; background: var(--magenta); }
  .site-header .btn-wa { padding: 0 20px 0 16px; }
}
@media (min-width: 1280px) {
  .site-header__logo { --logo-w: 205px; }
  .site-header__actions { gap: 16px; }
  .nav { gap: 16px; --nav-font: 15px; }
  .nav[data-collapsed] { gap: 22px; }
  .site-header .btn-wa { padding: 0 24px 0 20px; font-size: 16px; }
}

/* styles/components/20-footer.css */
.site-footer { background: #fff; border-top: 1px solid var(--line); color: var(--ink); }
.site-footer__band { height: 88px; overflow: hidden; }
.site-footer__band img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.site-footer__inner { max-width: 1536px; margin: 0 auto; padding: 40px 20px 28px; }
.site-footer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.site-footer__grid > * { min-width: 0; }
.site-footer__brand { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 18px; }
.site-footer__brand p { margin: 0; font-size: 15px; line-height: 1.65; max-width: 560px; text-wrap: pretty; }
.site-footer__logo { display: inline-flex; align-self: flex-start; border-radius: 8px; --logo-w: 160px; }
.site-footer__head { margin: 0 0 10px; font: 500 12.5px/16px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--magenta-600); }
.site-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.site-footer__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; line-height: 20px; color: var(--teal); transition: color .18s ease-out; }
.site-footer__links a:hover, .site-footer__links a.is-active { color: var(--magenta-600); }
.site-footer__links a.is-active { font-weight: 500; }
.site-footer__contact { grid-column: 1 / -1; }
.site-footer__rows { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.site-footer__rows li { display: flex; align-items: flex-start; gap: 12px; }
.site-footer__rows li > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 1px; }
.site-footer__ico { width: 40px; height: 40px; flex-shrink: 0; border-radius: 999px; background: var(--blush); display: flex; align-items: center; justify-content: center; }
.site-footer__ico--green { background: var(--sage); }
.site-footer__k { font-size: 13px; line-height: 16px; color: var(--muted); }
.site-footer__v { font-size: 15px; line-height: 20px; color: var(--teal); overflow-wrap: anywhere; }
.site-footer__v:hover { color: var(--magenta-600); }
.btn-wa--footer { margin-top: 20px; height: 48px; padding: 0 22px 0 18px; width: 100%; }
.site-footer__social { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.site-footer__social a { font-size: 15px; color: var(--teal); }
.site-footer__disc { margin-top: 36px; display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 18px; background: var(--cream); }
.site-footer__disc svg { flex-shrink: 0; margin-top: 1px; }
.site-footer__disc p { margin: 0; font-size: 13.5px; line-height: 1.65; max-width: 1000px; }
.site-footer__disc strong { font-weight: 500; color: var(--teal); }
.site-footer__bar { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 12px 24px; }
.site-footer__bar p { margin: 0; font-size: 13.5px; line-height: 20px; color: var(--muted); }
.site-footer__bar ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 24px; }
.site-footer__bar li { display: flex; align-items: center; gap: 8px; }
.footer__legal-link { display: inline-flex; align-items: center; min-height: 40px; font-size: 13.5px; line-height: 20px; color: var(--teal); }
.footer__legal-link:hover, .footer__legal-link[aria-current] { color: var(--magenta-600); }

@media (min-width: 768px) {
  .site-footer__band { height: 120px; }
  .site-footer__inner { padding: 48px 40px 32px; }
  .site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
  .site-footer__logo { --logo-w: 180px; }
  .site-footer__head { margin-bottom: 14px; }
  .site-footer__links a { min-height: 38px; }
  .site-footer__contact { grid-column: auto; }
  .btn-wa--footer { width: auto; }
  .site-footer__disc { padding: 20px 24px; }
  .site-footer__bar { flex-direction: row; align-items: center; }
}
@media (min-width: 1100px) {
  .site-footer__band { height: 150px; }
  .site-footer__inner { padding: 56px var(--pad-wide) 36px; }
  .site-footer__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr) minmax(0, .9fr) minmax(0, 1.2fr); gap: 48px; }
  .site-footer__brand { grid-column: auto; }
  .site-footer__brand p { max-width: 380px; }
  .site-footer__disc { margin-top: 48px; }
}

/* styles/components/30-wa-modal.css */
/* WhatsApp consultation popup */
.wam { position: fixed; inset: 0; z-index: 1000; font-family: var(--font-sans); }
.wam__backdrop { position: absolute; inset: 0; background: rgba(12,32,31,.58); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; }
.wam__layer { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: center; padding: 0; padding-bottom: var(--wam-kb, 0px); }
.wam__card { position: relative; width: 100%; max-width: 100%; max-height: var(--wam-maxh, 92dvh); display: flex; flex-direction: column; background: linear-gradient(180deg, #1D4B49 0%, #173F3E 55%, #143837 100%); color: #fff; border-radius: 24px 24px 0 0; box-shadow: 0 30px 80px rgba(8,24,23,.35), 0 2px 8px rgba(8,24,23,.2); overflow: hidden; outline: none; opacity: 0; transform: translate3d(0,16px,0); will-change: opacity, transform; }
.wam a { color: #F6B3CE; }

/* phases: data-phase = enter | open | leave */
.wam[data-phase="open"] .wam__backdrop { opacity: 1; transition: opacity 250ms var(--ease); }
.wam[data-phase="open"] .wam__card { opacity: 1; transform: translate3d(0,0,0) scale(1); transition: opacity 250ms var(--ease), transform 250ms var(--ease); }
.wam[data-phase="leave"] .wam__backdrop { opacity: 0; transition: opacity 180ms cubic-bezier(.4,0,1,1); }
.wam[data-phase="leave"] .wam__card { opacity: 0; transform: translate3d(0,16px,0); transition: opacity 180ms cubic-bezier(.4,0,1,1), transform 180ms cubic-bezier(.4,0,1,1); }

.wam__head { position: relative; flex-shrink: 0; padding: 12px 60px 6px; text-align: center; }
.wam__grip { display: block; width: 40px; height: 4px; border-radius: 999px; background: rgba(255,255,255,.28); margin: 0 auto 14px; }
.wam__head h2 { margin: 0; font: 600 20px/1.25 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.wam__close { position: absolute; top: 18px; inset-inline-end: 12px; width: 44px; height: 44px; border-radius: 999px; border: 0; background: rgba(255,255,255,.10); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease; touch-action: manipulation; }
.wam__close:hover { background: rgba(255,255,255,.18); }
.wam__close:focus-visible, .wam__call:focus-visible, .wam__send:focus-visible { box-shadow: 0 0 0 3px rgba(255,255,255,.6); }

.wam__form { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.wam__body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 20px 20px; display: flex; flex-direction: column; gap: 16px; }
.wam__note { margin: 0; text-align: center; font: 400 14px/20px var(--font-sans); color: rgba(255,255,255,.78); }
.wam__field { display: flex; flex-direction: column; gap: 8px; }
.wam__field--phone { gap: 10px; }
.wam__help { margin: 0; font: 400 15px/22px var(--font-sans); color: rgba(255,255,255,.92); text-wrap: pretty; }
.wam__input { width: 100%; height: 54px; padding: 0 18px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; color: var(--teal); font: 400 16px/20px var(--font-sans); outline: none; }
.wam__input::placeholder, .wam__phone input::placeholder { color: #6A7473; opacity: 1; }
.wam__input:focus { box-shadow: 0 0 0 3px rgba(255,255,255,.55); }
.wam__input[aria-invalid="true"], .wam__phone.is-invalid { box-shadow: 0 0 0 2px #F28DB5; }
.wam__sel { position: relative; }
.wam__sel select { padding-inline: 18px 48px; appearance: none; -webkit-appearance: none; cursor: pointer; text-overflow: ellipsis; }
.wam__sel select.is-empty { color: #6A7473; }
.wam__sel option { color: var(--teal); }
.wam__chev { position: absolute; top: 50%; inset-inline-end: 18px; transform: translateY(-50%); pointer-events: none; }

.wam__phone { display: flex; align-items: center; height: 54px; background: #fff; border: 1px solid var(--line-2); border-radius: 12px; overflow: hidden; }
.wam__code { position: relative; flex-shrink: 0; height: 100%; display: flex; align-items: center; gap: 6px; padding-inline: 16px 12px; border-inline-end: 1px solid #EDE9E4; color: var(--teal); transition: background .15s ease; }
.wam__code:focus-within { background: var(--sage); }
.wam__code-text { font: 500 16px/20px var(--font-sans); font-variant-numeric: tabular-nums; color: #6A7473; }
.wam__code.has-value .wam__code-text { color: var(--teal); }
.wam__code select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; color: var(--teal); }
.wam__phone input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; padding-inline: 14px 8px; font: 400 16px/20px var(--font-sans); color: var(--teal); outline: none; font-variant-numeric: tabular-nums; }
.wam__phone input:focus { background: #F7FAF6; }
.wam__phone img { width: 26px; height: 26px; margin-inline: 6px 14px; flex-shrink: 0; }

.wam__err { margin: 0; display: flex; align-items: flex-start; gap: 8px; font: 400 14px/20px var(--font-sans); color: #FFD3E3; }
.wam__err svg { flex-shrink: 0; margin-top: 2px; }

.wam__consent { display: flex; align-items: flex-start; gap: 12px; }
.wam__consent input { width: 22px; height: 22px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--green); cursor: pointer; }
.wam__consent label { font: 400 15px/1.5 var(--font-sans); color: rgba(255,255,255,.92); cursor: pointer; text-wrap: pretty; }
.wam__plink { color: #F6B3CE; text-decoration: underline; text-underline-offset: 3px; }
.wam__pending { align-self: flex-start; margin-inline-start: 34px; display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border: 1px dashed rgba(255,255,255,.4); border-radius: 999px; font: 400 12px/16px var(--font-sans); color: rgba(255,255,255,.8); }

.wam__clear { align-self: flex-end; background: none; border: 0; padding: 8px 4px; min-height: 40px; color: rgba(255,255,255,.82); font: 400 14px/20px var(--font-sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.wam__clear:hover { color: #fff; }

.wam__status { display: flex; flex-direction: column; }
.wam__panel { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 14px; background: rgba(255,255,255,.08); }
.wam__panel p { margin: 0; font: 400 14.5px/22px var(--font-sans); color: #fff; text-wrap: pretty; }
.wam__panel a { align-self: flex-start; min-height: 40px; display: inline-flex; align-items: center; font: 500 14.5px/20px var(--font-sans); text-decoration: underline; text-underline-offset: 3px; }
.wam__panel a:hover { color: #fff; }

.wam__foot { flex-shrink: 0; padding: 14px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.10); background: rgba(10,30,29,.28); display: flex; flex-direction: column; gap: 10px; }
.wam__actions { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.wam__call { order: 2; height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; background: var(--cream); color: var(--teal) !important; font: 500 16px/20px var(--font-sans); touch-action: manipulation; }
.wam__call:hover { background: #fff; }
.wam__send { height: 54px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--green); color: #fff; font: 500 16px/20px var(--font-sans); cursor: pointer; touch-action: manipulation; transition: background .2s ease; box-shadow: 0 6px 18px rgba(8,24,23,.25); }
.wam__send:hover { background: var(--green-600); }
.wam__send:active { background: var(--green-700); }
.wam__send[disabled] { cursor: progress; }
.wam__send[disabled] svg { display: none; }

@media (min-width: 600px) {
  .wam__actions { grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); }
  .wam__call { order: 0; }
}
@media (min-width: 768px) {
  .wam__layer { align-items: center; padding: 24px; }
  .wam__card { max-width: 560px; max-height: var(--wam-maxh, calc(100dvh - 48px)); border-radius: 24px; transform: translate3d(0,12px,0) scale(.96); }
  .wam[data-phase="leave"] .wam__card { transform: translate3d(0,6px,0) scale(.96); }
  .wam__grip { display: none; }
  .wam__head { padding: 32px 64px 8px; }
  .wam__head h2 { font-size: 24px; }
  .wam__close { top: 20px; inset-inline-end: 20px; }
  .wam__body { padding: 16px 36px 24px; }
  .wam__foot { padding: 18px 36px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .wam__card, .wam[data-phase="leave"] .wam__card { transform: none !important; }
}

/* styles/pages/about.css */
/* ===== About Us ===== */
.ab-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 1536px; margin: 0 auto; align-items: start; }
.ab-hero__text { padding: 36px 20px 32px; }
.ab-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.ab-hero__eyebrow .rule { width: 96px; transform-origin: left center; }
.ab-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 44px; line-height: 1.1; letter-spacing: -.015em; color: var(--teal); max-width: 420px; text-wrap: balance; }
.ab-hero__text p { margin: 18px 0 28px; font-size: 16px; line-height: 26px; color: var(--ink); max-width: 548px; text-wrap: pretty; }
.ab-hero__cta { display: flex; }
.ab-hero__cta .btn { width: 100%; font-size: 16px; }
.ab-hero__visual { padding-inline: 20px; }
.ab-hero__media { position: relative; width: 100%; aspect-ratio: 873 / 568; overflow: hidden; border-radius: 72px 20px 20px 28px / 150px 20px 20px 28px; background: var(--cream); }
.ab-hero__img { position: absolute; left: 0; top: -3%; width: 100%; height: 106%; will-change: transform; }

.ab-cards { position: relative; padding: 24px 20px 0; max-width: 1536px; margin: 0 auto; }
.ab-cards__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.ab-card-wrap { display: flex; }
.ab-card { flex: 1; min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 18px 20px; display: flex; flex-direction: row; align-items: center; text-align: left; gap: 16px; box-shadow: 0 1px 2px rgba(23,63,62,.03), 0 10px 28px rgba(23,63,62,.04); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease-out; }
.ab-card:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(23,63,62,.04), 0 18px 36px rgba(23,63,62,.08); border-color: var(--line-2); }
.ab-card__ico { width: 64px; height: 64px; flex-shrink: 0; border-radius: 999px; display: flex; align-items: center; justify-content: center; transition: transform .3s var(--ease), background-color .3s ease-out; }
.ab-card__text { display: flex; flex-direction: column; gap: 6px; }
.ab-card h2 { margin: 0; font: 500 17px/24px var(--font-sans); color: var(--teal); }
.ab-card p { margin: 0; font-size: 15px; line-height: 23px; color: var(--muted); max-width: 210px; text-wrap: balance; }

.ab-band { position: relative; overflow: hidden; height: 230px; background: linear-gradient(180deg, #FFFDFB 0%, #F8F5F1 55%, #EEF5EA 100%); }
.ab-band__img { position: absolute; right: 0; bottom: 0; width: 100%; height: 58%; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 100%); }
.ab-band__img img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 70%; }
.ab-band__sprig { position: absolute; width: 80px; height: auto; opacity: .55; }
.ab-band__sprig--l { left: -18px; bottom: -26px; transform: rotate(-18deg); }
.ab-band__sprig--r { right: -14px; bottom: -30px; transform: scaleX(-1) rotate(-14deg); }
.ab-band__tag { position: absolute; left: 20px; right: 20px; top: 48px; display: flex; align-items: center; justify-content: center; gap: 12px; }
.ab-band__line { display: block; width: 24px; height: 1.5px; background: var(--magenta); opacity: .7; }
.ab-band__words { font-size: 27px; line-height: 1; color: var(--ink); white-space: nowrap; display: flex; align-items: center; gap: 14px; }
.ab-band__words .dot { font-family: var(--font-sans); font-size: 10px; color: var(--ink); }

@media (max-width: 479.98px) {
  .ab-hero h1 { font-size: 38px; }
  .ab-band__words { font-size: 24px; }
}
@media (min-width: 480px) {
  .ab-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-card { flex-direction: column; text-align: center; gap: 18px; padding: 22px 20px 24px; }
}
@media (min-width: 768px) {
  .ab-hero__text { padding: 56px 40px 44px; max-width: 720px; }
  .ab-hero h1 { font-size: 52px; line-height: 1.06; max-width: 600px; }
  .ab-hero__text p { margin: 22px 0 30px; font-size: 17.5px; line-height: 28px; }
  .ab-hero__cta .btn { width: auto; font-size: 17px; }
  .ab-hero__visual { padding-inline: 40px; }
  .ab-hero__media { border-radius: 120px 24px 24px 40px / 260px 24px 24px 40px; }
  .ab-cards { padding: 28px 40px 0; }
  .ab-cards__grid { gap: 16px; }
  .ab-band { height: 220px; }
  .ab-band__img img { object-position: 55% 70%; }
  .ab-band__tag { left: 40px; right: 40px; }
  .ab-band__line { width: 48px; }
  .ab-band__words { font-size: 30px; }
}
@media (min-width: 1100px) {
  .ab-hero { grid-template-columns: minmax(0, 0.76fr) minmax(0, 1fr); gap: 24px; }
  .ab-hero__text { padding: 66px 0 28px var(--pad-bleed); max-width: none; }
  .ab-hero__eyebrow { margin-bottom: 16px; }
  .ab-hero h1 { font-size: clamp(48px, 4.1vw, 62px); line-height: 1.02; max-width: 560px; }
  .ab-hero__text p { margin: 26px 0 34px; }
  .ab-hero__visual { padding-inline: 0; }
  .ab-hero__media { border-radius: 160px 0 0 48px / 400px 0 0 48px; }
  .ab-cards { padding: 12px var(--pad-wide) 0; }
  .ab-cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .ab-card { padding: 20px 20px 26px; }
  .ab-band { height: 176px; }
  /* The script line sits on the faded left part of the photo, not on the skyline. */
  .ab-band__img { width: 74%; height: 100%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 26%, rgba(0,0,0,.6) 40%, #000 56%); mask-image: linear-gradient(90deg, transparent 0%, transparent 26%, rgba(0,0,0,.6) 40%, #000 56%); }
  .ab-band__img img { object-position: 60% 70%; }
  .ab-band__sprig { width: 110px; }
  .ab-band__tag { left: var(--pad-bleed); right: auto; top: 56px; justify-content: flex-start; gap: 20px; }
  .ab-band__line { width: 56px; }
  .ab-band__words { font-size: 32px; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .ab-hero { max-width: none; } }

/* styles/pages/article.css */
/* ===== Blog Article ===== */
.ar-hero { max-width: 1536px; margin: 0 auto; padding: 18px 20px 0; }
.ar-crumb { margin-bottom: 24px; }
.ar-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; font-size: 14px; line-height: 20px; color: var(--muted); }
.ar-crumb li { display: flex; }
.ar-crumb a { color: var(--ink); }
.ar-crumb a:hover { color: var(--magenta-600); }
.ar-crumb [aria-current] { color: var(--magenta-600); font-weight: 500; }
.ar-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 26px; align-items: center; }
.ar-hero__text { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.ar-hero__cat { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border-radius: 999px; background: var(--blush); font: 500 12px/1 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--magenta-600); }
.ar-hero__cat:hover { background: #F6DFE8; }
.ar-hero h1 { margin: 18px 0 20px; font-family: var(--font-serif); font-weight: 500; font-size: 36px; line-height: 1.08; letter-spacing: -.015em; color: var(--teal); text-wrap: balance; }
.ar-hero__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; font-size: 14.5px; line-height: 20px; color: var(--muted); }
.ar-hero__meta > span { display: flex; align-items: center; gap: 8px; }
.ar-hero__meta strong { color: var(--teal); font-weight: 500; }
.ar-hero__visual { position: relative; min-width: 0; }
.ar-hero__blob { position: absolute; right: -6%; top: -10%; width: 60%; height: auto; opacity: .8; pointer-events: none; }
.ar-hero__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 80px 20px 20px 20px; box-shadow: 0 18px 44px rgba(23,63,62,.10); background: var(--cream); }
.ar-hero__img img { width: 100%; height: 100%; object-fit: cover; }

.ar-body { max-width: 1536px; margin: 0 auto; padding: 40px 20px 56px; }
.ar-body__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: start; }
.ar-main { min-width: 0; max-width: 740px; }
.ar-note { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; padding: 10px 16px; border: 1px dashed #E3C2D0; border-radius: 12px; font-size: 13px; line-height: 18px; color: var(--muted); }
.ar-note svg { flex-shrink: 0; }
.ar-lead { margin: 0; font: 400 19.5px/1.55 var(--font-serif); color: var(--teal); text-wrap: pretty; }
.ar-sec { margin-top: 40px; }
.ar-sec h2 { margin: 0 0 16px; display: flex; align-items: baseline; gap: 14px; font: 500 25px/1.2 var(--font-serif); color: var(--teal); text-wrap: balance; }
.ar-sec__n { flex-shrink: 0; font: 500 .72em/1 var(--font-serif); color: var(--magenta); font-variant-numeric: tabular-nums; }
.ar-sec p { margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: var(--ink); text-wrap: pretty; }
.ar-sec ul { list-style: none; margin: 4px 0 0; padding: 20px 18px; display: flex; flex-direction: column; gap: 12px; border-radius: 18px; background: var(--cream); }
.ar-sec li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.6; color: var(--teal); }
.ar-tick { flex-shrink: 0; width: 22px; height: 22px; margin-top: 2px; border-radius: 999px; background: #E6F0E4; display: flex; align-items: center; justify-content: center; }
.ar-cta { position: relative; overflow: hidden; margin-top: 48px; border-radius: 24px; background: linear-gradient(105deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); padding: 30px 22px; }
.ar-cta__sprig { position: absolute; right: -14px; bottom: -26px; width: 96px; height: auto; opacity: .45; transform: rotate(14deg) scaleX(-1); pointer-events: none; }
.ar-cta__in { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 520px; }
.ar-cta__ico { width: 56px; height: 56px; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(23,63,62,.07); }
.ar-cta h2 { margin: 6px 0 0; font: 500 28px/1.15 var(--font-serif); letter-spacing: -.01em; color: var(--teal); text-wrap: balance; }
.ar-cta h2 em { font-style: italic; color: var(--magenta); }
.ar-cta p { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.ar-cta__btn { margin-top: 8px; width: 100%; height: 56px; padding: 0 28px 0 30px; font-size: 16px; box-shadow: 0 4px 14px rgba(208,53,122,.22); }
.ar-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(208,53,122,.28); }
.ar-disc { margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--line); display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.65; color: var(--muted); }
.ar-disc svg { flex-shrink: 0; margin-top: 1px; }

.ar-rel { position: relative; min-width: 0; border-radius: 24px; }
.ar-rel__head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.ar-rel__head h2 { margin: 0; font: 500 28px/1.2 var(--font-serif); color: var(--teal); white-space: nowrap; }
.ar-rel__head span { flex: 1; height: 1.5px; background: #EBCFDA; border-radius: 2px; }
.ar-rel ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.ar-rel li { min-width: 0; }
.ar-rel li a { display: flex; align-items: center; gap: 16px; padding: 8px; margin: -8px; border-radius: 16px; transition: background .18s ease-out; }
.ar-rel li a:hover { background: #fff; }
.ar-rel__img { width: 88px; height: 76px; flex-shrink: 0; border-radius: 14px; overflow: hidden; display: block; }
.ar-rel__img img { width: 100%; height: 100%; object-fit: cover; }
.ph--mini .ph__icon { width: 40px; height: 40px; }
.ph--mini .ph__icon svg { width: 20px; height: 20px; }
.ar-rel__t { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.ar-rel__cat { font: 500 11px/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--magenta-600); }
.ar-rel__title { font: 500 16.5px/1.3 var(--font-serif); color: var(--teal); text-wrap: pretty; }
.ar-rel__all { margin-top: 22px; font-size: 14.5px; }

@media (max-width: 479.98px) { .ar-hero h1 { font-size: 32px; } }
@media (min-width: 768px) {
  .ar-hero { padding: 24px 40px 0; }
  .ar-hero__grid { gap: 36px; }
  .ar-hero h1 { font-size: 46px; }
  .ar-hero__img { aspect-ratio: 16 / 10; border-radius: 140px 26px 26px 26px; }
  .ar-body { padding: 56px 40px 72px; }
  .ar-lead { font-size: 21px; }
  .ar-sec { margin-top: 52px; }
  .ar-sec h2 { font-size: 28px; }
  .ar-sec p, .ar-sec li, .ar-cta p { font-size: 17px; }
  .ar-sec ul { padding: 24px 26px; }
  .ar-cta { margin-top: 64px; border-radius: 30px; padding: 40px; }
  .ar-cta h2 { font-size: 32px; }
  .ar-cta__btn { width: auto; }
  .ar-rel ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; }
}
@media (min-width: 1100px) {
  .ar-hero { padding: 28px var(--pad-wide) 0; }
  .ar-crumb { margin-bottom: 40px; }
  .ar-hero__grid { grid-template-columns: minmax(0, 11fr) minmax(0, 10fr); gap: clamp(40px, 5vw, 80px); }
  .ar-hero h1 { margin: 22px 0 26px; font-size: clamp(42px, 3.6vw, 58px); }
  .ar-hero__img { aspect-ratio: 5 / 4; border-radius: 180px 28px 28px 28px; }
  .ar-body { padding: 72px var(--pad-wide) 96px; }
  .ar-body__grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 380px); gap: clamp(48px, 6vw, 96px); }
  .ar-lead { font-size: 23px; }
  .ar-sec h2 { font-size: 30px; }
  .ar-cta { padding: 44px 48px; }
  .ar-cta h2 { font-size: 34px; }
  .ar-rel { position: sticky; top: 116px; background: #FCF6F3; border: 1px solid #F5E6EA; padding: 30px 28px 22px; }
  .ar-rel__head h2 { font-size: 24px; }
  .ar-rel ul { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}

/* Article body additions: table of contents, sub-headings, steps, tips, links, FAQ */
.ar-toc { margin-top: 32px; padding: 22px 22px 18px; border: 1px solid #F2E3E8; border-radius: 20px; background: #fff; }
.ar-toc h2 { margin: 0 0 12px; font: 500 12px/1 var(--font-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--magenta-600); }
.ar-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ar-toc a { display: flex; gap: 12px; align-items: baseline; padding: 7px 8px; margin: 0 -8px; border-radius: 10px; font-size: 15.5px; line-height: 1.4; color: var(--teal); transition: background .15s ease-out, color .15s ease-out; }
.ar-toc a span { flex-shrink: 0; font: 500 13px/1 var(--font-serif); color: var(--magenta); font-variant-numeric: tabular-nums; }
.ar-toc a:hover { background: var(--blush); color: var(--magenta-600); }
.ar-sec { scroll-margin-top: 104px; }
.ar-sec h3 { margin: 26px 0 10px; font: 500 20px/1.3 var(--font-serif); color: var(--teal); }
.ar-sec p a, .ar-sec li a, .ar-tip a { color: var(--magenta-600); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ar-sec p a:hover, .ar-sec li a:hover, .ar-tip a:hover { text-decoration-thickness: 2px; }
.ar-sec strong { font-weight: 600; color: var(--teal); }
.ar-sec ul + p, .ar-steps + p, .ar-sec ul + .ar-tip, .ar-steps + .ar-tip { margin-top: 18px; }
.ar-steps { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; counter-reset: none; }
.ar-steps li { display: flex; align-items: flex-start; gap: 14px; font-size: 16px; line-height: 1.6; color: var(--teal); }
.ar-steps__n { flex-shrink: 0; width: 28px; height: 28px; margin-top: 0; border-radius: 999px; background: var(--blush); color: var(--magenta-600); font: 600 13px/28px var(--font-sans); text-align: center; }
.ar-tip { display: flex; gap: 12px; align-items: flex-start; margin: 18px 0 0 !important; padding: 16px 18px; border-left: 3px solid var(--magenta); border-radius: 4px 14px 14px 4px; background: var(--blush); font-size: 15px !important; line-height: 1.65 !important; color: var(--teal) !important; }
.ar-tip svg { flex-shrink: 0; margin-top: 3px; color: var(--magenta-600); }
.ar-faq__item { border: 1px solid #EFE7E1; border-radius: 16px; background: #fff; margin-bottom: 12px; }
.ar-faq__item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; cursor: pointer; font: 500 17px/1.4 var(--font-serif); color: var(--teal); }
.ar-faq__item summary::-webkit-details-marker { display: none; }
.ar-faq__item summary svg { flex-shrink: 0; color: var(--magenta); transition: transform .2s ease-out; }
.ar-faq__item[open] summary svg { transform: rotate(180deg); }
.ar-faq__item summary:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: 16px; }
.ar-faq__item p { margin: 0; padding: 0 20px 18px; }
@media (min-width: 768px) {
  .ar-toc { padding: 26px 28px 22px; }
  .ar-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
  .ar-sec h3 { font-size: 22px; }
  .ar-steps li { font-size: 17px; }
  .ar-faq__item summary { font-size: 18.5px; padding: 20px 24px; }
  .ar-faq__item p { padding: 0 24px 20px; }
}

/* Comparison tables (scroll sideways on small screens) */
.ar-table { margin: 8px 0 18px; overflow-x: auto; border: 1px solid #EFE7E1; border-radius: 18px; background: #fff; }
.ar-table:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ar-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.5; color: var(--ink); }
.ar-table caption { caption-side: top; text-align: left; padding: 16px 18px 4px; font: 500 12px/1.3 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--magenta-600); }
.ar-table th, .ar-table td { padding: 12px 18px; text-align: left; vertical-align: top; border-top: 1px solid #F2ECE7; }
.ar-table thead th { border-top: 0; font: 600 13px/1.3 var(--font-sans); color: var(--teal); background: #FCF6F3; }
.ar-table tbody th { font-weight: 600; color: var(--teal); }
.ar-table tbody tr:nth-child(even) td, .ar-table tbody tr:nth-child(even) th { background: #FFFDFB; }
@media (min-width: 768px) { .ar-table table { font-size: 16px; } }

/* styles/pages/blog.css */
/* ===== Blog ===== */
.bl-hero { position: relative; max-width: 1536px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.bl-hero__intro { position: relative; z-index: 2; padding: 34px 20px 26px; display: flex; flex-direction: column; justify-content: center; }
.bl-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.bl-hero__eyebrow .rule { width: 40px; }
.bl-hero__eyebrow .rule--l { width: 68px; }
.bl-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 40px; line-height: 1.06; letter-spacing: -.015em; color: var(--teal); text-wrap: balance; }
.bl-hero h1 em { font-style: italic; color: var(--magenta); }
.bl-hero__intro > p { margin: 16px 0 0; font-size: 16.5px; line-height: 1.65; color: var(--ink); max-width: 520px; text-wrap: pretty; }
.bl-search { margin-top: 26px; max-width: 520px; width: 100%; }
.bl-search__box { display: flex; align-items: center; gap: 8px; height: 64px; padding: 0 8px 0 24px; background: #fff; border-radius: 999px; border: 1.5px solid var(--line); box-shadow: 0 10px 28px rgba(23,63,62,.07); transition: border-color .2s ease-out, box-shadow .2s ease-out; }
.bl-search__box:focus-within { border-color: var(--magenta); box-shadow: 0 0 0 4px rgba(208,53,122,.12), 0 10px 28px rgba(23,63,62,.08); }
.bl-search__box > svg { flex-shrink: 0; }
.bl-search input { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; background: transparent; font: 400 16px/20px var(--font-sans); color: var(--teal); -webkit-appearance: none; appearance: none; }
.bl-search input::-webkit-search-cancel-button { display: none; }
.bl-search__clear { width: 36px; height: 36px; flex-shrink: 0; border: 0; border-radius: 999px; background: var(--cream); color: var(--ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.bl-search__clear:hover { background: var(--line); }
.bl-search__go { width: 48px; height: 48px; flex-shrink: 0; border: 0; border-radius: 999px; background: var(--magenta-strong); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 12px rgba(208,53,122,.22); transition: background .18s ease-out, transform .18s ease-out; }
.bl-search__go:hover { background: var(--magenta-600); }
.bl-search__go:active { transform: scale(.96); }
.bl-hero__photo { position: relative; padding: 0 20px; }
.bl-hero__sage { position: absolute; left: 0; top: -30px; width: 58%; height: auto; opacity: .9; pointer-events: none; z-index: 0; }
.bl-hero__media { position: relative; height: 280px; overflow: hidden; border-radius: 96px 22px 22px 22px; z-index: 1; box-shadow: 0 18px 44px rgba(23,63,62,.10); }
.bl-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% 45%; }

.bl-list { max-width: 1536px; margin: 0 auto; padding: 40px 20px 64px; } /* bottom space: the newsletter section after it was removed */
.bl-pills { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; flex-wrap: nowrap; margin: 0 -20px 32px; padding: 2px 20px 6px; scroll-padding-inline: 20px; }
.bl-pills::-webkit-scrollbar { display: none; }
.bl-pill { flex-shrink: 0; display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 22px 0 16px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; color: var(--teal); font: 400 15px/20px var(--font-sans); white-space: nowrap; cursor: pointer; box-shadow: 0 2px 8px rgba(23,63,62,.04); transition: background .2s ease-out, color .2s ease-out, border-color .2s ease-out; }
.bl-pill:hover { border-color: var(--magenta); }
.bl-pill.is-on { background: var(--magenta-strong); color: #fff; border-color: var(--magenta-strong); font-weight: 500; box-shadow: 0 6px 16px rgba(208,53,122,.22); }
.bl-pill__ico { width: 20px; height: 20px; flex-shrink: 0; background: var(--green); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.bl-pill.is-on .bl-pill__ico { background: #fff; }

.bl-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.bl-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: 0 2px 10px rgba(23,63,62,.03); transition: box-shadow .25s ease-out, border-color .25s ease-out, transform .25s var(--ease); }
.bl-card:hover { box-shadow: 0 18px 40px rgba(23,63,62,.09); border-color: #F1D4E0; transform: translateY(-3px); }
.bl-card__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--cream); }
.bl-card__img img { width: 100%; height: 100%; object-fit: cover; }
.bl-card__body { position: relative; display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 22px 20px 8px; }
.bl-card__cat { position: absolute; top: -15px; left: 20px; display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 999px; background: #fff; box-shadow: 0 4px 14px rgba(23,63,62,.10); font: 500 11.5px/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--teal); }
.bl-card h3 { margin: 10px 0 0; font: 500 22px/1.22 var(--font-serif); letter-spacing: -.005em; color: var(--teal); text-wrap: balance; }
.bl-card h3 a { color: var(--teal); }
.bl-card h3 a:hover { color: var(--magenta-600); }
.bl-card__body > p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.bl-card__meta { margin-top: auto; padding-top: 14px; border-top: 1px solid #F3F0EC; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; font-size: 13.5px; line-height: 20px; color: var(--muted); min-height: 58px; }
.bl-card__meta > span { display: flex; align-items: center; gap: 6px; }
.bl-card__more { margin-left: auto; display: flex; align-items: center; gap: 6px; min-height: 44px; font: 500 14px/20px var(--font-sans); color: var(--magenta-600); }
.bl-card__meta .bl-card__soon { margin-left: auto; min-height: 44px; }

.bl-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 64px 24px; border-radius: 24px; background: var(--cream); }
.bl-empty h3 { margin: 0; font: 500 26px/1.2 var(--font-serif); color: var(--teal); }
.bl-empty p { margin: 0; font-size: 15.5px; line-height: 1.6; max-width: 420px; }
.bl-empty button { margin-top: 8px; height: 48px; padding: 0 24px; border-radius: 999px; border: 1.5px solid var(--magenta); background: #fff; color: var(--magenta-600); font: 500 15px/20px var(--font-sans); cursor: pointer; }
.bl-empty button:hover { background: var(--blush); }

.bl-pager { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 40px; }
.bl-pager__btn { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid var(--line-2); background: #fff; color: var(--teal); display: flex; align-items: center; justify-content: center; cursor: pointer; font: 500 15px/1 var(--font-sans); font-variant-numeric: tabular-nums; transition: border-color .18s ease-out, background .18s ease-out; }
.bl-pager__btn.is-off { opacity: .4; cursor: default; }
a.bl-pager__btn { text-decoration: none; }
a.bl-pager__btn:hover { border-color: var(--magenta); color: var(--magenta-600); }
.bl-pager__btn.is-on { background: var(--magenta-strong); color: #fff; border-color: var(--magenta-strong); box-shadow: 0 6px 16px rgba(208,53,122,.22); cursor: default; }

@media (max-width: 479.98px) {
  .bl-hero h1 { font-size: 36px; }
  .bl-hero__media { height: 240px; }
}
@media (min-width: 768px) {
  .bl-hero__intro { padding: 52px 40px 36px; }
  .bl-hero h1 { font-size: 52px; }
  .bl-hero__intro > p { font-size: 18px; }
  .bl-hero__photo { padding: 0 40px; }
  .bl-hero__sage { width: 44%; }
  .bl-hero__media { height: 400px; border-radius: 160px 28px 28px 28px; }
  .bl-list { padding: 56px 40px 88px; }
  .bl-pills { gap: 12px; margin: 0 -40px 40px; padding: 2px 40px 6px; }
  .bl-pill { height: 50px; }
  .bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .bl-card__body { padding: 24px 24px 8px; }
  .bl-card__cat { left: 24px; }
  .bl-pager { gap: 8px; margin-top: 56px; }
}
@media (min-width: 1100px) {
  .bl-hero { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); }
  .bl-hero__intro { padding: 64px 40px 72px var(--pad-bleed); }
  .bl-hero__eyebrow { margin-bottom: 26px; }
  .bl-hero h1 { font-size: clamp(46px, 4vw, 62px); }
  .bl-hero__intro > p { margin-top: 22px; }
  .bl-search { margin-top: 36px; }
  .bl-hero__photo { min-height: 540px; padding: 0; }
  .bl-hero__sage { left: -8%; width: 40%; }
  .bl-hero__media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100%; border-radius: 34% 0 0 34% / 50% 0 0 50%; box-shadow: none; }
  .bl-hero__media img { object-position: 62% 45%; }
  .bl-list { padding: 72px var(--pad-wide) 112px; }
  .bl-pills { flex-wrap: wrap; margin: 0 0 48px; padding: 2px 0; }
  .bl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
  .bl-card h3 { font-size: 23px; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .bl-hero { max-width: none; } }

/* styles/pages/contact.css */
/* ===== Contact ===== (hero splits at 1024px, form + panel side by side at 1200px) */
.ct-hero { position: relative; max-width: 1536px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.ct-hero__intro { position: relative; z-index: 2; padding: 34px 20px 26px; display: flex; flex-direction: column; justify-content: center; }
.ct-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.ct-hero__eyebrow .rule--r { width: 40px; transform-origin: right center; }
.ct-hero__eyebrow .rule--l { width: 68px; transform-origin: left center; }
.ct-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 46px; line-height: 1.06; letter-spacing: -.015em; color: var(--teal); }
.ct-hero h1 span { display: block; }
.ct-hero h1 .accent, .ct-panel h2 .accent { font-style: italic; color: var(--magenta); }
.ct-hero__sub { margin: 18px 0 0; font: 500 20px/1.35 var(--font-serif); color: var(--teal); max-width: 540px; text-wrap: pretty; }
.ct-hero__body { margin: 12px 0 0; font-size: 16.5px; line-height: 1.65; color: var(--ink); max-width: 520px; text-wrap: pretty; }
.ct-hero__ben { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 14px; max-width: 560px; }
.ct-hero__ben li { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; font-size: 13.5px; line-height: 1.35; color: var(--teal); }
.ct-hero__bico { width: 48px; height: 48px; flex-shrink: 0; border-radius: 999px; background: #fff; border: 1px solid #F3DDE6; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(184,42,104,.06); }
.ct-hero__photo { position: relative; padding: 0 20px; }
.ct-hero__sage { position: absolute; left: 0; top: -30px; width: 58%; height: auto; opacity: .9; pointer-events: none; z-index: 0; }
.ct-hero__media { position: relative; height: 300px; overflow: hidden; border-radius: 96px 22px 22px 22px; z-index: 1; box-shadow: 0 18px 44px rgba(23,63,62,.10); }
.ct-hero__img { position: absolute; inset: 0; }

.ct-main { max-width: 1536px; margin: 0 auto; padding: 44px 16px 0; }
.ct-main__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.ct-panel { position: relative; border-radius: 28px; background: linear-gradient(170deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); overflow: hidden; }
.ct-panel__sprig1 { position: absolute; right: -18px; top: -22px; width: 92px; height: auto; opacity: .38; transform: rotate(200deg); pointer-events: none; }
.ct-panel__sprig2 { position: absolute; left: -26px; top: 60%; width: 84px; height: auto; opacity: .28; transform: rotate(20deg); pointer-events: none; }
.ct-panel__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 30px 20px 20px; align-items: start; }
.ct-panel__text { min-width: 0; }
.ct-panel h2 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 40px; line-height: 1.06; letter-spacing: -.01em; color: var(--teal); }
.ct-panel h2 span { display: block; }
.ct-panel__text > p { margin: 16px 0 0; font-size: 16px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.ct-panel__text ul { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.ct-panel__text li { display: flex; align-items: flex-start; gap: 16px; }
.ct-panel__ico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(23,63,62,.06); }
.ct-panel__text li > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 3px; }
.ct-panel__text h3 { margin: 0; font: 500 17px/1.3 var(--font-sans); color: var(--teal); }
.ct-panel__text li p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink); text-wrap: pretty; }
.ct-panel__visual { position: relative; min-width: 0; }
.ct-panel__img { position: relative; height: 260px; border-radius: 20px 20px 20px 90px; overflow: hidden; }

.ct-help { display: flex; flex-direction: column; gap: 14px; background: #fff; }
.ct-help--panel { display: none; position: relative; margin: -72px 14px 0; padding: 20px 20px 18px; border-radius: 22px; box-shadow: 0 18px 40px rgba(23,63,62,.14); gap: 16px; }
.ct-help--after { padding: 18px; border: 1px solid var(--line); border-radius: 20px; box-shadow: 0 10px 26px rgba(23,63,62,.07); }
.ct-help__head { display: flex; align-items: flex-start; gap: 14px; }
.ct-help__ico { width: 48px; height: 48px; flex-shrink: 0; border-radius: 999px; background: var(--sage); display: flex; align-items: center; justify-content: center; }
.ct-help__head > div { min-width: 0; }
.ct-help h3 { margin: 0; font: 500 20px/1.2 var(--font-serif); color: var(--teal); }
.ct-help__head p { margin: 4px 0 0; font-size: 14.5px; line-height: 1.5; color: var(--ink); text-wrap: pretty; }
.ct-help__btn { display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 20px; background: var(--green); color: #fff; border-radius: 999px; font: 500 15.5px/20px var(--font-sans); touch-action: manipulation; box-shadow: 0 4px 14px rgba(53,122,51,.18); transition: background .22s ease-out, box-shadow .22s ease-out, transform .22s var(--ease); }
.ct-help__btn svg { flex-shrink: 0; }
.ct-help__btn:hover { background: var(--green-600); color: #fff; box-shadow: 0 8px 20px rgba(53,122,51,.26); transform: translateY(-2px); }
.ct-help__btn:active { background: var(--green-700); transform: scale(.98); }

.ct-formcol { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.ct-card { position: relative; background: #fff; border: 1px solid #F1ECE6; border-radius: 24px; box-shadow: 0 24px 60px rgba(23,63,62,.08), 0 2px 8px rgba(23,63,62,.03); padding: 24px 18px 28px; scroll-margin-top: 110px; }
.ct-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; padding-bottom: 20px; margin-bottom: 26px; border-bottom: 1px solid #F3EEE9; }
.ct-card__title { display: flex; align-items: center; gap: 16px; min-width: 0; }
.ct-card__tico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 18px; background: var(--blush); display: flex; align-items: center; justify-content: center; }
.ct-card h2 { margin: 0; font: 500 28px/1.1 var(--font-serif); letter-spacing: -.01em; color: var(--teal); }
.ct-card__head > p { margin: 0; display: flex; align-items: center; gap: 10px; font-size: 15px; line-height: 1.4; color: var(--ink); }

.ct-form { display: flex; flex-direction: column; gap: 28px; }
.ct-form__note { margin: -8px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.ct-req { color: var(--magenta); }
.ct-opt { font: 400 14px/1 var(--font-sans); color: var(--muted); }
.ct-step { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 14px; }
.ct-num { width: 30px; height: 30px; border-radius: 999px; background: var(--blush); color: var(--magenta-strong); display: flex; align-items: center; justify-content: center; font: 500 14px/1 var(--font-serif); font-variant-numeric: tabular-nums; }
.ct-step__body { min-width: 0; position: relative; }
.ct-label { display: block; padding: 0; margin: 3px 0 12px; font: 500 17.5px/1.35 var(--font-serif); color: var(--teal); outline: none; }
legend.ct-label { margin-bottom: 14px; }
.ct-field { width: 100%; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; font: 400 16px/20px var(--font-sans); color: var(--teal); transition: border-color .18s ease-out, box-shadow .18s ease-out; }
.ct-field:hover { border-color: #CDBFB4; }
.ct-field:focus, .ct-field:focus-visible { outline: none; border-color: var(--magenta); box-shadow: 0 0 0 3px rgba(208,53,122,.14); }
.ct-field[aria-invalid="true"] { border-color: #B3261E; }
.ct-field::placeholder { color: #6A7473; opacity: 1; }
.ct-textarea { display: block; min-height: 128px; resize: vertical; padding: 14px 16px; line-height: 1.55; }
.ct-input { height: 54px; padding: 0 16px; }
.ct-input--num { font-variant-numeric: tabular-nums; min-width: 0; }
.ct-iwrap { position: relative; }
.ct-lead { position: absolute; left: 16px; top: 17px; pointer-events: none; }
.ct-input--lead { padding-left: 48px; }
.ct-select { height: 54px; padding: 0 44px 0 48px; appearance: none; -webkit-appearance: none; cursor: pointer; }
.ct-select.is-empty { color: #6A7473; }
.ct-select option { color: var(--teal); }
.ct-select--euro { padding-left: 70px; }
.ct-euro { position: absolute; left: 1px; top: 1px; bottom: 1px; width: 52px; display: flex; align-items: center; justify-content: center; border-right: 1px solid #EFE7E1; border-radius: 11px 0 0 11px; background: #FBF9F7; font: 500 19px/1 var(--font-serif); color: var(--teal); pointer-events: none; z-index: 1; }
.ct-iwrap .ct-chev { position: absolute; right: 16px; top: 19px; pointer-events: none; z-index: 1; }
.ct-hint { margin: 8px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.ct-err { margin: 8px 0 0; display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.4; color: #B3261E; }
.ct-err svg { flex-shrink: 0; }

.ct-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ct-tile { position: relative; min-height: 104px; padding: 16px 10px 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: #fff; border: 1.5px solid #EDE7E1; border-radius: 16px; cursor: pointer; touch-action: manipulation; box-shadow: 0 2px 8px rgba(23,63,62,.03); font: 400 14.5px/1.3 var(--font-sans); color: var(--teal); text-align: center; transition: border-color .2s ease-out, background .2s ease-out, box-shadow .2s ease-out, transform .2s var(--ease); }
.ct-tile:hover { border-color: #E3A9C1; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(184,42,104,.10); }
.ct-tile:active { transform: scale(.98); }
.ct-tile.is-err { border-color: #E6A6A1; }
.ct-tile.is-on { background: #FFF6F9; border-color: var(--magenta); box-shadow: 0 10px 24px rgba(208,53,122,.14); font-weight: 500; }
.ct-tile.ct-tile--wide { grid-column: 1 / -1; min-height: 72px; flex-direction: row; gap: 12px; }
.ct-tile--wide img { width: 30px; height: 30px; }
.ct-tile__check { position: absolute; top: 8px; right: 8px; width: 20px; height: 20px; border-radius: 999px; background: var(--magenta); display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(.6); transition: opacity .2s ease-out, transform .25s var(--ease); }
.ct-tile.is-on .ct-tile__check { opacity: 1; transform: scale(1); }

.ct-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }

.ct-combo { position: relative; min-width: 0; }
/* The step holding an open country / code list sits above the steps that follow it. */
.has-open-pop { position: relative; z-index: 40; }
.ct-combo.is-open { z-index: 41; }
.ct-combo__btn { position: relative; height: 54px; display: flex; align-items: center; gap: 12px; padding: 0 44px 0 16px; text-align: left; cursor: pointer; }
.ct-combo__text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-combo__text.is-empty { color: #6A7473; }
.ct-combo__btn .ct-chev { position: absolute; right: 16px; top: 19px; transition: transform .2s ease-out; }
.ct-combo.is-open .ct-chev { transform: rotate(180deg); }
.ct-combo__pop { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; background: #fff; border: 1px solid #EFE7E1; border-radius: 16px; box-shadow: 0 22px 50px rgba(23,63,62,.16); padding: 10px; min-width: 260px; }
.ct-combo__search { position: relative; }
.ct-combo__search svg { position: absolute; left: 14px; top: 13px; pointer-events: none; }
.ct-combo__search input { width: 100%; height: 44px; border: 1px solid var(--line-2); border-radius: 10px; background: #FBF9F7; padding: 0 12px 0 40px; font: 400 15px/20px var(--font-sans); color: var(--teal); }
.ct-combo__search input:focus { outline: none; border-color: var(--magenta); background: #fff; box-shadow: 0 0 0 3px rgba(208,53,122,.12); }
.ct-combo ul { list-style: none; margin: 8px 0 0; padding: 0; max-height: 264px; overflow-y: auto; overscroll-behavior: contain; }
.ct-combo li[data-i] { height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 12px; border-radius: 10px; font-size: 15px; color: var(--teal); cursor: pointer; }
.ct-combo li[data-i] > span:first-child { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-combo li .meta { flex-shrink: 0; font-size: 13.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ct-combo[data-combo="code"] li .meta { font-size: 14px; color: var(--ink); }
.ct-combo li.is-sel { background: #FFF8FA; }
.ct-combo li.is-act { background: var(--blush); }
.ct-combo__none { padding: 14px 12px; font-size: 14.5px; color: var(--muted); }
.ct-phone { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 10px; }
.ct-phone .ct-combo__btn { gap: 10px; padding: 0 36px 0 14px; }
.ct-phone .ct-combo__btn .ct-chev { right: 12px; }
.ct-phone .ct-combo__text { font-variant-numeric: tabular-nums; }
.ct-phone .ct-combo__pop { right: auto; width: min(300px, calc(100vw - 96px)); }

.ct-consent { display: flex; align-items: flex-start; gap: 12px; margin-top: 3px; }
.ct-consent input { width: 22px; height: 22px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--magenta); cursor: pointer; }
.ct-consent label { font-size: 15px; line-height: 1.55; color: var(--ink); cursor: pointer; text-wrap: pretty; }
.ct-consent input[aria-invalid="true"] { outline: 2px solid #B3261E; outline-offset: 2px; }
.ct-draft { margin: 10px 0 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--muted); }

.ct-submit { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 6px; }
.ct-submit__btn { width: 100%; height: 58px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; background: var(--magenta-strong); color: #fff; border: 0; border-radius: 999px; font: 500 17px/1.2 var(--font-sans); letter-spacing: .01em; cursor: pointer; touch-action: manipulation; box-shadow: 0 8px 22px rgba(208,53,122,.24); transition: background .22s ease-out, box-shadow .22s ease-out, transform .22s var(--ease); }
.ct-submit__btn svg { flex-shrink: 0; }
.ct-submit__btn:hover { background: var(--magenta-600); box-shadow: 0 12px 28px rgba(184,42,104,.30); transform: translateY(-2px); }
.ct-submit__btn:active { background: var(--magenta-700); transform: scale(.99); }
.ct-submit__note { margin: 0; display: flex; align-items: flex-start; justify-content: center; gap: 8px; font-size: 13.5px; line-height: 1.5; color: var(--ink); text-align: center; max-width: 520px; text-wrap: pretty; }
.ct-submit__note svg { flex-shrink: 0; margin-top: 2px; }
.ct-submit__off { margin: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; font-size: 13px; line-height: 1.45; color: var(--muted); text-align: center; max-width: 520px; }

.ct-confirm { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 16px 4px 8px; outline: none; }
.ct-confirm__badge { position: relative; width: 112px; height: 112px; display: flex; align-items: center; justify-content: center; }
.ct-confirm__badge span:first-child { position: absolute; inset: 0; border-radius: 999px; background: var(--blush); }
.ct-confirm__badge span:nth-child(2) { position: absolute; inset: 14px; border-radius: 999px; background: #fff; box-shadow: 0 10px 26px rgba(184,42,104,.14); }
.ct-confirm__badge svg { position: relative; }
.ct-confirm__div { width: 150px; height: auto; margin: 26px 0 0; opacity: .9; }
.ct-confirm h3 { margin: 20px 0 0; font: 500 32px/1.12 var(--font-serif); letter-spacing: -.01em; color: var(--teal); text-wrap: balance; }
.ct-confirm > p { margin: 14px 0 0; max-width: 470px; font-size: 16.5px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.ct-confirm__wa { margin-top: 22px; padding: 0 26px; }
.ct-confirm__pill { margin: 22px 0 0 !important; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px dashed #D8CFC6; border-radius: 999px; font-size: 13px !important; line-height: 1.4; color: var(--muted) !important; }
.ct-confirm__back { margin-top: 18px; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 999px; background: #fff; border: 1.5px solid var(--magenta); color: var(--magenta-600); font: 500 15px/20px var(--font-sans); cursor: pointer; transition: background .2s ease-out, transform .2s var(--ease); }
.ct-confirm__back:hover { background: #FFF6F9; transform: translateY(-2px); }

.ct-trust { max-width: 1536px; margin: 0 auto; padding: 48px 20px 0; }
.ct-trust ul { list-style: none; margin: 0; padding: 36px 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ct-trust li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.ct-trust__ico { width: 56px; height: 56px; border-radius: 999px; background: var(--blush); display: flex; align-items: center; justify-content: center; }
.ct-trust h3 { margin: 0; font: 500 21px/1.25 var(--font-serif); color: var(--teal); }
.ct-trust p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink); max-width: 340px; text-wrap: pretty; }

.ct-close { max-width: 1536px; margin: 0 auto; padding: 48px 16px 56px; }
.ct-close__panel { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(105deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); padding: 44px 22px; text-align: center; }
.ct-close__sprig1 { position: absolute; right: -20px; bottom: -28px; width: 80px; height: auto; opacity: .5; transform: rotate(14deg) scaleX(-1); pointer-events: none; }
.ct-close__sprig2 { position: absolute; left: -22px; top: -30px; width: 80px; height: auto; opacity: .34; transform: rotate(160deg); pointer-events: none; }
.ct-close__in { position: relative; display: flex; flex-direction: column; align-items: center; }
.ct-close__div { width: 160px; height: auto; }
.ct-close h2 { margin: 22px 0 0; font: 500 34px/1.12 var(--font-serif); letter-spacing: -.01em; color: var(--teal); max-width: 900px; text-wrap: balance; }
.ct-close h2 em { font-style: italic; color: var(--magenta); }
.ct-close p { margin: 16px 0 0; font-size: 16px; line-height: 1.65; color: var(--ink); max-width: 640px; text-wrap: pretty; }

@media (max-width: 479.98px) {
  .ct-hero h1 { font-size: 42px; }
  .ct-hero__media { height: 250px; }
  .ct-panel h2 { font-size: 36px; }
  .ct-close h2 { font-size: 31px; }
  /* Phones: keep "Select a budget range" and the "Code" placeholder fully visible. */
  .ct-select--euro { padding-left: 62px; padding-right: 36px; }
  .ct-euro { width: 46px; }
  .ct-phone .ct-combo__btn { gap: 8px; padding-right: 30px; }
  .ct-phone .ct-combo__btn .ct-chev { right: 10px; }
}
@media (min-width: 480px) { .ct-phone { grid-template-columns: 140px minmax(0, 1fr); } .ct-phone .ct-combo__pop { width: 320px; } }
@media (min-width: 640px) {
  .ct-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ct-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (min-width: 768px) {
  .ct-hero__intro { padding: 52px 40px 36px; }
  .ct-hero h1 { font-size: 58px; }
  .ct-hero__sub { font-size: 23px; }
  .ct-hero__body { font-size: 18px; }
  .ct-hero__ben { margin-top: 30px; gap: 28px; }
  .ct-hero__ben li { flex-direction: row; text-align: left; font-size: 15px; }
  .ct-hero__bico { width: 52px; height: 52px; }
  .ct-hero__photo { padding: 0 40px; }
  .ct-hero__sage { width: 44%; }
  .ct-hero__media { height: 440px; border-radius: 160px 28px 28px 28px; }
  .ct-main { padding: 64px 40px 0; }
  .ct-main__grid { gap: 32px; }
  .ct-panel__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; padding: 40px 36px 36px; }
  .ct-panel h2 { font-size: 46px; }
  .ct-panel__text > p { font-size: 16.5px; }
  .ct-panel__text ul { margin-top: 30px; }
  .ct-panel__img { height: 420px; }
  .ct-help--panel { display: flex; }
  .ct-help--panel h3 { font-size: 22px; }
  .ct-help--panel .ct-help__ico { width: 52px; height: 52px; }
  .ct-help--panel .ct-help__btn { height: 50px; font-size: 16px; }
  .ct-help--after { display: none; }
  .ct-formcol { gap: 0; }
  .ct-card { border-radius: 30px; padding: 40px; }
  .ct-card__head { padding-bottom: 26px; margin-bottom: 34px; }
  .ct-card__tico { width: 60px; height: 60px; }
  .ct-card h2 { font-size: 36px; }
  .ct-form { gap: 34px; }
  .ct-label { font-size: 19px; }
  .ct-tile { min-height: 112px; }
  .ct-submit__btn { height: 62px; font-size: 18px; }
  .ct-confirm { padding: 28px 20px 20px; }
  .ct-confirm h3 { font-size: 42px; }
  .ct-confirm > p { font-size: 18px; }
  .ct-trust { padding: 64px 40px 0; }
  .ct-trust ul { padding: 48px 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 64px); }
  .ct-trust li { align-items: flex-start; text-align: left; }
  .ct-close { padding: 64px 40px 72px; }
  .ct-close__panel { border-radius: 34px; padding: 60px 48px; }
  .ct-close h2 { font-size: 42px; }
  .ct-close p { font-size: 18px; }
}
@media (min-width: 1024px) {
  .ct-hero { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); }
  .ct-hero__intro { padding: 64px 40px 72px var(--pad-bleed); }
  .ct-hero__eyebrow { margin-bottom: 26px; }
  .ct-hero h1 { font-size: clamp(48px, 4.4vw, 70px); }
  .ct-hero__sub { margin-top: 24px; font-size: clamp(21px, 1.7vw, 25px); }
  .ct-hero__body { margin-top: 16px; }
  .ct-hero__ben { margin-top: 34px; }
  .ct-hero__photo { min-height: 620px; padding: 0; }
  .ct-hero__sage { left: -8%; width: 40%; }
  .ct-hero__media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100%; border-radius: 34% 0 0 34% / 50% 0 0 50%; box-shadow: none; }
}
@media (min-width: 1200px) {
  .ct-main { padding: 96px var(--pad-wide) 0; }
  .ct-main__grid { grid-template-columns: minmax(330px, 400px) minmax(0, 1fr); gap: clamp(32px, 3vw, 48px); }
  .ct-panel__grid { grid-template-columns: minmax(0, 1fr); gap: 34px; padding: 40px 26px 26px; }
  .ct-panel__sprig2 { top: 44%; }
  .ct-panel__img { height: 400px; }
  .ct-card { padding: clamp(28px, 2.6vw, 44px); }
  .ct-card h2 { font-size: clamp(30px, 2.4vw, 38px); }
  .ct-trust { padding: 96px var(--pad-wide) 0; }
  .ct-close { padding: 88px var(--pad-wide) 96px; }
  .ct-close__panel { padding: 72px 64px; }
  .ct-close__sprig1 { right: 28px; width: 110px; }
  .ct-close__sprig2 { width: 110px; }
  .ct-close h2 { font-size: clamp(38px, 3.2vw, 50px); }
}

/* Spam trap: hidden from people and assistive tech, left empty by real visitors. */
.ct-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.ct-consent label a { color: var(--magenta-600); text-decoration: underline; text-underline-offset: 3px; }
.ct-send-err { margin: 0; width: 100%; display: flex; align-items: flex-start; gap: 8px; padding: 12px 14px; border-radius: 12px; background: #FDF1F0; font-size: 14px; line-height: 1.5; color: #B3261E; }
.ct-send-err svg { flex-shrink: 0; margin-top: 2px; }
.ct-send-err a { color: #B3261E; text-decoration: underline; }
.ct-submit__btn[aria-busy="true"] { opacity: .75; cursor: progress; }
.ct-submit__btn[aria-busy="true"] svg { display: none; }

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .ct-hero { max-width: none; } }

/* 07 · Medical reports / photos upload (approved design; shown only when uploads are on) */
.ct-files__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ct-files__drop { width: 100%; min-height: 120px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 18px 20px; background: #FFFBFC; border: 1.5px dashed #E8C6D4; border-radius: 16px; cursor: pointer; touch-action: manipulation; text-align: center; font: inherit; color: inherit; transition: background .2s ease-out, border-color .2s ease-out; }
.ct-files__drop:hover { background: #FFF6F9; border-color: #E3A9C1; }
.ct-files__drop:active, .ct-files__drop.is-drag { background: #FBEFF3; }
.ct-files__drop.is-drag { border-color: #D0357A; }
.ct-files__drop:focus-visible { outline: none; border-color: #D0357A; box-shadow: 0 0 0 3px rgba(208,53,122,.14); }
.ct-files__ico { width: 48px; height: 48px; flex-shrink: 0; border-radius: 999px; background: #FFFFFF; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(184,42,104,.10); color: #D0357A; }
.ct-files__txt { display: flex; flex-direction: column; gap: 4px; }
.ct-files__t { font: 500 16px/1.3 var(--font-sans); color: #173F3E; }
.ct-files__hint { font-size: 13.5px; line-height: 1.4; color: #66706F; }
.ct-files__list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ct-files__list li { display: flex; align-items: center; gap: 12px; padding: 6px 6px 6px 14px; border: 1px solid #EFE7E1; border-radius: 12px; background: #FBF9F7; }
.ct-files__list svg { flex-shrink: 0; }
.ct-files__name { flex: 1; min-width: 0; font-size: 14.5px; color: #173F3E; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-files__size { flex-shrink: 0; font-size: 13px; color: #66706F; }
.ct-files__rm { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: #3F4B4B; cursor: pointer; transition: background .18s ease-out; }
.ct-files__rm:hover { background: #FBEFF3; color: #B82A68; }
.ct-files__rm:focus-visible { outline: none; box-shadow: 0 0 0 2px #173F3E; }
.ct-files__note { margin: 10px 0 0; display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.45; color: #B3261E; }
.ct-files__note svg { flex-shrink: 0; margin-top: 2px; }
@media (min-width: 768px) {
  .ct-files__drop { min-height: 96px; flex-direction: row; text-align: left; }
}

.ct-other { margin-top: 10px; }
.ct-other[hidden] { display: none; }

/* styles/pages/faq.css */
/* ===== FAQ ===== */
.fq-hero { position: relative; max-width: 1536px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.fq-hero__intro { position: relative; z-index: 2; padding: 34px 20px 26px; display: flex; flex-direction: column; justify-content: center; }
.fq-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.fq-hero__eyebrow .rule--r { width: 40px; transform-origin: right center; }
.fq-hero__eyebrow .rule--l { width: 68px; transform-origin: left center; }
.fq-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 44px; line-height: 1.06; letter-spacing: -.015em; color: var(--teal); }
.fq-hero h1 span { display: block; }
.fq-hero h1 .accent { font-style: italic; color: var(--magenta); }
.fq-hero__sub { margin: 20px 0 0; font: 500 20px/1.35 var(--font-serif); color: var(--teal); max-width: 560px; text-wrap: pretty; }
.fq-hero__body { margin: 12px 0 0; font-size: 16.5px; line-height: 1.65; color: var(--ink); max-width: 520px; text-wrap: pretty; }
.fq-hero__photo { position: relative; padding: 0 20px; }
.fq-hero__sage { position: absolute; left: 0; top: -30px; width: 58%; height: auto; opacity: .9; pointer-events: none; z-index: 0; }
.fq-hero__media { position: relative; height: 300px; overflow: hidden; border-radius: 96px 22px 22px 22px; z-index: 1; box-shadow: 0 18px 44px rgba(23,63,62,.10); }
.fq-hero__img { position: absolute; inset: 0; }
.fq-hero__script { position: relative; z-index: 3; margin: 18px 0 0; font-size: 30px; line-height: 1.02; color: var(--teal); display: flex; flex-direction: column; align-items: center; white-space: nowrap; text-shadow: 0 0 14px rgba(255,253,251,.95), 0 0 4px rgba(255,253,251,.9); }
.fq-hero__script span { display: flex; align-items: center; gap: .25em; transform: rotate(-6deg); }
.fq-hero__script img { width: .7em; height: auto; }

.fq-main { max-width: 1536px; margin: 0 auto; padding: 44px 16px 0; }
.fq-main__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.fq-aside { position: relative; top: 116px; top: auto; border-radius: 28px; background: linear-gradient(170deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); overflow: hidden; }
.fq-aside__sprig { position: absolute; right: -18px; top: -22px; width: 86px; height: auto; opacity: .35; transform: rotate(200deg); pointer-events: none; }
.fq-aside ul { position: relative; list-style: none; margin: 0; padding: 26px 22px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.fq-aside li { display: flex; align-items: flex-start; gap: 16px; }
.fq-aside__ico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(23,63,62,.06); }
.fq-aside li > div { min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 3px; }
.fq-aside h3 { margin: 0; font: 500 17px/1.3 var(--font-sans); color: var(--teal); }
.fq-aside p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink); text-wrap: pretty; }
.fq-aside__photo { display: none; position: relative; margin: 0 14px 14px; height: 260px; border-radius: 20px 20px 20px 90px; overflow: hidden; }

.fq-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fq-item { border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 10px rgba(23,63,62,.03); transition: border-color .3s ease-out, box-shadow .3s ease-out; }
.fq-item.is-open { border-color: #F1D4E0; box-shadow: 0 14px 34px rgba(184,42,104,.08); }
.fq-item h3 { margin: 0; }
.fq-item button { width: 100%; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 14px 14px 14px 16px; background: transparent; border: 0; border-radius: 18px; text-align: left; cursor: pointer; color: var(--teal); touch-action: manipulation; transition: background .2s ease-out; }
.fq-item button:hover { background: #FFFAFB; }
.fq-num { flex-shrink: 0; width: 26px; font: 500 18px/1 var(--font-serif); color: var(--magenta-strong); font-variant-numeric: tabular-nums; }
.fq-sep { flex-shrink: 0; width: 1px; height: 24px; background: #EBCFDA; }
.fq-q { flex: 1; min-width: 0; font: 500 17px/1.35 var(--font-serif); color: var(--teal); text-wrap: pretty; overflow-wrap: anywhere; }
.fq-ico { position: relative; flex-shrink: 0; width: 36px; height: 36px; border-radius: 999px; background: var(--blush); color: var(--magenta); transition: background .3s ease-out, color .3s ease-out; }
.fq-ico .h { position: absolute; left: 11px; right: 11px; top: 17px; height: 2px; border-radius: 2px; background: currentColor; }
.fq-ico .v { position: absolute; top: 11px; bottom: 11px; left: 17px; width: 2px; border-radius: 2px; background: currentColor; transition: transform .32s var(--ease); }
.is-open .fq-ico { background: var(--magenta); color: #fff; }
.is-open .fq-ico .v { transform: scaleY(0); }
.fq-a { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows .3s cubic-bezier(.4,0,.2,1), visibility 0s .3s; }
.is-open .fq-a { grid-template-rows: 1fr; visibility: visible; transition: grid-template-rows .42s var(--ease), visibility 0s; }
.fq-a__clip { min-height: 0; overflow: hidden; }
.fq-a__in { padding: 0 18px 22px 16px; opacity: 0; transform: translateY(-6px); transition: opacity .18s ease-in, transform .2s ease-in; }
.is-open .fq-a__in { opacity: 1; transform: translateY(0); transition: opacity .34s ease-out .08s, transform .42s var(--ease) .04s; }
.fq-a__in p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--ink); max-width: 700px; text-wrap: pretty; }
.fq-a__cta { margin-top: 20px; display: flex; }
.fq-cta { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 22px 0 24px; border-radius: 999px; border: 1.5px solid var(--magenta); font: 500 15px/20px var(--font-sans); touch-action: manipulation; transition: background .22s ease-out, box-shadow .22s ease-out, transform .22s var(--ease); }
.fq-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(23,63,62,.12); }
.fq-cta:active { transform: scale(.98); }
.fq-cta--journey { background: var(--magenta-strong); color: #fff; }
.fq-cta--journey:hover, .fq-cta--wa:hover { color: #fff; }
.fq-cta--services { background: #fff; color: var(--magenta-600); }
.fq-cta--wa { background: var(--green); border-color: var(--green); color: #fff; }

.fq-cta__panel { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(105deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); padding: 40px 22px; }
.fq-still { max-width: 1536px; margin: 0 auto; padding: 48px 16px 56px; }
.fq-cta__sprig1 { position: absolute; right: -20px; bottom: -28px; width: 80px; height: auto; opacity: .5; transform: rotate(14deg) scaleX(-1); pointer-events: none; }
.fq-cta__sprig2 { position: absolute; left: -22px; top: -30px; width: 84px; height: auto; opacity: .3; transform: rotate(160deg); pointer-events: none; }
.fq-cta__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: center; justify-items: center; text-align: center; }
.fq-cta__ico { width: 68px; height: 68px; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(23,63,62,.08); }
.fq-cta__ico img { width: 32px; height: 32px; }
.fq-cta__text { min-width: 0; }
.fq-cta__text h2 { margin: 0; font: 500 36px/1.1 var(--font-serif); letter-spacing: -.01em; color: var(--teal); }
.fq-cta__text em { font-style: italic; color: var(--magenta); }
.fq-cta__text p { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink); }
.fq-cta__act { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; }
.fq-cta__label { font: 500 13px/16px var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--magenta-600); }
.fq-cta__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; height: 56px; padding: 0 30px 0 26px; width: 100%; background: var(--green); color: #fff; border-radius: 999px; font: 500 17px/20px var(--font-sans); letter-spacing: .01em; touch-action: manipulation; box-shadow: 0 4px 14px rgba(53,122,51,.18); transition: background .22s ease-out, box-shadow .22s ease-out, transform .22s var(--ease); }
.fq-cta__btn svg { flex-shrink: 0; }
.fq-cta__btn:hover { background: var(--green-600); color: #fff; box-shadow: 0 8px 20px rgba(53,122,51,.26); transform: translateY(-2px); }
.fq-cta__btn:active { background: var(--green-700); transform: scale(.98); }

@media (max-width: 479.98px) {
  .fq-hero h1 { font-size: 40px; }
  .fq-hero__media { height: 260px; }
  .fq-cta__text h2 { font-size: 34px; }
}
@media (min-width: 768px) {
  .fq-hero__intro { padding: 52px 40px 36px; }
  .fq-hero h1 { font-size: 56px; }
  .fq-hero__sub { font-size: 23px; }
  .fq-hero__body { font-size: 18px; }
  .fq-hero__photo { padding: 0 40px; }
  .fq-hero__sage { width: 44%; }
  .fq-hero__media { height: 440px; border-radius: 160px 28px 28px 28px; }
  .fq-hero__script { margin-top: 24px; font-size: 36px; }
  .fq-main { padding: 64px 40px 0; }
  .fq-main__grid { gap: 36px; }
  .fq-aside ul { padding: 32px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 28px; }
  .fq-list { gap: 12px; }
  .fq-item button { gap: 18px; min-height: 76px; padding: 16px 20px 16px 26px; }
  .fq-num { width: 32px; font-size: 22px; }
  .fq-q { font-size: 19px; }
  .fq-a__in { padding: 2px 72px 26px 95px; }
  .fq-a__in p { font-size: 16px; }
  .fq-still { padding: 64px 40px 72px; }
  .fq-cta__panel { border-radius: 34px; padding: 52px 48px; }
  .fq-cta__ico { width: 84px; height: 84px; }
  .fq-cta__ico img { width: 40px; height: 40px; }
  .fq-cta__text h2 { font-size: 44px; }
  .fq-cta__text p { font-size: 18px; }
  .fq-cta__act { width: auto; }
  .fq-cta__btn { width: auto; }
}
@media (min-width: 1100px) {
  .fq-hero { grid-template-columns: minmax(0, 47fr) minmax(0, 53fr); }
  .fq-hero__intro { padding: 64px 40px 72px var(--pad-bleed); }
  .fq-hero__eyebrow { margin-bottom: 26px; }
  .fq-hero h1 { font-size: clamp(48px, 4.2vw, 66px); }
  .fq-hero__sub { margin-top: 26px; font-size: 24px; }
  .fq-hero__body { margin-top: 16px; }
  .fq-hero__photo { min-height: 560px; padding: 0; }
  .fq-hero__sage { left: -8%; width: 40%; }
  .fq-hero__media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100%; border-radius: 34% 0 0 34% / 50% 0 0 50%; box-shadow: none; }
  .fq-hero__script { position: absolute; left: -4%; bottom: 36px; margin: 0; font-size: clamp(32px, 2.6vw, 42px); align-items: flex-start; }
  .fq-hero__script .l2 { padding-left: 1.2em; }
  .fq-main { padding: 88px var(--pad-wide) 0; }
  .fq-main__grid { grid-template-columns: minmax(300px, 356px) minmax(0, 1fr); gap: clamp(36px, 3.6vw, 56px); }
  .fq-aside { position: sticky; top: 116px; }
  .fq-aside ul { padding: 36px 30px 30px; grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .fq-aside__photo { display: block; }
  .fq-q { font-size: 20px; }
  .fq-still { padding: 88px var(--pad-wide) 96px; }
  .fq-cta__panel { padding: 52px 64px; }
  .fq-cta__sprig1 { right: 28px; width: 110px; }
  .fq-cta__grid { grid-template-columns: auto minmax(0, 1fr) auto; gap: 32px; justify-items: flex-start; text-align: left; }
  .fq-cta__text h2 { font-size: clamp(38px, 3.2vw, 50px); }
  .fq-cta__act { align-items: flex-start; padding-left: 40px; border-left: 1px solid #EBCFDA; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .fq-hero { max-width: none; } }

/* Closing line (client reference): centered message above the Istanbul band of the footer. */
.fq-close { max-width: 1536px; margin: 0 auto; padding: 8px 20px 56px; text-align: center; }
.fq-close__in { position: relative; display: flex; flex-direction: column; align-items: center; }
.fq-close__div { width: 150px; height: auto; }
.fq-close h2 { margin: 20px 0 0; font: 500 32px/1.14 var(--font-serif); letter-spacing: -.01em; color: var(--teal); max-width: 900px; text-wrap: balance; }
.fq-close h2 em { font-style: normal; color: var(--magenta); }
.fq-close p:not(.fq-close__script) { margin: 14px 0 0; font-size: 16px; line-height: 1.65; color: var(--ink); max-width: 620px; text-wrap: pretty; }
.fq-close__script { display: none; }
@media (min-width: 768px) {
  .fq-close { padding: 8px 40px 72px; }
  .fq-close h2 { font-size: 40px; }
  .fq-close p:not(.fq-close__script) { font-size: 17.5px; }
}
@media (min-width: 1100px) {
  .fq-close { padding: 8px var(--pad-wide) 88px; }
  .fq-close h2 { font-size: clamp(38px, 3vw, 46px); }
  .fq-close__script { position: absolute; left: 0; top: 50%; margin: 0; display: flex; flex-direction: column; align-items: flex-start; font-size: clamp(34px, 2.6vw, 42px); line-height: .95; color: var(--teal); transform: translateY(-40%) rotate(-10deg); white-space: nowrap; }
  .fq-close__script .l2 { padding-left: .5em; }
  .fq-close__script .l3 { padding-left: 1em; display: flex; align-items: center; gap: .2em; }
  .fq-close__script img { width: .6em; height: auto; }
}

/* styles/pages/home.css */
/* ===== Home ===== (layout switches at 1024px "wide", 768px tablet, 480px narrow) */
.page-home { --h-padx: 20px; }
@media (min-width: 768px) { .page-home { --h-padx: 40px; } }
@media (min-width: 1100px) { .page-home { --h-padx: clamp(32px, 6.8vw, 104px); } }

/* Hero slider */
.hero { position: relative; max-width: 1920px; margin: 0 auto; display: grid; background: var(--page); overflow: hidden; }
.hero-slide { grid-area: 1 / 1; position: relative; display: flex; flex-direction: column; min-height: auto; opacity: 0; visibility: hidden; z-index: 1; transition: opacity .6s ease-in, visibility 0s .6s; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 2; transition: opacity .8s var(--ease), visibility 0s; }
.hero-slide__media { position: relative; right: 0; top: 0; bottom: 0; width: 100%; height: 320px; -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 100%); mask-image: linear-gradient(180deg, #000 62%, transparent 100%); }
.hero-slide__media img { width: 100%; height: 100%; object-fit: cover; }
.hero-slide__media--0 img { object-position: 52% 35%; }
.hero-slide__media--1 img { object-position: 70% 50%; }
.hero-slide__text { position: relative; z-index: 2; flex: none; display: flex; flex-direction: column; justify-content: center; padding: 0 20px 40px; max-width: none; margin-top: -36px; }
.hero-slide__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.hero-slide__eyebrow .rule { width: 72px; }
.hero-slide__title { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 40px; line-height: 1.06; letter-spacing: -.015em; color: var(--teal); }
.tw-line { display: block; }
.tw-accent { font-style: italic; color: var(--magenta); }
[data-tw-t] { border-right: .055em solid transparent; margin-right: -.055em; }
.hero-slide__body [data-tw-t] { border-right-width: 2px; margin-right: -2px; }
.tw-rest { visibility: hidden; }
.hero-slide__body { margin: 18px 0 28px; font-size: 16px; line-height: 1.62; color: var(--ink); max-width: 520px; }
.hero-slide__btns { display: flex; flex-direction: column; flex-wrap: wrap; gap: 14px; }
.hero-ctrl { position: absolute; z-index: 5; right: var(--h-padx); top: calc(320px - 100px); display: flex; align-items: center; gap: 2px; padding: 4px; background: rgba(255,255,255,.94); border-radius: 999px; box-shadow: 0 8px 24px rgba(23,63,62,.12); }
.hero-ctrl__btn { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 0; background: transparent; border-radius: 999px; color: var(--teal); cursor: pointer; transition: background .18s ease-out; }
.hero-ctrl__btn:hover { background: var(--blush); }
.hero-ctrl__btn:focus-visible { box-shadow: inset 0 0 0 2px var(--teal); }
.hero-ctrl__pause { border-left: 1px solid var(--line); border-radius: 0 999px 999px 0; }
.hero-ctrl__pause .i-play { display: none; }
.hero.is-paused .hero-ctrl__pause .i-play { display: block; }
.hero.is-paused .hero-ctrl__pause .i-pause { display: none; }
.hero-ctrl__dots { display: flex; align-items: center; gap: 10px; padding: 0 6px; }
.hero-ctrl__dots button { height: 44px; padding: 0 2px; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; }
.hero-ctrl__count { font: 500 14px/1 var(--font-sans); color: var(--teal); font-variant-numeric: tabular-nums; }
.hero-ctrl__total { font: 400 14px/1 var(--font-sans); color: var(--muted); }
.hero-ctrl__dot { display: block; width: 18px; height: 3px; border-radius: 3px; background: #D9D4CE; transition: width .35s var(--ease), background .35s ease-out; }
.hero-ctrl__dot.is-on { width: 40px; background: var(--magenta); }

@media (max-width: 479.98px) {
  .hero-slide__media { height: 280px; }
  .hero-ctrl { top: calc(280px - 100px); }
  .hero-slide__title { font-size: 36px; }
}
@media (min-width: 768px) {
  .hero-slide__media { height: 440px; }
  .hero-ctrl { top: calc(440px - 100px); }
  .hero-slide__text { padding: 0 40px 48px; max-width: 680px; }
  .hero-slide__title { font-size: 52px; }
  .hero-slide__body { font-size: 18px; }
  .hero-slide__btns { flex-direction: row; }
}
@media (min-width: 1024px) {
  .hero-slide { flex-direction: row; min-height: clamp(620px, calc(100vh - 91px), 760px); }
  .hero-slide__media { position: absolute; width: 64%; height: 100%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 12%, #000 32%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 12%, #000 32%); }
  .hero-slide__media--0 img { object-position: 58% 40%; }
  .hero-slide__media--1 img { object-position: 72% 50%; }
  .hero-slide__text { padding: 64px 0 112px var(--pad-bleed); max-width: calc(min(610px, 44vw) + var(--pad-bleed)); margin-top: 0; }
  .hero-slide__eyebrow { margin-bottom: 22px; }
  .hero-slide__title { font-size: clamp(44px, 3.9vw, 62px); }
  .hero-slide__body { margin: 24px 0 36px; }
  .hero-ctrl { top: auto; bottom: 32px; }
}
@media (min-width: 1024px) and (max-width: 1099.98px) { .hero-slide__text { padding-left: var(--pad-bleed); } }

/* Sections */
.h-sec { max-width: 1536px; margin: 0 auto; padding: 64px 20px 0; }
.h-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 28px; }
.h-head__col { display: flex; flex-direction: column; gap: 12px; }
.h-svc .h-head__col { max-width: 640px; }
.h-head__row { display: flex; align-items: center; gap: 20px; }
.h-rule { width: 56px; }
.h-h2 { margin: 0; font: 500 32px/1.1 var(--font-serif); letter-spacing: -.01em; color: var(--teal); }
.h-lead { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }

.svc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.svc-card-wrap { display: flex; }
.svc-card { flex: 1; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; color: var(--ink); box-shadow: 0 1px 2px rgba(23,63,62,.03), 0 10px 28px rgba(23,63,62,.04); transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.svc-card:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(23,63,62,.04), 0 18px 36px rgba(23,63,62,.09); color: var(--ink); }
.svc-card__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--cream); }
.svc-card__media img { width: 100%; height: 100%; object-fit: cover; }
.svc-card__body { flex: 1; display: flex; flex-direction: column; padding: 0 22px 22px; }
.svc-card__icon { width: 56px; height: 56px; margin-top: -28px; border-radius: 999px; background: #fff; box-shadow: 0 6px 18px rgba(23,63,62,.10); display: flex; align-items: center; justify-content: center; position: relative; }
.svc-card h3 { margin: 16px 0 8px; font: 500 19px/1.3 var(--font-sans); color: var(--teal); }
.svc-card p { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.svc-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font: 500 15px/20px var(--font-sans); color: var(--magenta-600); }
.svc-card h3 + .svc-card__more { margin-top: 12px; }

.h-band { margin-top: 64px; background: var(--blush); }
.h-band__inner { max-width: 1536px; margin: 0 auto; padding: 52px 20px 60px; }
.h-steps { position: relative; }
.h-steps__line { display: none; position: absolute; left: 8.3%; right: 8.3%; top: 34px; border-top: 1.5px dashed #E4AFC5; }
.h-steps ol { list-style: none; margin: 0; padding: 0; position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
.h-steps li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.h-steps__ico { width: 68px; height: 68px; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(184,42,104,.10); }
.h-steps__n { font: 500 13px/1 var(--font-sans); letter-spacing: .08em; color: var(--magenta-600); }
.h-steps__t { font: 500 16px/1.35 var(--font-sans); color: var(--teal); max-width: 170px; text-wrap: balance; }

.h-net__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
.h-net__text { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.h-net__text .h-h2 { margin-top: 12px; }
.h-net__text .h-lead { margin-top: 16px; line-height: 1.65; max-width: 540px; }
.h-partners { list-style: none; margin: 28px 0 0; padding: 0; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.h-partners li { display: flex; flex-direction: column; gap: 8px; padding: 20px 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.h-partners__n { font: 600 16px/1.2 var(--font-sans); letter-spacing: .08em; color: var(--teal); }
.h-partners__loc { display: flex; align-items: center; gap: 6px; font-size: 14px; line-height: 18px; color: var(--ink); }
.h-net .btn-outline-green { margin-top: 28px; }
.h-net__img { position: relative; min-width: 0; height: 280px; border-radius: 96px 20px 20px 20px; overflow: hidden; background: var(--cream); }

.h-why__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px 32px; }
.h-why__list li { display: flex; flex-direction: column; gap: 14px; }
.h-why__ico { width: 56px; height: 56px; border-radius: 999px; background: var(--blush); display: flex; align-items: center; justify-content: center; }
.h-why__ico--sage { background: var(--sage); }
.h-why__list h3 { margin: 0; font: 500 17px/1.3 var(--font-sans); color: var(--teal); }
.h-why__list p { margin: 0; font-size: 15px; line-height: 1.6; text-wrap: pretty; }

/* Closing CTA: text on the page background, then the Istanbul panorama shown at (close to) its
   native proportions as the last visual before the footer — no text is placed over the photo. */
.h-cta { position: relative; margin: 72px auto 0; display: flex; flex-direction: column; overflow: hidden; background: var(--page); }
.h-cta__img { position: relative; width: 100%; height: max(120px, calc(100vw * 159 / 1536)); -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 22%, #000 45%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 22%, #000 45%); }
.h-cta__img img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 60%; }
.h-cta__sprig { display: none; position: absolute; left: -18px; top: 24px; width: 110px; height: auto; opacity: .45; transform: rotate(-18deg); pointer-events: none; }
.h-cta__text { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; padding: 0 20px 36px; }
.h-cta__side { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.h-cta__eyebrow { display: flex; align-items: center; gap: 14px; }
.h-cta__eyebrow .rule { width: 40px; }
.h-cta h2 { margin: 0; font: 500 34px/1.08 var(--font-serif); letter-spacing: -.015em; color: var(--teal); }
.h-cta h2 span { display: block; }
.h-cta h2 .accent { font-style: italic; color: var(--magenta); }
.h-cta .h-lead { max-width: 440px; }
.h-cta .btn { margin-top: 10px; }

@media (min-width: 480px) {
  .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h-partners { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .h-sec { padding: 80px 40px 0; }
  .svc-grid { gap: 20px; }
  .h-h2 { font-size: 40px; }
  .h-lead { font-size: 17px; }
  .h-band { margin-top: 80px; }
  .h-band__inner { padding: 64px 40px 72px; }
  .h-steps ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h-net__img { height: 400px; border-radius: 140px 24px 24px 24px; }
  .h-why__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h-cta { margin-top: 88px; }
  .h-cta__text { padding: 0 40px 48px; }
  .h-cta h2 { font-size: 44px; }
}
@media (min-width: 1024px) {
  .h-sec { padding: 96px var(--pad-wide) 0; }
  .h-head { margin-bottom: 40px; }
  .h-h2 { font-size: 44px; }
  /* Six services: 3 columns × 2 rows on desktop (approved decision). */
  .svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h-band { margin-top: 96px; }
  .h-band__inner { padding: 72px var(--pad-wide) 80px; }
  .h-steps__line { display: block; }
  .h-steps ol { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
  .h-net__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 72px; }
  .h-net__img { height: 480px; border-radius: 200px 24px 24px 120px / 300px 24px 24px 180px; }
  .h-why__list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
  .h-why__list li { padding: 4px 24px; border-left: 1px solid var(--line); }
  .h-cta { margin-top: 112px; }
  .h-cta__sprig { display: block; top: 8px; }
  .h-cta__text { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 72px; align-items: end; padding: 0 var(--pad-bleed) 40px; }
  .h-cta__eyebrow { grid-column: 1; }
  .h-cta h2 { grid-column: 1; }
  .h-cta__side { grid-column: 2; grid-row: 1 / span 2; padding-bottom: 6px; }
  .h-cta h2 { font-size: 50px; }
}

/* styles/pages/how.css */
/* ===== How It Works ===== */
.hw-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 1536px; margin: 0 auto; align-items: center; }
.hw-hero__text { padding: 36px 20px 32px; }
.hw-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.hw-hero__eyebrow .rule { width: 84px; transform-origin: left center; }
.hw-hero__h1 { margin: 0; font-weight: 400; }
.hw-hero__l1 { display: block; font-family: var(--font-serif); font-weight: 500; font-size: 42px; line-height: 1.05; letter-spacing: -.015em; color: var(--teal); }
.hw-hero__l2 { display: block; position: relative; width: max-content; max-width: 100%; margin-top: 0; padding-bottom: 14px; }
.hw-hero__l2 .script { display: block; font-size: 72px; line-height: 1; color: var(--magenta); padding-left: .04em; }
.hw-hero__l2 svg { position: absolute; left: 0; right: 6%; bottom: 0; width: 94%; height: 16px; }
.hw-hero__body { margin: 18px 0 26px; font-size: 16px; line-height: 26px; color: var(--ink); max-width: 540px; text-wrap: pretty; }
.hw-hero__bn { display: grid; grid-template-columns: repeat(3, minmax(0, auto)); justify-content: start; max-width: 560px; }
.hw-hero__bn > div { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 10px; text-align: center; }
.hw-hero__bn > div + div { border-left: 1px solid var(--line); }
.hw-hero__bn-ico { width: 48px; height: 48px; flex-shrink: 0; border-radius: 999px; background: var(--blush); color: var(--magenta-600); display: flex; align-items: center; justify-content: center; }
.hw-hero__bn span { font-size: 13.5px; line-height: 1.35; color: var(--teal); }
.hw-hero__visual { position: relative; padding-inline: 20px; padding-top: 0; }
.hw-hero__blob1 { position: absolute; left: 0; top: -6%; width: 46%; height: auto; opacity: .9; pointer-events: none; }
.hw-hero__blob2 { position: absolute; left: 0; bottom: -8%; width: 34%; height: auto; opacity: .8; pointer-events: none; }
.hw-hero__media { position: relative; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 72px 20px 20px 28px / 150px 20px 20px 28px; background: var(--cream); }
.hw-hero__img { position: absolute; left: 0; top: -3%; width: 100%; height: 106%; will-change: transform; }
.hw-hero__float { position: relative; z-index: 3; margin: -30px 12px 0; background: #fff; border-radius: 20px; padding: 16px 10px; box-shadow: 0 12px 32px rgba(23,63,62,.10); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.hw-hero__float > div { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--teal); }
.hw-hero__float span { font-size: 14px; line-height: 18px; color: var(--ink); }

.hw-steps { max-width: 1536px; margin: 0 auto; padding: 52px 20px 0; }
.hw-steps__grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 0; row-gap: 4px; }
.hw-step { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; text-align: left; justify-items: stretch; align-items: start; --num: 40px; --big: 72px; --ov: -8px; }
.hw-step__rail { display: flex; flex-direction: column; align-items: center; align-self: stretch; position: relative; }
.hw-step__num { position: relative; z-index: 2; width: var(--num); height: var(--num); border-radius: 999px; background: #EEF5EA; border: 3px solid var(--page); display: flex; align-items: center; justify-content: center; font: 500 17px/1 var(--font-serif); color: var(--teal); margin-bottom: var(--ov); }
.hw-step__big { width: var(--big); height: var(--big); flex-shrink: 0; border-radius: 999px; background: radial-gradient(circle at 50% 45%, #FFFFFF 0%, var(--step-bg) 70%); box-shadow: inset 0 0 0 1px rgba(23,63,62,.04); display: flex; align-items: center; justify-content: center; transition: transform .3s var(--ease); }
.hw-step__svg { width: 36px; height: 36px; }
.hw-step__vline { flex: 1; min-height: 24px; width: 0; border-left: 2px dotted #E59BBC; margin: 10px 0 -8px; }
.hw-step--6 .hw-step__vline { display: none; }
.hw-step__text { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; }
.hw-step__text h3 { margin: 0; font: 500 18px/1.3 var(--font-sans); color: var(--teal); text-wrap: balance; }
.hw-step__text p { margin: 0; font-size: 15px; line-height: 23px; color: var(--muted); text-wrap: pretty; }
.hw-step__arrow { display: none; position: absolute; width: 52px; height: 14px; line-height: 0; }

.hw-cta { max-width: 1536px; margin: 0 auto; padding: 48px 20px 64px; }
.hw-cta__panel { position: relative; overflow: hidden; border-radius: 28px; background: linear-gradient(100deg, #FBEFF3 0%, #FDF6F8 30%, #FFFDFB 55%, #F7FAF4 80%, #EEF5EA 100%); border: 1px solid #F2D9E3; padding: 32px 22px 28px; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; row-gap: 0; }
.hw-cta__sprig { position: absolute; width: 90px; height: auto; opacity: .5; pointer-events: none; }
.hw-cta__sprig--l { left: -10px; bottom: -40px; transform: rotate(-24deg); }
.hw-cta__sprig--r { right: -16px; bottom: -44px; transform: scaleX(-1) rotate(-20deg); }
.hw-cta__script { position: relative; display: flex; flex-direction: column; align-items: center; padding: 0 0 20px; }
.hw-cta__script p { margin: 0; font-size: 34px; line-height: 1.08; color: var(--teal); transform: rotate(-5deg); white-space: nowrap; text-align: center; }
.hw-cta__script img { width: 30px; height: auto; margin-top: 8px; align-self: center; }
.hw-cta__center { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 24px 0; border-top: 1px solid #F2D9E3; }
.hw-cta__center h2 { margin: 0; font: 500 30px/1.15 var(--font-serif); letter-spacing: -.005em; color: var(--teal); text-wrap: balance; }
.hw-cta__center p { margin: 0; font-size: 16px; line-height: 25px; color: var(--ink); text-wrap: pretty; }
.hw-cta__btn { margin-top: 12px; width: 100%; }
.hw-cta__trust { position: relative; display: flex; flex-direction: column; justify-content: flex-start; flex-wrap: wrap; gap: 20px; padding: 24px 8px 0; border-top: 1px solid #F2D9E3; }
.hw-cta__trust > div { display: flex; align-items: center; gap: 16px; color: var(--green); }
.hw-cta__trust span { font-size: 15px; line-height: 20px; color: var(--ink); }

@media (max-width: 479.98px) {
  .hw-hero__l1 { font-size: 36px; }
  .hw-hero__l2 .script { font-size: 64px; }
}
@media (min-width: 768px) {
  .hw-hero__text { padding: 56px 40px 44px; }
  .hw-hero__l1 { font-size: 52px; }
  .hw-hero__l2 .script { font-size: 88px; }
  .hw-hero__body { margin: 22px 0 30px; font-size: 17.5px; line-height: 28px; }
  .hw-hero__bn > div { flex-direction: row; gap: 14px; padding: 0 22px; text-align: left; }
  .hw-hero__bn > div:first-child { padding-left: 22px; }
  .hw-hero__bn-ico { width: 52px; height: 52px; }
  .hw-hero__bn span { font-size: 15px; }
  .hw-hero__visual { padding-inline: 40px; }
  .hw-hero__media { border-radius: 120px 24px 24px 60px / 260px 24px 24px 90px; }
  .hw-hero__float { position: absolute; right: 0; top: 18%; width: 160px; margin: 0; border-radius: 24px 0 0 24px; padding: 22px; grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .hw-hero__float > div { flex-direction: row; gap: 14px; }
  .hw-steps { padding: 64px 40px 0; }
  .hw-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; row-gap: 48px; }
  .hw-step { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; --num: 48px; --big: 116px; --ov: -14px; }
  .hw-step__num { font-size: 21px; }
  .hw-step__svg { width: 56px; height: 56px; }
  .hw-step__vline { display: none; }
  .hw-step__text { padding-top: 4px; max-width: 260px; }
  .hw-step__arrow { display: block; top: calc(var(--num) + var(--ov) + var(--big) / 2 - 7px); right: -40px; }
  .hw-step--3 .hw-step__arrow, .hw-step--6 .hw-step__arrow { display: none; }
  .hw-cta { padding: 64px 40px 80px; }
  .hw-cta__panel { border-radius: 36px; padding: 40px 40px 32px; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr); row-gap: 28px; }
  .hw-cta__script { align-items: flex-start; padding: 0 20px 0 0; }
  .hw-cta__script p { text-align: left; }
  .hw-cta__script img { align-self: flex-end; }
  .hw-cta__center { align-items: flex-start; text-align: left; padding: 4px 0 4px 36px; border-top: 0; border-left: 1px solid #F2D9E3; }
  .hw-cta__center h2 { font-size: 34px; }
  .hw-cta__btn { width: auto; }
  .hw-cta__trust { grid-column: 1 / -1; flex-direction: row; justify-content: space-around; gap: 24px; padding: 24px 0 0; }
}
@media (min-width: 1100px) {
  .hw-hero { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr); gap: 40px; }
  .hw-hero__text { padding: 56px 0 48px var(--pad-bleed); }
  .hw-hero__eyebrow { margin-bottom: 22px; }
  .hw-hero__l1 { font-size: clamp(46px, 3.9vw, 60px); }
  .hw-hero__l2 { margin-top: 2px; }
  .hw-hero__l2 .script { font-size: clamp(76px, 6.3vw, 98px); }
  .hw-hero__body { margin: 26px 0 34px; }
  .hw-hero__visual { padding-inline: 0; padding-top: 24px; }
  .hw-hero__blob1, .hw-hero__blob2 { left: -7%; }
  .hw-hero__media { border-radius: 200px 0 0 140px / 340px 0 0 220px; }
  .hw-hero__float { top: 30%; width: 168px; }
  .hw-steps { padding: 64px var(--pad-wide) 0; }
  .hw-steps__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 24px; row-gap: 0; }
  .hw-step { --num: 50px; --big: 124px; }
  .hw-step__svg { width: 60px; height: 60px; }
  .hw-step__text { max-width: 220px; }
  .hw-step__arrow { right: -38px; }
  .hw-step--3 .hw-step__arrow { display: block; }
  .hw-cta { padding: 72px var(--pad-wide) 96px; }
  .hw-cta__panel { padding: 44px 48px; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.55fr) minmax(0, 0.9fr); row-gap: 0; }
  .hw-cta__sprig { width: 120px; }
  .hw-cta__script { padding: 0 24px 0 8px; }
  .hw-cta__script p { font-size: 42px; }
  .hw-cta__center { padding: 4px 40px; border-right: 1px solid #F2D9E3; }
  .hw-cta__center h2 { font-size: 36px; }
  .hw-cta__trust { grid-column: auto; flex-direction: column; justify-content: flex-start; gap: 20px; padding: 0 0 0 36px; border-top: 0; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .hw-hero { max-width: none; } }

/* styles/pages/legal.css */
/* ===== Privacy Policy / Terms ===== */
.lg-hero { max-width: 1536px; margin: 0 auto; padding: 40px 20px 8px; }
.lg-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 16px; }
.lg-hero__eyebrow .rule { width: 40px; }
.lg-hero__eyebrow .rule--l { width: 68px; }
.lg-hero h1 { margin: 0; font: 500 40px/1.08 var(--font-serif); letter-spacing: -.015em; color: var(--teal); }
.lg-hero__date { margin: 14px 0 0; font-size: 14.5px; color: var(--muted); }
.lg-body { max-width: 1536px; margin: 0 auto; padding: 32px 20px 64px; }
.lg-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
.lg-toc { border-radius: 22px; background: linear-gradient(170deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); padding: 22px 20px; }
.lg-toc__title { margin: 0 0 10px; font: 500 12.5px/16px var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--magenta-600); }
.lg-toc ol { margin: 0; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; line-height: 1.45; color: var(--muted); }
.lg-toc a { color: var(--teal); }
.lg-toc a:hover { color: var(--magenta-600); }
.lg-toc__other { display: inline-flex; margin-top: 16px; padding-top: 14px; border-top: 1px solid #EBCFDA; width: 100%; font: 500 14.5px/20px var(--font-sans); color: var(--magenta-600) !important; }
.lg-main { min-width: 0; max-width: 760px; }
.lg-intro { margin: 0; font: 400 19px/1.6 var(--font-serif); color: var(--teal); text-wrap: pretty; }
.lg-sec { margin-top: 40px; scroll-margin-top: 110px; }
.lg-sec h2 { margin: 0 0 14px; display: flex; align-items: baseline; gap: 12px; font: 500 24px/1.25 var(--font-serif); color: var(--teal); }
.lg-sec__n { flex-shrink: 0; font-size: .72em; color: var(--magenta); font-variant-numeric: tabular-nums; }
.lg-sec p, .lg-sec li { font-size: 16px; line-height: 1.75; color: var(--ink); text-wrap: pretty; }
.lg-sec p { margin: 0 0 14px; }
.lg-sec ul { margin: 0 0 14px; padding: 18px 20px 18px 38px; border-radius: 16px; background: var(--cream); }
.lg-sec li + li { margin-top: 6px; }
.lg-sec a { color: var(--magenta-600); text-decoration: underline; text-underline-offset: 3px; }
.lg-sec strong { font-weight: 500; color: var(--teal); }
@media (min-width: 768px) {
  .lg-hero { padding: 56px 40px 8px; }
  .lg-hero h1 { font-size: 52px; }
  .lg-body { padding: 40px 40px 80px; }
  .lg-intro { font-size: 21px; }
  .lg-sec h2 { font-size: 27px; }
  .lg-sec p, .lg-sec li { font-size: 17px; }
}
@media (min-width: 1100px) {
  .lg-hero { padding: 64px var(--pad-wide) 8px; }
  .lg-hero h1 { font-size: clamp(48px, 4vw, 60px); }
  .lg-body { padding: 48px var(--pad-wide) 96px; }
  .lg-grid { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); gap: clamp(48px, 5vw, 88px); }
  .lg-toc { position: sticky; top: 116px; padding: 26px 24px; }
}

/* styles/pages/network.css */
/* ===== Our Healthcare Network ===== */
.nw-hero { position: relative; max-width: 1536px; margin: 0 auto; }
.nw-hero__text { position: relative; z-index: 2; width: 100%; padding: 34px 20px 26px; }
.nw-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.nw-hero__eyebrow .rule { width: 68px; transform-origin: left center; }
.nw-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 37px; line-height: 1.1; letter-spacing: -.015em; color: var(--teal); text-wrap: balance; }
.nw-hero h1 .seg { display: inline; }
.nw-hero h1 em { font-style: italic; font-weight: 500; color: var(--magenta); }
.nw-hero__body { margin: 16px 0 0; font-size: 16px; line-height: 26px; color: var(--ink); max-width: 680px; text-wrap: pretty; }
.nw-hero__sub { margin-top: 26px; max-width: 680px; display: flex; flex-direction: column; gap: 12px; }
.nw-hero__sub h2 { margin: 0; display: flex; align-items: center; gap: 14px; font: 500 18px/1.3 var(--font-sans); color: var(--teal); }
.nw-hero__sub h2 .rule { width: 28px; }
.nw-hero__sub p { margin: 0; font-size: 15.5px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.nw-hero__media { position: relative; height: 290px; margin: 0 20px; overflow: hidden; border-radius: 22px; z-index: 1; }
.nw-hero__mask { position: absolute; inset: 0; }
.nw-hero__img { position: absolute; left: 0; top: -3%; width: 100%; height: 106%; will-change: transform; }

.nw-partners { max-width: 1536px; margin: 0 auto; padding: 32px 20px 0; position: relative; z-index: 3; }
.nw-partners__box { position: relative; overflow: hidden; border-radius: 24px; background: var(--blush); padding: 36px 20px 32px; }
.nw-partners__sprig { position: absolute; left: -18px; bottom: -40px; width: 90px; height: auto; opacity: .35; transform: rotate(-24deg); pointer-events: none; }
.nw-partners__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: stretch; }
.nw-partners__main { min-width: 0; display: flex; flex-direction: column; align-items: center; }
.nw-partners__main h2 { margin: 0; font: 500 32px/1.15 var(--font-serif); letter-spacing: -.01em; color: var(--teal); text-align: center; }
.nw-partners__divider { width: 120px; height: auto; margin-top: 14px; }
.nw-partners__cards { list-style: none; margin: 28px 0 0; padding: 0; width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.nw-partners__cards li { display: flex; }
.nw-partners__cards article { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-height: 132px; padding: 28px 20px; background: #fff; border-radius: 18px; text-align: center; box-shadow: 0 1px 0 rgba(23,63,62,.04), 0 10px 30px rgba(23,63,62,.07); transition: transform .3s var(--ease), box-shadow .3s ease-out; }
.nw-partners__cards article:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(23,63,62,.04), 0 18px 40px rgba(23,63,62,.12); }
.nw-partners__cards h3 { margin: 0; font: 600 19px/1.2 var(--font-sans); letter-spacing: .08em; color: var(--teal); }
.nw-partners__cards .rule { width: 32px; }
.nw-partners__cards p { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 20px; color: var(--ink); }
.nw-partners__note { margin: 28px 0 0; max-width: 640px; text-align: center; font-size: 15.5px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.nw-partners__cta { margin-top: 28px; width: 100%; display: flex; align-items: center; gap: 24px; }
.nw-partners__cta .btn { width: 100%; flex-shrink: 0; }
.nw-partners__line { flex: 1; height: 1px; background: #EBCFDA; display: none; }
.nw-partners__side { min-width: 0; border-top: 1px solid #EBCFDA; padding: 28px 0 0; }
.nw-partners__side ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; height: 100%; align-content: center; }
.nw-partners__side li { display: flex; align-items: center; gap: 18px; }
.nw-ben__ico { width: 54px; height: 54px; flex-shrink: 0; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(23,63,62,.06); }
.nw-ben__ico img { width: 28px; height: 28px; }
.nw-ben__t { font: 500 15.5px/1.4 var(--font-sans); color: var(--teal); }

.nw-pano { position: relative; margin-top: 44px; }
.nw-pano__text { position: relative; z-index: 2; margin: 0 0 2px; font-size: 28px; line-height: 1.02; color: var(--teal); transform: rotate(-8deg); white-space: nowrap; display: flex; flex-direction: column; align-items: center; width: 100%; text-shadow: 0 0 12px rgba(255,253,251,.8); }
.nw-pano__text .i1 { padding-left: .3em; }
.nw-pano__text .i2 { padding-left: .5em; display: flex; align-items: center; gap: .3em; }
.nw-pano__text img { width: .75em; height: auto; transform: rotate(8deg); }
.nw-pano__img { position: relative; height: 170px; overflow: hidden; }
.nw-pano__m1 { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%); mask-image: linear-gradient(180deg, transparent 0%, #000 30%); }
.nw-pano__m2 { position: absolute; inset: 0; }
.nw-pano__m2 img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 52% 50%; }

@media (max-width: 479.98px) {
  .nw-hero h1 { font-size: 33px; }
  .nw-hero__media { height: 250px; }
  .nw-partners__main h2 { font-size: 30px; }
  .nw-pano__img { height: 150px; }
}
@media (min-width: 768px) {
  .nw-hero__text { padding: 52px 40px 36px; }
  .nw-hero h1 { font-size: 48px; }
  .nw-hero h1 .seg { display: block; }
  .nw-hero__body { margin-top: 22px; font-size: 18px; line-height: 29px; }
  .nw-hero__sub h2 { font-size: 20px; }
  .nw-hero__sub p { font-size: 16px; }
  .nw-hero__media { height: 400px; margin: 0 40px; border-radius: 28px; }
  .nw-partners { padding: 44px 40px 0; }
  .nw-partners__box { border-radius: 32px; padding: 48px 40px; }
  .nw-partners__grid { gap: 40px; }
  .nw-partners__main h2 { font-size: 40px; }
  .nw-partners__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .nw-partners__cards article { min-height: 170px; }
  .nw-partners__cards h3 { font-size: 17px; }
  .nw-partners__note { font-size: 16.5px; }
  .nw-partners__cta .btn { width: auto; }
  .nw-partners__line { display: block; }
  .nw-partners__side { padding-top: 36px; }
  .nw-partners__side ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; }
  .nw-ben__t { font-size: 16px; }
  .nw-pano { margin-top: 56px; }
  .nw-pano__text { margin-bottom: 4px; font-size: 34px; }
  .nw-pano__img { height: 200px; }
  .nw-pano__m2 img { object-position: 48% 50%; }
}
@media (min-width: 1100px) {
  .nw-hero { min-height: 560px; }
  .nw-hero__text { width: 50%; padding: 64px 24px 64px var(--pad-bleed); }
  .nw-hero__eyebrow { margin-bottom: 24px; }
  .nw-hero h1 { font-size: clamp(40px, 3.5vw, 54px); }
  .nw-hero__body { margin-top: 24px; max-width: 600px; }
  .nw-hero__sub { margin-top: 32px; max-width: 600px; }
  .nw-hero__media { position: absolute; right: 0; top: 0; bottom: 0; width: 56%; height: auto; margin: 0; border-radius: 0; }
  .nw-hero__mask { -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 10%, rgba(0,0,0,.85) 20%, #000 28%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 10%, rgba(0,0,0,.85) 20%, #000 28%); }
  .nw-partners { padding: 24px var(--pad-wide) 0; }
  .nw-partners__box { padding: 52px 48px; }
  .nw-partners__sprig { width: 130px; }
  .nw-partners__grid { grid-template-columns: minmax(0, 1fr) minmax(260px, 300px); gap: 44px; }
  .nw-partners__main h2 { font-size: clamp(36px, 3vw, 44px); }
  .nw-partners__cards { margin-top: 36px; gap: 20px; }
  .nw-partners__cards article { min-height: 180px; }
  .nw-partners__cards h3 { font-size: 20px; }
  .nw-partners__note { margin-top: 36px; }
  .nw-partners__side { border-top: 0; border-left: 1px solid #EBCFDA; padding: 8px 0 8px 40px; }
  .nw-partners__side ul { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .nw-ben__ico { width: 60px; height: 60px; }
  .nw-ben__ico img { width: 30px; height: 30px; }
  .nw-pano { margin-top: 72px; }
  .nw-pano__text { position: absolute; right: clamp(16px, 2.4vw, 44px); top: 50%; margin: calc(-1 * clamp(40px, 3.6vw, 56px)) 0 0; font-size: clamp(28px, 2.4vw, 38px); align-items: flex-start; width: auto; }
  .nw-pano__img { height: calc(100vw * 159 / 1536); }
  .nw-pano__m1 { -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 28%); mask-image: linear-gradient(180deg, transparent 0%, #000 28%); }
  .nw-pano__m2 { -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 80%, transparent 89%); mask-image: linear-gradient(90deg, #000 0%, #000 80%, transparent 89%); }
  .nw-pano__m2 img { object-position: 50% 50%; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .nw-hero { max-width: none; } }

/* styles/pages/treatments.css */
/* ===== Treatments ===== */
.tx-hero { position: relative; max-width: 1536px; margin: 0 auto; }
.tx-hero__text { position: relative; z-index: 2; width: 100%; padding: 34px 20px 26px; }
.tx-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.tx-hero__eyebrow .rule { width: 68px; transform-origin: left center; }
.tx-hero__title { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 38px; line-height: 1.08; letter-spacing: -.015em; color: var(--teal); }
.tx-hero__title span { display: inline; }
.tx-hero__body { margin: 16px 0 0; font-size: 16px; line-height: 26px; color: var(--ink); max-width: 680px; text-wrap: pretty; }
.tx-hero__media { position: relative; height: 300px; margin: 0 20px; overflow: hidden; border-radius: 22px; z-index: 1; }
.tx-hero__mask { position: absolute; inset: 0; }
.tx-hero__img { position: absolute; left: 0; top: -3%; width: 100%; height: 106%; will-change: transform; }
.tx-hero__img img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 80%; }
.tx-hero__s1 { position: absolute; left: 4%; top: 7%; margin: 0; font-size: 26px; line-height: 1.05; color: var(--teal); transform: rotate(-9deg); white-space: nowrap; display: flex; flex-direction: column; align-items: center; }
.tx-hero__s1 .i1 { padding-left: .6em; }
.tx-hero__heart { width: 20px; height: auto; margin-top: 6px; transform: rotate(9deg); }
.tx-hero__s2 { display: none; position: absolute; left: 6%; top: 52%; flex-direction: column; gap: 3px; font-size: 13px; line-height: 17px; color: var(--ink); }
.tx-hero__s2-rule { display: block; width: 28px; height: 1.5px; background: var(--muted); margin-top: 8px; }
.tx-hero__circle { position: absolute; right: -60px; bottom: -70px; width: 180px; height: 180px; border-radius: 999px; background: var(--blush); box-shadow: inset 0 0 0 1px rgba(208,53,122,.06); }
.tx-hero__circle-t { position: absolute; left: 12%; top: 13%; font-size: 19px; line-height: 1.05; color: var(--teal); transform: rotate(-10deg); white-space: nowrap; display: flex; flex-direction: column; }
.tx-hero__circle-t .i2 { padding-left: .4em; } .tx-hero__circle-t .i3 { padding-left: .3em; }
.tx-hero__cheart { width: 14px; height: auto; align-self: flex-end; margin-top: 2px; transform: rotate(10deg); }

.tx-cards { max-width: 1536px; margin: 0 auto; padding: 32px 20px 0; position: relative; z-index: 3; }
.tx-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.tx-card-wrap { display: flex; scroll-margin-top: 100px; }
.tx-card { flex: 1; display: flex; flex-direction: column; background: #fff; border-radius: 18px; box-shadow: 0 1px 0 rgba(23,63,62,.04), 0 10px 30px rgba(23,63,62,.07); transition: transform .3s var(--ease), box-shadow .3s ease-out; }
.tx-card:hover { transform: translateY(-4px); box-shadow: 0 1px 0 rgba(23,63,62,.04), 0 18px 40px rgba(23,63,62,.12); }
.tx-card__media { position: relative; aspect-ratio: 1.8 / 1; border-radius: 18px 18px 0 0; }
.tx-card__clip { position: absolute; inset: 0; overflow: hidden; border-radius: 18px 18px 0 0; background: var(--cream); }
.tx-card__img { position: absolute; inset: 0; transition: transform .6s var(--ease); }
.tx-card__img img { width: 100%; height: 100%; object-fit: cover; }
.tx-card__icon { position: absolute; left: 18px; bottom: -29px; width: 62px; height: 62px; border-radius: 999px; background: var(--blush); border: 4px solid #fff; box-shadow: 0 6px 16px rgba(23,63,62,.10); display: flex; align-items: center; justify-content: center; color: var(--magenta); transition: transform .3s var(--ease); }
.tx-card__body { flex: 1; display: flex; flex-direction: column; padding: 40px 20px 22px; }
.tx-card__body h2 { margin: 0 0 16px; font: 500 20px/1.3 var(--font-sans); color: var(--teal); }
.tx-card__body ul { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.tx-card__body li { display: flex; align-items: flex-start; gap: 14px; font-size: 15px; line-height: 21px; color: var(--ink); }
.tx-card__body li svg { flex-shrink: 0; margin-top: 3px; }
.tx-card__btn { margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 10px; height: 48px; padding: 0 20px; background: var(--magenta-strong); color: #fff; border-radius: 999px; font: 500 15px/20px var(--font-sans); letter-spacing: .01em; touch-action: manipulation; transition: background .22s ease-out, box-shadow .22s ease-out, transform .18s ease-out; }
.tx-card__btn:hover { background: var(--magenta-600); color: #fff; box-shadow: 0 6px 16px rgba(184,42,104,.22); }
.tx-card__btn:active { background: var(--magenta-700); transform: scale(.98); }

.tx-ben { max-width: 1536px; margin: 0 auto; padding: 40px 20px 0; }
.tx-ben ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
.tx-ben li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 0 8px; text-align: center; }
.tx-ben li:last-child { grid-column: 1 / -1; }
.tx-ben__ico { width: 38px; height: 38px; flex-shrink: 0; }
.tx-ben li span { font-size: 14.5px; line-height: 1.4; color: var(--teal); }

.tx-cta { max-width: 1536px; margin: 0 auto; padding: 44px 20px 64px; }
.tx-cta__box { position: relative; overflow: hidden; border-radius: 24px; background: linear-gradient(100deg, #FBEFF3 0%, #FDF4F7 40%, #FFF8FA 60%, #F7FAF4 100%); display: flex; flex-direction: column; }
.tx-cta__sprig { position: absolute; left: -14px; bottom: -46px; width: 90px; height: auto; opacity: .45; transform: rotate(-24deg); pointer-events: none; }
.tx-cta__text { position: relative; z-index: 2; width: 100%; padding: 30px 22px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.tx-cta h2 { margin: 0; font: 500 36px/1.15 var(--font-serif); letter-spacing: -.01em; color: var(--teal); text-wrap: balance; }
.tx-cta__right { font-family: var(--font-script); font-weight: 400; font-size: 1.62em; line-height: .6; color: var(--magenta); letter-spacing: 0; padding: 0 .04em; }
.tx-cta__text p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.tx-cta__btn { margin-top: 12px; width: 100%; }
.tx-cta__media { position: relative; width: 100%; height: 260px; margin-top: 24px; }
.tx-cta__mask { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 18%, #000 32%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.7) 18%, #000 32%); }
.tx-cta__mask img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% 60%; }
.tx-cta__s1 { position: absolute; left: 5%; top: 18%; margin: 0; font-size: 24px; line-height: 1.05; color: var(--teal); transform: rotate(-9deg); white-space: nowrap; display: flex; flex-direction: column; text-shadow: 0 0 12px rgba(255,255,255,.7); }
.tx-cta__s1 .i1 { padding-left: .3em; } .tx-cta__s1 .i2 { padding-left: .5em; display: flex; align-items: center; gap: .3em; }
.tx-cta__heart { width: .7em; height: auto; transform: rotate(9deg); }
.tx-cta__circle { position: absolute; right: -56px; bottom: -64px; width: 170px; height: 170px; border-radius: 999px; background: var(--blush); }
.tx-cta__circle-t { position: absolute; left: 12%; top: 13%; font-size: 18px; line-height: 1.05; color: var(--teal); transform: rotate(-12deg); white-space: nowrap; display: flex; flex-direction: column; }
.tx-cta__circle-t .i1 { padding-left: .3em; } .tx-cta__circle-t .i2 { padding-left: .2em; }
.tx-cta__cheart { width: 14px; height: auto; align-self: flex-end; margin-top: 2px; transform: rotate(12deg); }

@media (max-width: 479.98px) {
  .tx-hero__title { font-size: 34px; }
  .tx-hero__media { height: 260px; }
  .tx-cta h2 { font-size: 32px; }
  .tx-cta__media { height: 230px; }
}
@media (min-width: 768px) {
  .tx-hero__text { padding: 52px 40px 36px; }
  .tx-hero__eyebrow { margin-bottom: 18px; }
  .tx-hero__title { font-size: 50px; }
  .tx-hero__title span { display: inline-block; }
  .tx-hero__body { margin-top: 22px; font-size: 18px; line-height: 29px; }
  .tx-hero__media { height: 380px; margin: 0 40px; border-radius: 28px; }
  .tx-hero__img img { object-position: 58% 78%; }
  .tx-hero__s1 { left: 5%; top: 10%; font-size: 36px; }
  .tx-hero__heart { width: 26px; }
  .tx-hero__s2 { display: flex; }
  .tx-hero__circle { right: -80px; bottom: -90px; width: 250px; height: 250px; }
  .tx-hero__circle-t { font-size: 25px; }
  .tx-hero__cheart { width: 18px; }
  .tx-cards { padding: 44px 40px 0; }
  .tx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .tx-card__media { aspect-ratio: 1.85 / 1; }
  .tx-card__body { padding: 42px 24px 24px; }
  .tx-ben { padding: 48px 40px 0; }
  .tx-ben ul { grid-template-columns: repeat(5, minmax(0, 1fr)); row-gap: 0; }
  .tx-ben li { padding: 0 10px; }
  .tx-ben li + li { border-left: 1px solid var(--line-3); }
  .tx-ben li:last-child { grid-column: auto; }
  .tx-ben__ico { width: 40px; height: 40px; }
  .tx-ben li span { font-size: 14px; }
  .tx-cta { padding: 56px 40px 80px; }
  .tx-cta__box { border-radius: 32px; }
  .tx-cta__text { padding: 44px 40px 0; }
  .tx-cta h2 { font-size: 44px; }
  .tx-cta__text p { font-size: 17px; }
  .tx-cta__btn { width: auto; }
  .tx-cta__media { height: 320px; margin-top: 32px; }
  .tx-cta__s1 { left: 6%; top: 20%; font-size: 32px; }
  .tx-cta__circle { right: -70px; bottom: -80px; width: 220px; height: 220px; }
  .tx-cta__circle-t { font-size: 22px; }
}
@media (min-width: 1100px) {
  .tx-hero { min-height: 410px; }
  .tx-hero__text { width: 54%; padding: 64px 28px 60px var(--pad-bleed); }
  .tx-hero__eyebrow { margin-bottom: 24px; }
  .tx-hero__title { font-size: clamp(40px, 3.6vw, 56px); }
  .tx-hero__body { margin-top: 24px; max-width: 620px; }
  .tx-hero__media { position: absolute; right: 0; top: 0; bottom: 0; width: 58%; height: auto; margin: 0; border-radius: 0; }
  .tx-hero__mask { -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 20%, rgba(0,0,0,.45) 30%, rgba(0,0,0,.9) 40%, #000 48%); mask-image: linear-gradient(90deg, transparent 0%, transparent 20%, rgba(0,0,0,.45) 30%, rgba(0,0,0,.9) 40%, #000 48%); }
  .tx-hero__img img { object-position: 62% 58%; }
  .tx-hero__s1 { left: 20%; top: 11%; font-size: 40px; }
  .tx-hero__heart { width: 30px; }
  .tx-hero__s2 { left: 28%; top: 60%; }
  .tx-hero__circle { right: -120px; bottom: -130px; width: 320px; height: 320px; }
  .tx-hero__circle-t { top: 14%; font-size: 28px; }
  .tx-hero__cheart { width: 20px; }
  .tx-cards { padding: 12px var(--pad-wide) 0; }
  /* Six services: 3 columns × 2 rows on desktop (approved decision). */
  .tx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .tx-card__media { aspect-ratio: 1.72 / 1; }
  .tx-card__icon { width: 66px; height: 66px; bottom: -31px; }
  .tx-card__body { padding: 44px 20px 22px; }
  .tx-ben { padding: 48px var(--pad-wide) 0; }
  .tx-ben li { flex-direction: row; gap: 18px; padding: 4px 16px; text-align: left; }
  .tx-ben__ico { width: 44px; height: 44px; }
  .tx-ben li span { font-size: 15px; }
  .tx-cta { padding: 56px var(--pad-wide) 96px; }
  .tx-cta__box { min-height: 330px; }
  .tx-cta__sprig { width: 120px; }
  .tx-cta__text { width: 54%; padding: 46px 0 46px 44px; }
  .tx-cta h2 { font-size: clamp(40px, 3.4vw, 50px); }
  .tx-cta__media { position: absolute; right: 0; top: 0; bottom: 0; width: 56%; height: auto; margin-top: 0; }
  .tx-cta__mask { -webkit-mask-image: radial-gradient(ellipse 100% 150% at 100% 50%, #000 62%, rgba(0,0,0,.6) 72%, transparent 84%); mask-image: radial-gradient(ellipse 100% 150% at 100% 50%, #000 62%, rgba(0,0,0,.6) 72%, transparent 84%); }
  .tx-cta__mask img { object-position: 68% 55%; }
  .tx-cta__s1 { left: 14%; top: 10%; font-size: 34px; }
  .tx-cta__circle { right: -90px; bottom: -100px; width: 250px; height: 250px; }
  .tx-cta__circle-t { top: 14%; font-size: 24px; }
  .tx-cta__cheart { width: 17px; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .tx-hero { max-width: none; } }

/* styles/pages/why.css */
/* ===== Why Choose Medistra Care ===== */
.wy-hero { position: relative; max-width: 1536px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "photo" "ben"; }
.wy-hero__intro { grid-area: intro; position: relative; z-index: 2; padding: 34px 20px 26px; }
.wy-hero__eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.wy-hero__eyebrow .rule { width: 68px; transform-origin: left center; }
.wy-hero h1 { margin: 0; font-family: var(--font-serif); font-weight: 500; font-size: 44px; line-height: 1.08; letter-spacing: -.015em; color: var(--teal); }
.wy-hero h1 span { display: block; }
.wy-hero h1 .accent, .wy-cta h2 .accent { font-style: italic; color: var(--magenta); }
.wy-hero__intro p { margin: 14px 0 0; font-size: 17px; line-height: 1.6; color: var(--ink); max-width: 520px; text-wrap: pretty; }
.wy-hero__ben { grid-area: ben; position: relative; z-index: 2; padding: 28px 20px 4px; }
.wy-hero__ben ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.wy-hero__ben li { display: flex; }
.wy-row { flex: 1; display: flex; align-items: flex-start; gap: 16px; padding: 8px 12px 8px 0; border-radius: 18px; transition: transform .3s var(--ease); }
.wy-row:hover { transform: translateX(6px); }
.wy-row__ico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 999px; background: var(--blush); display: flex; align-items: center; justify-content: center; }
.wy-row__ico--sage { background: var(--sage); }
.wy-row__ico img { width: 26px; height: 26px; }
.wy-row__text { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding-top: 2px; }
.wy-row h3 { margin: 0; display: flex; align-items: baseline; gap: 10px; font: 500 17px/1.3 var(--font-sans); color: var(--teal); }
.wy-row__n { font-size: 13px; letter-spacing: .08em; color: var(--magenta); flex-shrink: 0; }
.wy-row p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.wy-hero__photo { grid-area: photo; position: relative; padding: 0 20px; }
.wy-hero__sage { position: absolute; left: 0; top: -34px; width: 58%; height: auto; opacity: .9; pointer-events: none; z-index: 0; }
.wy-hero__blush { position: absolute; left: auto; bottom: -40px; width: 0; height: auto; pointer-events: none; z-index: 0; }
.wy-hero__media { position: relative; height: 310px; margin: 0; overflow: hidden; border-radius: 96px 22px 22px 22px; z-index: 1; box-shadow: 0 18px 44px rgba(23,63,62,.10); }
.wy-hero__img { position: absolute; left: 0; top: -3%; width: 100%; height: 106%; will-change: transform; }
.wy-hero__script { position: relative; z-index: 3; margin: 20px 0 0; font-size: 32px; line-height: 1.02; color: var(--teal); display: flex; flex-direction: column; align-items: center; white-space: nowrap; text-shadow: 0 0 14px rgba(255,253,251,.95), 0 0 4px rgba(255,253,251,.9); }
.wy-hero__script span { display: flex; align-items: center; gap: .25em; transform: rotate(-6deg); }
.wy-hero__script img { width: .7em; height: auto; }

.wy-cta { max-width: 1536px; margin: 0 auto; padding: 48px 16px 56px; }
.wy-cta__panel { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(105deg, #FBEFF3 0%, #FCF3F2 48%, #EEF4EC 100%); padding: 44px 22px 40px; }
.wy-cta__sprig1 { position: absolute; left: -26px; bottom: -26px; width: 78px; height: auto; opacity: .55; transform: rotate(-14deg); pointer-events: none; }
.wy-cta__sprig2 { display: none; position: absolute; left: 54px; top: -30px; width: 84px; height: auto; opacity: .35; transform: rotate(160deg) scaleX(-1); pointer-events: none; }
.wy-cta__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
.wy-cta__main { min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.wy-cta h2 { margin: 0; font: 500 37px/1.1 var(--font-serif); letter-spacing: -.01em; color: var(--teal); }
.wy-cta h2 span { display: block; }
.wy-cta__main p { margin: 18px auto 0; max-width: 500px; font-size: 16px; line-height: 1.65; color: var(--ink); text-wrap: pretty; }
.wy-cta__btnwrap { margin-top: 26px; width: 100%; }
.wy-cta__btn { width: 100%; transition: background .22s ease-out, box-shadow .22s ease-out, transform .22s var(--ease); }
.wy-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(184,42,104,.24); }
.wy-cta__cb { list-style: none; margin: 0; padding: 8px 0 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.wy-cta__cb li { display: flex; flex-direction: row; align-items: center; gap: 16px; padding: 16px 4px; text-align: left; }
.wy-cta__cb li + li { border-top: 1px solid #EBCFDA; }
.wy-cb__ico { width: 52px; height: 52px; flex-shrink: 0; border-radius: 999px; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(23,63,62,.06); }
.wy-cb__ico img { width: 26px; height: 26px; }
.wy-cb__t { font: 500 16px/1.35 var(--font-sans); color: var(--teal); }
.wy-cta__script { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.wy-cta__script p { margin: 0; font-size: 36px; line-height: 1.02; color: var(--teal); display: flex; flex-direction: column; align-items: center; white-space: nowrap; transform: rotate(-6deg); }
.wy-cta__script .i1 { display: flex; align-items: center; gap: .25em; }
.wy-cta__script img { width: .75em; height: auto; }
.wy-cta__ul { display: block; width: 96px; height: 2px; border-radius: 2px; background: var(--magenta); }

@media (max-width: 479.98px) {
  .wy-hero h1 { font-size: 40px; }
  .wy-hero__media { height: 270px; }
  .wy-cta h2 { font-size: 34px; }
}
@media (min-width: 768px) {
  .wy-hero__intro { padding: 52px 40px 36px; }
  .wy-hero h1 { font-size: 54px; }
  .wy-hero__intro p { margin-top: 20px; font-size: 19px; }
  .wy-hero__ben { padding: 40px 40px 8px; }
  .wy-hero__ben ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; }
  .wy-hero__ben li:last-child { grid-column: span 2; }
  .wy-row { gap: 20px; }
  .wy-row__ico { width: 58px; height: 58px; }
  .wy-row__ico img { width: 29px; height: 29px; }
  .wy-row__text { padding-top: 4px; }
  .wy-row h3 { font-size: 18px; }
  .wy-row p { font-size: 15.5px; }
  .wy-hero__ben li:last-child p { max-width: 560px; }
  .wy-hero__photo { padding: 0 40px; }
  .wy-hero__sage { left: 12px; width: 44%; }
  .wy-hero__media { height: 460px; border-radius: 160px 28px 28px 28px; }
  .wy-hero__script { margin-top: 26px; font-size: 38px; }
  .wy-cta { padding: 64px 40px 72px; }
  .wy-cta__panel { border-radius: 34px; padding: 60px 48px 56px; }
  .wy-cta__sprig1 { width: 100px; }
  .wy-cta__grid { gap: 40px; }
  .wy-cta h2 { font-size: 46px; }
  .wy-cta__main p { font-size: 17px; }
  .wy-cta__btnwrap { width: auto; }
  .wy-cta__btn { width: auto; }
  .wy-cta__cb { padding: 32px 0 0; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #EBCFDA; }
  .wy-cta__cb li { flex-direction: column; gap: 14px; padding: 4px 16px; text-align: center; }
  .wy-cta__cb li + li { border-top: 0; border-left: 1px solid #EBCFDA; }
  .wy-cb__ico { width: 60px; height: 60px; }
  .wy-cb__ico img { width: 30px; height: 30px; }
  .wy-cb__t { font-size: 15.5px; }
  .wy-cta__script p { font-size: 42px; }
}
@media (min-width: 1100px) {
  .wy-hero { grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); grid-template-areas: "intro photo" "ben photo"; grid-template-rows: auto 1fr; }
  .wy-hero__intro { padding: 54px 40px 0 var(--pad-bleed); }
  .wy-hero__eyebrow { margin-bottom: 24px; }
  .wy-hero h1 { font-size: clamp(44px, 3.8vw, 60px); }
  .wy-hero__intro p { margin-top: 22px; }
  .wy-hero__ben { padding: 24px 32px 48px var(--pad-bleed); }
  .wy-hero__ben ul { grid-template-columns: minmax(0, 1fr); gap: 2px; max-width: 640px; }
  .wy-hero__ben li:last-child { grid-column: auto; }
  .wy-row { gap: 18px; }
  .wy-row__text { padding-top: 6px; }
  .wy-row p { font-size: 15px; }
  .wy-hero__photo { min-height: 680px; padding: 0; }
  .wy-hero__sage { left: -6%; top: -40px; width: 46%; }
  .wy-hero__blush { left: -12%; bottom: -60px; width: 48%; }
  .wy-hero__media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: min(100%, calc(min(100vw, 1536px) * .54 / 1.1)); margin: auto 0; border-radius: 34% 0 0 34% / 50% 0 0 50%; box-shadow: none; }
  .wy-hero__script { position: absolute; left: -1%; bottom: 40px; margin: 0; font-size: clamp(32px, 2.7vw, 44px); align-items: flex-start; }
  .wy-hero__script .l2 { padding-left: 1.2em; }
  .wy-cta { padding: 88px var(--pad-wide) 96px; }
  .wy-cta__panel { padding: 64px 56px 64px clamp(120px, 11vw, 168px); }
  .wy-cta__sprig1 { left: 8px; width: 120px; }
  .wy-cta__sprig2 { display: block; }
  .wy-cta__grid { grid-template-columns: minmax(0, 1.25fr) auto minmax(200px, .6fr); gap: clamp(28px, 3.4vw, 56px); }
  .wy-cta__main { align-items: flex-start; text-align: left; }
  .wy-cta h2 { font-size: clamp(40px, 3.4vw, 54px); }
  .wy-cta__main p { margin: 20px 0 0; }
  .wy-cta__btnwrap { margin-top: 30px; }
  .wy-cta__cb { padding: 0; border-top: 0; grid-template-columns: repeat(3, minmax(118px, 132px)); }
  .wy-cta__cb li { padding: 6px 16px; }
  .wy-cta__script { align-items: flex-start; }
  .wy-cta__script p { font-size: clamp(36px, 3vw, 48px); align-items: flex-start; }
  .wy-cta__script .i1 { padding-left: .9em; }
  .wy-cta__ul { margin-left: 1.6em; }
}

/* Wider than the 1536px design canvas: the hero runs edge to edge (text stays in the 1328px column). */
@media (min-width: 1537px) { .wy-hero { max-width: none; } }

/* styles/pages/zz-not-found.css */
/* 404 page */
.nf { max-width: 720px; margin: 0 auto; padding: 72px 20px 88px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.nf__div { width: 120px; height: auto; }
.nf h1 { margin: 0; font: 500 38px/1.12 var(--font-serif); letter-spacing: -.01em; color: var(--teal); text-wrap: balance; }
.nf__text { margin: 0; max-width: 520px; font-size: 16.5px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.nf__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }
.nf__links { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; }
.nf__links a { font-weight: 500; color: var(--magenta-600); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (min-width: 768px) {
  .nf { padding: 112px 40px 128px; }
  .nf h1 { font-size: 52px; }
}

/* generated: right-to-left mirror */
html[dir="rtl"] .skip-link { right: -9999px; left: auto; }
html[dir="rtl"] .skip-link:focus { right: 16px; left: auto; }
html[dir="rtl"] .btn { padding: 0 32px 0 30px; }
html[dir="rtl"] .btn:hover .ico-arrow { transform: translateX(-4px); }
html[dir="rtl"] .ph--blush { background: radial-gradient(120% 90% at 15% 15%, #FFFFFF 0%, rgba(255,255,255,0) 55%), linear-gradient(225deg, #FBEFF3 0%, #F6E3EA 55%, #EEF4EC 100%); }
html[dir="rtl"] .ph--sage { background: radial-gradient(120% 90% at 85% 20%, #FFFFFF 0%, rgba(255,255,255,0) 55%), linear-gradient(225deg, #EEF4EC 0%, #E3EEE0 55%, #FBEFF3 100%); }
html[dir="rtl"] .ph--teal { background: radial-gradient(110% 90% at 20% 20%, #2A5F5C 0%, rgba(42,95,92,0) 60%), linear-gradient(225deg, #1D4B49 0%, #173F3E 100%); }
html[dir="rtl"] .on-photo-card { padding: 12px 16px 12px 18px; }
html[dir="rtl"] .lang-menu { left: 0; right: auto; }
html[dir="rtl"] .mobile-scrim { right: 0; left: 0; }
html[dir="rtl"] .mobile-menu { right: 0; left: 0; }
@media (min-width: 768px) {
html[dir="rtl"] .site-header .btn-wa { padding: 0 16px 0 20px; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .nav__more-menu { left: -20px; right: auto; }
html[dir="rtl"] .site-header .btn-wa { padding: 0 16px 0 20px; }
}
@media (min-width: 1280px) {
html[dir="rtl"] .site-header .btn-wa { padding: 0 20px 0 24px; }
}
html[dir="rtl"] .btn-wa--footer { padding: 0 18px 0 22px; }
html[dir="rtl"] .ab-hero__eyebrow .rule { transform-origin: right center; }
html[dir="rtl"] .ab-hero__media { border-radius: 20px 72px 28px 20px / 20px 150px 28px 20px; }
html[dir="rtl"] .ab-hero__img { right: 0; left: auto; }
html[dir="rtl"] .ab-card { text-align: right; }
html[dir="rtl"] .ab-band__img { left: 0; right: auto; }
html[dir="rtl"] .ab-band__sprig--l { right: -18px; left: auto; transform: rotate(18deg); }
html[dir="rtl"] .ab-band__sprig--r { left: -14px; right: auto; transform: scaleX(-1) rotate(14deg); }
html[dir="rtl"] .ab-band__tag { right: 20px; left: 20px; }
@media (min-width: 768px) {
html[dir="rtl"] .ab-hero__media { border-radius: 24px 120px 40px 24px / 24px 260px 40px 24px; }
html[dir="rtl"] .ab-band__tag { right: 40px; left: 40px; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .ab-hero__text { padding: 66px var(--pad-bleed) 28px 0; }
html[dir="rtl"] .ab-hero__media { border-radius: 0 160px 48px 0 / 0 400px 48px 0; }
html[dir="rtl"] .ab-band__img { -webkit-mask-image: linear-gradient(270deg, transparent 0%, transparent 26%, rgba(0,0,0,.6) 40%, #000 56%); mask-image: linear-gradient(270deg, transparent 0%, transparent 26%, rgba(0,0,0,.6) 40%, #000 56%); }
html[dir="rtl"] .ab-band__tag { right: var(--pad-bleed); left: auto; }
}
html[dir="rtl"] .ar-hero__blob { left: -6%; right: auto; }
html[dir="rtl"] .ar-hero__img { border-radius: 20px 80px 20px 20px; }
html[dir="rtl"] .ar-cta { background: linear-gradient(255deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); }
html[dir="rtl"] .ar-cta__sprig { left: -14px; right: auto; transform: rotate(-14deg) scaleX(-1); }
html[dir="rtl"] .ar-cta__btn { padding: 0 30px 0 28px; }
@media (min-width: 768px) {
html[dir="rtl"] .ar-hero__img { border-radius: 26px 140px 26px 26px; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .ar-hero__img { border-radius: 28px 180px 28px 28px; }
}
html[dir="rtl"] .ar-tip { border-right: 3px solid var(--magenta); border-left: none; border-radius: 14px 4px 4px 14px; }
html[dir="rtl"] .ar-table caption { text-align: right; }
html[dir="rtl"] .ar-table th,
html[dir="rtl"] .ar-table td { text-align: right; }
html[dir="rtl"] .bl-search__box { padding: 0 24px 0 8px; }
html[dir="rtl"] .bl-hero__sage { right: 0; left: auto; }
html[dir="rtl"] .bl-hero__media { border-radius: 22px 96px 22px 22px; }
html[dir="rtl"] .bl-pill { padding: 0 16px 0 22px; }
html[dir="rtl"] .bl-card__cat { right: 20px; left: auto; }
html[dir="rtl"] .bl-card__more { margin-right: auto; margin-left: 0; }
html[dir="rtl"] .bl-card__meta .bl-card__soon { margin-right: auto; margin-left: 0; }
@media (min-width: 768px) {
html[dir="rtl"] .bl-hero__media { border-radius: 28px 160px 28px 28px; }
html[dir="rtl"] .bl-card__cat { right: 24px; left: auto; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .bl-hero__intro { padding: 64px var(--pad-bleed) 72px 40px; }
html[dir="rtl"] .bl-hero__sage { right: -8%; left: auto; }
html[dir="rtl"] .bl-hero__media { left: 0; right: 0; border-radius: 0 34% 34% 0 / 0 50% 50% 0; }
}
html[dir="rtl"] .ct-hero__eyebrow .rule--r { transform-origin: left center; }
html[dir="rtl"] .ct-hero__eyebrow .rule--l { transform-origin: right center; }
html[dir="rtl"] .ct-hero__sage { right: 0; left: auto; }
html[dir="rtl"] .ct-hero__media { border-radius: 22px 96px 22px 22px; }
html[dir="rtl"] .ct-panel { background: linear-gradient(190deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); }
html[dir="rtl"] .ct-panel__sprig1 { left: -18px; right: auto; transform: rotate(-200deg); }
html[dir="rtl"] .ct-panel__sprig2 { right: -26px; left: auto; transform: rotate(-20deg); }
html[dir="rtl"] .ct-panel__img { border-radius: 20px 20px 90px 20px; }
html[dir="rtl"] .ct-lead { right: 16px; left: auto; }
html[dir="rtl"] .ct-input--lead { padding-right: 48px; padding-left: 0; }
html[dir="rtl"] .ct-select { padding: 0 48px 0 44px; }
html[dir="rtl"] .ct-select--euro { padding-right: 70px; padding-left: 0; }
html[dir="rtl"] .ct-euro { right: 1px; left: auto; border-left: 1px solid #EFE7E1; border-right: none; border-radius: 0 11px 11px 0; }
html[dir="rtl"] .ct-iwrap .ct-chev { left: 16px; right: auto; }
html[dir="rtl"] .ct-tile__check { left: 8px; right: auto; }
html[dir="rtl"] .ct-combo__btn { padding: 0 16px 0 44px; text-align: right; }
html[dir="rtl"] .ct-combo__btn .ct-chev { left: 16px; right: auto; }
html[dir="rtl"] .ct-combo__pop { right: 0; left: 0; }
html[dir="rtl"] .ct-combo__search svg { right: 14px; left: auto; }
html[dir="rtl"] .ct-combo__search input { padding: 0 40px 0 12px; }
html[dir="rtl"] .ct-phone .ct-combo__btn { padding: 0 14px 0 36px; }
html[dir="rtl"] .ct-phone .ct-combo__btn .ct-chev { left: 12px; right: auto; }
html[dir="rtl"] .ct-phone .ct-combo__pop { left: auto; right: auto; }
html[dir="rtl"] .ct-close__panel { background: linear-gradient(255deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); }
html[dir="rtl"] .ct-close__sprig1 { left: -20px; right: auto; transform: rotate(-14deg) scaleX(-1); }
html[dir="rtl"] .ct-close__sprig2 { right: -22px; left: auto; transform: rotate(-160deg); }
@media (max-width: 479.98px) {
html[dir="rtl"] .ct-select--euro { padding-right: 62px; padding-left: 36px; }
html[dir="rtl"] .ct-phone .ct-combo__btn { padding-left: 30px; padding-right: 0; }
html[dir="rtl"] .ct-phone .ct-combo__btn .ct-chev { left: 10px; right: auto; }
}
@media (min-width: 768px) {
html[dir="rtl"] .ct-hero__ben li { text-align: right; }
html[dir="rtl"] .ct-hero__media { border-radius: 28px 160px 28px 28px; }
html[dir="rtl"] .ct-trust li { text-align: right; }
}
@media (min-width: 1024px) {
html[dir="rtl"] .ct-hero__intro { padding: 64px var(--pad-bleed) 72px 40px; }
html[dir="rtl"] .ct-hero__sage { right: -8%; left: auto; }
html[dir="rtl"] .ct-hero__media { left: 0; right: 0; border-radius: 0 34% 34% 0 / 0 50% 50% 0; }
}
@media (min-width: 1200px) {
html[dir="rtl"] .ct-close__sprig1 { left: 28px; right: auto; }
}
html[dir="rtl"] .ct-hp { right: -10000px; left: auto; }
html[dir="rtl"] .ct-files__list li { padding: 6px 14px 6px 6px; }
@media (min-width: 768px) {
html[dir="rtl"] .ct-files__drop { text-align: right; }
}
html[dir="rtl"] .fq-hero__eyebrow .rule--r { transform-origin: left center; }
html[dir="rtl"] .fq-hero__eyebrow .rule--l { transform-origin: right center; }
html[dir="rtl"] .fq-hero__sage { right: 0; left: auto; }
html[dir="rtl"] .fq-hero__media { border-radius: 22px 96px 22px 22px; }
html[dir="rtl"] .fq-aside { background: linear-gradient(190deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); }
html[dir="rtl"] .fq-aside__sprig { left: -18px; right: auto; transform: rotate(-200deg); }
html[dir="rtl"] .fq-aside__photo { border-radius: 20px 20px 90px 20px; }
html[dir="rtl"] .fq-item button { padding: 14px 16px 14px 14px; text-align: right; }
html[dir="rtl"] .fq-ico .h { right: 11px; left: 11px; }
html[dir="rtl"] .fq-ico .v { right: 17px; left: auto; }
html[dir="rtl"] .fq-a__in { padding: 0 16px 22px 18px; }
html[dir="rtl"] .fq-cta { padding: 0 24px 0 22px; }
html[dir="rtl"] .fq-cta__panel { background: linear-gradient(255deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); }
html[dir="rtl"] .fq-cta__sprig1 { left: -20px; right: auto; transform: rotate(-14deg) scaleX(-1); }
html[dir="rtl"] .fq-cta__sprig2 { right: -22px; left: auto; transform: rotate(-160deg); }
html[dir="rtl"] .fq-cta__btn { padding: 0 26px 0 30px; }
@media (min-width: 768px) {
html[dir="rtl"] .fq-hero__media { border-radius: 28px 160px 28px 28px; }
html[dir="rtl"] .fq-item button { padding: 16px 26px 16px 20px; }
html[dir="rtl"] .fq-a__in { padding: 2px 95px 26px 72px; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .fq-hero__intro { padding: 64px var(--pad-bleed) 72px 40px; }
html[dir="rtl"] .fq-hero__sage { right: -8%; left: auto; }
html[dir="rtl"] .fq-hero__media { left: 0; right: 0; border-radius: 0 34% 34% 0 / 0 50% 50% 0; }
html[dir="rtl"] .fq-hero__script { right: -4%; left: auto; }
html[dir="rtl"] .fq-hero__script .l2 { padding-right: 1.2em; padding-left: 0; }
html[dir="rtl"] .fq-cta__sprig1 { left: 28px; right: auto; }
html[dir="rtl"] .fq-cta__grid { text-align: right; }
html[dir="rtl"] .fq-cta__act { padding-right: 40px; padding-left: 0; border-right: 1px solid #EBCFDA; border-left: none; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .fq-close__script { right: 0; left: auto; transform: translateY(-40%) rotate(10deg); }
html[dir="rtl"] .fq-close__script .l2 { padding-right: .5em; padding-left: 0; }
html[dir="rtl"] .fq-close__script .l3 { padding-right: 1em; padding-left: 0; }
}
html[dir="rtl"] .hero-slide__media { left: 0; right: auto; }
html[dir="rtl"] [data-tw-t] { border-left: .055em solid transparent; border-right: none; margin-left: -.055em; margin-right: 0; }
html[dir="rtl"] .hero-slide__body [data-tw-t] { border-left-width: 2px; border-right-width: 0; margin-left: -2px; margin-right: 0; }
html[dir="rtl"] .hero-ctrl { left: var(--h-padx); right: auto; }
html[dir="rtl"] .hero-ctrl__pause { border-right: 1px solid var(--line); border-left: none; border-radius: 999px 0 0 999px; }
@media (min-width: 1024px) {
html[dir="rtl"] .hero-slide__media { -webkit-mask-image: linear-gradient(270deg, transparent 0%, rgba(0,0,0,.4) 12%, #000 32%); mask-image: linear-gradient(270deg, transparent 0%, rgba(0,0,0,.4) 12%, #000 32%); }
html[dir="rtl"] .hero-slide__text { padding: 64px var(--pad-bleed) 112px 0; }
}
@media (min-width: 1024px) and (max-width: 1099.98px) {
html[dir="rtl"] .hero-slide__text { padding-right: var(--pad-bleed); padding-left: 0; }
}
html[dir="rtl"] .h-steps__line { right: 8.3%; left: 8.3%; }
html[dir="rtl"] .h-net__img { border-radius: 20px 96px 20px 20px; }
html[dir="rtl"] .h-cta__sprig { right: -18px; left: auto; transform: rotate(18deg); }
@media (min-width: 768px) {
html[dir="rtl"] .h-net__img { border-radius: 24px 140px 24px 24px; }
}
@media (min-width: 1024px) {
html[dir="rtl"] .h-net__img { border-radius: 24px 200px 120px 24px / 24px 300px 180px 24px; }
html[dir="rtl"] .h-why__list li { border-right: 1px solid var(--line); border-left: none; }
}
html[dir="rtl"] .hw-hero__eyebrow .rule { transform-origin: right center; }
html[dir="rtl"] .hw-hero__l2 .script { padding-right: .04em; padding-left: 0; }
html[dir="rtl"] .hw-hero__l2 svg { right: 0; left: 6%; }
html[dir="rtl"] .hw-hero__bn > div + div { border-right: 1px solid var(--line); border-left: none; }
html[dir="rtl"] .hw-hero__blob1 { right: 0; left: auto; }
html[dir="rtl"] .hw-hero__blob2 { right: 0; left: auto; }
html[dir="rtl"] .hw-hero__media { border-radius: 20px 72px 28px 20px / 20px 150px 28px 20px; }
html[dir="rtl"] .hw-hero__img { right: 0; left: auto; }
html[dir="rtl"] .hw-step { text-align: right; }
html[dir="rtl"] .hw-step__vline { border-right: 2px dotted #E59BBC; border-left: none; }
html[dir="rtl"] .hw-cta__panel { background: linear-gradient(260deg, #FBEFF3 0%, #FDF6F8 30%, #FFFDFB 55%, #F7FAF4 80%, #EEF5EA 100%); }
html[dir="rtl"] .hw-cta__sprig--l { right: -10px; left: auto; transform: rotate(24deg); }
html[dir="rtl"] .hw-cta__sprig--r { left: -16px; right: auto; transform: scaleX(-1) rotate(20deg); }
@media (min-width: 768px) {
html[dir="rtl"] .hw-hero__bn > div { text-align: right; }
html[dir="rtl"] .hw-hero__bn > div:first-child { padding-right: 22px; padding-left: 0; }
html[dir="rtl"] .hw-hero__media { border-radius: 24px 120px 60px 24px / 24px 260px 90px 24px; }
html[dir="rtl"] .hw-hero__float { left: 0; right: auto; border-radius: 0 24px 24px 0; }
html[dir="rtl"] .hw-step__arrow { left: -40px; right: auto; }
html[dir="rtl"] .hw-cta__script { padding: 0 0 0 20px; }
html[dir="rtl"] .hw-cta__script p { text-align: right; }
html[dir="rtl"] .hw-cta__center { text-align: right; padding: 4px 36px 4px 0; border-right: 1px solid #F2D9E3; border-left: none; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .hw-hero__text { padding: 56px var(--pad-bleed) 48px 0; }
html[dir="rtl"] .hw-hero__blob1,
html[dir="rtl"] .hw-hero__blob2 { right: -7%; left: auto; }
html[dir="rtl"] .hw-hero__media { border-radius: 0 200px 140px 0 / 0 340px 220px 0; }
html[dir="rtl"] .hw-step__arrow { left: -38px; right: auto; }
html[dir="rtl"] .hw-cta__script { padding: 0 8px 0 24px; }
html[dir="rtl"] .hw-cta__center { border-left: 1px solid #F2D9E3; border-right: none; }
html[dir="rtl"] .hw-cta__trust { padding: 0 36px 0 0; }
}
html[dir="rtl"] .lg-toc { background: linear-gradient(190deg, #FBEFF3 0%, #FCF6F3 55%, #EEF4EC 100%); }
html[dir="rtl"] .lg-toc ol { padding: 0 20px 0 0; }
html[dir="rtl"] .lg-sec ul { padding: 18px 38px 18px 20px; }
html[dir="rtl"] .nw-hero__eyebrow .rule { transform-origin: right center; }
html[dir="rtl"] .nw-hero__img { right: 0; left: auto; }
html[dir="rtl"] .nw-partners__sprig { right: -18px; left: auto; transform: rotate(24deg); }
html[dir="rtl"] .nw-pano__text .i1 { padding-right: .3em; padding-left: 0; }
html[dir="rtl"] .nw-pano__text .i2 { padding-right: .5em; padding-left: 0; }
@media (min-width: 1100px) {
html[dir="rtl"] .nw-hero__text { padding: 64px var(--pad-bleed) 64px 24px; }
html[dir="rtl"] .nw-hero__media { left: 0; right: auto; }
html[dir="rtl"] .nw-hero__mask { -webkit-mask-image: linear-gradient(270deg, transparent 0%, rgba(0,0,0,.4) 10%, rgba(0,0,0,.85) 20%, #000 28%); mask-image: linear-gradient(270deg, transparent 0%, rgba(0,0,0,.4) 10%, rgba(0,0,0,.85) 20%, #000 28%); }
html[dir="rtl"] .nw-partners__side { border-right: 1px solid #EBCFDA; border-left: none; padding: 8px 40px 8px 0; }
html[dir="rtl"] .nw-pano__text { left: clamp(16px, 2.4vw, 44px); right: auto; }
html[dir="rtl"] .nw-pano__m2 { -webkit-mask-image: linear-gradient(270deg, #000 0%, #000 80%, transparent 89%); mask-image: linear-gradient(270deg, #000 0%, #000 80%, transparent 89%); }
}
html[dir="rtl"] .tx-hero__eyebrow .rule { transform-origin: right center; }
html[dir="rtl"] .tx-hero__img { right: 0; left: auto; }
html[dir="rtl"] .tx-hero__circle { left: -60px; right: auto; }
html[dir="rtl"] .tx-hero__circle-t { right: 12%; left: auto; transform: rotate(10deg); }
html[dir="rtl"] .tx-hero__circle-t .i2 { padding-right: .4em; padding-left: 0; }
html[dir="rtl"] .tx-hero__circle-t .i3 { padding-right: .3em; padding-left: 0; }
html[dir="rtl"] .tx-card__icon { right: 18px; left: auto; }
html[dir="rtl"] .tx-cta__box { background: linear-gradient(260deg, #FBEFF3 0%, #FDF4F7 40%, #FFF8FA 60%, #F7FAF4 100%); }
html[dir="rtl"] .tx-cta__sprig { right: -14px; left: auto; transform: rotate(24deg); }
html[dir="rtl"] .tx-cta__circle { left: -56px; right: auto; }
html[dir="rtl"] .tx-cta__circle-t { right: 12%; left: auto; transform: rotate(12deg); }
html[dir="rtl"] .tx-cta__circle-t .i1 { padding-right: .3em; padding-left: 0; }
html[dir="rtl"] .tx-cta__circle-t .i2 { padding-right: .2em; padding-left: 0; }
@media (min-width: 768px) {
html[dir="rtl"] .tx-hero__circle { left: -80px; right: auto; }
html[dir="rtl"] .tx-ben li + li { border-right: 1px solid var(--line-3); border-left: none; }
html[dir="rtl"] .tx-cta__circle { left: -70px; right: auto; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .tx-hero__text { padding: 64px var(--pad-bleed) 60px 28px; }
html[dir="rtl"] .tx-hero__media { left: 0; right: auto; }
html[dir="rtl"] .tx-hero__mask { -webkit-mask-image: linear-gradient(270deg, transparent 0%, transparent 20%, rgba(0,0,0,.45) 30%, rgba(0,0,0,.9) 40%, #000 48%); mask-image: linear-gradient(270deg, transparent 0%, transparent 20%, rgba(0,0,0,.45) 30%, rgba(0,0,0,.9) 40%, #000 48%); }
html[dir="rtl"] .tx-hero__circle { left: -120px; right: auto; }
html[dir="rtl"] .tx-ben li { text-align: right; }
html[dir="rtl"] .tx-cta__text { padding: 46px 44px 46px 0; }
html[dir="rtl"] .tx-cta__media { left: 0; right: auto; }
html[dir="rtl"] .tx-cta__mask { -webkit-mask-image: radial-gradient(ellipse 100% 150% at 0% 50%, #000 62%, rgba(0,0,0,.6) 72%, transparent 84%); mask-image: radial-gradient(ellipse 100% 150% at 0% 50%, #000 62%, rgba(0,0,0,.6) 72%, transparent 84%); }
html[dir="rtl"] .tx-cta__circle { left: -90px; right: auto; }
}
html[dir="rtl"] .wy-hero__eyebrow .rule { transform-origin: right center; }
html[dir="rtl"] .wy-row { padding: 8px 0 8px 12px; }
html[dir="rtl"] .wy-row:hover { transform: translateX(-6px); }
html[dir="rtl"] .wy-hero__sage { right: 0; left: auto; }
html[dir="rtl"] .wy-hero__blush { right: auto; left: auto; }
html[dir="rtl"] .wy-hero__media { border-radius: 22px 96px 22px 22px; }
html[dir="rtl"] .wy-hero__img { right: 0; left: auto; }
html[dir="rtl"] .wy-cta__panel { background: linear-gradient(255deg, #FBEFF3 0%, #FCF3F2 48%, #EEF4EC 100%); }
html[dir="rtl"] .wy-cta__sprig1 { right: -26px; left: auto; transform: rotate(14deg); }
html[dir="rtl"] .wy-cta__sprig2 { right: 54px; left: auto; transform: rotate(-160deg) scaleX(-1); }
html[dir="rtl"] .wy-cta__cb li { text-align: right; }
@media (min-width: 768px) {
html[dir="rtl"] .wy-hero__sage { right: 12px; left: auto; }
html[dir="rtl"] .wy-hero__media { border-radius: 28px 160px 28px 28px; }
html[dir="rtl"] .wy-cta__cb li + li { border-right: 1px solid #EBCFDA; border-left: none; }
}
@media (min-width: 1100px) {
html[dir="rtl"] .wy-hero__intro { padding: 54px var(--pad-bleed) 0 40px; }
html[dir="rtl"] .wy-hero__ben { padding: 24px var(--pad-bleed) 48px 32px; }
html[dir="rtl"] .wy-hero__sage { right: -6%; left: auto; }
html[dir="rtl"] .wy-hero__blush { right: -12%; left: auto; }
html[dir="rtl"] .wy-hero__media { left: 0; right: 0; border-radius: 0 34% 34% 0 / 0 50% 50% 0; }
html[dir="rtl"] .wy-hero__script { right: -1%; left: auto; }
html[dir="rtl"] .wy-hero__script .l2 { padding-right: 1.2em; padding-left: 0; }
html[dir="rtl"] .wy-cta__panel { padding: 64px clamp(120px, 11vw, 168px) 64px 56px; }
html[dir="rtl"] .wy-cta__sprig1 { right: 8px; left: auto; }
html[dir="rtl"] .wy-cta__main { text-align: right; }
html[dir="rtl"] .wy-cta__script .i1 { padding-right: .9em; padding-left: 0; }
html[dir="rtl"] .wy-cta__ul { margin-right: 1.6em; margin-left: 0; }
}

/* styles/rtl-extra.css */
/* Arrows and chevrons point the other way. `scale` (not `transform`) so hover movements keep working. */
html[dir="rtl"] .ico-flip, html[dir="rtl"] .ico-arrow { scale: -1 1; }
/* the flipped arrow moves outward on hover: the parent's mirroring already turns +4px into a move to the left */
html[dir="rtl"] .btn:hover .ico-arrow { transform: translateX(4px); }
html[dir="rtl"] .lang-menu { right: auto; left: 0; }
html[dir="rtl"] input[type="tel"] { direction: ltr; text-align: right; }

/* Arabic letters join: any letter-spacing (used for Latin eyebrows and headings) breaks them apart. */
html[dir="rtl"] *, html[dir="rtl"] *::before, html[dir="rtl"] *::after { letter-spacing: normal !important; }

/* The handwritten Arabic face is taller and wider than Allura: slightly smaller, with room between lines. */
html[dir="rtl"] .script, html[dir="rtl"] .hw-cta__script p, html[dir="rtl"] .wy-cta__script p, html[dir="rtl"] .tx-cta__right { zoom: .82; line-height: 1.65; }
html[dir="rtl"] .tx-cta__right { line-height: 1.2; }
html[dir="rtl"] .hw-step__arrow { scale: -1 1; }
/* Handwritten accent word inside a heading: keep it in proportion with the line, never wider than the column. */
html[dir="rtl"] .tx-cta__right { zoom: 1; font-size: 1.2em; line-height: 1.3; padding: 0 .1em; }
html[dir="rtl"] :is(h1, h2) { line-height: 1.28; }
