/* ============================================================================
   final-responsive-fix.css  —  ALLEANZA. SPERANZA ANIMALE E MILIEU (S.A.M.)
   LAST loaded stylesheet on every page. Authoritative mobile + polish layer.
   Goal: kill mobile multi-column squeezing, compact cards/hero/header/nav,
   keep details inside the viewport, and lightly polish desktop.
   ========================================================================== */

/* ---- global safety: never allow horizontal overflow, media never overflows ---- */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas, iframe { max-width: 100%; }
* { min-width: 0; }

/* Desktop grouped navigation */
.nav-links.nav-grouped{display:flex!important;align-items:center!important;gap:.3rem!important;flex-wrap:nowrap!important}
.nav-links.nav-grouped>li{position:relative!important;list-style:none!important}
.nav-links.nav-grouped a,.nav-links.nav-grouped button{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:.45rem .65rem!important;border-radius:999px!important;color:var(--cc-text)!important;font:700 .72rem/1 var(--f-mono)!important;letter-spacing:.02em!important;white-space:nowrap!important;background:transparent!important;border:1px solid transparent!important}
.nav-links.nav-grouped a:hover,.nav-links.nav-grouped button:hover{background:rgba(226,185,92,.10)!important;border-color:rgba(226,185,92,.22)!important}
.nav-dropdown{display:none!important;position:absolute!important;top:calc(100% + 8px)!important;left:0!important;min-width:230px!important;padding:.45rem!important;border-radius:16px!important;background:rgba(5,16,13,.98)!important;border:1px solid rgba(226,185,92,.24)!important;box-shadow:0 26px 70px rgba(0,0,0,.48)!important;z-index:7000!important;pointer-events:auto!important}
/* hover bridge: invisible padding spanning the 8px gap so the dropdown does not close
   while the pointer travels from the group button down to the menu */
.nav-group{padding-bottom:0!important}
.nav-group>button{position:relative!important}
.nav-dropdown::before{content:''!important;position:absolute!important;left:0!important;right:0!important;top:-10px!important;height:12px!important;background:transparent!important;display:block!important;pointer-events:none!important}
.nav-dropdown a{display:flex!important;width:100%!important;justify-content:flex-start!important;border-radius:10px!important;padding:.62rem .7rem!important;position:relative!important;z-index:1!important;pointer-events:auto!important}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown,.nav-group.open .nav-dropdown{display:grid!important;gap:.2rem!important}
/* keep group highlighted while its menu is open */
.nav-group:hover>button,.nav-group:focus-within>button{background:rgba(226,185,92,.10)!important;border-color:rgba(226,185,92,.22)!important}
@media(max-width:1120px){.nav-links.nav-grouped a,.nav-links.nav-grouped button{font-size:.66rem!important;padding:.42rem .5rem!important}.nav-dropdown{min-width:210px!important}}

/* ============================================================================
   MOBILE  (phones + small tablets)
   ========================================================================== */
@media (max-width: 760px) {

  /* --- one clean vertical flow: force every content grid to a single column --- */
  .home-ops, .home-ops-grid, .home-intelligence, .home-bottom-row,
  .home-intel-grid, .monster-intel-grid, .monster-news-grid,
  .featured-grid, #featured-grid, .news-card-grid, .news-grid, #news-grid,
  .doc-grid, #doc-grid, .res-grid, .research-grid, #research-grid,
  .gallery-grid, .hub-grid, #cs-grid, #bd-grid, .home-hub-grid,
  .bear-grid, #bear-grid, .project-grid, #grid-container,
  .region-body, .project-body, .propose-grid, .obs-grid,
  .membership-grid, .member-shell, .form-2col, .form-row, .coord-row,
  .portal-grid, .kpi-grid, .dash-grid, .exp-dashboard,
  .mini-card-stack, .partner-command-grid, .field-row, .grid-2, .grid-3, .grid-4,
  .modal-detail-grid, .region-stat-row, .news-tl-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  /* children must never exceed their parent */
  .home-hub-grid > *, .featured-grid > *, .hub-grid > *, .doc-grid > *,
  .res-grid > *, .news-grid > *, .bear-grid > *, .gallery-grid > *,
  [class*="grid"] > *, .mini-card-stack > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* tiny stat chips may stay 2-up but must not clip text */
  .stat-tiles, .mini-stats, .monster-metrics, .hero2-metrics {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .5rem !important;
  }
  .stat-tile, .mini-stat, .hero2-metric { min-width: 0 !important; }

  /* masonry → single column on phones */
  .masonry-grid { columns: 1 !important; column-gap: 0 !important; }
  .masonry-item { break-inside: avoid; margin-bottom: .6rem; }

  /* --- compact section heroes: actions visible without scrolling --- */
  .section-tight { padding-top: calc(var(--header-h) + 1rem) !important; }
  .hub-page { padding-top: calc(var(--header-h) + .8rem) !important; }
  /* compact but NEVER clipping: the hero grows with the title (long project
     and article titles used to be cut off under the fixed header) */
  .project-hero, .region-hero, .article-hero, .page-hero {
    height: auto !important; min-height: 150px !important; max-height: none !important;
  }
  .display-lg { font-size: clamp(1.6rem, 7.4vw, 2.3rem) !important; line-height: 1.08 !important; }
  .display-md { font-size: clamp(1.35rem, 6.4vw, 2rem) !important; }
  .hub-head h1, .admin-section-head h1 { font-size: clamp(1.5rem, 7vw, 2rem) !important; }
  .body-lg, .hub-lede { font-size: .9rem !important; line-height: 1.55 !important; }

  /* --- compact cards everywhere --- */
  .hub-card, .res-card, .doc-card, .bear-card, .news-card, .pcard,
  .contact-info-card, .cc-panel, .member-card, .membership-card {
    padding: .85rem !important; border-radius: 16px !important;
  }
  .hub-card h3 { font-size: .92rem !important; }
  .hub-card p { font-size: .8rem !important; }
  .bear-card{display:grid!important;grid-template-columns:1fr!important;padding:0!important;overflow:hidden!important}
  .bear-card-header{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:.65rem!important;align-items:center!important;padding:.72rem!important}
  .bear-avatar{width:48px!important;height:48px!important;font-size:1.25rem!important}
  .bear-card-header>div:nth-child(2){min-width:0!important;overflow:hidden!important}
  .bear-id,.bear-name{display:block!important;white-space:nowrap!important;word-break:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;writing-mode:horizontal-tb!important;letter-spacing:.02em!important}
  .bear-id{font-size:.62rem!important;max-width:100%!important}
  .bear-name{font-size:.96rem!important;max-width:100%!important}
  .bear-card-header .risk-badge{grid-column:1/-1!important;justify-self:start!important;margin-left:0!important}
  .bear-card-body{padding:.72rem!important}
  .bear-stat-row{gap:.35rem!important;margin:.4rem 0!important}
  .bear-stat{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:.22rem!important;padding:.25rem .48rem!important;border-radius:999px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.08)!important}
  .bear-stat-val{font-size:.68rem!important;white-space:nowrap!important}
  .bear-stat-lbl{display:none!important}

  /* --- card images stay small + well cropped --- */
  .hub-card img, .res-card img, .doc-card img, .news-card img,
  .bear-card img, .pcard-media img, .card-media img {
    width: 100% !important; height: clamp(120px, 34vw, 168px) !important;
    object-fit: cover !important; object-position: center !important;
  }
  .masonry-item img { height: auto !important; max-height: 320px !important; object-fit: cover !important; }
  .thumb-sm { width: 52px !important; height: 42px !important; object-fit: cover !important; }

  /* --- maps controlled height, popups contained --- */
  #home-map, #map-explorer, #map-region, #map-project, #map-propose,
  #obs-map, #modal-mini-map, #map-admin, #map-picker, #map-picker-admin {
    height: 230px !important; min-height: 0 !important; max-height: 52dvh !important;
  }
  #home-map { height: 200px !important; }
  #map-explorer { height: 240px !important; }
  .leaflet-popup-content-wrapper, .leaflet-popup-content { max-width: calc(100vw - 32px) !important; }
  .leaflet-popup-content { margin: .6rem .7rem !important; }
  .map-popup { max-width: calc(100vw - 48px) !important; }

  /* --- header: compact, never eats the screen --- */
  .site-header .brand-mark { width: 40px !important; height: 40px !important; }
  .site-header .brand-word { font-size: .72rem !important; max-width: 46vw !important; }
  .site-header .brand-word small { display: none !important; }

  /* --- bottom nav: smaller, and content never hidden behind it --- */
  .bottom-nav { display: grid !important; grid-template-columns: repeat(5, 1fr) !important;
    min-height: 50px !important; padding: .2rem .24rem calc(.2rem + env(safe-area-inset-bottom, 0px)) !important;
    background:rgba(4,13,10,.98)!important; border-top:1px solid rgba(226,185,92,.28)!important; box-shadow:0 -12px 34px rgba(0,0,0,.42)!important; z-index:5000!important; }
  .bottom-nav a { font-size: .49rem !important; padding: .22rem .08rem !important; gap: .08rem; min-width:0 !important; }
  .bottom-nav svg { width: 14px !important; height: 14px !important; }
  body:not(.admin-body) main,
  body:not(.admin-body) .home-main { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)) !important; }

  /* --- details / modals / lightbox / drawers stay inside the screen --- */
  .overlay.is-open, .lb-overlay.open { padding: 8px 8px max(70px, env(safe-area-inset-bottom,0px)) !important; }
  .modal, .lightbox, .drawer, .detail-panel {
    width: 100% !important; max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 86px) !important; overflow: auto !important; border-radius: 18px !important;
  }
  .lb-overlay .lb-img, .lb-overlay img, .lb-overlay video {
    max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 120px) !important;
    width: auto !important; height: auto !important; object-fit: contain !important;
  }
  .modal-close, .lb-close { position: sticky; top: 0; }

  /* --- language menu always above content + reachable --- */
  .lang-switch { position: relative; z-index: 4000; }
  .lang-menu { z-index: 6000 !important; max-width: min(240px, calc(100vw - 24px)) !important; }

  /* --- search / filter controls easy to tap --- */
  .hub-search, .doc-cats, .bear-filters, .toolbar, .toolbar-left { width: 100% !important; }
  .hub-search input, .input, select, textarea { font-size: 16px !important; }

  /* kill dead gaps */
  .monster-section { margin-top: 14px !important; }
}

/* ============================================================================
   VERY SMALL PHONES (≤430px) — extra compaction
   ========================================================================== */
@media (max-width: 430px) {
  .container { width: min(100% - 18px, 1180px) !important; }
  .stat-tiles, .mini-stats, .monster-metrics, .hero2-metrics { gap: .4rem !important; }
  .hub-card img, .res-card img, .doc-card img, .news-card img, .bear-card img {
    height: clamp(110px, 38vw, 150px) !important;
  }
  .display-lg { font-size: clamp(1.5rem, 8.4vw, 2.05rem) !important; }
  .btn { min-height: 38px; }
  /* long emails / urls only wrap where needed */
  .footer-contact a, .contact-info-card a, .md-field span { overflow-wrap: anywhere; }
}

/* ============================================================================
   GALLERY VIDEO SUPPORT (all sizes)
   ========================================================================== */
.gallery-video, .masonry-item video { width: 100%; display: block; border-radius: 12px; background: #07111f; }
.masonry-item { position: relative; }
.media-badge {
  position: absolute; top: 8px; left: 8px; z-index: 2;
  font: 700 .55rem var(--f-mono); letter-spacing: .06em; text-transform: uppercase;
  padding: .2em .55em; border-radius: 6px; color: #06150d; background: rgba(226,185,92,.95);
}
.lb-overlay video { background: #000; }

/* Map fallback styling keeps slow external tiles from looking broken. */
.leaflet-container, #home-map, #map-explorer, #obs-map, #map-picker, #map-picker-admin, #map-admin {
  background:
    radial-gradient(circle at 25% 28%, rgba(61,224,138,.18), transparent 32%),
    radial-gradient(circle at 75% 62%, rgba(226,185,92,.12), transparent 34%),
    linear-gradient(135deg, #07140f, #0a1d18 55%, #06110f) !important;
}

/* ============================================================================
   DESKTOP POLISH (light) — smaller, more aligned media; cleaner rhythm
   ========================================================================== */
@media (min-width: 1024px) {
  .hub-card img, .res-card img, .doc-card img, .news-card img, .bear-card img {
    height: 180px; object-fit: cover;
  }
  .home-hub-card { align-items: center; }
  .monster-section { margin-top: 22px; }
}

/* ============================================================================
   ▓▓▓ MOBILE REBUILD v2 — authoritative compact mobile system ▓▓▓
   Loaded last; fixes real layout sources, not just overflow.
   ========================================================================== */

/* The slide-in mobile menu must be hidden on EVERY page unless .open
   (some pages don't load premium-monster.css / hero.css, leaving it visible). */
.mobile-menu {
  position: fixed !important; inset: 0 0 0 auto !important;
  width: min(360px, 92vw) !important; max-width: 92vw !important; height: 100dvh !important;
  transform: translateX(106%) !important; visibility: hidden !important; pointer-events: none !important;
  z-index: 6000 !important; transition: transform .26s ease !important;
  background:linear-gradient(180deg,#06120f,#0a1a15)!important;border-left:1px solid rgba(226,185,92,.28)!important;
  padding:calc(env(safe-area-inset-top,0px) + .7rem) .8rem calc(70px + env(safe-area-inset-bottom,0px))!important;
  overflow:auto!important;box-shadow:-22px 0 80px rgba(0,0,0,.62)!important;
}
.mobile-menu:not(.open) { display: none !important; }
.mobile-menu.open { display: flex !important; flex-direction:column!important; gap:.6rem!important; }
.mobile-menu.open { transform: translateX(0) !important; visibility: visible !important; pointer-events: auto !important; }
.mobile-menu .mobile-close{align-self:flex-end!important;width:36px!important;height:36px!important;display:grid!important;place-items:center!important}
.mobile-menu .nav-links{display:grid!important;grid-template-columns:1fr!important;gap:.35rem!important;padding:0!important;margin:0!important;list-style:none!important}
.mobile-menu .nav-links li{display:block!important;margin:0!important;padding:0!important;width:100%!important}
.mobile-menu .nav-links a{display:flex!important;align-items:center!important;width:100%!important;min-height:38px!important;padding:.55rem .7rem!important;border-radius:12px!important;border:1px solid rgba(226,185,92,.12)!important;background:rgba(255,255,255,.035)!important;color:#f2fff8!important;font:.78rem/1.2 var(--f-mono)!important;letter-spacing:.02em!important;text-transform:none!important;white-space:normal!important;text-align:left!important}
.mobile-menu .nav-links a.active{background:rgba(226,185,92,.14)!important;border-color:rgba(226,185,92,.34)!important;color:#fff!important}

@media (max-width: 760px) {
  /* allow normal vertical scrolling everywhere (Explorer locks it with overflow:hidden) */
  html, body { overflow-x: hidden !important; overflow-y: auto !important; height: auto !important; min-height: 100% !important; }

  /* ---- compact mobile HEADER: short identity only ---- */
  .site-header .container { gap: .5rem !important; padding-top: .35rem !important; padding-bottom: .35rem !important; }
  .site-header .brand-mark { width: 34px !important; height: 34px !important; }
  .site-header .brand-word { font-size: 0 !important; line-height: 0 !important; max-width: none !important; overflow: visible !important; white-space: nowrap !important; }
  .site-header .brand-word small { display: none !important; }
  .site-header .brand-word::before {
    content: "ALLEANZA. SPERANZA ANIMALE E MILIEU (S.A.M.)"; font-size: .85rem; line-height: 1; font-weight: 800;
    font-family: var(--f-display); letter-spacing: .03em; color: var(--cc-text); white-space: nowrap;
  }
  .site-header nav{display:none!important}
  .burger{display:inline-grid!important;place-items:center!important}
  .nav-actions { gap: .4rem !important; }
  .nav-actions .btn-gold { padding: .4rem .6rem !important; font-size: .68rem !important; }

  /* ---- compact homepage HERO ---- */
  .hero2-brand, .monster-brandlock { gap: .55rem !important; padding: .5rem .6rem !important; }
  .hero2-logo-ring { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .hero2-logo { width: 34px !important; height: 34px !important; }
  .hero2-overline { display: none !important; }
  .hero2-brand-copy strong { font-size: .95rem !important; line-height: 1.05 !important; }
  .hero2-brand-copy small { font-size: .62rem !important; }
  .hero2-title, .monster-title { font-size: clamp(1.55rem, 7.6vw, 2.05rem) !important; line-height: 1.04 !important; }
  .hero2-sub, .monster-sub { font-size: .85rem !important; line-height: 1.5 !important; }
  .monster-badge, .hero2-mission { padding: .3rem .6rem !important; font-size: .62rem !important; }
  .monster-cta .hero2-cta-btn { min-height: 36px !important; padding: .42rem .55rem !important; font-size: .7rem !important; }

  /* ---- content-page heroes: dim the fixed backdrop so content is the focus ---- */
  body:not([data-page="home"]) .env-backdrop { filter: brightness(.3) saturate(1.04) !important; opacity: .8 !important; }
  body:not([data-page="home"]) .env-fog { opacity: .55 !important; }

  /* ---- bottom nav: compact + never wraps into chaos ---- */
  .bottom-nav { left:0 !important; right:0 !important; width:auto !important; max-width:none !important; margin:0 !important; transform:none !important; }
  .bottom-nav a { line-height: 1.05; overflow: hidden; }
  .bottom-nav a span, .bottom-nav a { white-space: nowrap !important; text-overflow: ellipsis !important; }
  .bottom-nav svg { flex:none !important; }

  /* =========================================================================
     EXPLORER — full mobile rebuild: vertical, scrollable, no desktop panels
     ========================================================================= */
  body[data-page="explorer"] { overflow: auto !important; height: auto !important; }
  body[data-page="explorer"] .exp-shell { display: block !important; height: auto !important; min-height: 0 !important; }
  body[data-page="explorer"] .exp-main { display: block !important; overflow: visible !important; margin-left: 0 !important; min-width: 0 !important; }
  body[data-page="explorer"] .exp-topbar { position: sticky !important; top: 0 !important; z-index: 160 !important; flex-wrap: wrap !important; gap: .45rem !important; padding: .5rem .65rem !important; }
  body[data-page="explorer"] .exp-pagehead-title { font-size: .92rem !important; }
  body[data-page="explorer"] .exp-search { order: 5 !important; flex: 1 1 100% !important; max-width: none !important; }
  body[data-page="explorer"] .exp-topbar-right { margin-left: auto !important; gap: .4rem !important; }
  body[data-page="explorer"] .exp-user { display: none !important; }
  body[data-page="explorer"] .exp-mapzone { position: relative !important; height: auto !important; overflow: visible !important; flex: none !important; display:flex !important; flex-direction:column !important; }
  body[data-page="explorer"] #map-explorer { height: 240px !important; width: 100% !important; order:3 !important; }
  body[data-page="explorer"] .exp-hud-frame,
  body[data-page="explorer"] .exp-coord-hud,
  body[data-page="explorer"] .exp-sighting { display: none !important; }
  body[data-page="explorer"] .exp-filters { position: static !important; width: auto !important; max-width: 100% !important; max-height: none !important; margin: .45rem .55rem 0 !important; box-shadow: none !important; order:1 !important; }
  body[data-page="explorer"] .exp-filters-body { max-height: none !important; overflow: visible !important; }
  body[data-page="explorer"] .exp-layers { position: static !important; flex-direction: row !important; flex-wrap: wrap !important; gap: .32rem !important; margin: .45rem .55rem !important; order:2 !important; }
  body[data-page="explorer"] .exp-telemetry { display: none !important; } /* decorative; data is in dashboard below */
  body[data-page="explorer"] .exp-dashboard { display: grid !important; grid-template-columns: 1fr !important; gap: .5rem !important; padding: .55rem !important; overflow: visible !important; }
  body[data-page="explorer"] .exp-overlay-view { padding: .7rem !important; }
  body[data-page="explorer"] #grid-container { grid-template-columns: 1fr !important; }
  body[data-page="explorer"] .exp-sidebar { width: min(300px, 84vw) !important; }

  /* extra hero/title trims for section pages */
  .hub-head h1, .gallery-hero h1, .page-head h1 { font-size: clamp(1.5rem, 7vw, 2rem) !important; }
  .gallery-hero { padding-top: calc(var(--header-h) + 1rem) !important; padding-bottom: 1rem !important; }
}

@media (max-width: 760px) {
  .env-backdrop, .env-fog { left:0 !important; right:0 !important; width:auto !important; transform:none !important; }
}

@media (max-width: 430px) {
  .site-header .brand-word::before { font-size: .76rem; }
  .hero2-title, .monster-title { font-size: clamp(1.4rem, 8.2vw, 1.85rem) !important; }
  body[data-page="explorer"] #map-explorer { height: 220px !important; }
}

/* Final global footer polish */
.site-footer { padding: clamp(1.4rem, 3vw, 2.4rem) 0 calc(1.1rem + env(safe-area-inset-bottom, 0px)) !important; }
.site-footer .footer-grid { display:grid !important; grid-template-columns: minmax(220px,1.05fr) repeat(3,minmax(150px,.75fr)) !important; gap: clamp(1rem,2vw,1.5rem) !important; align-items:start !important; }
.site-footer .footer-brand p { max-width: 38ch !important; font-size: .82rem !important; line-height:1.55 !important; margin:.7rem 0 !important; }
.site-footer .footer-lockup { display:flex !important; align-items:center !important; gap:.65rem !important; margin-bottom:.55rem !important; }
.site-footer .footer-lockup img { width:44px !important; height:44px !important; object-fit:contain !important; border-radius:50% !important; background:#fff !important; padding:2px !important; }
.site-footer .footer-lockup strong { display:block!important;font-size:clamp(.74rem,1vw,1rem) !important; letter-spacing:.025em !important; line-height:1.15!important;overflow-wrap:anywhere!important;max-width:30ch!important; }
.site-footer .footer-lockup small { display:block !important; font-size:.52rem !important; color:var(--cc-text-3) !important; line-height:1.2 !important; }
.site-footer .footer-col-title { font-size:.62rem !important; margin-bottom:.55rem !important; }
.site-footer .footer-links { display:grid !important; gap:.32rem !important; }
.site-footer .footer-links a, .site-footer .footer-links li { font-size:.78rem !important; line-height:1.38 !important; }
.site-footer .footer-social { width:34px !important; height:34px !important; display:inline-grid !important; place-items:center !important; border-radius:50% !important; font-size:0 !important; color:var(--cc-text) !important; }
.site-footer .footer-social svg { width:17px !important; height:17px !important; }
.site-footer .footer-bottom { margin-top:1rem !important; padding-top:.75rem !important; gap:.65rem !important; font-size:.72rem !important; }

.member-summary p strong,
.member-summary li strong {
  display: inline !important;
  font: 800 .84rem/1.35 var(--f-sans) !important;
  color: var(--cc-text) !important;
  margin: 0 !important;
}
.member-summary > strong {
  display: block !important;
  font-family: var(--f-display) !important;
}

@media (max-width: 760px) {
  .site-footer .footer-grid { grid-template-columns:1fr !important; gap:.85rem !important; }
  .site-footer .footer-brand p { max-width:none !important; font-size:.78rem !important; }
  .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.28rem .7rem !important; }
  .site-footer .footer-contact { grid-template-columns:1fr !important; }
  .site-footer .footer-bottom { align-items:flex-start !important; flex-direction:column !important; padding-bottom:calc(54px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ============================================================================
   FINAL REPAIR PASS — compact, publishable mobile and cleaned desktop chrome
   ========================================================================== */

@media (min-width: 761px) {
  .site-header .container { min-height: 64px !important; }
  .site-header .brand { max-width: 300px !important; }
  .site-header .brand-word { font-size: clamp(.78rem, .85vw, 1rem) !important; line-height: 1.08 !important; }
  .site-header .brand-word small { font-size: .48rem !important; letter-spacing: .08em !important; }
  .nav-links.nav-grouped { gap: .18rem !important; margin-left: auto !important; }
  .nav-links.nav-grouped a,
  .nav-links.nav-grouped button { min-height: 32px !important; padding: .42rem .56rem !important; font-size: .68rem !important; }
}

.leaflet-control-zoom a {
  width: 25px !important;
  height: 25px !important;
  line-height: 25px !important;
  font-size: 14px !important;
}
.map-layer-btn {
  min-height: 28px !important;
  padding: .34rem .52rem !important;
  border-radius: 999px !important;
  font-size: .58rem !important;
}
.leaflet-control-attribution { font-size: 9px !important; }

@media (max-width: 760px) {
  body { font-size: 14px !important; }
  .container { width: min(100% - 16px, 1180px) !important; }
  .site-header { min-height: 48px !important; }
  .site-header .container { min-height: 48px !important; }
  .lang-btn { min-height: 32px !important; padding: .32rem .5rem !important; font-size: .64rem !important; }
  .burger { width: 34px !important; height: 34px !important; border-radius: 12px !important; }

  body[data-page="home"] .home-main { padding-top: calc(var(--header-h) + .28rem) !important; }
  body[data-page="home"] .monster-container { padding-top: 0 !important; }
  body[data-page="home"] .monster-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .62rem !important;
    padding: .62rem !important;
    border-radius: 20px !important;
  }
  body[data-page="home"] .monster-hero-copy { gap: .48rem !important; }
  body[data-page="home"] .monster-brandlock { display: none !important; }
  body[data-page="home"] .monster-badge { margin: 0 !important; }
  body[data-page="home"] .monster-title {
    max-width: 11.5em !important;
    margin: .08rem 0 !important;
    letter-spacing: -.035em !important;
  }
  body[data-page="home"] .monster-sub {
    max-width: none !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  body[data-page="home"] .monster-cta {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .38rem !important;
    margin-top: .1rem !important;
  }
  body[data-page="home"] .monster-cta .hero2-cta-btn {
    min-height: 34px !important;
    padding: .36rem .42rem !important;
    border-radius: 12px !important;
    font-size: .62rem !important;
    gap: .28rem !important;
    justify-content: center !important;
  }
  body[data-page="home"] .monster-cta .hero2-cta-btn:nth-child(n+5) { display: none !important; }
  body[data-page="home"] .monster-cta .hero2-cta-btn span {
    white-space: normal !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }
  body[data-page="home"] .monster-cta .hero2-cta-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
  body[data-page="home"] .monster-metrics { margin-top: .08rem !important; }
  body[data-page="home"] .hero2-metric {
    padding: .46rem .5rem !important;
    border-radius: 13px !important;
  }
  body[data-page="home"] .hero2-metric-val { font-size: 1rem !important; }
  body[data-page="home"] .hero2-metric-lbl {
    font-size: .5rem !important;
    line-height: 1.15 !important;
  }
  body[data-page="home"] .monster-monitor { min-height: 0 !important; }
  body[data-page="home"] .monitoring-panel {
    padding: .55rem !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }
  body[data-page="home"] .monitoring-panel .cc-head { gap: .35rem !important; margin-bottom: .45rem !important; }
  body[data-page="home"] .monitoring-panel .cc-head-right { display: none !important; }
  body[data-page="home"] .monster-mini-stats { display: none !important; }
  body[data-page="home"] .home-map-wrap { margin-top: 0 !important; border-radius: 15px !important; }
  body[data-page="home"] #home-map {
    height: clamp(150px, 42vw, 185px) !important;
    max-height: 190px !important;
  }
  body[data-page="home"] .home-map-layers {
    left: .38rem !important;
    right: .38rem !important;
    bottom: .38rem !important;
    gap: .25rem !important;
  }
  body[data-page="home"] .home-map-layers .map-layer-btn {
    min-height: 24px !important;
    padding: .22rem .38rem !important;
    font-size: .48rem !important;
  }
  body[data-page="home"] .home-map-foot {
    min-height: 32px !important;
    padding: .42rem .55rem !important;
    font-size: .62rem !important;
  }
  body[data-page="home"] .monster-section { margin-top: .65rem !important; }
  body[data-page="home"] .monster-head { margin-bottom: .55rem !important; }
  body[data-page="home"] .monster-head h2 { font-size: 1.05rem !important; }
  body[data-page="home"] .home-hub-section { margin-top: .72rem !important; }
  body[data-page="home"] .home-hub-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .45rem !important;
  }
  body[data-page="home"] .home-hub-card {
    min-height: 46px !important;
    padding: .55rem .62rem !important;
    border-radius: 15px !important;
  }
  body[data-page="home"] .home-hub-ico { width: 30px !important; height: 30px !important; font-size: .9rem !important; }
  body[data-page="home"] .home-hub-body strong { font-size: .78rem !important; }
  body[data-page="home"] .home-hub-body small { font-size: .62rem !important; }

  body[data-page="explorer"] { background: #050f0c !important; }
  body[data-page="explorer"] .exp-topbar {
    top: 0 !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: .45rem .55rem !important;
    border-radius: 0 0 16px 16px !important;
  }
  body[data-page="explorer"] .exp-burger {
    display: inline-grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    border: 1px solid rgba(226,185,92,.16) !important;
    border-radius: 12px !important;
  }
  body[data-page="explorer"] .exp-pagehead-title { font-size: .82rem !important; letter-spacing: .06em !important; }
  body[data-page="explorer"] .exp-search {
    order: 4 !important;
    padding: .42rem .58rem !important;
    min-height: 36px !important;
    border-radius: 12px !important;
  }
  body[data-page="explorer"] .exp-search input { font-size: 16px !important; }
  body[data-page="explorer"] .exp-viewtabs button {
    min-height: 30px !important;
    padding: .3rem .48rem !important;
    font-size: .5rem !important;
  }
  body[data-page="explorer"] .exp-filters {
    display: grid !important;
    margin: .5rem .5rem 0 !important;
    border-radius: 15px !important;
  }
  body[data-page="explorer"] .exp-filters-head {
    padding: .48rem .6rem !important;
  }
  body[data-page="explorer"] .exp-filters-body {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .32rem !important;
    padding: .48rem .6rem .6rem !important;
  }
  body[data-page="explorer"] .filter-group-title { grid-column: 1 / -1 !important; margin: .1rem 0 0 !important; font-size: .52rem !important; }
  body[data-page="explorer"] .filter-check {
    min-height: 30px !important;
    padding: .28rem .34rem !important;
    border-radius: 10px !important;
    font-size: .62rem !important;
  }
  body[data-page="explorer"] .exp-layers { margin: .42rem .5rem !important; }
  body[data-page="explorer"] #map-explorer {
    height: clamp(220px, 58vw, 240px) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body[data-page="explorer"] .exp-dashboard { padding: .5rem !important; }
  body[data-page="explorer"] .exp-dashboard .cc-panel {
    padding: .62rem !important;
    border-radius: 15px !important;
  }

  #mort-map, #map-propose, #obs-map, #map-admin, #map-picker, #map-picker-admin, #modal-mini-map {
    height: clamp(190px, 52vw, 230px) !important;
    max-height: 230px !important;
  }
  .registry-panel, .involve-card, .platform-card, .member-form, .member-summary, .member-accordion details {
    padding: .78rem !important;
    border-radius: 16px !important;
  }
  .registry-form, .member-form form { gap: .55rem !important; }
  .field label { font-size: .67rem !important; margin-bottom: .28rem !important; }
  .input, .select, textarea {
    min-height: 39px !important;
    border-radius: 12px !important;
    padding: .55rem .65rem !important;
  }
  textarea.input, textarea { min-height: 84px !important; }
  .filter-check {
    display: flex !important;
    align-items: flex-start !important;
    gap: .45rem !important;
    padding: .42rem .5rem !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.035) !important;
  }
  .filter-check .lbl { line-height: 1.28 !important; font-size: .74rem !important; }
  .member-page { padding-top: calc(var(--header-h) + .65rem) !important; }
  .member-hero { margin-bottom: .6rem !important; }
  .member-hero .display-lg { font-size: clamp(1.38rem, 7.4vw, 1.9rem) !important; }
  .member-hero .body-lg { font-size: .82rem !important; }
  .member-summary strong { font-size: 1.35rem !important; }
  .member-accordion { gap: .45rem !important; }
  .member-accordion summary { gap: .48rem !important; font-size: .8rem !important; }
  .member-accordion summary span { width: 26px !important; height: 26px !important; font-size: .62rem !important; }
  .member-accordion ul { font-size: .74rem !important; }

  .admin-body .admin-shell { display: flex; }
  .admin-body .admin-topbar { min-height: 52px !important; padding: .45rem .6rem !important; }
  .admin-body .admin-content { padding: .7rem !important; }
  .admin-body .table-wrap { overflow: visible !important; }
  .admin-body .data-table,
  .admin-body .data-table thead,
  .admin-body .data-table tbody,
  .admin-body .data-table tr,
  .admin-body .data-table th,
  .admin-body .data-table td { display: block !important; width: 100% !important; }
  .admin-body .data-table thead { display: none !important; }
  .admin-body .data-table tr {
    margin-bottom: .62rem !important;
    padding: .62rem !important;
    border: 1px solid rgba(226,185,92,.14) !important;
    border-radius: 16px !important;
    background: rgba(5,16,13,.82) !important;
  }
  .admin-body .data-table td {
    display: grid !important;
    grid-template-columns: minmax(86px, .42fr) minmax(0, 1fr) !important;
    gap: .45rem !important;
    padding: .32rem 0 !important;
    border: 0 !important;
    font-size: .75rem !important;
  }
  .admin-body .data-table td::before {
    content: attr(data-label);
    color: var(--cc-text-3);
    font: 700 .56rem/1.2 var(--f-mono);
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .admin-body .row-actions { gap: .35rem !important; flex-wrap: wrap !important; }
  .admin-body .row-actions .btn { min-height: 30px !important; padding: .28rem .48rem !important; font-size: .62rem !important; }
}

@media (max-width: 430px) {
  body[data-page="home"] .monster-hero { padding: .52rem !important; gap: .5rem !important; }
  body[data-page="home"] .monster-title { font-size: clamp(1.28rem, 7.6vw, 1.66rem) !important; }
  body[data-page="home"] .monster-sub { font-size: .78rem !important; -webkit-line-clamp: 2 !important; }
  body[data-page="home"] .monster-cta .hero2-cta-btn { min-height: 31px !important; font-size: .56rem !important; }
  body[data-page="home"] #home-map { height: clamp(148px, 39vw, 176px) !important; }
  body[data-page="explorer"] .exp-filters-body { grid-template-columns: 1fr !important; }
  body[data-page="explorer"] #map-explorer { height: 220px !important; }
  .bottom-nav a { font-size: .45rem !important; }
}

@media (max-width: 340px) {
  .site-header .brand-word::before { font-size: .68rem !important; }
  .bottom-nav a span { display: none !important; }
  .bottom-nav a { gap: 0 !important; }
  body[data-page="home"] .monster-cta { grid-template-columns: 1fr !important; }
  body[data-page="home"] .monster-cta .hero2-cta-btn:nth-child(n+4) { display: none !important; }
}

/* ============================================================================
   ▓▓▓ FINAL HARD REPAIR PASS — authoritative, loaded last, wins the cascade ▓▓▓
   Single source of truth for: home mobile hero/map/CTA, explorer mobile,
   bottom-nav on explorer, map layer chips, petition/platform cards.
   ========================================================================== */

/* ---- platform / petition cards: external CTA + tags ---- */
.platform-card .platform-actions{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.45rem}
.platform-card .platform-cta{white-space:normal}
.platform-card .platform-petitioner{font-size:.74rem;color:var(--cc-text-3,#9cb4a9);line-height:1.45;margin:.2rem 0 .4rem}
.platform-tags .chip-sm{font-size:.56rem;padding:.18rem .45rem;opacity:.92}
.platform-card .mort-meta{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.4rem}
.platform-card .chip{display:inline-flex;align-items:center;font:600 .6rem/1 var(--f-mono);padding:.28rem .5rem;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(226,185,92,.18);color:var(--cc-text-2,#c9ddd2);overflow-wrap:anywhere}

/* ---- map layer chips: TINY everywhere (home + explorer) ---- */
.map-layer-btn, [data-layer]{
  min-height:26px!important; min-width:0!important; padding:.26rem .5rem!important;
  font:700 .56rem/1 var(--f-mono)!important; letter-spacing:.04em!important; border-radius:999px!important;
}
.leaflet-control-zoom a{width:26px!important;height:26px!important;line-height:26px!important;font-size:15px!important}

@media (max-width: 760px){
  /* === HOME hero: compact, fits 390px, no oversized buttons/map === */
  body[data-page="home"] .home-main{padding-top:calc(var(--header-h) + .3rem)!important}
  body[data-page="home"] .monster-hero{min-height:0!important;height:auto!important}
  /* the map: small preview, override any inherited min-height from hero.css/home.css */
  body[data-page="home"] #home-map{
    height:clamp(140px,40vw,168px)!important; min-height:0!important; max-height:168px!important; flex:none!important;
  }
  body[data-page="home"] .home-map-wrap{flex:none!important}
  body[data-page="home"] .monitoring-panel{min-height:0!important;height:auto!important}
  body[data-page="home"] .monster-monitor{min-height:0!important;height:auto!important}
  /* layer chips inside the small map: tiny, do not cover markers */
  body[data-page="home"] .home-map-layers{
    position:absolute!important; left:.35rem!important; right:auto!important; bottom:.35rem!important; top:auto!important;
    display:flex!important; flex-wrap:wrap!important; gap:.22rem!important; max-width:70%!important; background:transparent!important; padding:0!important;
  }
  body[data-page="home"] .home-map-layers .map-layer-btn{
    min-height:22px!important; padding:.18rem .4rem!important; font-size:.46rem!important; flex:0 0 auto!important;
  }
  body[data-page="home"] .home-map-foot{min-height:30px!important;padding:.4rem .55rem!important;font-size:.58rem!important}
  /* CTA: 2 compact columns, primary full width, only the most useful 4 actions visible */
  body[data-page="home"] .monster-cta{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.36rem!important;margin-top:.15rem!important}
  body[data-page="home"] .monster-cta .hero2-cta-btn{
    min-height:33px!important; padding:.32rem .4rem!important; font-size:.6rem!important; border-radius:11px!important; gap:.26rem!important; grid-column:auto!important;
  }
  body[data-page="home"] .monster-cta .hero2-cta-btn.primary{grid-column:1 / -1!important}
  body[data-page="home"] .monster-cta .hero2-cta-btn:nth-child(n+5){display:none!important}
  body[data-page="home"] .monster-cta .hero2-cta-btn svg{width:13px!important;height:13px!important}
  /* metrics: small 2x2 */
  body[data-page="home"] .monster-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.36rem!important}
  body[data-page="home"] .hero2-metric-val{font-size:.95rem!important}
  body[data-page="home"] .hero2-metric-lbl{font-size:.48rem!important;line-height:1.12!important}
  body[data-page="home"] .monster-title{font-size:clamp(1.35rem,7.4vw,1.7rem)!important;line-height:1.02!important}
  body[data-page="home"] .monster-sub{font-size:.8rem!important;-webkit-line-clamp:2!important}
  body[data-page="home"] .monster-mini-stats{display:none!important}

  /* === EXPLORER mobile: start at top, compact map, reachable nav === */
  body[data-page="explorer"]{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))!important}
  body[data-page="explorer"] .exp-main{padding-bottom:0!important}
  body[data-page="explorer"] .exp-topbar{position:sticky!important;top:0!important;margin:0!important;border-radius:0!important}
  body[data-page="explorer"] .exp-mapzone{margin-top:0!important}
  body[data-page="explorer"] #map-explorer{height:200px!important;max-height:200px!important;min-height:0!important}
  body[data-page="explorer"] .exp-dashboard{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))!important}
  body[data-page="explorer"] .exp-overlay-view{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
  /* explorer gets the standard bottom-nav so users never have to go Home first */
  .exp-bottom-nav{display:grid!important}
  body[data-page="explorer"] .exp-layers .map-layer-btn{flex:0 0 auto!important}
}

@media (max-width: 430px){
  body[data-page="home"] #home-map{height:clamp(132px,38vw,156px)!important;max-height:156px!important}
  body[data-page="explorer"] #map-explorer{height:188px!important;max-height:188px!important}
  body[data-page="home"] .monster-cta .hero2-cta-btn{font-size:.56rem!important}
}

/* mobile menu dimmed backdrop so it reads as a drawer, never blocks awkwardly */
.mobile-menu.open::after{content:'';position:fixed;inset:0;right:min(360px,92vw);background:rgba(2,7,5,.5);z-index:-1}
body.menu-open{overflow:hidden}

/* desktop: keep dropdown reachable, no cramped items, active highlight */
@media (min-width:761px){
  .nav-links.nav-grouped a.active,.nav-links.nav-grouped .nav-group.open>button{color:var(--monster-gold-2,#ffd77a)!important}
  .nav-dropdown a.active{background:rgba(226,185,92,.14)!important;color:#fff!important}
}

/* long Zenodo / petition titles must wrap, never cause horizontal overflow */
.hub-card h3, .platform-card h3, .res-card .res-card-header > div, .pcard-title, .mini-resource-card strong, .news-mini-card strong { overflow-wrap:anywhere!important; word-break:normal; }
.platform-card, .res-card, .hub-card { min-width:0!important; overflow:hidden; }
.platform-card .platform-cta, .res-card .btn { overflow-wrap:anywhere; }

/* final-clean layout corrections */
.developer-credit{border-top:1px solid rgba(255,255,255,.12);padding-top:.85rem}
.hub-grid{align-items:stretch}
.data-table td input[type=hidden]{display:none!important}
@media(max-width:720px){.field-row{grid-template-columns:1fr!important}.admin-main,.admin-content{min-width:0}.table-wrap{overflow-x:auto}.developer-credit{justify-content:flex-start!important}}

/* ByteGhost final layout repair: brand title must not be crushed in the corner. */
.brand{min-width:0;align-items:center}
.brand-word{white-space:normal;overflow-wrap:anywhere;line-height:1.05;max-width:min(74vw,820px)}
.site-header .container{gap:1rem}
@media (min-width:900px){.brand-word{font-size:clamp(.78rem,1.05vw,1.08rem);letter-spacing:.03em}.brand-mark{flex:0 0 auto}}
@media (max-width:560px){.brand-word{font-size:.68rem;max-width:62vw}.brand-word small{display:none}.brand-mark{width:40px!important;height:40px!important}}


/* === FINAL CLIENT POLISH OVERRIDE 2026-07-01 ===
   Loaded last: fixes mobile logo/title, home hero title, admin buttons and upload UI. */
@media (max-width: 760px) {
  .site-header .brand{max-width:52vw!important;min-width:0!important;overflow:hidden!important;display:flex!important;align-items:center!important;gap:.45rem!important}
  .site-header .brand-mark{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:50%!important;background:#fff!important;padding:2px!important}
  .site-header .brand-word{font-size:0!important;line-height:0!important;max-width:34vw!important;width:auto!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:clip!important;display:block!important}
  .site-header .brand-word::before{content:'ALLEANZA.SAM'!important;font-size:.86rem!important;line-height:1!important;font-family:var(--f-display)!important;font-weight:900!important;letter-spacing:.02em!important;white-space:nowrap!important;color:var(--cc-text)!important;display:block!important;text-shadow:0 0 16px rgba(78,222,255,.28)!important}
  .site-header .brand-word small,.site-header .brand-word .mobile-brand-short{display:none!important}
  .nav-actions{gap:.36rem!important;flex:0 0 auto!important;margin-left:auto!important}
  .lang-select{min-width:72px!important}
  .burger{display:inline-grid!important;place-items:center!important;flex:0 0 auto!important}
  body[data-page='home'] .hero2-title{font-size:clamp(2.25rem,13vw,4.25rem)!important;line-height:.92!important;letter-spacing:-.035em!important;text-wrap:balance!important;margin:.7rem 0 .6rem!important}
  body[data-page='home'] .hero2-title span{display:block!important;max-width:100%!important}
}
@media (max-width: 380px){.site-header .brand-word::before{font-size:.74rem!important}.site-header .brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important}.nav-actions{gap:.25rem!important}.search-toggle,.lang-select,.burger{width:48px!important;height:48px!important;min-width:48px!important}}
.hero2-title{font-size:clamp(3.2rem,7.2vw,6.7rem)!important;line-height:.9!important;letter-spacing:-.045em!important}
.hero2-title .amber{color:var(--amber)!important}
.admin-actions,.card-actions,.gallery-actions,.item-actions,.row-actions,[data-actions]{display:flex!important;flex-wrap:wrap!important;gap:.45rem!important;align-items:center!important;justify-content:flex-start!important}
.admin-actions .btn,.card-actions .btn,.gallery-actions .btn,.item-actions .btn,.row-actions .btn,[data-actions] .btn{position:static!important;min-width:max-content!important;margin:0!important}
.gallery-card .btn,.doc-card .btn,.admin-card .btn{position:relative!important;z-index:2!important}
input[type='file']{max-width:100%!important;min-height:44px!important}
.upload-hint,.file-hint,.max-upload-hint{display:none!important}
.footer-dev-icon-only{font-size:0!important;width:40px!important;height:40px!important;display:inline-grid!important;place-items:center!important;padding:0!important;overflow:hidden!important}
.footer-dev-icon-only svg{width:20px!important;height:20px!important}
.footer-social-row{display:flex!important;gap:.55rem!important;align-items:center!important;flex-wrap:wrap!important}

/* === BYTEGHOST REAL MOBILE/PREMIUM REPAIR 2026-07-01 ===
   Fixes the oversized home slogan and clipped mobile brand. Loaded last. */
:root{
  --hero-title-desktop: clamp(2.15rem, 4.25vw, 4.35rem);
  --hero-title-tablet: clamp(1.85rem, 6vw, 3.15rem);
  --hero-title-phone: clamp(1.55rem, 8.2vw, 2.25rem);
}
body[data-page="home"] .hero2-title,
body[data-page="home"] .monster-title{
  font-size: var(--hero-title-desktop) !important;
  line-height: .98 !important;
  letter-spacing: -.028em !important;
  max-width: min(100%, 920px) !important;
  width: 100% !important;
  margin: .68rem 0 .72rem !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(78,222,255,.10));
}
body[data-page="home"] .hero2-title span,
body[data-page="home"] .monster-title span{
  display:block !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow:visible !important;
}
body[data-page="home"] .monster-card,
body[data-page="home"] .monster-hero,
body[data-page="home"] .hero2-card{
  overflow:hidden !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(78,222,255,.12) !important;
}
body[data-page="home"] .monster-card::before,
body[data-page="home"] .hero2-card::before{
  opacity:.75 !important;
}
@media (min-width: 761px) and (max-width: 1100px){
  body[data-page="home"] .hero2-title,
  body[data-page="home"] .monster-title{
    font-size: var(--hero-title-tablet) !important;
    line-height:1 !important;
    max-width: 96% !important;
  }
}
@media (max-width: 760px){
  .site-header{height:88px!important;overflow:hidden!important;background:rgba(1,8,14,.90)!important;backdrop-filter:blur(18px) saturate(1.45)!important;-webkit-backdrop-filter:blur(18px) saturate(1.45)!important;border-bottom:1px solid rgba(78,222,255,.10)!important}
  .site-header .container{padding-left:.72rem!important;padding-right:.72rem!important;gap:.42rem!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-width:0!important;overflow:hidden!important}
  .site-header .brand{flex:1 1 auto!important;max-width:44vw!important;min-width:0!important;gap:.38rem!important;overflow:hidden!important}
  .site-header .brand-mark{width:34px!important;height:34px!important;flex:0 0 34px!important;padding:2px!important;background:#fff!important;border-radius:50%!important;box-shadow:0 0 22px rgba(78,222,255,.18)!important}
  .site-header .brand-word{font-size:0!important;line-height:0!important;display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:clip!important}
  .site-header .brand-word::before{content:'ALLEANZA.SAM'!important;display:block!important;font-size:clamp(.52rem,2.85vw,.66rem)!important;line-height:1!important;font-family:var(--f-display)!important;font-weight:900!important;letter-spacing:.008em!important;color:var(--cc-text)!important;white-space:nowrap!important;overflow:visible!important;text-shadow:0 0 14px rgba(78,222,255,.25)!important}
  .site-header .brand-word small{display:none!important}
  .nav-actions{flex:0 0 auto!important;gap:.28rem!important;margin-left:.22rem!important;min-width:0!important}
  .search-toggle,.lang-select,.burger{width:44px!important;height:44px!important;min-width:44px!important;border-radius:14px!important}
  .lang-select{font-size:.62rem!important;padding:0!important;display:inline-grid!important;place-items:center!important}
  body[data-page="home"] .main,
  body[data-page="home"] main{padding-top:calc(var(--header-h,88px) + .8rem)!important}
  body[data-page="home"] .monster-hero,
  body[data-page="home"] .hero2-card{
    padding:1.05rem .92rem 1rem!important;
    border-radius:24px!important;
    max-width:calc(100vw - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  body[data-page="home"] .hero2-accred{margin:.45rem 0 .55rem!important;gap:.34rem!important}
  body[data-page="home"] .hero2-accred strong{font-size:.94rem!important;line-height:1.26!important}
  body[data-page="home"] .hero2-accred span{font-size:.73rem!important;line-height:1.42!important}
  body[data-page="home"] .hero2-accred span:last-child{font-size:.58rem!important;letter-spacing:.075em!important;line-height:1.55!important}
  body[data-page="home"] .hero2-title,
  body[data-page="home"] .monster-title{
    font-size: var(--hero-title-phone) !important;
    line-height:1.03!important;
    letter-spacing:-.022em!important;
    margin:.56rem 0 .5rem!important;
    max-width:100%!important;
    text-align:left!important;
    overflow:visible!important;
    word-break:normal!important;
    text-wrap:balance!important;
  }
  body[data-page="home"] .hero2-title .amber,
  body[data-page="home"] .monster-title .amber{color:#ffb15a!important;text-shadow:0 0 18px rgba(255,177,90,.15)!important}
  body[data-page="home"] .hero2-sub,
  body[data-page="home"] .monster-sub{font-size:.82rem!important;line-height:1.48!important;margin:.45rem 0!important;max-width:100%!important}
  body[data-page="home"] .hero2-motto{font-size:.92rem!important;margin:.35rem 0 .75rem!important}
  body[data-page="home"] .monster-badge,
  body[data-page="home"] .hero2-mission{font-size:.57rem!important;padding:.26rem .56rem!important;letter-spacing:.11em!important}
  .bottom-nav{z-index:260!important}
}
@media (max-width: 390px){
  .site-header .brand{max-width:40vw!important;gap:.3rem!important}
  .site-header .brand-mark{width:30px!important;height:30px!important;flex-basis:30px!important}
  .site-header .brand-word::before{font-size:clamp(.47rem,2.65vw,.58rem)!important;letter-spacing:0!important}
  .search-toggle,.lang-select,.burger{width:41px!important;height:41px!important;min-width:41px!important}
  body[data-page="home"] .hero2-title,
  body[data-page="home"] .monster-title{font-size:clamp(1.42rem,7.7vw,1.95rem)!important;line-height:1.05!important;letter-spacing:-.018em!important}
}
@media (max-width: 340px){
  .site-header .brand-word::before{font-size:.46rem!important}
  .site-header .brand-mark{width:28px!important;height:28px!important;flex-basis:28px!important}
  .search-toggle,.lang-select,.burger{width:38px!important;height:38px!important;min-width:38px!important}
}
