/* Shared styles for La Familia Simón Foundation — Global Offices & Singapore regional pages */

.go-hero{ position:relative; overflow:hidden; min-height:60vh; display:flex; align-items:center; padding:150px 0 76px; border-bottom:1px solid var(--line-soft); }
.go-hero .go-hero-bg{ position:absolute; inset:0; z-index:0; background:url("assets/family-hero.jpg") center 28%/cover no-repeat; transform:scale(1.04); animation:goHeroZoom 22s ease-in-out infinite alternate; }
@keyframes goHeroZoom{ from{ transform:scale(1.04); } to{ transform:scale(1.12); } }
@media (prefers-reduced-motion:reduce){ .go-hero .go-hero-bg{ animation:none; } }
.go-hero .go-hero-scrim{ position:absolute; inset:0; z-index:1; background:
    linear-gradient(98deg, rgba(241,248,253,.975) 0%, rgba(241,248,253,.93) 26%, rgba(242,248,253,.62) 50%, rgba(238,246,252,.18) 74%, rgba(238,246,252,0) 100%),
    linear-gradient(180deg, rgba(255,255,255,.25) 0%, rgba(255,255,255,0) 30%, rgba(20,52,89,.12) 100%); }
.go-hero .container{ position:relative; z-index:3; }
.go-hero .prog{ background:var(--paper); border-color:var(--line); color:var(--ink-2); }
.go-hero h1{ color:var(--ink); font-size:clamp(2.2rem,4.4vw,3.4rem); }
.go-hero .lead{ color:var(--ink-soft); max-width:56ch; font-size:clamp(1.15rem,1.6vw,1.4rem); }
@media (max-width:880px){ .go-hero{ min-height:auto; } }
.go-hero .prog{ display:inline-flex; align-items:center; gap:8px; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:.45em .9em; box-shadow:var(--shadow-sm); }
.go-hero .lead{ max-width:70ch; margin-top:18px; }

.go-crumb{ background:var(--paper); border-bottom:1px solid var(--line-soft); }
.go-crumb .container{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:12px 0; font-size:.82rem; }
.go-crumb a{ color:var(--muted); font-weight:600; }
.go-crumb a.on{ color:var(--ink); font-weight:800; }
.go-crumb span{ color:var(--line); }

/* Country grid on Global Offices hub */
.office-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.office-card{ background:var(--paper); border:1px solid var(--line-soft); border-radius:18px; padding:26px 26px 24px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:12px; transition:.2s; }
.office-card.active{ border-color:var(--gold); box-shadow:0 14px 34px -20px rgba(189,138,46,.4); }
.office-card:hover{ transform:translateY(-3px); }
.office-card .flag{ font-size:2.2rem; line-height:1; }
.office-card h3{ font-family:var(--sans); font-weight:800; font-size:1.05rem; }
.office-card .status{ align-self:flex-start; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-radius:999px; padding:.3em .8em; }
.office-card.active .status{ background:rgba(47,143,91,.12); color:#2f8f5b; }
.office-card.soon .status{ background:var(--sky-2); color:var(--muted); }
.office-card p{ color:var(--ink-soft); font-size:.9rem; line-height:1.6; margin:0; }
.office-card .go-link{ margin-top:auto; font-weight:800; font-size:.86rem; color:var(--ink-2); display:inline-flex; align-items:center; gap:6px; }
.office-card .go-link svg{ width:16px; height:16px; }

/* Regional sub-nav pills (Singapore section) */
.sg-subnav{ background:var(--paper); border-bottom:1px solid var(--line-soft); position:sticky; top:64px; z-index:40; }
.sg-subnav .container{ display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; overflow-x:auto; }
.sg-subnav a{ font-size:.82rem; font-weight:700; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:.5em 1.1em; white-space:nowrap; transition:.15s; }
.sg-subnav a:hover{ border-color:var(--gold); color:var(--ink); }
.sg-subnav a.on{ background:var(--ink); color:var(--gold-2); border-color:var(--ink); }

.go-prose h2{ font-family:var(--serif); font-weight:600; font-size:1.55rem; color:var(--ink); margin:36px 0 12px; }
.go-prose h2:first-child{ margin-top:0; }
.go-prose h3{ font-family:var(--sans); font-weight:800; font-size:1rem; color:var(--ink); }
.go-prose p{ color:var(--ink-soft); font-size:1rem; line-height:1.75; margin-top:4px; }
.go-prose{ max-width:76ch; margin:0 auto; }
.go-prose ul.go-list{ list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
.go-prose ul.go-list li{ display:flex; gap:12px; align-items:flex-start; color:var(--ink-soft); font-size:.96rem; line-height:1.6; }
.go-prose ul.go-list li svg{ width:18px; height:18px; flex:none; margin-top:3px; color:#2f8f5b; }

/* Value / pillar chips */
.go-chip-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:18px; }
.go-chip{ background:var(--sky-1); border:1px solid var(--line-soft); border-radius:12px; padding:14px 12px; text-align:center; font-weight:700; font-size:.82rem; color:var(--ink); }

/* Leadership cards */
.lead-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.lead-card{ background:var(--paper); border:1px solid var(--line-soft); border-radius:16px; padding:22px; text-align:center; }
.lead-card .ph{ width:88px; height:88px; border-radius:50%; margin:0 auto 14px; background:var(--sky-2); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; border:1px dashed var(--line); }
.lead-card b{ display:block; font-family:var(--sans); font-weight:800; color:var(--ink); }
.lead-card .role{ display:block; font-size:.8rem; color:var(--gold); font-weight:700; margin-top:3px; }
.lead-card p{ font-size:.84rem; color:var(--muted); margin-top:10px; line-height:1.55; }

/* Role/authority def list reused pattern */
.go-deflist{ margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.go-def{ display:grid; grid-template-columns:220px 1fr; gap:18px; padding:16px 0; border-top:1px solid var(--line-soft); }
.go-def:first-child{ border-top:none; }
.go-def b{ color:var(--ink); font-size:.9rem; }
.go-def span{ color:var(--ink-soft); font-size:.92rem; line-height:1.6; }

.go-notice{ background:var(--ink); padding:56px 0; }
.go-noticebox{ max-width:800px; margin:0 auto; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:28px 32px; }
.go-noticebox .tag{ display:inline-flex; align-items:center; gap:9px; color:var(--gold-2); font-weight:800; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.go-noticebox .tag svg{ width:17px; height:17px; }
.go-noticebox p{ color:#bcd0e6; margin-top:12px; font-size:.9rem; line-height:1.65; }
.go-noticebox a{ color:var(--gold-2); font-weight:700; }

.go-pending{ display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:800; letter-spacing:.03em; color:#a3781f; background:rgba(214,160,62,.12); border:1px solid rgba(214,160,62,.35); border-radius:999px; padding:.3em .8em; }

@media (max-width:960px){ .office-grid{ grid-template-columns:repeat(2,1fr); } .lead-grid{ grid-template-columns:1fr; } .go-chip-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px){ .office-grid{ grid-template-columns:1fr; } .go-def{ grid-template-columns:1fr; gap:4px; } }
