
:root{--blue:#0b4168;--blue2:#082d49;--gold:#b99a5b;--ink:#1f2b35;--muted:#66727c;--line:#d9e0e6;--paper:#f6f8fa;--white:#fff;--shadow:0 24px 70px rgba(8,45,73,.12);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--ink);background:white;line-height:1.65}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1180px,calc(100% - 42px));margin:auto}.topbar{height:34px;background:var(--blue2);color:#d8e7f2;display:flex;justify-content:space-between;align-items:center;padding:0 32px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.08)}.nav-wrap{width:min(1240px,calc(100% - 36px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:92px}.brand svg{width:240px;height:60px;display:block}.main-nav{display:flex;align-items:center;gap:30px;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.main-nav a{color:#263742}.search-pill{border:1px solid var(--line);border-radius:40px;padding:10px 18px}.dropdown{position:relative}.drop{display:none;position:absolute;top:100%;left:-20px;background:white;box-shadow:var(--shadow);border-top:3px solid var(--gold);min-width:210px;padding:14px}.drop a{display:block;padding:9px 10px}.dropdown:hover .drop{display:block}.menu-toggle{display:none}.hero{min-height:640px;background:linear-gradient(135deg,#fff 0%,#f3f7fa 55%,#e9f0f5 100%);position:relative;overflow:hidden}.hero-inner{padding:110px 0 90px;max-width:900px;margin-left:calc((100% - min(1180px,calc(100% - 42px)))/2)}.kicker,.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:bold}.hero h1,.page-hero h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;color:var(--blue)}.hero h1{font-size:clamp(44px,7vw,88px);margin:20px 0}.hero p{font-size:22px;max-width:780px}.btn{display:inline-block;background:var(--blue);color:white!important;border-radius:2px;padding:13px 22px;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-right:12px}.btn.ghost{background:transparent;color:var(--blue)!important;border:1px solid var(--blue)}.orb{position:absolute;border-radius:50%;border:1px solid rgba(185,154,91,.4)}.orb-a{width:440px;height:440px;right:-120px;top:100px}.orb-b{width:240px;height:240px;right:190px;bottom:60px}.intro-split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;padding:80px 0}.intro-split h2,.section-title h2{font-size:46px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.stat-grid div{background:var(--paper);padding:28px;border-left:4px solid var(--gold)}.stat-grid b{display:block;font-family:var(--serif);font-size:35px;color:var(--blue)}.blue-band{background:var(--blue2);color:#d8e7f2;padding:85px 0}.blue-band h2{color:white;font-size:44px;max-width:850px}.gold{color:var(--gold)}.band-grid,.cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.band-card,.card{background:white;border:1px solid var(--line);padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.06)}.band-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#d8e7f2}.band-card h3{color:white}.band-card span,.num{color:var(--gold);letter-spacing:.14em}.section-title{display:flex;align-items:end;justify-content:space-between;margin:80px auto 28px}.card h3,.news-card h2,.attorney-card h3,.office-grid h2{font-family:var(--serif);font-weight:400;color:var(--blue);line-height:1.2}.tag{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:bold}.page-hero{background:linear-gradient(120deg,#f5f7f9,#eaf1f6);padding:72px 0;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(42px,6vw,72px);margin:16px 0}.page-hero p:not(.breadcrumb){font-size:20px;max-width:860px}.breadcrumb{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.tool-row{display:flex;gap:16px;padding:34px 0}.tool-row input,.tool-row select,#globalSearch{width:100%;padding:15px;border:1px solid var(--line);font-size:16px}.attorney-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:80px}.attorney-card{display:flex;gap:18px;border:1px solid var(--line);padding:22px;background:white;box-shadow:0 10px 30px rgba(8,45,73,.05)}.portrait{width:58px;height:58px;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center;font-family:var(--serif);font-size:20px;flex:0 0 auto}.portrait.large{width:170px;height:170px;font-size:48px;margin-bottom:24px}.role,.mini{color:var(--muted);font-size:14px}.profile-layout,.detail-grid{display:grid;grid-template-columns:310px 1fr;gap:50px;padding:70px 0}.profile-aside,.side-panel{background:var(--paper);padding:30px;align-self:start;border-top:4px solid var(--gold)}.rich h2{font-size:34px;margin-top:36px}.rich p,.rich li{font-size:18px}.rich.wide{padding:70px 0;max-width:1050px}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:26px}.feature-grid div,.callout{background:var(--paper);padding:26px;border-left:4px solid var(--gold)}.practices-list{padding:50px 0 80px}.practices-list article{display:grid;grid-template-columns:1fr 160px;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.practices-list h2{font-size:36px;margin:0 0 10px}.subp{color:var(--muted)}.side-panel a{display:block;padding:11px 0;border-bottom:1px solid var(--line)}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:60px 0 90px}.office-grid article,.news-card{border:1px solid var(--line);padding:28px;background:white;box-shadow:0 10px 30px rgba(8,45,73,.05)}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding-bottom:90px}.article-layout{padding:60px 0 90px}.search-page{padding:46px 0 90px}.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}.search-results a{display:flex;justify-content:space-between;padding:18px;border:1px solid var(--line);background:var(--paper)}.site-footer{background:#172530;color:#c6d2dc;padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px}.footer-grid a{display:block;color:#c6d2dc;padding:5px 0}.footer-grid h4{color:white}.footer-mark{font-family:var(--serif);font-size:50px;color:#d8e7f2}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding:18px 30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#99a8b4}@media(max-width:900px){.topbar{display:none}.menu-toggle{display:block;background:white;border:1px solid var(--line);font-size:22px}.nav-wrap{min-height:76px}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;box-shadow:var(--shadow);padding:22px;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.drop{position:static;display:block;box-shadow:none;border:0}.hero-inner{margin:0 auto;padding:70px 0}.intro-split,.profile-layout,.detail-grid,.footer-grid{grid-template-columns:1fr}.band-grid,.cards.three,.attorney-grid,.office-grid,.news-grid,.feature-grid,.search-results{grid-template-columns:1fr}.practices-list article{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.brand svg{width:190px}}

/* SYGNVM visual image layer */
.visual-panel {
  margin: 40px auto;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(7,31,54,.16);
  border: 1px solid rgba(7,31,54,.12);
}

.visual-panel img {
  display: block;
  width: 100%;
  height: auto;
}

.hero,
.home-hero,
.site-hero {
  background-image: linear-gradient(rgba(255,255,255,.92), rgba(255,255,255,.92)), url("../images/hero-sygnvm.svg");
  background-size: cover;
  background-position: center;
}

.page-banner,
.page-hero {
  background-image: linear-gradient(rgba(246,248,250,.9), rgba(246,248,250,.9)), url("../images/practices.svg");
  background-size: cover;
  background-position: center;
}

.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 45px 0;
}

.image-card {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(7,31,54,.12);
  box-shadow: 0 16px 42px rgba(7,31,54,.10);
}

.image-card img {
  width: 100%;
  display: block;
}

.image-card span {
  display: block;
  padding: 16px 18px;
  font-weight: 600;
  color: #0b3557;
}

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

/* =====================================================
   SYGNVM - Imagenes reales externas
   ===================================================== */

.real-hero {
  min-height: 520px;
  background:
    linear-gradient(90deg, rgba(5, 28, 48, .88), rgba(5, 28, 48, .42)),
    url("https://picsum.photos/seed/sygnvm-hero-city/1800/950");
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  color: #fff;
}

.real-hero .container {
  max-width: 1180px;
}

.real-hero h1,
.real-hero h2 {
  color: #fff;
  max-width: 760px;
}

.real-hero p {
  max-width: 680px;
  color: rgba(255,255,255,.86);
}

.real-image-panel {
  margin: 42px auto;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(7,31,54,.18);
  border: 1px solid rgba(7,31,54,.14);
  background: #fff;
}

.real-image-panel img {
  width: 100%;
  height: 430px;
  object-fit: cover;
  display: block;
}

.real-image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 48px 0;
}

.real-image-card {
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(7,31,54,.12);
  box-shadow: 0 16px 42px rgba(7,31,54,.10);
}

.real-image-card img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  display: block;
}

.real-image-card span {
  display: block;
  padding: 16px 18px;
  font-weight: 600;
  color: #0b3557;
}

.attorney-photo {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 18px;
}

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

  .real-image-panel img {
    height: 280px;
  }

  .real-hero {
    min-height: 420px;
  }
}
