/* Shared public-facing refinements — preserve content and existing grids. */
:root { --site-border:#e2ece8;--site-soft:#f5faf8;--site-radius:20px; }
html { scroll-padding-top:90px; }
body.site-modern { background:#fcfdfd;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65; }
.site-modern main { min-width:0; }
.site-modern > header { background:rgba(255,255,255,.93);border-color:var(--site-border);box-shadow:0 4px 24px rgba(20,66,47,.035); }
.site-modern > header>.container { min-height:74px;gap:16px; }
.site-modern > header nav a,.site-modern > header nav button { min-height:42px;display:flex;align-items:center;font-size:14px;border-radius:12px; }
.site-modern > header nav ul ul a { display:block; }
.site-modern > header .group:focus-within>ul { visibility:visible;opacity:1;transform:translateY(8px); }
.site-modern #mobileNav { max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain; }
.site-modern #mobileNav a,.site-modern #mobileNav button { min-height:48px; }
.site-modern #mobileNav nav { padding-bottom:calc(16px + env(safe-area-inset-bottom)); }
.site-modern main :is(h1,h2,h3) { letter-spacing:-.025em;line-height:1.3;overflow-wrap:anywhere; }
.site-modern main article { border-radius:var(--site-radius);overflow:hidden;box-shadow:0 5px 20px rgba(25,63,45,.05);transition:box-shadow .2s,transform .2s; }
.site-modern main article:hover { box-shadow:0 12px 32px rgba(25,63,45,.085);transform:translateY(-2px); }
.site-modern main article img { transition:transform .4s; }
.site-modern main .rounded-xl,.site-modern main .rounded-2xl { border-radius:var(--site-radius); }
.site-modern main :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px;border-radius:12px;min-height:46px; }
.site-modern main :is(button,input[type=submit]) { min-height:44px;border-radius:12px; }
.site-modern main a[class*="bg-emerald"],.site-modern main a[class*="bg-brand"],.site-modern main a[class*="px-4"] { border-radius:12px; }
.site-modern main .prose { overflow-wrap:anywhere;line-height:1.85; }
.site-modern main table { font-size:14px; }
.site-modern main th,.site-modern main td { padding:12px 14px; }
.site-modern :focus-visible { outline:3px solid #2daa8c;outline-offset:3px; }
html.dark .site-modern { background:#101c2b; }
html.dark .site-modern > header { background:rgba(15,28,43,.94);border-color:#2d3e4f; }
@supports(backdrop-filter:blur(16px)) { .site-modern > header { backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); } }
@media(max-width:1023.98px) { .site-modern > header>.container { min-height:68px; } }
@media(max-width:639.98px) {
  html { scroll-padding-top:76px; }
  .site-modern > header>.container { gap:10px;padding-left:16px;padding-right:16px; }
  .site-modern > header>.container>a { gap:9px;min-width:0;flex:1; }
  .site-modern > header>.container>a>span { font-size:14px;line-height:1.35; }
  .site-modern > header>.container>a>img { width:34px;height:34px;object-fit:contain;flex-shrink:0; }
  .site-modern #themeToggle,.site-modern #mobileToggle { padding:10px;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0; }
  .site-modern main section { scroll-margin-top:80px; }
  .site-modern main [class*="grid-cols-2"][class*="gap-8"] { gap:14px; }
  .site-modern main .grid-cols-2>.p-8 { padding:22px 14px; }
  .site-modern main .grid-cols-2>.group a { overflow-wrap:anywhere; }
  .site-modern main article { border-radius:17px; }
  .site-modern main .prose { font-size:16px; }
  .site-modern .swiper-button-prev,.site-modern .swiper-button-next { width:36px;height:36px; }
}
@media(prefers-reduced-motion:reduce) { .site-modern,.site-modern * { scroll-behavior:auto!important;animation:none!important;transition:none!important; } .site-modern [data-aos] { transform:none!important;opacity:1!important; } }

.site-modern [data-aos] { transition-duration:550ms!important;transition-delay:0ms!important; }
.site-modern .prose h1 { font-size:1.9em;font-weight:750;margin:1.2em 0 .6em; }
.site-modern .prose h2 { font-size:1.55em;font-weight:700;margin:1.25em 0 .65em; }
.site-modern .prose h3 { font-size:1.22em;font-weight:700;margin:1.2em 0 .6em; }
.site-modern .prose p { margin:0 0 1em; }
.site-modern .prose :is(h1,h2,h3):first-child { margin-top:0; }
.site-modern .prose img { max-width:100%;height:auto;border-radius:12px; }
.site-modern main article:has(.prose):hover { transform:none; }

/* Compact and stable phone navigation; public services stay easy to find. */
.site-modern > header>.container>a { min-width:0; }
.site-modern > header>.container>a>span { overflow-wrap:anywhere; }
.site-modern > header.site-nav-compact>.container>nav { display:none!important; }
.site-modern > header.site-nav-compact #mobileToggle { display:block!important; }
.site-modern #mobileNav { max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px); }
.site-modern.site-menu-open { overflow:hidden; }
.site-modern main :is(.grid,.flex)>* { min-width:0; }
.site-modern main iframe { max-width:100%; }
.site-modern main .prose table { display:block;max-width:100%;overflow-x:auto; }
.site-modern main form :is(input,select,textarea) { max-width:100%; }
.site-services { padding:36px 0;background:var(--site-soft);border-top:1px solid var(--site-border);border-bottom:1px solid var(--site-border); }
.site-services-inner { max-width:1280px;margin:auto;padding:0 24px; }
.site-services h2 { font-size:24px;font-weight:700;margin:0 0 8px; }
.site-services p { font-size:14px;color:#64748b;margin:0; }
.site-service-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px; }
.site-service-card { display:flex;align-items:flex-start;gap:12px;padding:20px;border:1px solid var(--site-border);border-radius:16px;background:#fff; }
.site-service-card>span:first-child { display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:11px;background:#e5f5ef;color:#087f76;font-size:18px; }
.site-service-card strong { display:block;font-size:14px; }
.site-service-card small { display:block;margin-top:4px;color:#64748b;font-size:12px;line-height:1.6; }
.site-service-card:focus-visible,.site-service-card:hover { border-color:#2daa8c; }
html.dark .site-services { background:#142237;border-color:#2d3e4f; }
html.dark .site-service-card { background:#101c2b;border-color:#2d3e4f; }
html.dark .site-service-card small,html.dark .site-services p { color:#a5b6cc; }
@media(max-width:1023.98px) { .site-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767.98px) {
  .site-modern > header { backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff; }
  html.dark .site-modern > header { background:#101c2b; }
  .site-modern main [data-aos] { opacity:1!important;transform:none!important;transition:none!important; }
  .site-modern main [class*="backdrop-blur"] { backdrop-filter:none;-webkit-backdrop-filter:none; }
  .site-modern main article:hover { transform:none; }
  .site-modern main .flex.items-end.justify-between { align-items:flex-start;flex-wrap:wrap; }
  .site-modern #mobileNav { position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 24px rgba(20,40,65,.1);max-height:calc(100dvh - 80px); }
  .site-services-inner { padding:0 16px; }
  .site-services { padding:28px 0; }
  .site-services h2 { font-size:22px; }
  .site-service-card { padding:16px; }
  .site-service-grid { gap:10px; }
}
@media(max-width:479.98px) { .site-service-grid { grid-template-columns:1fr; } }
@media(hover:none) { .site-modern main article:hover,.site-modern main article:hover img { transform:none!important; } }
.site-modern main aside>div { border-radius:16px;overflow:hidden; }
.site-download-card h2 { overflow-wrap:anywhere; }
@media(max-width:639.98px) { .site-download-card { flex-wrap:wrap;gap:14px; } .site-download-card>div { flex-basis:100%;padding-right:0; } .site-download-card>a { width:100%;justify-content:center;min-height:46px; } }
