/* Contact Us / Offices section: four office cards (2 columns on desktop, 1 on mobile). */
.gc-offices{
  --o-bg:#1a2941;
  --o-card:#213353;
  --o-card-2:#1d2e4b;
  --o-border:rgba(255,255,255,.09);
  --o-gold:#e8c547;
  --o-gold-deep:#d4af37;
  --o-text:#fff;
  --o-muted:#b9c4d6;
  --o-call:#0066cc;
  --o-wa:#25d366;
  --o-map:#ea4335;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding-block:clamp(64px,8vw,112px);
  color:var(--o-text);
  background:
    radial-gradient(60% 50% at 100% 0%,rgba(232,197,71,.10),transparent 70%),
    radial-gradient(50% 45% at 0% 100%,rgba(0,102,204,.14),transparent 70%),
    var(--o-bg);
  scroll-margin-top:90px;
}
.gc-offices::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 75%);mask-image:linear-gradient(180deg,#000,transparent 75%)}
.gc-offices-sprite{position:absolute;width:0;height:0;overflow:hidden}
.gc-offices .gc-ico{width:18px;height:18px;flex:0 0 auto}

/* Header */
.gc-offices-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px 48px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,52px)}
.gc-offices-header>div:first-child{max-width:620px}
.gc-offices-eyebrow{margin:0 0 14px;color:var(--o-gold);font-size:.75rem;font-weight:800;letter-spacing:.18em}
.gc-offices h2{margin:0;color:var(--o-text);font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;letter-spacing:-.03em;font-weight:800}
.gc-offices-lead{margin:18px 0 0;color:var(--o-muted);font-size:1.0625rem;line-height:1.65}
.gc-offices-header-actions{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.gc-offices-all{color:var(--o-muted);font-size:.9rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-block:4px;transition:color .25s,border-color .25s}
.gc-offices-all:hover{color:var(--o-gold);border-color:var(--o-gold)}

/* Grid */
.gc-offices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}

/* Card */
.gc-office-card{position:relative;display:flex;flex-direction:column;gap:22px;min-width:0;padding:clamp(22px,2.6vw,32px);
  background:linear-gradient(180deg,var(--o-card),var(--o-card-2));
  border:1px solid var(--o-border);border-radius:18px;
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 18px 40px -28px rgba(0,0,0,.7);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease}
.gc-office-card::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--o-gold),transparent);transform:scaleX(.25);opacity:.55;transition:transform .45s ease,opacity .45s ease}
.gc-office-card:hover,.gc-office-card:focus-within{transform:translateY(-6px);border-color:rgba(232,197,71,.38);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 28px 50px -24px rgba(0,0,0,.75),0 0 40px -10px rgba(232,197,71,.28)}
.gc-office-card:hover::before,.gc-office-card:focus-within::before{transform:scaleX(1);opacity:1}

.gc-office-head{display:flex;align-items:center;gap:16px}
.gc-office-flag{display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;border-radius:14px;font-size:1.9rem;line-height:1;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.gc-office-country{margin:0 0 4px;color:var(--o-gold);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gc-offices .gc-office-head h3{margin:0;color:var(--o-text);font-size:clamp(1.05rem,1.6vw,1.2rem);font-weight:800;letter-spacing:.01em;line-height:1.3}

.gc-office-body{display:flex;flex-direction:column;gap:14px;margin:0;font-style:normal;color:var(--o-muted);font-size:.95rem;line-height:1.6}
.gc-office-row{display:flex;align-items:flex-start;gap:12px;margin:0;min-width:0}
.gc-office-row>.gc-ico{margin-top:3px;color:var(--o-gold)}

.gc-office-phones{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;list-style:none}
.gc-office-phones a{display:inline-flex;align-items:center;gap:10px;min-height:32px;color:var(--o-text);font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums;transition:color .2s}
.gc-office-phones a .gc-ico{color:var(--o-gold);width:16px;height:16px}
.gc-office-phones a:hover{color:var(--o-gold)}
.gc-office-phones .gc-wa-line{flex-wrap:wrap;column-gap:10px;row-gap:0}
.gc-office-phones .gc-wa-line .gc-ico{color:var(--o-wa)}
.gc-office-phones .gc-wa-line small{flex-basis:100%;padding-left:26px;color:#8fe3ae;font-size:.78rem;font-weight:500}
.gc-office-phones .gc-wa-line:hover{color:var(--o-wa)}

.gc-office-email{align-items:center;flex-wrap:wrap}
.gc-office-email>.gc-ico{margin-top:0}
.gc-office-email a{color:var(--o-text);font-weight:600;text-decoration:none;overflow-wrap:anywhere;border-bottom:1px dashed rgba(255,255,255,.3);transition:color .2s,border-color .2s;user-select:all}
.gc-office-email a:hover{color:var(--o-gold);border-color:var(--o-gold)}
.gc-copy{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border-radius:8px;cursor:pointer;
  color:var(--o-gold);background:transparent;border:1px solid rgba(232,197,71,.45);font:inherit;font-size:.75rem;font-weight:700;letter-spacing:.04em;transition:background .2s,color .2s,border-color .2s}
.gc-copy .gc-ico{width:14px;height:14px}
.gc-copy:hover{background:var(--o-gold);color:#1a2941;border-color:var(--o-gold)}
.gc-copy.is-copied{background:var(--o-wa);border-color:var(--o-wa);color:#06260f}

/* Buttons */
.gc-office-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:20px;border-top:1px solid var(--o-border)}
.gc-offices .gc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:10px;border:0;
  color:#fff;font-size:.9rem;font-weight:700;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,filter .25s ease}
.gc-offices .gc-btn:hover{transform:translateY(-2px)}
.gc-offices .gc-btn:active{transform:translateY(0)}
.gc-offices .gc-btn--gold{color:#1a2941;background:linear-gradient(135deg,var(--o-gold),var(--o-gold-deep));box-shadow:0 10px 24px -12px rgba(232,197,71,.7)}
.gc-offices .gc-btn--gold:hover{box-shadow:0 14px 30px -10px rgba(232,197,71,.85)}
.gc-offices .gc-btn--call{background:var(--o-call)}
.gc-offices .gc-btn--call:hover{background:#0a74e0;box-shadow:0 12px 26px -10px rgba(0,102,204,.85)}
.gc-offices .gc-btn--wa{background:var(--o-wa);color:#062a12}
.gc-offices .gc-btn--wa:hover{background:#2fe072;box-shadow:0 12px 26px -10px rgba(37,211,102,.8)}
.gc-offices .gc-btn--map{background:var(--o-map)}
.gc-offices .gc-btn--map:hover{background:#f05244;box-shadow:0 12px 26px -10px rgba(234,67,53,.85)}

/* Focus */
.gc-offices a:focus-visible,.gc-offices button:focus-visible{outline:3px solid var(--o-gold);outline-offset:3px;border-radius:8px}

.gc-offices-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Responsive */
@media(max-width:1024px){.gc-offices-grid{gap:20px}}
@media(max-width:760px){
  .gc-offices-grid{grid-template-columns:1fr}
  .gc-offices-header{align-items:flex-start}
  .gc-offices h2 br{display:none}
}
@media(max-width:480px){
  .gc-office-actions .gc-btn{flex:1 1 calc(50% - 5px)}
  .gc-office-actions .gc-btn--map{flex-basis:100%}
  .gc-offices-header-actions,.gc-offices-header-actions .gc-btn{width:100%}
  .gc-office-flag{width:48px;height:48px;font-size:1.6rem}
}
@media(prefers-reduced-motion:reduce){
  .gc-office-card,.gc-office-card::before,.gc-offices .gc-btn{transition:none}
  .gc-office-card:hover,.gc-office-card:focus-within,.gc-offices .gc-btn:hover{transform:none}
}
