/* Setup Global — sub-page section styles (services / pillars / jurisdictions / legal)
   Extracted verbatim from the source sub-pages, @layer stripped (must stay unlayered
   so it wins over Elementor, same rule as setup-global.css). Not in the homepage CSS. */

/* Setup Global Child — Page components (scoped: .sg-page*, .sg-svc*, .sg-jur*, .sg-legal*)
   Reusable building blocks for the landing/overview/legal pages. Built entirely on the
   existing design tokens — no new colours, no redesign. */





  /* ---- Page hero (generic, reused across landing pages) ------------------ */
  .sg-page-hero{
    position: relative;
    padding: calc(var(--sg-header-h, 76px) + var(--sg-9)) var(--sg-gutter) var(--sg-9);
    background: linear-gradient(180deg, var(--sg-sand) 0%, var(--sg-white) 100%);
    text-align: center;
    overflow: hidden;
  }
/* ---- Feature / value grid (family, wealth, succession …) --------------- */
  .sg-feature-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sg-5); margin-top: var(--sg-8); }
.sg-feature{
    background: var(--sg-white);
    border: 1px solid var(--sg-hairline);
    border-radius: var(--sg-r-lg);
    box-shadow: var(--sg-shadow-sm);
    padding: var(--sg-6);
    transition: transform var(--sg-dur) var(--sg-ease-out), box-shadow var(--sg-dur) var(--sg-ease);
  }
.sg-feature:hover{ transform: translateY(-3px); box-shadow: var(--sg-shadow-md); }
.sg-feature__icon{
    width: 46px; height: 46px; margin-bottom: var(--sg-4);
    display: flex; align-items: center; justify-content: center;
    border-radius: var(--sg-r-md);
    background: rgba(186, 147, 85, 0.12); color: var(--sg-gold-text);
  }
.sg-feature__icon svg{ width: 24px; height: 24px; }
.sg-feature__title{ margin: 0 0 var(--sg-2); font-size: 1.12rem; font-weight: 700; color: var(--sg-ink); }
.sg-feature__text{ margin: 0; color: var(--sg-muted); line-height: 1.6; }
/* ---- Services list (Leistungen) --------------------------------------- */
  .sg-svc-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sg-5); margin-top: var(--sg-8); }
.sg-svc{
    display: flex; gap: var(--sg-4);
    background: var(--sg-white);
    border: 1px solid var(--sg-hairline);
    border-radius: var(--sg-r-lg);
    box-shadow: var(--sg-shadow-sm);
    padding: var(--sg-6);
    transition: transform var(--sg-dur) var(--sg-ease-out), box-shadow var(--sg-dur) var(--sg-ease);
  }
.sg-svc:hover{ transform: translateY(-3px); box-shadow: var(--sg-shadow-md); }
.sg-svc__num{ flex: none; font-size: 0.85rem; font-weight: 700; color: var(--sg-gold-text); width: 30px; }
.sg-svc__title{ margin: 0 0 var(--sg-2); font-size: 1.12rem; font-weight: 700; color: var(--sg-ink); }
.sg-svc__text{ margin: 0; color: var(--sg-muted); line-height: 1.6; }
/* ---- Jurisdiction cards (overview, data-driven) ----------------------- */
  .sg-jur-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sg-5); margin-top: var(--sg-8); }
.sg-jur-card{
    display: flex; flex-direction: column;
    background: var(--sg-white);
    border: 1px solid var(--sg-hairline);
    border-radius: var(--sg-r-xl);
    box-shadow: var(--sg-shadow-sm);
    overflow: hidden;
    transition: transform var(--sg-dur) var(--sg-ease-out), box-shadow var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease);
  }
.sg-jur-card:hover{ transform: translateY(-4px); box-shadow: var(--sg-shadow-lg); border-color: var(--sg-gold); }
.sg-jur-card__head{ display: flex; align-items: center; gap: var(--sg-3); padding: var(--sg-5) var(--sg-6) 0; }
.sg-jur-card__flag{ font-size: 1.8rem; line-height: 1; }
.sg-jur-card__name{ margin: 0; font-size: 1.25rem; font-weight: 700; color: var(--sg-ink); }
.sg-jur-card__region{ margin: 2px 0 0; font-size: 0.82rem; color: var(--sg-subtle); }
.sg-jur-card__facts{ display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sg-3); padding: var(--sg-5) var(--sg-6); }
.sg-jur-fact{ display: flex; flex-direction: column; gap: 2px; }
.sg-jur-fact__val{ font-size: 1.1rem; font-weight: 700; color: var(--sg-ink); }
.sg-jur-fact__lbl{ font-size: 0.72rem; color: var(--sg-subtle); text-transform: uppercase; letter-spacing: 0.04em; }
.sg-jur-card__foot{ margin-top: auto; padding: var(--sg-4) var(--sg-6) var(--sg-6); }
.sg-jur-card__link{
    display: inline-flex; align-items: center; gap: 6px;
    font-weight: 600; color: var(--sg-gold-text); text-decoration: none;
    transition: gap var(--sg-dur) var(--sg-ease-out);
  }
.sg-jur-card__link:hover{ gap: 10px; }
.sg-jur-card__link:focus-visible{ outline: 2px solid var(--sg-gold-text); outline-offset: 3px; border-radius: 4px; }
/* ---- Single jurisdiction detail header -------------------------------- */
  .sg-jur-detail{ display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sg-4); margin-top: var(--sg-7); }
.sg-jur-detail__stat{ background: var(--sg-white); border: 1px solid var(--sg-hairline); border-radius: var(--sg-r-lg); padding: var(--sg-5); text-align: center; }
.sg-jur-detail__val{ font-size: 1.6rem; font-weight: 700; color: var(--sg-ink); }
.sg-jur-detail__lbl{ margin-top: 4px; font-size: 0.8rem; color: var(--sg-muted); }
/* ---- Legal / prose ---------------------------------------------------- */
  .sg-legal{ max-width: 760px; margin-inline: auto; }
.sg-legal h2{ margin: var(--sg-7) 0 var(--sg-3); font-size: 1.4rem; color: var(--sg-ink); }
.sg-legal h3{ margin: var(--sg-5) 0 var(--sg-2); font-size: 1.1rem; color: var(--sg-ink); }
.sg-legal p, .sg-legal li{ color: var(--sg-muted); line-height: 1.7; }
.sg-legal a{ color: var(--sg-gold-text); }
.sg-legal address{ font-style: normal; color: var(--sg-muted); line-height: 1.7; }

@media (max-width: 900px){.sg-feature-grid{ grid-template-columns: 1fr 1fr; }.sg-svc-grid, .sg-jur-grid{ grid-template-columns: 1fr; }.sg-jur-detail{ grid-template-columns: 1fr 1fr; }}
@media (max-width: 560px){.sg-feature-grid{ grid-template-columns: 1fr; }}
@media (prefers-reduced-motion: reduce){.sg-feature, .sg-svc, .sg-jur-card, .sg-jur-card__link{ transition: none; }.sg-feature:hover, .sg-svc:hover, .sg-jur-card:hover{ transform: none; }}
