* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --navy: #071d3a;
  --dark: #041326;
  --gold: #d4af52;
  --light-gold: #f3d27a;
  --white: #ffffff;
  --light: #f7f8fa;
  --text: #1a2433;
}

body {
  font-family: Arial, sans-serif;
  color: var(--text);
  background: var(--white);
}

h1, h2, h3 {
  font-family: Georgia, serif;
}

/* NAVBAR */

.navbar {
  height: 90px;
  background: var(--dark);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 56px;
  color: white;
  position: relative;
  z-index: 10;
}

.logo img {
  height: 68px;
}

nav {
  display: flex;
  gap: 36px;
}

nav a {
  color: white;
  text-decoration: none;
  font-weight: 700;
  position: relative;
}

nav a.active {
  color: var(--gold);
}

nav a.active::after {
  content: "";
  width: 42px;
  height: 2px;
  background: var(--gold);
  position: absolute;
  left: 0;
  bottom: -18px;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 22px;
  font-weight: 700;
}

.btn {
  display: inline-block;
  padding: 16px 30px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gold {
  background: linear-gradient(135deg, var(--light-gold), var(--gold));
  color: var(--dark);
}

.outline {
  border: 2px solid var(--gold);
  color: white;
}

/* HERO */

.hero {
  min-height: 520px;
  background: radial-gradient(circle at top left, #0b2a52, var(--dark));
  display: grid;
  grid-template-columns: 1fr 0.6fr 0.8fr;
  overflow: hidden;
}

.hero-content {
  padding: 90px 60px 60px 92px;
  color: white;
}

.hero h1 {
  font-size: 54px;
  line-height: 1.15;
  margin-bottom: 28px;
}

.hero h1 span {
  color: var(--gold);
}

.hero p {
  font-size: 19px;
  line-height: 1.7;
  max-width: 620px;
  margin-bottom: 34px;
}

.hero-buttons {
  display: flex;
  gap: 20px;
  margin-bottom: 42px;
}

.trust-row {
  display: flex;
  gap: 46px;
  color: white;
}

.trust-row div {
  border-right: 1px solid rgba(255,255,255,0.25);
  padding-right: 38px;
  line-height: 1.5;
}

.trust-row div:last-child {
  border-right: none;
}

.hero-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.shield-center {
  width: 320px;
}

.hero-photo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.owner-circle {
  width: 380px;
  height: 380px;
  border-radius: 50%;
  border: 3px solid var(--gold);
  overflow: hidden;
  z-index: 2;
}

.owner-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

/* SERVICES */

.services {
  padding: 34px 62px 26px;
  background: var(--white);
  text-align: center;
}

.eyebrow {
  color: var(--gold);
  font-weight: 800;
  letter-spacing: 1px;
}

.services h2 {
  font-size: 32px;
  margin: 10px 0 34px;
  color: var(--dark);
}

.services h2::after {
  content: "";
  display: block;
  width: 70px;
  height: 2px;
  background: var(--gold);
  margin: 16px auto 0;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
}

.card {
  text-align: left;
  background: white;
  border-radius: 7px;
  padding: 24px 24px 22px;
  min-height: 200px;
  box-shadow: 0 12px 25px rgba(0,0,0,0.11);
  transition: 0.25s ease;
}

.card:hover {
  transform: translateY(-6px);
}

.icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--gold);
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  font-weight: bold;
}

.card h3 {
  font-size: 20px;
  color: var(--dark);
  margin-bottom: 18px;
}

.card p {
  font-size: 15px;
  line-height: 1.55;
  margin-bottom: 18px;
}

.card a {
  color: var(--gold);
  text-decoration: none;
  font-weight: 700;
}

/* WHY */

.why {
  background: radial-gradient(circle at top left, #08284f, var(--dark));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 42px 70px;
  color: white;
}

.why-item {
  display: flex;
  gap: 18px;
  padding: 0 32px;
  border-right: 1px solid rgba(255,255,255,0.22);
}

.why-item:last-child {
  border-right: none;
}

.why-icon {
  width: 68px;
  height: 68px;
  border: 2px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 24px;
}

.why h3 {
  color: var(--gold);
  font-size: 20px;
  margin-bottom: 8px;
}

.why p {
  line-height: 1.5;
  font-size: 15px;
}

/* MOBILE */

@media (max-width: 900px) {
  .navbar {
    height: auto;
    padding: 20px;
    flex-direction: column;
    gap: 18px;
  }

  nav,
  .nav-right {
    flex-wrap: wrap;
    justify-content: center;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .hero-content {
    padding: 60px 24px;
  }

  .hero h1 {
    font-size: 40px;
  }

  .hero-buttons {
    flex-direction: column;
  }

  .trust-row {
    flex-direction: column;
    gap: 18px;
  }

  .trust-row div {
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 14px;
  }

  .service-grid {
    grid-template-columns: 1fr;
  }

  .why {
    grid-template-columns: 1fr;
    padding: 40px 24px;
    gap: 30px;
  }

  .why-item {
    border-right: none;
    padding: 0;
  }
}

.cta-banner{position:relative;width:100%;height:260px;overflow:hidden;border-radius:0;background:#041326;}
.cta-banner img{width:100%;height:100%;object-fit:cover;object-position:center 70%;}
.cta-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(255,255,255,.15),rgba(255,255,255,.15));padding:30px;}
.cta-overlay h2{color:#071d3a;font-size:42px;margin-bottom:15px;}
.cta-overlay p{max-width:700px;color:#1a2433;font-size:16px;line-height:1.6;margin-bottom:25px;}
.cta-overlay .btn{min-width:180px;}
@media(max-width:768px){.cta-banner{height:320px;}.cta-overlay h2{font-size:32px;}.cta-overlay p{font-size:15px;padding:0 10px;}}

/* ABOUT PAGE */

.about-hero {
  min-height: 520px;
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: center;
  background: #ffffff;
  overflow: hidden;
}

.about-copy {
  padding: 90px 70px 90px 95px;
}

.about-copy h1 {
  font-size: 58px;
  line-height: 1.08;
  color: var(--dark);
  margin: 18px 0 24px;
}

.about-copy p {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 32px;
  color: var(--text);
}

.about-visual {
  height: 100%;
  min-height: 520px;
  position: relative;
  overflow: hidden;
  border-bottom-left-radius: 0;
  border-radius: 0;
}

.about-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-values {
  background: radial-gradient(circle at top left, #08284f, var(--dark));
  color: white;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 55px 90px;
  gap: 48px;
}

.value-card {
  display: grid;
  grid-template-columns: 72px 1fr;
  column-gap: 22px;
  align-items: start;
}

.value-icon {
  width: 68px;
  height: 68px;
  border: 2px solid var(--gold);
  border-radius: 50%;
  color: var(--gold);
  display: grid;
  place-items: center;
  font-size: 26px;
}

.value-card h3 {
  color: var(--gold);
  font-size: 24px;
  margin-bottom: 12px;
}

.value-card p {
  grid-column: 2;
  font-size: 15px;
  line-height: 1.7;
}

.about-content {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 60px;
  padding: 85px 95px;
  background: var(--light);
}

.about-content h2 {
  font-size: 42px;
  color: var(--dark);
  margin: 12px 0 22px;
}

.about-content p {
  font-size: 17px;
  line-height: 1.75;
}

.about-highlight {
  background: white;
  border-radius: 18px;
  padding: 42px;
  box-shadow: 0 18px 40px rgba(0,0,0,.08);
  border-top: 4px solid var(--gold);
}

.about-highlight h3 {
  font-size: 28px;
  color: var(--dark);
  margin-bottom: 18px;
}

.footer {
  background: var(--dark);
  color: white;
  padding: 42px 90px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.footer img {
  height: 68px;
}

.footer h4 {
  color: var(--gold);
  font-size: 20px;
  margin-bottom: 10px;
}

.footer p {
  line-height: 1.6;
}

/* ABOUT MOBILE */

@media (max-width: 900px) {
  .about-hero {
    grid-template-columns: 1fr;
  }

  .about-copy {
    padding: 60px 24px;
  }

  .about-copy h1 {
    font-size: 42px;
  }

  .about-visual {
    min-height: 320px;
    border-bottom-left-radius: 0;
  }

  .about-values {
    grid-template-columns: 1fr;
    padding: 45px 24px;
  }

  .value-card {
    grid-template-columns: 60px 1fr;
  }

  .value-icon {
    width: 56px;
    height: 56px;
  }

  .about-content {
    grid-template-columns: 1fr;
    padding: 55px 24px;
  }

  .footer {
    grid-template-columns: 1fr;
    padding: 40px 24px;
  }
}

/* SERVICES PAGE */

.services-hero{
    min-height:520px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    overflow:hidden;
}

.services-copy{
    padding:90px;
    text-align:left;
}

.services-image{
    display:block;
    height:100%;
    min-height:520px;
    overflow:hidden;
    background:#ffffff;
    border-radius:0;
}

.services-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.services-copy h1{
    font-size:58px;
    line-height:1.05;
    color:var(--dark);
    margin:18px 0 24px;
}

.services-copy p{
    font-size:18px;
    line-height:1.8;
    max-width:620px;
}

.service-cards-large{
    padding:80px 90px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:24px;
    background:#f7f8fa;
}

.service-large{
    background:white;
    text-decoration:none;
    color:inherit;
    border-radius:20px;
    padding:32px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.3s;
}

.service-large:hover{
    transform:translateY(-8px);
}

.service-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:var(--navy);
    color:var(--gold);
    display:grid;
    place-items:center;
    margin-bottom:20px;
}

.service-large h3{
    margin-bottom:16px;
    color:var(--dark);
}

.service-large p{
    line-height:1.7;
    margin-bottom:18px;
}

.service-large span{
    color:var(--gold);
    font-weight:700;
}

.services-process{
    padding:90px;
    text-align:center;
}

.services-process h2{
    font-size:42px;
    color:var(--dark);
    margin-top:15px;
    margin-bottom:50px;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.process-card{
    background:white;
    border-radius:18px;
    padding:35px;
    box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.number{
    color:var(--gold);
    font-size:38px;
    font-weight:800;
    margin-bottom:15px;
}

.process-card h3{
    margin-bottom:12px;
}

.process-card p{
    line-height:1.7;
}

@media(max-width:900px){

    .services-hero{
        grid-template-columns:1fr;
    }

    .services-copy{
        padding:60px 24px;
    }

    .services-copy h1{
        font-size:42px;
    }

    .service-cards-large{
        grid-template-columns:1fr;
        padding:50px 24px;
    }

    .process-grid{
        grid-template-columns:1fr;
    }

    .services-process{
        padding:60px 24px;
    }

}

/* SERVICE DETAIL PAGES */

.service-detail-hero {
  min-height: 520px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  background: radial-gradient(circle at top left, #08284f, var(--dark));
  color: white;
  overflow: hidden;
}

.service-detail-copy {
  padding: 90px;
}

.service-detail-copy h1 {
  font-size: 60px;
  line-height: 1.05;
  margin: 18px 0 24px;
}

.service-detail-copy p {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 32px;
}

.service-detail-visual {
  height: 100%;
  min-height: 520px;
  overflow: hidden;
  border-bottom-left-radius: 0;
  border-radius: 0;
}

.service-detail-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detail-intro {
  padding: 85px 95px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  background: white;
}

.detail-intro h2 {
  font-size: 44px;
  line-height: 1.15;
  color: var(--dark);
  margin-top: 14px;
}

.detail-intro p {
  font-size: 18px;
  line-height: 1.8;
}

.detail-services-grid {
  background: var(--light);
  padding: 80px 90px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
}

.detail-card {
  background: white;
  border-radius: 20px;
  padding: 34px;
  box-shadow: 0 15px 35px rgba(0,0,0,.08);
  border-top: 4px solid var(--gold);
}

.detail-card h3 {
  color: var(--dark);
  font-size: 22px;
  margin: 18px 0 14px;
}

.detail-card p {
  line-height: 1.7;
}

.detail-process {
  text-align: center;
  padding: 90px;
  background: white;
}

.detail-process h2 {
  font-size: 42px;
  color: var(--dark);
  margin: 15px 0 50px;
}

@media(max-width:900px) {
  .service-detail-hero,
  .detail-intro {
    grid-template-columns: 1fr;
  }

  .service-detail-copy {
    padding: 60px 24px;
  }

  .service-detail-copy h1 {
    font-size: 42px;
  }

  .service-detail-visual {
    min-height: 320px;
    border-bottom-left-radius: 0;
  }

  .detail-intro,
  .detail-services-grid,
  .detail-process {
    padding: 55px 24px;
  }

  .detail-services-grid {
    grid-template-columns: 1fr;
  }
}

/* SERVICES INFOGRAPHIC MENU */
.services-infographic-section{background:#ffffff;padding:70px 90px;}
.infographic-cta{text-align:center;color:var(--gold);font-weight:700;font-size:16px;letter-spacing:1px;margin-bottom:20px;text-transform:uppercase;}
.services-infographic-wrap{position:relative;max-width:1180px;margin:0 auto;overflow:hidden;background:transparent;}
.services-infographic{width:100%;display:block;}
.service-hotspot{position:absolute;border-radius:50%;transition:.25s ease;}
.service-hotspot:hover{
  box-shadow: 0 0 0 6px rgba(212,175,82,0.5);
  background: rgba(212,175,82,0.15);
  transform: scale(1.04);
  cursor: pointer;
}
.service-hotspot.immigration{width:28%;height:28%;left:36%;top:0%;}
.service-hotspot.notary{width:28%;height:28%;left:60%;top:26%;}
.service-hotspot.language{width:28%;height:28%;left:52%;top:62%;}
.service-hotspot.business{width:28%;height:28%;left:8%;top:26%;}
.service-hotspot.marketing{width:28%;height:28%;left:18%;top:62%;}
@media(max-width:768px){.services-infographic-section{padding:40px 18px;}.services-infographic-wrap{border-radius:16px;overflow-x:auto;}.services-infographic{min-width:760px;}.service-hotspot{pointer-events:none;}}

/* SERVICES PREMIUM SECTION */

.services-premium {
  background: radial-gradient(circle at top left, #08284f, var(--dark));
  color: white;
  padding: 90px;
}

.services-premium-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
}

.services-premium-copy h1 {
  font-size: 56px;
  line-height: 1.08;
  margin: 18px 0 26px;
}

.services-premium-copy p {
  font-size: 19px;
  line-height: 1.8;
  max-width: 560px;
  color: rgba(255,255,255,.88);
}

.services-premium-copy strong {
  color: var(--gold);
}

.services-premium-visual {
  background: #ffffff;
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 24px 60px rgba(0,0,0,.28);
}

.services-premium-visual img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.process-premium {
  text-align: center;
  padding: 90px;
  background: var(--light);
}

.process-premium h2 {
  font-size: 42px;
  color: var(--dark);
  margin: 15px 0 50px;
}

.process-premium-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 1180px;
  margin: 0 auto;
}

.process-premium-card {
  background: white;
  border-radius: 18px;
  padding: 40px 32px;
  box-shadow: 0 15px 35px rgba(0,0,0,.06);
  border-top: 4px solid var(--gold);
  text-align: left;
}

.process-number {
  display: block;
  color: var(--gold);
  font-size: 38px;
  font-weight: 800;
  margin-bottom: 15px;
}

.process-premium-card h3 {
  color: var(--dark);
  margin-bottom: 12px;
}

.process-premium-card p {
  line-height: 1.7;
}

@media (max-width: 900px) {
  .services-premium,
  .process-premium {
    padding: 55px 24px;
  }

  .services-premium-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .services-premium-copy h1 {
    font-size: 40px;
  }

  .process-premium-grid {
    grid-template-columns: 1fr;
  }
}

/* SERVICES FULL INFOGRAPHIC */

.services-full { background: white; padding: 0; }
.services-full-wrap { position: relative; max-width: 100%; margin: 0 auto; }
.services-full-img { width: 100%; display: block; }

.services-cta-hint { text-align: center; padding: 18px; background: white; }
.services-cta-hint span { color: var(--gold); font-weight: 700; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; }

.svc-spot {
  position: absolute;
  border-radius: 50%;
  cursor: pointer;
  transition: .25s;
}

.svc-spot:hover {
  background: rgba(212,175,82,0.25);
  box-shadow: 0 0 0 8px rgba(212,175,82,0.45);
}

.services-card-row { display:flex; justify-content:center; gap:20px; padding:30px 40px 60px; background:white; flex-wrap:wrap; }

@keyframes pulse-card {
  0%, 100% {
    box-shadow: 0 8px 25px rgba(0,0,0,0.15), 0 0 0 0 rgba(212,175,82,0.6);
    color: var(--gold);
  }
  50% {
    box-shadow: 0 8px 25px rgba(0,0,0,0.15), 0 0 0 14px rgba(212,175,82,0);
    color: var(--light-gold);
    text-shadow: 0 0 12px rgba(212,175,82,0.8);
  }
}

.svc-card {
  background:var(--navy);
  color:var(--gold);
  padding:22px 36px;
  border-radius:16px;
  text-decoration:none;
  font-weight:800;
  font-size:18px;
  transition:.25s;
  border:2px solid var(--gold);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  text-align:center;
  animation: pulse-card 2s ease-in-out infinite;
}

.svc-card:hover {
  animation: none;
  background:var(--gold);
  color:var(--dark);
  transform:translateY(-4px);
}

.page-hero-banner { position:relative; width:100%; }
.hero-banner-img { width:100%; display:block; }
.hero-banner-cta { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); }
/* LANGUAGE PAGE */

.language-hero {
  min-height: 540px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  background:
    radial-gradient(circle at 80% 30%, rgba(212,175,82,.22), transparent 34%),
    radial-gradient(circle at 20% 10%, #0b2a52, var(--dark));
  color: white;
  overflow: hidden;
}

.language-copy {
  padding: 90px;
}

.language-copy h1 {
  font-size: 60px;
  line-height: 1.05;
  margin: 18px 0 24px;
}

.language-copy p {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 32px;
}

.language-visual {
  min-height: 540px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}

.language-visual::before {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  border: 2px solid rgba(212,175,82,.35);
  border-radius: 50%;
}

.language-card-main {
  position: relative;
  z-index: 2;
  width: 430px;
  min-height: 330px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 32px;
  backdrop-filter: blur(12px);
  box-shadow: 0 30px 70px rgba(0,0,0,.25);
  padding: 50px 40px;
  text-align: center;
}

.bubble {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  font-size: 30px;
  font-weight: 800;
  border: 3px solid var(--gold);
  background: var(--dark);
  color: var(--gold);
}

.bubble.en {
  margin-right: 55px;
}

.bubble.es {
  margin-left: 55px;
}

.connector-line {
  width: 120px;
  height: 3px;
  background: var(--gold);
  position: absolute;
  top: 95px;
  left: 155px;
}

.language-card-main h3 {
  font-size: 30px;
  color: var(--gold);
  margin: 40px 0 15px;
}

.language-card-main p {
  line-height: 1.7;
}

.language-feature {
  padding: 90px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  background: white;
}

.language-feature h2 {
  font-size: 44px;
  color: var(--dark);
  margin: 14px 0 22px;
}

.language-feature p {
  font-size: 18px;
  line-height: 1.75;
}

.language-feature-box {
  background: var(--dark);
  border-radius: 26px;
  padding: 40px;
  display: grid;
  gap: 18px;
  box-shadow: 0 25px 60px rgba(0,0,0,.16);
}

.language-feature-box span {
  color: white;
  border: 1px solid rgba(212,175,82,.45);
  border-radius: 999px;
  padding: 16px 20px;
  font-weight: 700;
}

.language-feature-box span::before {
  content: "✓ ";
  color: var(--gold);
}

@media(max-width:900px) {
  .language-hero,
  .language-feature {
    grid-template-columns: 1fr;
  }

  .language-copy {
    padding: 60px 24px;
  }

  .language-copy h1 {
    font-size: 42px;
  }

  .language-visual {
    min-height: 420px;
  }

  .language-card-main {
    width: calc(100% - 48px);
  }

  .language-feature {
    padding: 55px 24px;
  }
}

/* BUSINESS PAGE */

.business-hero{
    min-height:540px;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    background:#f8f9fb;
}

.business-copy{
    padding:90px;
}

.business-copy h1{
    font-size:60px;
    line-height:1.05;
    color:var(--dark);
    margin:18px 0 24px;
}

.business-copy p{
    font-size:18px;
    line-height:1.8;
    max-width:620px;
    margin-bottom:30px;
}

.business-visual{
    display:grid;
    place-items:center;
}

.business-dashboard{
    width:520px;
    background:white;
    border-radius:24px;
    padding:30px;
    box-shadow:0 30px 70px rgba(0,0,0,.12);
}

.dashboard-header{
    font-size:22px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:24px;
}

.dashboard-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.dashboard-box{
    background:var(--dark);
    color:white;
    border-radius:16px;
    padding:25px;
    text-align:center;
}

.dashboard-growth{
    margin-top:20px;
    background:var(--gold);
    color:var(--dark);
    padding:18px;
    border-radius:14px;
    font-weight:700;
    text-align:center;
}

.business-benefits{
    padding:90px;
    text-align:center;
}

.business-benefits h2{
    font-size:42px;
    color:var(--dark);
    max-width:800px;
    margin:15px auto 50px;
}

.benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}

.benefit{
    background:white;
    border-radius:20px;
    padding:35px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    border-top:4px solid var(--gold);
    font-weight:700;
}

@media(max-width:900px){

    .business-hero{
        grid-template-columns:1fr;
    }

    .business-copy{
        padding:60px 24px;
    }

    .business-copy h1{
        font-size:42px;
    }

    .business-dashboard{
        width:calc(100% - 48px);
    }

    .benefits-grid{
        grid-template-columns:1fr;
    }

    .business-benefits{
        padding:60px 24px;
    }

}

/* MARKETING PAGE */

.marketing-hero {
  min-height: 540px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  background:
    radial-gradient(circle at 75% 25%, rgba(212,175,82,.25), transparent 36%),
    linear-gradient(135deg, #041326, #071d3a);
  color: white;
  overflow: hidden;
}

.marketing-copy {
  padding: 90px;
}

.marketing-copy h1 {
  font-size: 60px;
  line-height: 1.05;
  margin: 18px 0 24px;
}

.marketing-copy p {
  max-width: 640px;
  font-size: 18px;
  line-height: 1.75;
  margin-bottom: 32px;
}

.marketing-visual {
  min-height: 540px;
  display: grid;
  place-items: center;
}

.marketing-dashboard {
  width: 520px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 30px;
  padding: 34px;
  box-shadow: 0 35px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
}

.dash-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
  margin-bottom: 34px;
}

.dash-top span {
  font-size: 22px;
  font-weight: 700;
}

.dash-top strong {
  color: var(--gold);
  font-size: 42px;
}

.growth-chart {
  height: 210px;
  display: flex;
  align-items: end;
  gap: 22px;
  margin-bottom: 28px;
}

.growth-chart span {
  flex: 1;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(180deg, var(--light-gold), var(--gold));
}

.growth-chart span:nth-child(1) { height: 35%; }
.growth-chart span:nth-child(2) { height: 55%; }
.growth-chart span:nth-child(3) { height: 72%; }
.growth-chart span:nth-child(4) { height: 95%; }

.dash-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.dash-row div {
  background: rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 18px;
  text-align: center;
  color: white;
  font-weight: 700;
}

.marketing-benefits {
  background: white;
  text-align: center;
  padding: 90px;
}

.marketing-benefits h2 {
  font-size: 42px;
  color: var(--dark);
  margin: 14px 0 50px;
}

.marketing-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.marketing-steps div {
  background: var(--light);
  border-radius: 22px;
  padding: 38px;
  text-align: left;
  border-top: 4px solid var(--gold);
}

.marketing-steps strong {
  color: var(--gold);
  font-size: 36px;
}

.marketing-steps h3 {
  color: var(--dark);
  margin: 16px 0 12px;
}

.marketing-steps p {
  line-height: 1.7;
}

@media(max-width:900px) {
  .marketing-hero {
    grid-template-columns: 1fr;
  }

  .marketing-copy {
    padding: 60px 24px;
  }

  .marketing-copy h1 {
    font-size: 42px;
  }

  .marketing-dashboard {
    width: calc(100% - 48px);
  }

  .marketing-benefits {
    padding: 60px 24px;
  }

  .marketing-steps {
    grid-template-columns: 1fr;
  }
}

/* CONTACT PAGE */

.contact-page {
  background: var(--light);
  padding: 80px 90px;
}

.contact-heading {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 55px;
}

.contact-heading h1 {
  font-size: 58px;
  color: var(--dark);
  margin: 15px 0 18px;
}

.contact-heading p {
  font-size: 18px;
  line-height: 1.7;
}

.contact-layout {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 34px;
  max-width: 1180px;
  margin: 0 auto;
}

.contact-form,
.contact-info-card {
  background: white;
  border-radius: 24px;
  padding: 42px;
  box-shadow: 0 20px 50px rgba(0,0,0,.08);
}

.contact-form h2,
.contact-info-card h2 {
  color: var(--dark);
  font-size: 30px;
  margin-bottom: 28px;
}

.contact-form label {
  display: block;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 8px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid #d9dde5;
  border-radius: 12px;
  margin-bottom: 20px;
  font-size: 16px;
}

.contact-form textarea {
  resize: vertical;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(212,175,82,.16);
}

.contact-form button {
  border: none;
  cursor: pointer;
  font-size: 16px;
}

.contact-info-card {
  background: var(--dark);
  color: white;
}

.contact-info-card h2 {
  color: var(--gold);
}

.info-item {
  border-bottom: 1px solid rgba(255,255,255,.16);
  padding: 22px 0;
}

.info-item:last-child {
  border-bottom: none;
}

.info-item span {
  color: var(--gold);
  font-weight: 800;
  display: block;
  margin-bottom: 8px;
}

.info-item p {
  line-height: 1.6;
}

@media(max-width:900px) {
  .contact-page {
    padding: 55px 24px;
  }

  .contact-heading h1 {
    font-size: 42px;
  }

  .contact-layout {
    grid-template-columns: 1fr;
  }

  .contact-form,
  .contact-info-card {
    padding: 28px;
  }
}

/* LEGAL PAGE */
.legal-dashboard { background:white; border-radius:24px; padding:40px; box-shadow:0 30px 70px rgba(0,0,0,.15); width:460px; }
.legal-dash-title { font-size:20px; font-weight:800; color:var(--dark); margin-bottom:24px; text-transform:uppercase; letter-spacing:1px; border-bottom:2px solid var(--gold); padding-bottom:14px; }
.legal-dash-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:16px; }
.legal-dash-box { background:var(--light); color:var(--dark); border-radius:10px; padding:18px; text-align:center; font-weight:600; font-size:15px; border-left:3px solid var(--gold); }
.legal-dash-footer { background:var(--navy); color:var(--gold); border-radius:10px; padding:18px; text-align:center; font-weight:700; font-size:16px; letter-spacing:0.5px; }
.service-detail-visual { display:flex; align-items:center; justify-content:center; }
