

    :root {
      --color-accent: #14a094; --color-accent-2: #3fb3a6;
      --color-accent-100: #eef7f6; --color-accent-200: #d5ecea; --color-accent-300: #b3dbd8; --color-accent-400: #86c1bd;
      --color-accent-500: #5da49f; --color-accent-600: #128a7f; --color-accent-700: #0f6d65; --color-accent-800: #234f4d; --color-accent-900: #183534;
      --color-accent-2-100: #eef7f6; --color-accent-2-200: #d5ecea; --color-accent-2-300: #b3dbd8; --color-accent-2-400: #86c1bd;
      --color-accent-2-500: #5da49f; --color-accent-2-600: #128a7f; --color-accent-2-700: #0f6d65; --color-accent-2-800: #234f4d; --color-accent-2-900: #183534;
      --color-bg: #f7f8f8; --color-surface: #e9eff2;
      --color-text: #1b4672; --color-divider: color-mix(in srgb, #1b4672 40%, transparent);
      --color-neutral-300: #cfdae4; --color-neutral-700: #4a6786; --color-neutral-800: #2f4f70;
    }
    h1, h2, h3 { color: #1b4672; }
    .btn-secondary { border-color: #1b4672; color: #1b4672; }
    .btn-secondary:hover { background: rgba(27,70,114,.07); }
    html { scroll-behavior: smooth; }
    h1, h2, h3, .btn, .site-nav span { font-weight: 600 !important; }
    .btn, .input, .seg, .tag { border-radius: 6px !important; }
    .seg-opt:first-child { border-radius: 5px 0 0 5px; } .seg-opt:last-child { border-radius: 0 5px 5px 0; }
    image-slot, figure iframe { border-radius: 10px; overflow: hidden; }
    .soft-panel { border-radius: 12px; }
    body { margin: 0; text-wrap: pretty; }
    a { color: var(--color-accent-700); }
    a:hover { color: var(--color-accent-900); }
    .site-nav a[data-link] { color: inherit; text-decoration: none; font-size: 17px; font-weight: 600; white-space: nowrap; }
    .site-nav a[data-link]:hover { color: var(--color-accent); }
    @media (max-width: 640px) { .site-nav > a[data-link] { display: none !important; } }
    @media (max-width: 800px) { .two-col { grid-template-columns: 1fr !important; } .hero-figure { max-width: 380px; } }
    @media (max-width: 640px) { .form-grid { grid-template-columns: 1fr !important; } .form-grid > * { grid-column: auto !important; } }
    @media (max-width: 900px) { .cells { grid-template-columns: 1fr 1fr !important; } }
    @media (max-width: 560px) { .cells { grid-template-columns: 1fr !important; } }

    /* — tablet / laptop: tighter header so five links + CTA fit — */
    @media (max-width: 1180px) {
      .site-nav { gap: var(--space-4); }
      .site-nav a[data-link] { font-size: 15px; }
      .site-nav .btn-primary { font-size: 14px !important; padding: 10px 14px !important; }
    }
    @media (max-width: 960px) {
      .site-nav > a[data-link] { display: none !important; }
      .site-nav { flex-wrap: wrap; row-gap: 6px; }
      .mobile-links { display: flex !important; }
      .mobile-links a[data-link] { display: inline-flex !important; align-items: center; min-height: 32px; font-size: 15px; }
    }
    /* — phone optimization — */
    @media (max-width: 640px) {
      .site-nav { flex-wrap: wrap; row-gap: 8px; gap: 12px; padding: 10px 16px calc(10px) !important; padding-left: max(16px, env(safe-area-inset-left)) !important; padding-right: max(16px, env(safe-area-inset-right)) !important; }
      .site-nav > a[aria-label] svg { width: 104px; height: 49px; }
      .site-nav .btn-primary { font-size: 14px !important; padding: 11px 14px !important; min-height: 44px; }
      .site-nav .mobile-links a[data-link] { display: inline-flex !important; align-items: center; min-height: 36px; font-size: 14px; padding: 0 2px; }
      .mobile-links { display: flex !important; }
      main { padding-left: max(16px, env(safe-area-inset-left)) !important; padding-right: max(16px, env(safe-area-inset-right)) !important; padding-bottom: 84px !important; }
      h1 { font-size: 34px !important; line-height: 1.08 !important; }
      h2 { font-size: 26px !important; }
      .hero-figure, .bio-figure { max-width: none !important; }
      .hero-figure image-slot { aspect-ratio: 4 / 3 !important; }
      .bio-figure image-slot { aspect-ratio: 4 / 5 !important; }
      .hero-figure { order: 2; }
      .btn { min-height: 44px; }
      .input, textarea.input { font-size: 16px !important; min-height: 44px; }
      .seg-opt { min-height: 44px; padding: 10px 14px; flex: 1; justify-content: center; }
      .seg { display: flex !important; width: 100%; }
      summary { min-height: 44px; }
      .contact-dl { grid-template-columns: 1fr !important; gap: 4px 0 !important; }
      .contact-dl dd { margin-bottom: 12px !important; }
      .cells > div, .cells > a { min-height: 0 !important; padding: 18px 16px !important; }
      .cells { grid-template-columns: 1fr !important; }
      .mobile-cta { display: flex !important; }
      footer { min-height: 56px !important; } footer img { height: 26px !important; margin-left: -4px !important; }
    }
    .mobile-links { display: none; width: 100%; gap: 4px 18px; flex-wrap: wrap; order: 10; }
    .mobile-cta { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; padding: 10px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: var(--color-bg); border-top: 1px solid var(--color-neutral-300); gap: 10px; }
    .mobile-cta .btn { flex: 1; min-height: 48px; font-size: 16px; }
    @media (hover: none) { .btn-primary:hover { background: var(--color-accent); } }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
    summary::-webkit-details-marker { display: none; }
    details[open] .faq-plus::after { transform: rotate(90deg); }
  
.faq-plus::before{content:'';position:absolute;left:0;top:6px;width:14px;height:2px;background:currentColor}
.faq-plus::after{content:'';position:absolute;left:6px;top:0;width:2px;height:14px;background:currentColor;transition:transform .2s}
details[open] .faq-plus::after{transform:scaleY(0)}
summary::-webkit-details-marker{display:none}
.cells a:hover{color:var(--color-accent-700)}
