:root{
  --section-py:clamp(72px, 11vw, 140px);
}

.nav-link.active{color:#fff}

.nav-cta.active{background:var(--c3-blue-royal);border-color:var(--c3-blue-royal);color:#fff}

.hero{
    position:relative;overflow:hidden;border-bottom:1px solid var(--border-subtle);
    background:#05080F;padding:148px 0 84px;
  }

.hero-bg{
    position:absolute;inset:0;z-index:0;
    background-image:url('/assets/ent-skyline.png');
    background-size:cover;background-position:center;opacity:.55;
  }

.hero-bg::after{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(ellipse 50% 60% at 80% 20%, rgba(124,58,237,.4) 0%, transparent 60%),
      radial-gradient(ellipse 55% 55% at 12% 85%, rgba(26,79,191,.4) 0%, transparent 60%),
      linear-gradient(135deg, rgba(15,29,51,.86) 0%, rgba(10,20,36,.6) 50%, rgba(10,20,36,.92) 100%);
  }

.hero-grid{
    position:absolute;inset:0;z-index:1;
    background-image:
      linear-gradient(rgba(45,77,128,.30) 1px, transparent 1px),
      linear-gradient(90deg, rgba(45,77,128,.30) 1px, transparent 1px);
    background-size:80px 80px;opacity:.5;
    mask-image:radial-gradient(ellipse 90% 75% at 35% 50%, #000 18%, transparent 80%);
    -webkit-mask-image:radial-gradient(ellipse 90% 75% at 35% 50%, #000 18%, transparent 80%);
    pointer-events:none;
  }

.hero-content{position:relative;z-index:5;max-width:60ch}

.hero h1{
    font-family:var(--font-sans);font-weight:800;
    font-size:clamp(36px, 5vw, 72px);line-height:1.0;letter-spacing:-0.04em;
    margin-top:24px;text-shadow:0 4px 40px rgba(10,20,36,.6);
  }

.hero h1 .accent{
    background:linear-gradient(90deg, var(--c3-cyan) 0%, var(--c3-blue-royal) 70%, var(--c3-purple-viv) 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    font-style:italic;font-weight:700;
  }

.hero-sub{margin-top:30px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.82);max-width:54ch}

.hero-sub strong{color:#fff;font-weight:600}

.sec{padding:var(--section-py) 0;border-bottom:1px solid var(--border-subtle);background:#0a0f1e}

.sec-alt{background:#0A1424}

.sec-head{margin-bottom:56px;max-width:60ch}

.sec-head h2{font-size:clamp(28px, 3.6vw, 46px);letter-spacing:-0.03em;line-height:1.08;margin-top:20px}

.sec-head p{margin-top:18px;color:rgba(204,231,255,.72);font-size:16px;line-height:1.6}

.methods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

@media (max-width:1100px){.methods{grid-template-columns:repeat(2,1fr)}}

@media (max-width:560px){.methods{grid-template-columns:1fr}}

.method{
    background:var(--c3-navy);border:1px solid rgba(204,231,255,.1);border-radius:16px;
    padding:30px 28px;display:flex;flex-direction:column;gap:16px;min-height:248px;
    position:relative;overflow:hidden;transition:all .25s ease;
  }

.method::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--c3-cyan),var(--c3-blue-royal));opacity:0;transition:opacity .25s ease}

.method:hover{transform:translateY(-4px);border-color:rgba(0,229,204,.35);box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}

.method:hover::after{opacity:1}

.method-icon{
    width:50px;height:50px;border-radius:12px;
    background:linear-gradient(135deg, rgba(0,229,204,.14) 0%, rgba(26,86,219,.14) 100%);
    border:1px solid rgba(0,229,204,.25);
    display:flex;align-items:center;justify-content:center;color:var(--c3-cyan);
  }

.method-icon svg{width:24px;height:24px}

.method h4{font-size:18px;font-weight:800;letter-spacing:-0.015em;line-height:1.25;margin-top:auto}

.method .detail{font-family:var(--font-mono);font-size:15px;color:#fff;letter-spacing:-0.01em}

.method .sub{font-size:13.5px;color:rgba(204,231,255,.65);line-height:1.5}

.method-link{
    margin-top:6px;display:inline-flex;align-items:center;gap:7px;
    color:var(--c3-cyan);font-size:12px;font-weight:700;font-family:var(--font-sans);
    letter-spacing:0.14em;text-transform:uppercase;
  }

.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}

@media (max-width:900px){.split{grid-template-columns:1fr}}

.panel{
    border:1px solid rgba(204,231,255,.12);border-radius:20px;padding:44px 40px;
    display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden;
  }

.panel-schedule{
    background:
      radial-gradient(ellipse 70% 80% at 85% 10%, rgba(26,86,219,.28), transparent 60%),
      var(--c3-navy);
  }

.panel-ethics{
    background:
      radial-gradient(ellipse 70% 80% at 90% 90%, rgba(0,229,204,.18), transparent 60%),
      var(--c3-navy);
  }

.panel .eyebrow{
    font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--c3-cyan);
  }

.panel h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-0.025em;line-height:1.12}

.panel p{color:rgba(204,231,255,.78);font-size:15.5px;line-height:1.62;max-width:42ch}

.panel .actions{margin-top:6px}

.offices{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(204,231,255,.12);border-left:1px solid rgba(204,231,255,.12)}

@media (max-width:560px){.offices{grid-template-columns:1fr}}

.office-card{
    padding:34px 30px;border-right:1px solid rgba(204,231,255,.12);border-bottom:1px solid rgba(204,231,255,.12);
    display:flex;flex-direction:column;gap:14px;transition:background .2s ease;
  }

.office-card:hover{background:rgba(0,229,204,.04)}

.office-card h6{
    font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
    color:var(--c3-cyan);display:flex;align-items:center;gap:8px;
  }

.office-card h6::before{content:"";width:18px;height:2px;background:var(--c3-cyan);display:inline-block}

.office-card .addr{font-size:14px;color:var(--text-secondary);line-height:1.6;flex:1}

.office-card .phone{font-family:var(--font-mono);font-size:13.5px;color:#fff}

.office-card .map{
    display:inline-flex;align-items:center;gap:7px;
    color:var(--c3-light-blue);font-size:12px;font-weight:700;font-family:var(--font-sans);
    letter-spacing:0.12em;text-transform:uppercase;transition:color .15s ease;
  }

.office-card .map:hover{color:var(--c3-cyan)}

.office-card .map svg{width:14px;height:14px}

.social-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;align-items:center}

.social-pill{
    display:inline-flex;align-items:center;gap:10px;
    padding:11px 18px;border-radius:999px;border:1px solid rgba(204,231,255,.15);
    background:rgba(15,29,51,.5);color:var(--text-secondary);
    font-family:var(--font-sans);font-size:13px;font-weight:600;transition:all .15s ease;
  }

.social-pill svg{width:17px;height:17px}

.social-pill:hover{border-color:var(--c3-cyan);color:#fff;transform:translateY(-2px)}

.foot-brand
  .foot-brand p{color:var(--text-muted);font-size:13.5px;line-height:1.55;max-width:30ch;margin-top:20px}

@media (prefers-reduced-motion: reduce){.reveal{opacity:1 !important;transform:none !important;transition:none}}

@media (max-width:760px){.nav-links{display:none}}

@media(max-width:760px){
  .contact-grid{grid-template-columns:1fr!important}
  #contact-form{padding:24px 20px!important}
  #contact-form .grid-2{grid-template-columns:1fr!important}
}
