/* ═══════════════════════════════════════════════════════
   AO Group Nordic — Plugin Stylesheet
   All selectors prefixed with .aog- to avoid theme conflicts
═══════════════════════════════════════════════════════ */

/* ── Variables ────────────────────────────────────── */
:root {
  --aog-bg:          #f4f5f7;
  --aog-surface:     #ffffff;
  --aog-surface2:    #eef0f5;
  --aog-border:      #dde2ec;
  --aog-text:        #0b1e35;
  --aog-text-2:      #4a5e74;
  --aog-text-3:      #8a9db8;
  --aog-accent:      #0b4f8a;
  --aog-accent-h:    #0960a8;
  --aog-accent-lt:   #e8f0fb;
  --aog-accent-txt:  #0b4f8a;
  --aog-hero-bg:     linear-gradient(140deg,#0b4f8a 0%,#071e38 100%);
  --aog-grid-line:   rgba(255,255,255,.06);
  --aog-card-glass:  rgba(255,255,255,.10);
  --aog-card-border: rgba(255,255,255,.15);
  --aog-shadow-sm:   0 1px 3px rgba(11,30,53,.08),0 1px 2px rgba(11,30,53,.05);
  --aog-shadow-md:   0 4px 16px rgba(11,30,53,.10),0 2px 6px rgba(11,30,53,.06);
  --aog-shadow-lg:   0 12px 40px rgba(11,30,53,.14);
  --aog-mono:        'Space Mono', monospace;
  --aog-sans:        'IBM Plex Sans', sans-serif;
  --aog-nav-h:       72px;
  --aog-radius:      8px;
  --aog-tr:          0.22s cubic-bezier(.4,0,.2,1);
}

[data-theme="dark"] {
  --aog-bg:          #06111e;
  --aog-surface:     #0b1d30;
  --aog-surface2:    #0e2540;
  --aog-border:      #142c44;
  --aog-text:        #dceeff;
  --aog-text-2:      #5a7a96;
  --aog-text-3:      #2a4a62;
  --aog-accent:      #1472cc;
  --aog-accent-h:    #1a84ea;
  --aog-accent-lt:   #0a2040;
  --aog-accent-txt:  #4da3ff;
  --aog-hero-bg:     linear-gradient(140deg,#0a2840 0%,#040e1a 100%);
  --aog-grid-line:   rgba(26,110,200,.10);
  --aog-card-glass:  rgba(26,110,200,.12);
  --aog-card-border: rgba(26,110,200,.25);
  --aog-shadow-sm:   0 1px 3px rgba(0,0,0,.3);
  --aog-shadow-md:   0 4px 16px rgba(0,0,0,.35);
  --aog-shadow-lg:   0 12px 40px rgba(0,0,0,.5);
}

/* ── Reset scoped to plugin body class ───────────── */
.aogroup-nordic-page * { box-sizing: border-box; }
.aogroup-nordic-page { margin: 0; padding: 0; }
.aogroup-nordic-page, .aogroup-nordic-page body {
  font-family: var(--aog-sans);
  background: var(--aog-bg);
  color: var(--aog-text);
  line-height: 1.6;
  overflow-x: hidden;
  transition: background var(--aog-tr), color var(--aog-tr);
}
/* Override WP admin bar offset handled by WP itself */

/* ── Layout ───────────────────────────────────────── */
.aog-container { max-width: 1160px; margin: 0 auto; padding: 0 28px; }

/* ── Typography helpers ──────────────────────────── */
.aog-mono { font-family: var(--aog-mono); }
.aog-tag-line {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 10px; font-weight: 600; letter-spacing: 4px;
  text-transform: uppercase; color: var(--aog-accent-txt);
}
.aog-tag-line::before {
  content: ''; width: 22px; height: 2px;
  background: var(--aog-accent-txt); display: block; flex-shrink: 0;
}
.aog-section-title {
  font-size: clamp(26px,3vw,36px);
  font-weight: 700; letter-spacing: -.5px; line-height: 1.2;
}
.aog-section-sub { font-size: 15px; color: var(--aog-text-2); line-height: 1.75; }

/* ── Buttons ─────────────────────────────────────── */
.aog-btn-primary {
  display: inline-block;
  padding: 10px 22px; border-radius: 6px;
  background: var(--aog-accent); color: #fff !important;
  font-family: var(--aog-sans); font-size: 12px; font-weight: 600; letter-spacing: .8px;
  border: none; white-space: nowrap; text-decoration: none;
  transition: background var(--aog-tr), box-shadow var(--aog-tr), transform .12s;
  box-shadow: 0 2px 8px rgba(11,79,138,.25); cursor: pointer;
}
.aog-btn-primary:hover { background: var(--aog-accent-h); box-shadow: 0 4px 16px rgba(11,79,138,.35); transform: translateY(-1px); }
.aog-btn-primary:active { transform: translateY(0); }

.aog-btn-ghost {
  display: inline-block;
  padding: 10px 22px; border-radius: 6px;
  background: transparent; color: var(--aog-text);
  font-family: var(--aog-sans); font-size: 12px; font-weight: 600; letter-spacing: .5px;
  border: 1.5px solid var(--aog-border);
  transition: border-color var(--aog-tr), background var(--aog-tr), color var(--aog-tr);
  cursor: pointer; text-decoration: none;
}
.aog-btn-ghost:hover { border-color: var(--aog-accent-txt); color: var(--aog-accent-txt); background: var(--aog-accent-lt); }

.aog-btn-white {
  display: inline-block;
  padding: 13px 28px; border-radius: 6px;
  background: #fff; color: var(--aog-accent) !important;
  font-family: var(--aog-sans); font-size: 13px; font-weight: 700;
  border: none; letter-spacing: .3px; text-decoration: none;
  transition: box-shadow .2s, transform .12s;
  box-shadow: 0 2px 12px rgba(0,0,0,.25); cursor: pointer;
}
.aog-btn-white:hover { box-shadow: 0 6px 24px rgba(0,0,0,.35); transform: translateY(-2px); }

.aog-btn-outline-white {
  display: inline-block;
  padding: 13px 28px; border-radius: 6px;
  background: transparent; color: #fff !important;
  font-family: var(--aog-sans); font-size: 13px; font-weight: 600;
  border: 1.5px solid rgba(255,255,255,.35); letter-spacing: .3px;
  transition: border-color .2s, background .2s; cursor: pointer; text-decoration: none;
}
.aog-btn-outline-white:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }

/* ── Navigation ──────────────────────────────────── */
.aog-nav-wrap {
  position: sticky; top: 0; z-index: 999;
  background: var(--aog-surface);
  border-bottom: 1px solid var(--aog-border);
  box-shadow: var(--aog-shadow-sm);
  transition: background var(--aog-tr), border-color var(--aog-tr);
}
.aog-nav {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--aog-nav-h); gap: 24px;
}
.aog-nav-logo {
  display: flex; align-items: center; gap: 11px;
  font-weight: 700; font-size: 16px; letter-spacing: 3.5px;
  color: var(--aog-text); white-space: nowrap; flex-shrink: 0;
  text-decoration: none; cursor: pointer;
}
.aog-logo-mark {
  width: 32px; height: 32px; border-radius: 6px;
  background: var(--aog-accent); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0;
  transition: background var(--aog-tr);
}
.aog-nav-links {
  display: flex; align-items: center; gap: 4px;
  flex: 1; justify-content: center; list-style: none; margin: 0; padding: 0;
}
.aog-nav-links a {
  font-size: 13px; font-weight: 500; color: var(--aog-text-2);
  padding: 6px 14px; border-radius: 5px; text-decoration: none;
  transition: color var(--aog-tr), background var(--aog-tr);
}
.aog-nav-links a:hover { color: var(--aog-text); background: var(--aog-surface2); }
.aog-nav-links a.aog-active { color: var(--aog-accent-txt); font-weight: 600; }
.aog-nav-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.aog-theme-btn {
  width: 38px; height: 38px; border-radius: 6px;
  border: 1px solid var(--aog-border); background: transparent;
  display: flex; align-items: center; justify-content: center;
  color: var(--aog-text-2); font-size: 16px; cursor: pointer;
  transition: border-color var(--aog-tr), background var(--aog-tr);
}
.aog-theme-btn:hover { background: var(--aog-surface2); color: var(--aog-text); }

.aog-hamburger {
  display: none; flex-direction: column; gap: 5px;
  width: 38px; height: 38px; border: 1px solid var(--aog-border);
  border-radius: 6px; background: transparent;
  align-items: center; justify-content: center; cursor: pointer;
}
.aog-hamburger span {
  display: block; width: 18px; height: 2px; background: var(--aog-text-2);
  border-radius: 2px; transition: all .25s;
}
.aog-hamburger.aog-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.aog-hamburger.aog-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.aog-hamburger.aog-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.aog-mobile-menu {
  display: none; flex-direction: column;
  background: var(--aog-surface); border-top: 1px solid var(--aog-border);
  padding: 16px 28px 24px;
}
.aog-mobile-menu.aog-open { display: flex; }
.aog-mobile-menu a {
  font-size: 15px; font-weight: 500; color: var(--aog-text-2);
  padding: 12px 0; border-bottom: 1px solid var(--aog-border);
  text-decoration: none; transition: color var(--aog-tr);
}
.aog-mobile-menu a:hover, .aog-mobile-menu a.aog-active { color: var(--aog-accent-txt); }
.aog-mobile-actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }

/* ── Page system ─────────────────────────────────── */
.aog-page { display: none; }
.aog-page--active { display: block; animation: aogPageIn .35s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes aogPageIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

/* ── Hero ────────────────────────────────────────── */
.aog-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; overflow: hidden; }
.aog-hero-content { display: flex; flex-direction: column; justify-content: center; padding: 80px 56px 80px 0; }
.aog-hero-content .aog-tag-line { margin-bottom: 24px; }
.aog-hero-h1 { font-size: clamp(34px,4vw,52px); font-weight: 700; line-height: 1.08; letter-spacing: -1px; margin-bottom: 22px; }
.aog-hero-h1 em { font-style: normal; color: var(--aog-accent-txt); }
.aog-hero-body { font-size: 16px; color: var(--aog-text-2); line-height: 1.8; max-width: 400px; margin-bottom: 36px; }
.aog-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.aog-hero-meta { display: flex; align-items: center; gap: 32px; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--aog-border); flex-wrap: wrap; }
.aog-meta-num { font-family: var(--aog-mono); font-size: 22px; font-weight: 700; line-height: 1; }
.aog-meta-label { font-size: 11px; color: var(--aog-text-3); margin-top: 4px; letter-spacing: 1px; }
.aog-meta-divider { width: 1px; height: 36px; background: var(--aog-border); }

.aog-hero-visual {
  background: var(--aog-hero-bg); position: relative;
  overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 48px;
}
.aog-hero-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(var(--aog-grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--aog-grid-line) 1px,transparent 1px);
  background-size: 32px 32px;
}
.aog-hero-cards { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
.aog-hero-card {
  background: var(--aog-card-glass); border: 1px solid var(--aog-card-border);
  backdrop-filter: blur(12px); border-radius: 10px; padding: 20px;
  transition: transform .25s, background .25s; cursor: default;
}
.aog-hero-card:hover { transform: translateY(-3px); background: rgba(255,255,255,.16); }
.aog-hc-icon { font-size: 24px; margin-bottom: 10px; }
.aog-hc-title { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.92); letter-spacing: .3px; }
.aog-hc-sub { font-size: 10px; color: rgba(255,255,255,.45); margin-top: 4px; }

/* ── Trust bar ───────────────────────────────────── */
.aog-trust-bar { background: var(--aog-surface); border-top: 1px solid var(--aog-border); border-bottom: 1px solid var(--aog-border); padding: 20px 0; transition: background var(--aog-tr); }
.aog-trust-inner { display: flex; align-items: center; gap: 48px; overflow-x: auto; scrollbar-width: none; }
.aog-trust-inner::-webkit-scrollbar { display: none; }
.aog-trust-item { display: flex; align-items: center; gap: 10px; white-space: nowrap; flex-shrink: 0; }
.aog-trust-icon { font-size: 16px; opacity: .6; }
.aog-trust-text { font-size: 12px; font-weight: 500; color: var(--aog-text-3); }
.aog-trust-sep { width: 1px; height: 20px; background: var(--aog-border); flex-shrink: 0; }

/* ── Services ────────────────────────────────────── */
.aog-services-section { padding: 100px 0; }
.aog-services-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 56px; gap: 24px; flex-wrap: wrap; }
.aog-services-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.aog-service-card {
  background: var(--aog-surface); border: 1px solid var(--aog-border);
  border-radius: 12px; padding: 32px 28px; position: relative; overflow: hidden;
  transition: border-color var(--aog-tr), box-shadow var(--aog-tr), transform .2s; cursor: default;
}
.aog-service-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--aog-accent); transform: scaleX(0); transform-origin: left;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.aog-service-card:hover { border-color: var(--aog-accent-txt); box-shadow: var(--aog-shadow-md); transform: translateY(-4px); }
.aog-service-card:hover::before { transform: scaleX(1); }
.aog-svc-num { font-family: var(--aog-mono); font-size: 9px; letter-spacing: 2.5px; color: var(--aog-accent-txt); margin-bottom: 20px; display: block; text-transform: uppercase; }
.aog-svc-icon { font-size: 28px; margin-bottom: 16px; }
.aog-svc-name { font-size: 17px; font-weight: 700; margin-bottom: 10px; }
.aog-svc-desc { font-size: 13px; color: var(--aog-text-2); line-height: 1.7; margin-bottom: 24px; }
.aog-svc-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.aog-svc-tag {
  font-size: 10px; font-weight: 500; padding: 3px 9px; border-radius: 4px;
  background: var(--aog-accent-lt); color: var(--aog-accent-txt);
  border: 1px solid transparent;
}
[data-theme="dark"] .aog-svc-tag { border-color: var(--aog-border); }

/* ── Why section ─────────────────────────────────── */
.aog-why-section { padding: 100px 0; background: var(--aog-surface); transition: background var(--aog-tr); }
.aog-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.aog-why-visual {
  background: var(--aog-hero-bg); border-radius: 16px;
  position: relative; min-height: 420px; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end;
}
.aog-why-grid-bg {
  position: absolute; inset: 0;
  background-image: linear-gradient(var(--aog-grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--aog-grid-line) 1px,transparent 1px);
  background-size: 28px 28px;
}
.aog-why-visual-content { position: relative; z-index: 2; padding: 36px; }
.aog-why-stat-row { display: flex; gap: 24px; margin-bottom: 24px; }
.aog-why-stat-box { flex: 1; background: var(--aog-card-glass); border: 1px solid var(--aog-card-border); border-radius: 8px; padding: 20px; }
.aog-why-num { font-family: var(--aog-mono); font-size: 28px; font-weight: 700; color: #fff; line-height: 1; margin-bottom: 5px; }
.aog-why-label { font-size: 10px; color: rgba(255,255,255,.45); letter-spacing: 1.5px; text-transform: uppercase; }
.aog-uptime-bar { background: var(--aog-card-glass); border: 1px solid var(--aog-card-border); border-radius: 8px; padding: 16px 20px; }
.aog-uptime-label { font-size: 10px; color: rgba(255,255,255,.5); letter-spacing: 1px; margin-bottom: 10px; font-family: var(--aog-mono); }
.aog-uptime-track { height: 6px; background: rgba(255,255,255,.1); border-radius: 10px; overflow: hidden; }
.aog-uptime-fill { height: 100%; width: 99.7%; background: linear-gradient(90deg,#38bdf8,#60a5fa); border-radius: 10px; position: relative; }
.aog-uptime-fill::after { content: '99.7%'; position: absolute; right: 0; top: -20px; font-size: 10px; font-weight: 700; color: rgba(255,255,255,.9); font-family: var(--aog-mono); }
.aog-why-content .aog-tag-line { margin-bottom: 20px; }
.aog-why-list { display: flex; flex-direction: column; gap: 24px; }
.aog-why-item { display: flex; gap: 16px; align-items: flex-start; }
.aog-why-icon { width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0; background: var(--aog-accent-lt); display: flex; align-items: center; justify-content: center; font-size: 18px; border: 1px solid var(--aog-border); }
.aog-why-item-title { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
.aog-why-item-body { font-size: 13px; color: var(--aog-text-2); line-height: 1.6; }

/* ── CTA band ────────────────────────────────────── */
.aog-cta-section { padding: 80px 0; }
.aog-cta-band {
  background: var(--aog-hero-bg); border-radius: 20px; padding: 64px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 40px; flex-wrap: wrap; position: relative; overflow: hidden;
}
.aog-cta-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(var(--aog-grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--aog-grid-line) 1px,transparent 1px);
  background-size: 28px 28px;
}
.aog-cta-content { position: relative; z-index: 1; }
.aog-cta-eyebrow { font-size: 10px; letter-spacing: 4px; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,.5); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.aog-cta-eyebrow::before { content: ''; width: 18px; height: 2px; background: rgba(255,255,255,.4); display: block; }
.aog-cta-title { font-size: 32px; font-weight: 700; color: #fff; line-height: 1.15; letter-spacing: -.5px; }
.aog-cta-actions { position: relative; z-index: 1; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* ── Footer ──────────────────────────────────────── */
.aog-footer { background: var(--aog-surface); border-top: 1px solid var(--aog-border); padding: 60px 0 32px; transition: background var(--aog-tr); }
.aog-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.aog-footer-tagline { font-size: 13px; color: var(--aog-text-2); line-height: 1.7; max-width: 260px; margin-bottom: 20px; }
.aog-footer-contact { font-size: 12px; color: var(--aog-text-3); line-height: 2.2; }
.aog-footer-contact a { color: var(--aog-text-2); text-decoration: none; transition: color var(--aog-tr); }
.aog-footer-contact a:hover { color: var(--aog-accent-txt); }
.aog-footer-col h4 { font-size: 10px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--aog-text-3); margin-bottom: 16px; }
.aog-footer-col ul { list-style: none; margin: 0; padding: 0; }
.aog-footer-col ul li { margin-bottom: 10px; }
.aog-footer-col ul li a { font-size: 13px; color: var(--aog-text-2); text-decoration: none; transition: color var(--aog-tr); }
.aog-footer-col ul li a:hover { color: var(--aog-accent-txt); }
.aog-footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 24px; border-top: 1px solid var(--aog-border); font-size: 12px; color: var(--aog-text-3); gap: 12px; flex-wrap: wrap; }

/* ── Om oss hero ─────────────────────────────────── */
.aog-om-hero { background: var(--aog-hero-bg); padding: 100px 0; position: relative; overflow: hidden; }
.aog-om-hero-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--aog-grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--aog-grid-line) 1px,transparent 1px); background-size: 32px 32px; }
.aog-om-hero-content { position: relative; z-index: 2; max-width: 680px; }
.aog-om-hero-h1 { font-size: clamp(36px,4.5vw,56px); font-weight: 700; line-height: 1.08; letter-spacing: -1px; color: #fff; margin-bottom: 20px; }
.aog-om-hero-h1 em { font-style: normal; color: rgba(255,255,255,.6); }
.aog-om-hero-body { font-size: 17px; color: rgba(255,255,255,.65); line-height: 1.75; max-width: 520px; }

/* ── Timeline ────────────────────────────────────── */
.aog-timeline-section { padding: 100px 0; }
.aog-timeline-section .aog-section-title { margin-bottom: 8px; }
.aog-timeline-section .aog-section-sub { margin-bottom: 60px; }
.aog-timeline { position: relative; padding-left: 32px; margin-top: 56px; }
.aog-timeline::before { content: ''; position: absolute; left: 0; top: 12px; width: 2px; bottom: 0; background: var(--aog-border); }
.aog-tl-item { position: relative; padding-bottom: 48px; }
.aog-tl-item:last-child { padding-bottom: 0; }
.aog-tl-dot { position: absolute; left: -39px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--aog-surface); border: 2px solid var(--aog-border); transition: border-color var(--aog-tr), background var(--aog-tr); }
.aog-tl-item:hover .aog-tl-dot { border-color: var(--aog-accent-txt); background: var(--aog-accent-txt); }
.aog-tl-year { font-family: var(--aog-mono); font-size: 10px; font-weight: 700; letter-spacing: 2px; color: var(--aog-accent-txt); margin-bottom: 6px; }
.aog-tl-event { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.aog-tl-detail { font-size: 13px; color: var(--aog-text-2); line-height: 1.7; max-width: 520px; }

/* ── Values ──────────────────────────────────────── */
.aog-values-section { padding: 100px 0; background: var(--aog-surface); transition: background var(--aog-tr); }
.aog-values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.aog-value-card { padding: 36px; border-radius: 12px; border: 1px solid var(--aog-border); transition: box-shadow var(--aog-tr), transform .2s, border-color var(--aog-tr); background: var(--aog-bg); }
.aog-value-card:hover { box-shadow: var(--aog-shadow-md); transform: translateY(-3px); border-color: var(--aog-accent-txt); }
.aog-val-icon { font-size: 32px; margin-bottom: 20px; }
.aog-val-title { font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.aog-val-body { font-size: 13px; color: var(--aog-text-2); line-height: 1.75; }

/* ── Contact ─────────────────────────────────────── */
.aog-contact-section { padding: 100px 0; }
.aog-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.aog-contact-details { display: flex; flex-direction: column; gap: 16px; }
.aog-contact-row { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border-radius: 10px; border: 1px solid var(--aog-border); background: var(--aog-surface); transition: border-color var(--aog-tr), background var(--aog-tr); }
.aog-contact-row:hover { border-color: var(--aog-accent-txt); }
.aog-contact-icon { width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0; background: var(--aog-accent-lt); display: flex; align-items: center; justify-content: center; font-size: 18px; border: 1px solid var(--aog-border); }
.aog-contact-label { font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--aog-text-3); margin-bottom: 4px; }
.aog-contact-val { font-size: 14px; font-weight: 500; }
.aog-contact-map { background: var(--aog-hero-bg); border-radius: 16px; min-height: 400px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.aog-contact-map-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--aog-grid-line) 1px,transparent 1px), linear-gradient(90deg,var(--aog-grid-line) 1px,transparent 1px); background-size: 32px 32px; }
.aog-map-pin { position: relative; z-index: 2; text-align: center; }
.aog-map-dot { width: 16px; height: 16px; border-radius: 50%; background: #fff; margin: 0 auto 12px; box-shadow: 0 0 0 6px rgba(255,255,255,.25); }
.aog-map-label { background: var(--aog-card-glass); border: 1px solid var(--aog-card-border); backdrop-filter: blur(10px); border-radius: 8px; padding: 12px 20px; color: #fff; }
.aog-map-name { font-size: 13px; font-weight: 700; margin-bottom: 2px; }
.aog-map-addr { font-size: 11px; color: rgba(255,255,255,.55); }

/* ── Reveal animations ───────────────────────────── */
.aog-reveal { opacity: 0; transform: translateY(20px); transition: opacity .55s cubic-bezier(.4,0,.2,1), transform .55s cubic-bezier(.4,0,.2,1); }
.aog-reveal.aog-visible { opacity: 1; transform: translateY(0); }
.aog-reveal-d1 { transition-delay: .08s; }
.aog-reveal-d2 { transition-delay: .16s; }
.aog-reveal-d3 { transition-delay: .24s; }
.aog-reveal-d4 { transition-delay: .32s; }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width:1100px) {
  .aog-services-grid { grid-template-columns: repeat(2,1fr); }
  .aog-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width:900px) {
  .aog-hero { grid-template-columns: 1fr; min-height: auto; }
  .aog-hero-content { padding: 60px 0 0; }
  .aog-hero-visual { min-height: 300px; }
  .aog-why-grid { grid-template-columns: 1fr; gap: 48px; }
  .aog-why-visual { min-height: 280px; }
  .aog-contact-grid { grid-template-columns: 1fr; }
  .aog-values-grid { grid-template-columns: 1fr 1fr; }
  .aog-om-hero { padding: 72px 0; }
  .aog-cta-band { padding: 48px; }
  .aog-why-stat-row { gap: 12px; }
}
@media (max-width:768px) {
  .aog-nav-links, .aog-nav-actions .aog-btn-primary { display: none; }
  .aog-hamburger { display: flex; }
  .aog-hero-meta { gap: 20px; }
}
@media (max-width:600px) {
  .aog-services-grid { grid-template-columns: 1fr; }
  .aog-values-grid { grid-template-columns: 1fr; }
  .aog-cta-band { padding: 32px 24px; }
  .aog-cta-title { font-size: 22px; }
  .aog-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .aog-hero-h1 { font-size: 28px; }
  .aog-services-section, .aog-why-section, .aog-values-section, .aog-timeline-section, .aog-contact-section { padding: 64px 0; }
}
