/* styles/tokens.css */
/* Brand fonts (self-hosted from the approved brand package; no third-party requests). */
@font-face { font-family: 'Readex Pro'; src: url('/assets/fonts/ReadexPro-VariableFont_HEXP-wght.ttf') format('truetype'); font-weight: 160 700; font-display: swap; }
@font-face { font-family: 'Newsreader'; src: 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-Italic-VariableFont_opsz-wght.ttf') format('truetype'); font-weight: 200 800; font-style: italic; font-display: swap; }
@font-face { font-family: 'Allura'; src: url('/assets/fonts/Allura-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }

:root {
  /* Brand colours (Developer Brand Reference Sheet) */
  --teal: #173F3E;
  --teal-2: #1D4B49;
  --magenta: #D0357A;
  --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); } }

/* 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); 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); }

.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: var(--muted-2); 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: var(--muted-2); }
.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: var(--muted-2); }
.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); 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 0; }
.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); color: #fff; border-color: var(--magenta); 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 button { 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 button:disabled { opacity: .4; cursor: default; }
.bl-pager button.is-on { background: var(--magenta); color: #fff; border-color: var(--magenta); box-shadow: 0 6px 16px rgba(208,53,122,.22); cursor: default; }

.bl-news { max-width: 1536px; margin: 0 auto; padding: 56px 16px; }
.bl-news__panel { position: relative; overflow: hidden; border-radius: 26px; background: linear-gradient(105deg, #FBEFF3 0%, #FCF3F2 50%, #EEF4EC 100%); padding: 34px 22px; }
.bl-news__sprig { position: absolute; right: -20px; bottom: -28px; width: 78px; height: auto; opacity: .5; transform: rotate(14deg) scaleX(-1); pointer-events: none; }
.bl-news__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.bl-news__head { min-width: 0; display: flex; align-items: center; gap: 24px; }
.bl-news__ico { display: none; width: 76px; height: 76px; flex-shrink: 0; border-radius: 999px; background: #fff; align-items: center; justify-content: center; box-shadow: 0 8px 24px rgba(23,63,62,.08); }
.bl-news h2 { margin: 0; font: 500 34px/1.1 var(--font-serif); letter-spacing: -.01em; color: var(--teal); }
.bl-news h2 em { font-style: italic; color: var(--magenta); }
.bl-news__head p { margin: 10px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink); text-wrap: pretty; }
.bl-news__form fieldset { border: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; padding: 0; background: transparent; border-radius: 999px; width: 100%; }
.bl-news__field { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 20px; background: #fff; border-radius: 999px; border: 1.5px solid var(--line); }
.bl-news__field input { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; background: transparent; font: 400 16px/20px var(--font-sans); color: var(--teal); }
.bl-news__form button { height: 56px; padding: 0 32px; border: 0; border-radius: 999px; background: var(--magenta); color: #fff; font: 500 16px/20px var(--font-sans); letter-spacing: .01em; flex-shrink: 0; box-shadow: 0 4px 14px rgba(208,53,122,.22); }
.bl-news__form fieldset:disabled { opacity: .72; }
.bl-news__form fieldset:disabled button { cursor: not-allowed; }
.bl-news__status { margin: 0; grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 13.5px; line-height: 20px; color: var(--muted); }

@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 0; }
  .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; }
  .bl-news { padding: 72px 40px; }
  .bl-news__panel { border-radius: 34px; padding: 44px; }
  .bl-news h2 { font-size: 42px; }
  .bl-news__head p { font-size: 17px; }
  .bl-news__form fieldset { flex-direction: row; padding: 8px; background: #fff; box-shadow: 0 10px 28px rgba(23,63,62,.07); }
  .bl-news__field { border-color: transparent; }
}
@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) 0; }
  .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; }
  .bl-news { padding: 96px var(--pad-wide); }
  .bl-news__panel { padding: 48px 56px; }
  .bl-news__sprig { right: 22px; width: 104px; }
  .bl-news__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 40px 40px; row-gap: 12px; }
  .bl-news__ico { display: flex; }
  .bl-news h2 { font-size: clamp(38px, 3.2vw, 48px); }
  .bl-news__form { justify-self: end; width: 100%; max-width: 560px; }
  .bl-news__status { grid-column: 2; justify-content: flex-end; }
}

/* 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); 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: #8A9392; 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: #8A9392; }
.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: #8A9392; }
.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); 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; }
}
@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; } }

/* 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); 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); 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; } }

/* 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); 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; } }
