:root {
  --ink: #07111f;
  --ink-soft: #0d1b2d;
  --paper: #f5f7fa;
  --white: #ffffff;
  --blue: #1268ff;
  --blue-bright: #2f80ff;
  --blue-soft: #dceaff;
  --gold: #d8af62;
  --muted: #6f7a89;
  --line: rgba(9, 27, 48, 0.12);
}

/* WordPress integration */
.brand .custom-logo-link { display:flex; align-items:center; max-width:214px; }
.brand .custom-logo { width:100%; height:auto; filter:brightness(0) invert(1) drop-shadow(0 2px 7px rgba(0,0,0,.5)); }
.av-wordmark { display:inline-grid; color:white; line-height:1; }
.av-wordmark strong { font-size:22px; letter-spacing:-.045em; }
.av-wordmark span { margin-top:4px; color:#7caaff; font-size:8px; font-weight:850; letter-spacing:.28em; }
.desktop-nav li { display:contents; list-style:none; }
.menu-trigger { gap:4px; }
.menu-trigger span { display:block; width:19px; height:1.5px; background:white; }
body.admin-bar .site-header { top:32px; }
body.admin-bar .mobile-menu { top:32px; }
.inline-icon { color:#50dc96; font-size:11px; }
.service-glyph { display:block; margin-top:12px; color:#78a9ff; font-size:28px; }
.detail-glyph { display:block; color:var(--blue); font-size:22px; }
.detail-card > .detail-glyph + h3 { margin-top:38px; }
.whatsapp-float b { font-size:12px; }
.form-section { padding-top:20px; background:var(--paper); }
.form-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.form-layout h2 { margin:12px 0 18px; font-size:clamp(40px,4vw,58px); line-height:1.03; letter-spacing:-.055em; }
.form-layout > div > p:last-child { color:var(--muted); line-height:1.75; }
.contact-form { display:grid; gap:14px; padding:32px; border:1px solid var(--line); border-radius:24px; background:white; box-shadow:0 26px 70px rgba(19,42,72,.07); }
.contact-form label { display:grid; gap:8px; color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.contact-form input,.contact-form textarea { width:100%; padding:14px 16px; border:1px solid var(--line); border-radius:12px; outline:0; color:var(--ink); background:#f8fafc; font:inherit; font-size:14px; text-transform:none; transition:border-color .2s,box-shadow .2s; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(18,104,255,.08); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact-form .button { border:0; cursor:pointer; justify-self:start; }
.form-status { padding:13px 15px; border-radius:12px; font-size:13px; }
.form-status.success { color:#0b6d42; background:#e2f8ed; }.form-status.error { color:#9b3030; background:#fff0f0; }
.wp-content-shell { min-height:70vh; padding-top:160px; }
.wp-entry { max-width:800px; }
.wp-entry h1 { font-size:clamp(48px,6vw,82px); letter-spacing:-.06em; }
.prose { max-width:820px; color:#3e4a59; font-size:17px; line-height:1.85; }
.prose h2,.prose h3 { color:var(--ink); line-height:1.15; letter-spacing:-.04em; }
.prose img { height:auto; border-radius:22px; }
.blog-page { background:var(--paper); }
.blog-hero { min-height:610px; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.post-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:white; box-shadow:0 22px 60px rgba(19,42,72,.06); transition:transform .35s,box-shadow .35s; }
.post-card:hover { transform:translateY(-8px)!important; box-shadow:0 28px 75px rgba(19,42,72,.12); }
.post-image { display:block; height:235px; overflow:hidden; background:#0b1c30; }
.post-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s; }.post-card:hover .post-image img { transform:scale(1.06); }
.post-image.placeholder { display:grid; place-items:center; color:rgba(255,255,255,.12); font-size:70px; font-weight:900; }
.post-copy { padding:27px; }.post-copy h2 { margin:11px 0; font-size:25px; line-height:1.1; letter-spacing:-.04em; }.post-copy > p:not(.section-kicker) { color:var(--muted); font-size:13px; line-height:1.7; }
.read-link { display:inline-block; margin-top:14px; color:var(--blue); font-size:12px; font-weight:850; }
.empty-posts { grid-column:1/-1; padding:58px; border:1px solid var(--line); border-radius:24px; background:white; text-align:center; }.empty-posts h2 { font-size:42px; letter-spacing:-.05em; }.empty-posts .button { margin-top:20px; }
.article-hero { padding:170px 0 90px; color:white; background:linear-gradient(135deg,#06101d,#0e2948); }.article-head { max-width:900px; }.article-head h1 { margin:20px 0; font-size:clamp(50px,7vw,88px); line-height:.98; letter-spacing:-.065em; }.article-head > p:last-child { max-width:700px; color:rgba(255,255,255,.62); font-size:18px; line-height:1.7; }.back-link { display:inline-block; margin-bottom:55px; color:rgba(255,255,255,.5); font-size:12px; }
.article-body { padding:80px 0 110px; background:white; }.article-body .site-shell { width:min(820px,calc(100% - 48px)); }.article-image { margin-bottom:50px; }.article-image img { border-radius:24px; }
.not-found { min-height:100vh; display:grid; place-items:center; padding:140px 0 90px; color:white; background:radial-gradient(circle at 70% 30%,#17345d,transparent 32%),#07111f; }.not-found .site-shell { position:relative; }.not-found .site-shell > span { position:absolute; right:0; top:50%; color:rgba(255,255,255,.04); font-size:250px; font-weight:900; transform:translateY(-50%); }.not-found h1 { margin:18px 0; font-size:clamp(58px,8vw,100px); line-height:.92; letter-spacing:-.07em; }.not-found p:not(.section-kicker) { color:rgba(255,255,255,.58); }.not-found > div > div { display:flex; gap:12px; margin-top:30px; }

@media (max-width:780px) {
  body.admin-bar .site-header { top:46px; }
  body.admin-bar .mobile-menu { top:46px; }
  .form-layout { grid-template-columns:1fr; gap:36px; }
  .post-grid { grid-template-columns:1fr; }
  .article-body .site-shell { width:min(100% - 30px,620px); }
}
@media (max-width:520px) {
  .form-row { grid-template-columns:1fr; }
  .contact-form { padding:23px; }
  .not-found > div > div { display:grid; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
::selection { background: var(--blue); color: white; }

.site-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.scroll-progress { position: fixed; z-index: 100; top: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--blue), #77aaff); box-shadow: 0 0 16px rgba(18,104,255,.7); }
.pointer-aura { position: fixed; z-index: 90; width: 420px; height: 420px; left: var(--mouse-x, -500px); top: var(--mouse-y, -500px); border-radius: 50%; pointer-events: none; opacity: .1; background: radial-gradient(circle, rgba(54,129,255,.8), transparent 66%); transform: translate(-50%,-50%); mix-blend-mode: screen; transition: opacity .3s; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;

  /* Transparent only at the top */
  background: transparent;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);

  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    backdrop-filter 0.3s ease;
}

/*
 * Show the header background:
 * 1. when scrolling,
 * 2. when hovering over the header,
 * 3. when navigating with the keyboard,
 * 4. when the mobile menu is open.
 */
.site-header.is-scrolled,
.site-header:hover,
.site-header:focus-within,
.site-header.menu-open {
  background-color: rgba(4, 11, 20, 0.97);
  border-bottom-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);

  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.site-header .brand,
.site-header .brand a,
.site-header .desktop-nav,
.site-header .header-cta {
  position: relative;
  z-index: 2;
}

.site-header .brand img {
  position: relative;
  z-index: 2;
  max-height: 52px;
  width: auto;
}

.site-header.is-scrolled .desktop-nav a,
.site-header.is-scrolled .header-cta {
  color: #ffffff;
  text-shadow: none;
}

.header-inner { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; width: 214px; flex: 0 0 auto; }
.brand img { width: 100%; filter: brightness(0) invert(1) drop-shadow(0 2px 7px rgba(0,0,0,.5)); }
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.desktop-nav a { display:inline-flex; align-items:center; gap:5px; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 650; text-shadow: 0 2px 8px rgba(0,0,0,.62); transition: color .25s ease, text-shadow .25s ease; }
.desktop-nav a:hover { color: white; }
.header-cta { display: inline-flex; align-items: center; gap: 9px; color: white; padding: 11px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: 13px; font-weight: 750; transition: background .25s, transform .25s; }
.header-cta:hover { background: rgba(255,255,255,.1); transform: translateY(-2px); }
.menu-trigger { display: none; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: white; background: rgba(255,255,255,.05); cursor: pointer; }
.menu-overlay { position: fixed; z-index: 70; inset: 0; pointer-events: none; opacity: 0; background: rgba(2,8,16,.64); backdrop-filter: blur(5px); transition: opacity .45s; }
.menu-overlay.is-open { pointer-events: auto; opacity: 1; }
.mobile-menu { position: fixed; z-index: 71; inset: 0 0 0 auto; display: flex; width: min(440px,92vw); flex-direction: column; padding: 92px 38px 34px; color: white; background: linear-gradient(145deg,#081525,#040b14); box-shadow: -40px 0 100px rgba(0,0,0,.35); transform: translateX(105%); transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.mobile-menu::before { content: "MENU"; position: absolute; right: -8px; bottom: 62px; color: rgba(255,255,255,.025); font-size: 105px; font-weight: 900; letter-spacing: -.08em; transform: rotate(-90deg); transform-origin: bottom right; }
.mobile-menu.is-open { transform: none; }
.menu-close { position: absolute; top: 22px; right: 24px; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; color: white; background: transparent; cursor: pointer; }
.mobile-menu nav { display: grid; margin-top: 12px; }
.mobile-menu nav a { display: flex; align-items: baseline; gap: 17px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.09); font-size: 28px; font-weight: 750; letter-spacing: -.04em; transition: color .25s, padding .25s; }
.mobile-menu nav a:hover { padding-left: 8px; color: #78a9ff; }
.mobile-menu nav span { color: rgba(255,255,255,.3); font-size: 9px; letter-spacing: .12em; }
.mobile-menu-contact { margin-top: auto; padding: 19px; border: 1px solid rgba(255,255,255,.1); border-radius: 17px; background: rgba(255,255,255,.04); }
.mobile-menu-contact small { display: block; color: rgba(255,255,255,.4); font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.mobile-menu-contact a { display: flex; align-items: center; justify-content: space-between; margin-top: 7px; font-weight: 800; }

.hero { position: relative; min-height: 850px; padding: 154px 0 0; overflow: hidden; color: white; background: radial-gradient(circle at 80% 20%, #17345d 0, transparent 30%), linear-gradient(135deg, #07111f 0%, #0a192c 60%, #07111f 100%); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(255,255,255,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.2) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, black, transparent 80%); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(5px); opacity: .4; animation: float 9s ease-in-out infinite; }
.hero-orb-one { width: 430px; height: 430px; right: -140px; top: 40px; background: radial-gradient(circle, rgba(33,111,255,.55), transparent 70%); }
.hero-orb-two { width: 260px; height: 260px; left: -140px; bottom: 120px; background: radial-gradient(circle, rgba(216,175,98,.22), transparent 70%); animation-delay: -3s; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 72px; min-height: 610px; }
.hero-copy { animation: heroEnter .9s .1s both cubic-bezier(.2,.8,.2,1); }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: rgba(255,255,255,.82); font-size: 11px; line-height: 1; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: #59e7a8; box-shadow: 0 0 0 5px rgba(89,231,168,.1); animation: pulse 2s infinite; }
.hero h1 { margin: 26px 0 24px; max-width: 690px; font-size: clamp(58px, 6vw, 90px); line-height: .95; letter-spacing: -.065em; font-weight: 780; }
.hero h1 span { display: block; color: #76a8ff; }
.hero-lead { max-width: 625px; margin: 0; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border-radius: 999px; font-size: 14px; font-weight: 800; transition: transform .25s, background .25s, box-shadow .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { color: white; background: var(--blue); box-shadow: 0 16px 38px rgba(18,104,255,.25); }
.button-primary:hover { background: var(--blue-bright); box-shadow: 0 20px 50px rgba(18,104,255,.36); }
.button-ghost { color: white; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.04); }
.button-ghost:hover { background: rgba(255,255,255,.1); }
.hero-trust { display: flex; align-items: center; gap: 14px; margin-top: 34px; }
.avatar-stack { display: flex; }
.avatar-stack span { display: grid; width: 35px; height: 35px; place-items: center; margin-left: -8px; border: 2px solid #0a192c; border-radius: 50%; color: white; background: #183254; font-size: 10px; font-weight: 850; }
.avatar-stack span:first-child { margin: 0; background: var(--gold); color: var(--ink); }
.hero-trust p { margin: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.45; }
.hero-trust strong { color: white; font-size: 13px; }

.hero-visual { position: relative; height: 555px; animation: heroVisual .9s .25s both cubic-bezier(.2,.8,.2,1); }
.hero-image-wrap { position: absolute; inset: 15px 0 30px 50px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 210px 18px 210px 18px; background: #12233a; box-shadow: 0 50px 100px rgba(0,0,0,.36); }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; filter: saturate(.94) contrast(1.04); animation: imageBreathe 12s ease-in-out infinite alternate; }
.hero-image-overlay { position: absolute; inset: 0; background: linear-gradient(140deg, rgba(8,21,37,.05), rgba(8,21,37,.1) 40%, rgba(20,95,220,.2)), linear-gradient(to top, rgba(7,17,31,.55), transparent 45%); }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; min-width: 220px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(8,20,36,.78); box-shadow: 0 20px 55px rgba(0,0,0,.3); backdrop-filter: blur(18px); animation: float 6s ease-in-out infinite; }
.floating-card-top { right: -28px; top: 72px; }
.floating-card-bottom { left: 0; bottom: 58px; animation-delay: -2s; }
.floating-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: #78aaff; background: rgba(18,104,255,.15); }
.floating-icon.gold { color: var(--gold); background: rgba(216,175,98,.12); }
.floating-card strong { display: block; font-size: 13px; }
.floating-card small { display: block; margin-top: 3px; color: rgba(255,255,255,.5); font-size: 10px; }
.hero-seal { position: absolute; z-index: 3; right: 10px; bottom: 5px; display: flex; width: 104px; height: 104px; align-items: center; justify-content: center; gap: 7px; border-radius: 50%; color: var(--ink); background: var(--gold); box-shadow: 0 20px 60px rgba(0,0,0,.32); transform: rotate(-8deg); }
.hero-seal span { font-size: 11px; line-height: 1.05; font-weight: 900; text-transform: uppercase; }
.hero-marquee { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; overflow: hidden; border-top: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); }
.hero-marquee div { display: flex; width: max-content; align-items: center; gap: 35px; padding: 22px 0; color: rgba(255,255,255,.4); font-size: 11px; font-weight: 850; letter-spacing: .17em; animation: marquee 24s linear infinite; }
.hero-marquee i { color: var(--blue-bright); font-style: normal; }

.proof-section { padding: 44px 0; border-bottom: 1px solid var(--line); background: white; }
.proof-section .site-shell { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 50px; }
.proof-intro { border-right: 1px solid var(--line); }
.section-kicker { margin: 0 0 10px; color: var(--blue); font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.proof-intro > p:last-child { max-width: 170px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.counter-grid { display: grid; grid-template-columns: repeat(5,1fr); }
.counter-item { padding: 0 22px; border-right: 1px solid var(--line); }
.counter-item:last-child { border: 0; }
.counter-value { display: block; color: var(--ink); font-size: 28px; font-weight: 850; letter-spacing: -.04em; }
.counter-label { color: var(--muted); font-size: 11px; }

.section { padding: 120px 0; }
.section-light { background: var(--paper); }
.section-heading { margin-bottom: 52px; }
.split-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px; }
.section-heading h2 { margin: 0; max-width: 720px; font-size: clamp(40px,5vw,66px); line-height: 1.02; letter-spacing: -.055em; font-weight: 760; }
.section-heading h2 em, .scouting-copy h2 em, .contact-copy h2 em { color: var(--blue); font-style: normal; }
.section-heading > p, .split-heading > p, .centered-heading > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.centered-heading { max-width: 780px; margin-inline: auto; text-align: center; }
.centered-heading > p { max-width: 590px; margin: 20px auto 0; }

.category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.category-card { position: relative; display: flex; min-height: 166px; flex-direction: column; justify-content: space-between; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: white; transition: transform .35s, border-color .35s, box-shadow .35s; }
.category-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -70px; bottom: -70px; border-radius: 50%; background: var(--blue-soft); transition: transform .4s; }
.category-card:hover { z-index: 2; transform: translateY(-8px); border-color: rgba(18,104,255,.3); box-shadow: 0 26px 60px rgba(18,40,70,.1); }
.category-card:hover::after { transform: scale(1.5); }
.category-icon { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 14px; color: var(--blue); background: #edf4ff; }
.category-card h3 { margin: 24px 0 5px; font-size: 18px; letter-spacing: -.025em; }
.category-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.category-arrow { position: absolute; z-index: 1; right: 20px; bottom: 20px; color: var(--blue); transform: translateX(-4px); opacity: 0; transition: .3s; }
.category-card:hover .category-arrow { transform: none; opacity: 1; }
.category-card:hover .category-icon { animation: iconBounce .65s cubic-bezier(.2,.8,.2,1); }
.micro-note { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 26px; color: var(--muted); font-size: 13px; }
.micro-note svg { color: var(--gold); }

.process-section { position: relative; background: white; }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.process-line { position: relative; width: 68%; height: 1px; margin: 0 auto 0; background: #d9e0e8; transform: translateY(55px); }
.process-line span { display: block; width: 0; height: 2px; background: var(--blue); transition: width 1.6s .3s ease; }
.process-line.is-visible span { width: 100%; }
.process-card { position: relative; z-index: 1; padding: 36px 32px; border: 1px solid var(--line); border-radius: 24px; background: white; }
.process-card.featured { color: white; border-color: var(--blue); background: var(--blue); box-shadow: 0 26px 70px rgba(18,104,255,.23); transform: translateY(-12px); }
.process-number { position: absolute; top: 22px; right: 24px; color: #dce3eb; font-size: 52px; line-height: 1; font-weight: 900; letter-spacing: -.08em; }
.featured .process-number { color: rgba(255,255,255,.16); }
.process-icon { position: relative; display: grid; width: 56px; height: 56px; place-items: center; border-radius: 17px; color: var(--blue); background: #edf4ff; }
.featured .process-icon { color: white; background: rgba(255,255,255,.15); }
.process-card h3 { margin: 30px 0 12px; font-size: 23px; letter-spacing: -.035em; }
.process-card p { min-height: 90px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.featured p { color: rgba(255,255,255,.72); }
.process-meta { display: inline-block; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); font-size: 11px; font-weight: 750; }
.featured .process-meta { border-color: rgba(255,255,255,.18); color: white; }

.services-section { position: relative; overflow: hidden; color: white; background: var(--ink); }
.services-section::before { content: ""; position: absolute; width: 700px; height: 700px; top: -400px; left: 45%; border-radius: 50%; background: radial-gradient(circle, rgba(18,104,255,.2), transparent 68%); }
.inverse .section-kicker { color: #79a8ff; }
.inverse h2 em { color: #7baaff; }
.inverse > p { color: rgba(255,255,255,.55); }
.service-grid { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.service-card { position: relative; min-height: 350px; padding: 28px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 21px; background: rgba(255,255,255,.045); transition: transform .35s, background .35s, border-color .35s; }
.service-card:hover { transform: translateY(-8px); border-color: rgba(91,149,255,.5); background: rgba(255,255,255,.08); }
.service-number { position: absolute; top: 22px; right: 22px; color: rgba(255,255,255,.2); font-size: 12px; font-weight: 800; }
.service-icon { margin-top: 12px; color: #78a9ff; }
.service-card h3 { margin: 58px 0 16px; font-size: 22px; letter-spacing: -.03em; }
.service-card p { margin: 0; color: rgba(255,255,255,.55); font-size: 13px; line-height: 1.75; }
.service-card a { position: absolute; right: 28px; bottom: 26px; left: 28px; display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); color: white; font-size: 12px; font-weight: 800; }
.expert-panel { position: relative; display: grid; grid-template-columns: auto .8fr 1.35fr 1fr; align-items: center; gap: 30px; margin-top: 52px; padding: 34px; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: linear-gradient(90deg, rgba(18,104,255,.13), rgba(255,255,255,.035)); }
.expert-mark { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 18px; color: var(--gold); background: rgba(216,175,98,.1); }
.expert-panel h3 { margin: 0; font-size: 22px; }
.expert-panel > p { margin: 0; color: rgba(255,255,255,.55); font-size: 13px; line-height: 1.65; }
.expert-panel ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.expert-panel li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.74); font-size: 12px; }
.expert-panel li svg { color: #61dba0; }

.scouting-section { position: relative; overflow: hidden; color: white; background: linear-gradient(120deg, #0c5ce6, #1a73ff 60%, #397fff); }
.scouting-section::before { content: "SCOUT"; position: absolute; right: -30px; bottom: -45px; color: rgba(255,255,255,.07); font-size: 210px; font-weight: 900; letter-spacing: -.09em; }
.scouting-glow { position: absolute; width: 550px; height: 550px; top: -240px; right: 5%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.22), transparent 70%); }
.scouting-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 100px; }
.scouting-copy h2 { margin: 24px 0; font-size: clamp(46px,5vw,68px); line-height: 1.01; letter-spacing: -.055em; }
.scouting-copy h2 em { color: #dbe9ff; }
.scouting-copy > p { max-width: 550px; margin: 0 0 30px; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.75; }
.button-light { color: var(--blue); background: white; box-shadow: 0 18px 40px rgba(4,35,88,.2); }
.scouting-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scouting-step { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; min-height: 82px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 17px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); transition: transform .3s, background .3s; }
.scouting-step:hover { transform: translateX(5px); background: rgba(255,255,255,.17); }
.scouting-step span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #a9c8ff; background: rgba(0,30,88,.18); font-size: 10px; font-weight: 850; }
.scouting-step p { margin: 0; font-size: 12px; font-weight: 720; }
.scouting-step svg { color: rgba(255,255,255,.5); }

.location-section { background: var(--paper); }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.location-card { position: relative; min-height: 390px; padding: 38px; overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: white; box-shadow: 0 25px 70px rgba(19,42,72,.07); }
.location-card::after { content: "01"; position: absolute; right: -12px; bottom: -42px; color: rgba(7,17,31,.035); font-size: 190px; font-weight: 900; letter-spacing: -.08em; }
.location-card.blue { color: white; border: 0; background: linear-gradient(135deg, #0a5ff1, #2078ff); }
.location-card.blue::after { content: "02"; color: rgba(255,255,255,.07); }
.location-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.location-pin { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; color: var(--blue); background: #edf4ff; }
.blue .location-pin { color: white; background: rgba(255,255,255,.15); }
.location-badge { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.blue .location-badge { color: white; border-color: rgba(255,255,255,.22); }
.location-type { position: relative; z-index: 1; margin: 42px 0 8px; color: var(--muted); font-size: 12px; font-weight: 700; }
.blue .location-type { color: rgba(255,255,255,.58); }
.location-card h3 { position: relative; z-index: 1; margin: 0; font-size: 30px; line-height: 1.2; letter-spacing: -.04em; }
.location-details { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 11px 22px; margin-top: 26px; }
.location-details a, .location-details span { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.blue .location-details a, .blue .location-details span { color: rgba(255,255,255,.7); }
.location-link { position: absolute; z-index: 2; left: 38px; bottom: 34px; display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: 13px; font-weight: 820; }
.blue .location-link { color: white; }

.contact-section { padding: 0 0 90px; background: var(--paper); }
.contact-wrap { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 70px; padding: 68px; overflow: hidden; border-radius: 30px; color: white; background: var(--ink); box-shadow: 0 30px 90px rgba(7,17,31,.18); }
.contact-wrap::before { content: ""; position: absolute; width: 500px; height: 500px; top: -250px; left: 30%; border-radius: 50%; background: radial-gradient(circle, rgba(18,104,255,.28), transparent 68%); }
.contact-copy, .contact-actions { position: relative; z-index: 1; }
.contact-copy h2 { margin: 0 0 22px; font-size: clamp(40px,4.2vw,58px); line-height: 1.03; letter-spacing: -.05em; }
.contact-copy h2 em { color: #78a8ff; }
.contact-copy > p:last-child { max-width: 580px; margin: 0; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.75; }
.contact-primary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 18px; border-radius: 18px; color: var(--ink); background: white; transition: transform .25s; }
.contact-primary:hover { transform: translateY(-4px); }
.contact-primary > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: white; background: #21c063; }
.contact-primary small, .contact-primary strong { display: block; }
.contact-primary small { color: var(--muted); font-size: 10px; }
.contact-primary strong { margin-top: 3px; font-size: 15px; }
.contact-secondary { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.contact-secondary a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; color: rgba(255,255,255,.7); font-size: 11px; transition: background .25s; }
.contact-secondary a:hover { background: rgba(255,255,255,.07); }

footer { padding: 70px 0 28px; color: white; background: #040b14; }
.footer-top { display: grid; grid-template-columns: .8fr 1.2fr auto; align-items: center; gap: 60px; padding-bottom: 50px; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-brand { width: 230px; }
.footer-top > p { max-width: 500px; margin: 0; color: rgba(255,255,255,.48); font-size: 13px; line-height: 1.7; }
.footer-social { display: flex; gap: 9px; }
.footer-social a { display: flex; align-items: center; gap: 7px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 11px; transition:color .25s,border-color .25s,background .25s,transform .25s; }
.footer-social a:hover { color:white; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.07); transform:translateY(-3px); }
.footer-social a:hover svg { animation:socialWiggle .55s ease; }
.footer-sitemap { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; padding: 42px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.footer-sitemap > div { display: grid; gap: 9px; }
.footer-sitemap strong { margin-bottom: 5px; color: white; font-size: 12px; }
.footer-sitemap a { color: rgba(255,255,255,.44); font-size: 11px; transition: color .2s, transform .2s; }
.footer-sitemap a:hover { color: white; transform: translateX(3px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 26px; color: rgba(255,255,255,.35); font-size: 10px; }
.footer-bottom div { display: flex; gap: 22px; }
.footer-bottom a:hover { color: white; }
.whatsapp-float { position: fixed; z-index: 40; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 9px; padding: 13px 17px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: #21c063; box-shadow: 0 16px 35px rgba(15,128,66,.28); font-size: 12px; font-weight: 850; transition: transform .25s; }
.whatsapp-float:hover { transform: translateY(-4px) scale(1.02); }
.social-dock { position:fixed; z-index:39; left:22px; bottom:24px; display:grid; gap:9px; }
.social-dock a { display:flex; width:46px; height:46px; align-items:center; gap:10px; overflow:hidden; padding:0 13px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:white; box-shadow:0 16px 36px rgba(7,17,31,.23); font-size:11px; font-weight:800; white-space:nowrap; transition:width .38s cubic-bezier(.2,.8,.2,1),transform .25s,box-shadow .25s; }
.social-dock a svg { flex:0 0 auto; }
.social-dock a span { opacity:0; transform:translateX(-5px); transition:opacity .2s .06s,transform .25s .06s; }
.social-dock a:hover { width:128px; transform:translateY(-3px); box-shadow:0 20px 44px rgba(7,17,31,.3); }
.social-dock a:hover span { opacity:1; transform:none; }
.social-dock a:hover svg { animation:socialWiggle .55s ease; }
.social-dock-facebook { background:#1877f2; }
.social-dock-instagram { background:linear-gradient(135deg,#7651d8 0%,#d62976 48%,#f7a43a 100%); }

[data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1); }
[data-reveal="left"] { transform: translateX(-46px); }
[data-reveal="right"] { transform: translateX(46px); }
[data-reveal="scale"] { transform: translateY(24px) scale(.94); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Animated editorial subpages */
.detail-page { background: var(--paper); }
.subhero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; padding: 145px 0 80px; color: white; background: radial-gradient(circle at 78% 28%,rgba(29,97,196,.27),transparent 27%),linear-gradient(135deg,#06101d,#0a192b 68%,#06101d); }
.tone-gold .subhero { background: radial-gradient(circle at 77% 25%,rgba(216,175,98,.2),transparent 28%),linear-gradient(135deg,#080f19,#131b25 68%,#070d14); }
.tone-blue .subhero { background: radial-gradient(circle at 80% 20%,rgba(255,255,255,.14),transparent 28%),linear-gradient(135deg,#074abb,#0d68f4 62%,#0955ca); }
.subhero-grid { position: absolute; inset: 0; opacity: .08; background-image: linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom,black,transparent 85%); transform: translateY(calc(var(--page-scroll,0px) * .09)); }
.subhero-word { position: absolute; right: -2vw; bottom: -4vw; color: rgba(255,255,255,.035); font-size: clamp(130px,20vw,300px); line-height: .8; font-weight: 900; letter-spacing: -.1em; animation: wordDrift 8s ease-in-out infinite alternate; }
.subhero-orbit { position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; animation: orbitSpin 18s linear infinite; }
.subhero-orbit::before { content: ""; position: absolute; width: 10px; height: 10px; left: 14%; top: 13%; border-radius: 50%; background: var(--blue-bright); box-shadow: 0 0 24px rgba(47,128,255,.8); }
.tone-gold .subhero-orbit::before { background: var(--gold); box-shadow: 0 0 24px rgba(216,175,98,.75); }
.orbit-one { width: 440px; height: 440px; right: 6%; top: 19%; }
.orbit-two { width: 290px; height: 290px; right: 12%; top: 29%; animation-direction: reverse; animation-duration: 12s; }
.subhero-inner { position: relative; z-index: 3; }
.subhero-breadcrumb { position: absolute; left: 0; top: -64px; display: flex; gap: 10px; color: rgba(255,255,255,.35); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; animation: heroEnter .65s both; }
.subhero-breadcrumb b { color: rgba(255,255,255,.68); }
.subhero-copy { max-width: 790px; animation: heroEnter .85s .08s both cubic-bezier(.2,.8,.2,1); }
.subhero-copy h1 { margin: 22px 0 26px; font-size: clamp(58px,7vw,102px); line-height: .92; font-weight: 780; letter-spacing: -.068em; }
.subhero-copy h1 span { display: block; color: #79a9ff; }
.tone-gold .subhero-copy h1 span { color: var(--gold); }
.tone-blue .subhero-copy h1 span { color: #dbe9ff; }
.subhero-copy > p { max-width: 680px; margin: 0; color: rgba(255,255,255,.62); font-size: 18px; line-height: 1.75; }
.subhero-copy > .subhero-local { margin-top:17px; color:rgba(255,255,255,.78); font-size:11px; line-height:1.4; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.tone-blue .subhero-copy > p { color: rgba(255,255,255,.74); }
.subhero-actions { display: flex; gap: 12px; margin-top: 34px; }
.subhero-monogram { position: absolute; z-index: -1; right: 11%; top: 50%; display: grid; width: 205px; height: 205px; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; transform: translateY(-50%); animation: monogramFloat 7s ease-in-out infinite; }
.subhero-monogram::before,.subhero-monogram::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.subhero-monogram::before { inset:18px; }.subhero-monogram::after { inset:40px; }
.subhero-monogram span { color: rgba(255,255,255,.36); font-size: 68px; font-weight: 200; }
.subhero-monogram i { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: white; animation: pulse 2s infinite; }
.subhero-monogram i:nth-child(2) { right: 16px; top: 72px; }.subhero-monogram i:nth-child(3) { left: 28px; bottom: 35px; animation-delay: -1s; }
.detail-items { background: #f5f7fa; }
.detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.detail-grid.compact { grid-template-columns: repeat(4,1fr); }
.detail-card { position: relative; min-height: 230px; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: white; transition: transform .35s, box-shadow .35s, border-color .35s; }
.detail-card::after { content:""; position:absolute; width:180px; height:180px; right:-125px; bottom:-125px; border-radius:50%; background:var(--blue-soft); transition: transform .55s; }
.detail-card:hover { transform: translateY(-8px) !important; border-color: rgba(18,104,255,.28); box-shadow: 0 28px 70px rgba(13,35,63,.1); }
.detail-card:hover::after { transform: scale(1.8); }
.detail-card > svg:not(.detail-arrow) { color: var(--blue); }
.tone-gold .detail-card > svg:not(.detail-arrow) { color: #ae8035; }
.detail-index { position:absolute; right:23px; top:22px; color:#c9d1db; font-size:10px; font-weight:850; letter-spacing:.1em; }
.detail-card h3 { margin: 38px 0 11px; font-size: 21px; letter-spacing: -.035em; }
.detail-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.detail-arrow { position:absolute; z-index:1; right:24px; bottom:22px; color:var(--blue); opacity:0; transform:translateX(-8px); transition:.3s; }
.detail-card:hover .detail-arrow { opacity:1; transform:none; }
.editorial-section { padding-top: 0; background: var(--paper); }
.editorial-stack { display: grid; gap: 16px; }
.content-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; padding: 52px; border: 1px solid var(--line); border-radius: 26px; background: white; box-shadow: 0 28px 70px rgba(19,42,72,.055); }
.content-panel:nth-child(even) { color: white; border-color: transparent; background: var(--ink); }
.content-number { float:right; color:#d7dde5; font-size:50px; line-height:1; font-weight:900; letter-spacing:-.08em; }
.content-panel:nth-child(even) .content-number { color:rgba(255,255,255,.1); }
.content-panel h2 { margin: 13px 0 0; font-size: clamp(31px,3.2vw,46px); line-height:1.06; letter-spacing:-.05em; }
.content-body p { margin:0 0 17px; color:var(--muted); font-size:15px; line-height:1.85; }
.content-panel:nth-child(even) .content-body p { color:rgba(255,255,255,.58); }
.content-body ul { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.content-body li { display:flex; align-items:flex-start; gap:11px; color:var(--muted); font-size:14px; line-height:1.6; }
.content-body li svg { flex:0 0 auto; margin-top:3px; color:#32c980; }
.content-panel:nth-child(even) .content-body li { color:rgba(255,255,255,.68); }
.detail-cta { padding: 20px 0 100px; background:var(--paper); }
.detail-cta-inner { position:relative; display:flex; min-height:350px; align-items:center; justify-content:space-between; gap:50px; padding:65px; overflow:hidden; border-radius:30px; color:white; background:linear-gradient(125deg,#07111f,#0e2948); box-shadow:0 35px 90px rgba(7,17,31,.16); }
.detail-cta-inner::before { content:""; position:absolute; width:530px; height:530px; right:3%; top:-260px; border-radius:50%; background:radial-gradient(circle,rgba(18,104,255,.42),transparent 68%); animation:glowPulse 5s ease-in-out infinite; }
.detail-cta-inner > div { position:relative; z-index:1; max-width:720px; }
.detail-cta h2 { margin:12px 0 15px; font-size:clamp(39px,4.5vw,62px); line-height:1.02; letter-spacing:-.055em; }
.detail-cta p:last-child { margin:0; color:rgba(255,255,255,.58); line-height:1.7; }
.cta-orb { position:relative; z-index:1; display:grid; flex:0 0 auto; width:116px; height:116px; place-items:center; border-radius:50%; color:white; background:var(--blue); box-shadow:0 20px 55px rgba(18,104,255,.35); transition:transform .35s,background .35s; }
.cta-orb::after { content:""; position:absolute; inset:-10px; border:1px solid rgba(255,255,255,.18); border-radius:50%; animation:orbitSpin 6s linear infinite; }
.cta-orb:hover { transform:scale(1.08) rotate(-8deg); background:var(--blue-bright); }
.legal-page .subhero { min-height:560px; }
.legal-page .subhero-copy h1 { font-size:clamp(52px,6vw,82px); }
.legal-page .editorial-section { padding-top:90px; }
.legal-page .content-panel { grid-template-columns:1fr 2fr; }

@keyframes imageBreathe { from { transform:scale(1); } to { transform:scale(1.065); } }
@keyframes iconBounce { 0%,100% { transform:none; } 45% { transform:translateY(-6px) rotate(-5deg); } }
@keyframes orbitSpin { to { transform:rotate(360deg); } }
@keyframes wordDrift { to { transform:translate(-25px,-12px); } }
@keyframes monogramFloat { 0%,100% { transform:translateY(-50%) rotate(-3deg); } 50% { transform:translateY(calc(-50% - 14px)) rotate(3deg); } }
@keyframes glowPulse { 50% { transform:scale(1.15); opacity:.72; } }
@keyframes socialWiggle { 0%,100% { transform:none; } 35% { transform:rotate(-12deg) scale(1.18); } 70% { transform:rotate(8deg) scale(1.08); } }

@keyframes heroEnter { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes heroVisual { from { opacity: 0; transform: translateX(45px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-13px); } }
@keyframes pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(89,231,168,.1); } 50% { box-shadow: 0 0 0 9px rgba(89,231,168,0); } }
@keyframes marquee { to { transform: translateX(-50%); } }

@media (max-width: 1050px) {
  .desktop-nav { gap: 16px; }
  .desktop-nav a:nth-child(3) { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
  .hero h1 { font-size: 62px; }
  .proof-section .site-shell { grid-template-columns: 1fr; gap: 28px; }
  .proof-intro { border: 0; }
  .proof-intro > p:last-child { max-width: none; }
  .category-grid, .service-grid { grid-template-columns: repeat(2,1fr); }
  .expert-panel { grid-template-columns: auto 1fr 1.5fr; }
  .expert-panel ul { grid-column: 2 / -1; grid-template-columns: repeat(3,1fr); }
  .scouting-grid { gap: 45px; }
  .contact-wrap { padding: 50px; gap: 40px; }
  .detail-grid.compact { grid-template-columns:repeat(2,1fr); }
  .subhero-monogram { right:3%; opacity:.55; }
}

@media (max-width: 780px) {
  .site-shell { width: min(100% - 30px, 620px); }
  .header-inner { height: 70px; }
  .brand { width: 172px; }
  .desktop-nav { display: none; }
  .menu-trigger { display:grid; }
  .header-cta { padding: 10px 13px; }
  .hero { min-height: auto; padding-top: 118px; }
  .hero-grid { display: block; min-height: 0; }
  .hero-copy { position: relative; z-index: 2; }
  .hero h1 { font-size: clamp(49px,14vw,70px); }
  .hero-lead { font-size: 16px; }
  .hero-visual { height: 480px; margin: 50px 0 105px; }
  .hero-image-wrap { inset: 0 10px 20px 10px; }
  .floating-card-top { right: 0; top: 50px; }
  .floating-card-bottom { left: 0; bottom: 35px; }
  .hero-seal { right: 4px; bottom: 0; width: 88px; height: 88px; }
  .hero-marquee div { animation-duration: 30s; }
  .proof-section { padding: 40px 0; }
  .counter-grid { grid-template-columns: repeat(2,1fr); gap: 25px 0; }
  .counter-item { padding: 0 15px; }
  .counter-item:nth-child(2), .counter-item:nth-child(4), .counter-item:last-child { border: 0; }
  .section { padding: 86px 0; }
  .split-heading { display: block; }
  .split-heading > p { margin-top: 22px; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2 { font-size: 43px; }
  .category-grid { grid-template-columns: 1fr 1fr; }
  .category-card { min-height: 170px; padding: 20px; }
  .process-line { display: none; }
  .process-grid { grid-template-columns: 1fr; }
  .process-card.featured { transform: none; }
  .process-card p { min-height: 0; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 310px; }
  .expert-panel { display: block; }
  .expert-panel > div:nth-child(2), .expert-panel > p, .expert-panel ul { margin-top: 22px; }
  .expert-panel ul { display: grid; grid-template-columns: 1fr; }
  .scouting-grid { grid-template-columns: 1fr; }
  .scouting-steps { margin-top: 10px; }
  .scouting-section::before { font-size: 110px; }
  .location-grid, .contact-wrap { grid-template-columns: 1fr; }
  .location-card { min-height: 400px; padding: 30px; }
  .location-link { left: 30px; }
  .contact-wrap { padding: 38px 28px; border-radius: 24px; }
  .footer-top { grid-template-columns: 1fr; gap: 26px; }
  .footer-bottom { flex-direction: column; }
  .subhero { min-height:680px; padding-top:135px; }
  .subhero-copy { max-width:90%; }
  .subhero-copy h1 { font-size:clamp(54px,13vw,78px); }
  .subhero-copy > p { font-size:16px; }
  .subhero-monogram { right:-65px; top:57%; width:180px; height:180px; opacity:.3; }
  .orbit-one { right:-210px; }.orbit-two { right:-115px; }
  .detail-grid { grid-template-columns:repeat(2,1fr); }
  .content-panel { grid-template-columns:1fr; gap:30px; padding:36px; }
  .legal-page .content-panel { grid-template-columns:1fr; }
  .detail-cta-inner { min-height:430px; padding:44px 36px; }
  .cta-orb { width:92px; height:92px; }
}

@media (max-width: 520px) {
  .header-cta span { display: none; }
  .header-cta { width: 42px; height: 42px; justify-content: center; padding: 0; }
  .header-inner { gap:9px; }
  .brand { margin-right:auto; }
  .hero-eyebrow { max-width: 95%; font-size: 9px; letter-spacing: .09em; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .hero-visual { height: 395px; }
  .hero-image-wrap { border-radius: 130px 16px 130px 16px; }
  .floating-card { min-width: 190px; padding: 11px 13px; }
  .floating-card-top { right: -5px; }
  .category-grid, .scouting-steps { grid-template-columns: 1fr; }
  .category-card { min-height: 150px; }
  .micro-note { align-items: flex-start; text-align: left; }
  .scouting-copy h2 { font-size: 45px; }
  .location-card h3 { font-size: 25px; }
  .contact-copy h2 { font-size: 39px; }
  .contact-secondary { grid-template-columns: 1fr; }
  .footer-social, .footer-bottom div { flex-wrap: wrap; }
  .footer-sitemap { grid-template-columns:1fr 1fr; }
  .subhero-actions { display:grid; }
  .subhero-copy { max-width:100%; }
  .subhero-copy h1 { font-size:clamp(48px,15vw,67px); }
  .subhero-word { font-size:120px; }
  .detail-grid,.detail-grid.compact { grid-template-columns:1fr; }
  .detail-card { min-height:205px; }
  .content-panel { padding:28px; }
  .detail-cta-inner { display:block; min-height:440px; padding:36px 28px; }
  .cta-orb { position:absolute; right:28px; bottom:30px; }
  .whatsapp-float { right: 14px; bottom: 14px; width: 52px; height: 52px; justify-content: center; padding: 0; }
  .whatsapp-float span { display: none; }
  .social-dock { left:14px; bottom:14px; display:flex; }
  .social-dock a,.social-dock a:hover { width:46px; padding:0; justify-content:center; }
  .social-dock a span { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .pointer-aura { display:none; }
}

/* Facebook and Instagram — fixed middle-right position */
.social-dock {
  position: fixed !important;
  z-index: 60 !important;

  top: 50% !important;
  right: 20px !important;
  bottom: auto !important;
  left: auto !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;

  transform: translateY(-50%) !important;
}

/* Circular social buttons */
.social-dock a {
  display: flex !important;
  width: 54px !important;
  height: 54px !important;

  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  overflow: hidden !important;

  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 50% !important;

  color: #ffffff !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25) !important;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* Do not show text beside the icons */
.social-dock a span {
  display: none !important;
}

/* Facebook colour */
.social-dock-facebook {
  background: #1877f2 !important;
}

/* Instagram gradient */
.social-dock-instagram {
  background: linear-gradient(
    135deg,
    #833ab4 0%,
    #e1306c 50%,
    #f77737 100%
  ) !important;
}

/* Animation on hover */
.social-dock a:hover {
  width: 54px !important;
  transform: translateX(-6px) scale(1.1) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.35) !important;
}

/* Mobile position */
@media (max-width: 600px) {
  .social-dock {
    top: 50% !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    flex-direction: column !important;
  }

  .social-dock a,
  .social-dock a:hover {
    width: 46px !important;
    height: 46px !important;
  }
}

/* =========================================
   FINAL MOBILE HEADER AND BURGER MENU FIX
   ========================================= */

@media (max-width: 780px) {

  /* Hide the empty "Wert anfragen" circle on mobile */
  .site-header .header-cta {
    display: none !important;
  }

  /* Keep logo on the left and burger on the right */
  .site-header .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 76px !important;
    gap: 16px !important;
  }

  .site-header .brand {
    width: 180px !important;
    max-width: calc(100% - 70px) !important;
    margin-right: auto !important;
  }

  /* New clean burger button */
  .site-header .menu-trigger {
    display: flex !important;
    position: relative !important;

    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 14px !important;

    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.07) !important;
    box-shadow: none !important;

    cursor: pointer !important;
    transition:
      background-color 0.25s ease,
      border-color 0.25s ease,
      transform 0.25s ease !important;
  }

  /* Burger lines */
  .site-header .menu-trigger span {
    display: block !important;
    width: 21px !important;
    height: 2px !important;
    margin: 0 !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #ffffff !important;
    opacity: 1 !important;
  }

  /* Make the middle line slightly shorter */
  .site-header .menu-trigger span:nth-child(2) {
    width: 15px !important;
    margin-left: 6px !important;
  }

  .site-header .menu-trigger:hover,
  .site-header .menu-trigger:focus-visible {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    outline: none !important;
  }

  .site-header .menu-trigger:active {
    transform: scale(0.94) !important;
  }
}

/* =========================================
   FINAL MOBILE RIGHT-SIDE OVERFLOW FIX
   ========================================= */

/* Prevent the page from moving horizontally */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  background: #07111f !important;
}

.site-header,
.hero,
.subhero,
.detail-page,
main,
footer {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip;
}

@media (max-width: 780px) {

  /* Keep the header fully inside the screen */
  .site-header {
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
  }

  .site-header .header-inner {
    width: auto !important;
    max-width: none !important;
    margin-right: 18px !important;
    margin-left: 18px !important;
  }

  /* Keep the burger completely inside the screen */
  .site-header .menu-trigger {
    position: relative !important;
    right: auto !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  /*
   * Completely hide the off-screen mobile menu.
   * This prevents it from creating the white area.
   */
  .mobile-menu {
    right: 0 !important;
    left: auto !important;
    width: min(420px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;

    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(110%, 0, 0) !important;
  }

  /* Show it only when the burger is clicked */
  .mobile-menu.is-open {
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
  }

  /* Keep the menu overlay inside the viewport */
  .menu-overlay {
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }

  /* Keep Facebook and Instagram inside the screen */
  .social-dock {
    right: 12px !important;
    left: auto !important;
  }

  /* Keep WhatsApp inside the screen */
  .whatsapp-float {
    right: 12px !important;
    left: auto !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    overflow: hidden !important;
    justify-content: center !important;
  }

  /* Hide the overflowing WhatsApp text on mobile */
  .whatsapp-float b {
    display: none !important;
  }

  /* Show only the small symbol inside the circle */
  .whatsapp-float span {
    display: block !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }
}

/* =========================================
   IOS/MOBILE SCROLL STABILITY
   ========================================= */

@media (max-width: 780px) {

  /* Disable scroll-linked parallax on mobile */
  .subhero-grid {
    transform: none !important;
  }

  /* Solid background is smoother than live blur on iPhone */
  .site-header.is-scrolled,
  .site-header.menu-open {
    background: #06111f !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  /* Stabilize the header */
  .site-header {
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  /* Stabilize the mobile menu */
  .mobile-menu {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
  }

  /* Stabilize the floating social buttons */
  .social-dock {
    transform: translate3d(0, -50%, 0) !important;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .social-dock a,
  .whatsapp-float {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  /* The pointer effect is unnecessary on touchscreens */
  .pointer-aura {
    display: none !important;
  }
}

/* =========================================
   PREMIUM CONTACT FORM 7 DESIGN
   ========================================= */

.av-contact-section {
  position: relative;
  padding: 120px 0;
  overflow: hidden;
  color: #ffffff;
  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(18, 104, 255, 0.24),
      transparent 32%
    ),
    linear-gradient(135deg, #06101d 0%, #0a1c31 55%, #07111f 100%);
}

.av-contact-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.06;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 70px 70px;
}

.av-contact-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(5px);
}

.av-contact-glow-one {
  top: -200px;
  right: -100px;
  width: 500px;
  height: 500px;
  background: radial-gradient(
    circle,
    rgba(18, 104, 255, 0.3),
    transparent 68%
  );
}

.av-contact-glow-two {
  bottom: -180px;
  left: 20%;
  width: 380px;
  height: 380px;
  background: radial-gradient(
    circle,
    rgba(216, 175, 98, 0.14),
    transparent 70%
  );
}

.av-contact-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
  gap: 80px;
}

.av-contact-intro h2 {
  max-width: 580px;
  margin: 15px 0 25px;
  font-size: clamp(45px, 5vw, 70px);
  line-height: 1;
  font-weight: 760;
  letter-spacing: -0.055em;
}

.av-contact-intro h2 em {
  display: block;
  color: #78a9ff;
  font-style: normal;
}

.av-contact-description {
  max-width: 570px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 15px;
  line-height: 1.8;
}

.av-contact-benefits {
  display: grid;
  gap: 12px;
  margin-top: 38px;
}

.av-contact-benefits > div {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.035);
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
}

.av-contact-benefits > div:hover {
  border-color: rgba(120, 169, 255, 0.35);
  background: rgba(255, 255, 255, 0.065);
  transform: translateX(7px);
}

.av-contact-benefits > div > span {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: 11px;
  color: #78a9ff;
  background: rgba(18, 104, 255, 0.14);
  font-size: 10px;
  font-weight: 850;
}

.av-contact-benefits p {
  margin: 0;
  color: rgba(255, 255, 255, 0.48);
  font-size: 11px;
  line-height: 1.5;
}

.av-contact-benefits strong {
  display: block;
  margin-bottom: 2px;
  color: #ffffff;
  font-size: 13px;
}

.av-contact-location {
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.45);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Form card */

.av-contact-form-card {
  position: relative;
  padding: 38px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 28px;
  color: #07111f;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.3);
}

.av-contact-form-card::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 45px;
  left: 45px;
  height: 3px;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(90deg, transparent, #1268ff, transparent);
}

.av-form-card-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 28px;
  padding-bottom: 23px;
  border-bottom: 1px solid rgba(7, 17, 31, 0.1);
}

.av-form-status-dot {
  width: 10px;
  height: 10px;
  flex: 0 0 10px;
  border-radius: 50%;
  background: #37d98b;
  box-shadow: 0 0 0 7px rgba(55, 217, 139, 0.12);
  animation: avContactPulse 2s infinite;
}

.av-form-card-heading small,
.av-form-card-heading strong {
  display: block;
}

.av-form-card-heading small {
  margin-bottom: 4px;
  color: #788495;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.av-form-card-heading strong {
  color: #07111f;
  font-size: 19px;
  letter-spacing: -0.02em;
}

/* Contact Form 7 reset */

.av-cf7 .wpcf7 {
  margin: 0;
}

.av-cf7 .wpcf7-form {
  display: block;
}

.av-cf7 p {
  margin: 0;
}

.av-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
}

.av-field {
  min-width: 0;
}

.av-field-full {
  grid-column: 1 / -1;
}

.av-field label {
  display: block;
  margin-bottom: 8px;
  color: #263447;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.av-field .wpcf7-form-control-wrap {
  display: block;
}

/* Inputs */

.av-cf7 input[type="text"],
.av-cf7 input[type="email"],
.av-cf7 input[type="tel"],
.av-cf7 select,
.av-cf7 textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 15px;
  border: 1px solid rgba(7, 17, 31, 0.14);
  border-radius: 12px;
  outline: none;
  color: #07111f;
  background: #f6f8fb;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: none;
  transition:
    border-color 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.av-cf7 textarea {
  min-height: 145px;
  resize: vertical;
}

.av-cf7 input::placeholder,
.av-cf7 textarea::placeholder {
  color: #929cab;
  opacity: 1;
}

.av-cf7 input:focus,
.av-cf7 select:focus,
.av-cf7 textarea:focus {
  border-color: #1268ff;
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(18, 104, 255, 0.1);
  transform: translateY(-1px);
}

/* Privacy agreement */

.av-privacy {
  color: #6f7a89;
  font-size: 11px;
  line-height: 1.6;
}

.av-privacy .wpcf7-list-item {
  margin: 0;
}

.av-privacy label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-weight: 500;
  letter-spacing: 0;
}

.av-privacy input[type="checkbox"] {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin-top: 2px;
  accent-color: #1268ff;
}

.av-privacy a {
  color: #1268ff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Bottom area */

.av-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 3px;
}

.av-form-note strong,
.av-form-note span {
  display: block;
}

.av-form-note strong {
  color: #07111f;
  font-size: 12px;
}

.av-form-note span {
  margin-top: 3px;
  color: #7d8795;
  font-size: 10px;
}

/* Submit button */

.av-cf7 .av-submit {
  min-height: 52px;
  padding: 0 25px;
  border: 0;
  border-radius: 999px;
  color: #ffffff;
  background: linear-gradient(135deg, #1268ff, #2479ff);
  box-shadow: 0 15px 35px rgba(18, 104, 255, 0.26);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.av-cf7 .av-submit:hover {
  background: linear-gradient(135deg, #2479ff, #1268ff);
  box-shadow: 0 19px 44px rgba(18, 104, 255, 0.36);
  transform: translateY(-3px);
}

.av-cf7 .av-submit:active {
  transform: translateY(0);
}

/* Loading spinner */

.av-cf7 .wpcf7-spinner {
  margin: 10px;
  vertical-align: middle;
  background-color: #1268ff;
}

/* Error and success messages */

.av-cf7 .wpcf7-not-valid {
  border-color: #df5454;
  background: #fff7f7;
}

.av-cf7 .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #c33d3d;
  font-size: 10px;
}

.av-cf7 .wpcf7-response-output {
  margin: 22px 0 0;
  padding: 13px 15px;
  border: 1px solid rgba(18, 104, 255, 0.22);
  border-radius: 12px;
  color: #245584;
  background: #edf5ff;
  font-size: 12px;
  line-height: 1.5;
}

.av-cf7 form.sent .wpcf7-response-output {
  border-color: rgba(34, 170, 103, 0.25);
  color: #127547;
  background: #eaf9f1;
}

.av-cf7 form.invalid .wpcf7-response-output,
.av-cf7 form.failed .wpcf7-response-output {
  border-color: rgba(211, 69, 69, 0.24);
  color: #a33131;
  background: #fff0f0;
}

@keyframes avContactPulse {
  0%,
  100% {
    box-shadow: 0 0 0 5px rgba(55, 217, 139, 0.13);
  }

  50% {
    box-shadow: 0 0 0 10px rgba(55, 217, 139, 0);
  }
}

/* Tablet */

@media (max-width: 900px) {
  .av-contact-section {
    padding: 90px 0;
  }

  .av-contact-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .av-contact-intro {
    max-width: 680px;
  }
}

/* Mobile */

@media (max-width: 600px) {
  .av-contact-section {
    padding: 75px 0;
  }

  .av-contact-intro h2 {
    font-size: 46px;
  }

  .av-contact-form-card {
    padding: 27px 20px;
    border-radius: 22px;
  }

  .av-form-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .av-field-full {
    grid-column: auto;
  }

  .av-form-footer {
    display: grid;
    gap: 18px;
  }

  .av-cf7 .av-submit {
    width: 100%;
  }
}

/* =========================================
   DEDICATED KONTAKT PAGE
   ========================================= */

.kontakt-subhero {
  min-height: 720px;
}

.kontakt-direct {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 25px;
}

.kontakt-direct a {
  display: block;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.045);
  transition:
    border-color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease;
}

.kontakt-direct a:hover {
  border-color: rgba(120, 169, 255, 0.4);
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-3px);
}

.kontakt-direct small,
.kontakt-direct strong {
  display: block;
}

.kontakt-direct small {
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.42);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kontakt-direct strong {
  color: #ffffff;
  font-size: 13px;
}

@media (max-width: 600px) {
  .kontakt-subhero {
    min-height: 700px;
  }

  .kontakt-direct {
    grid-template-columns: 1fr;
  }
}
