    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --teal: #1ab8c4;
      --teal-dark: #139aa5;
      --teal-light: #22d0de;
      --navy: #1a2a3a;
      --white: #ffffff;
      --light: #f4f8fa;
      --gray: #7a8fa6;
      --accent: #ff6b35;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Lato', sans-serif;
      color: var(--navy);
      overflow-x: hidden;
    }

    /* ── NAV ── */
    nav {
      position: fixed; top: 0; left: 0; width: 100%; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 48px;
      height: 64px;
      background: rgba(255,255,255,0.96);
      backdrop-filter: blur(8px);
      box-shadow: 0 1px 12px rgba(0,0,0,0.08);
      transition: background 0.3s;
    }
    .nav-logo {
      font-family: 'Montserrat', sans-serif;
      font-weight: 900;
      font-size: 18px;
      letter-spacing: 1px;
      color: var(--navy);
    }
    .nav-logo span { color: var(--teal); }
    .nav-links { display: flex; gap: 32px; list-style: none; }
    .nav-links a {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--navy);
      text-decoration: none;
      position: relative;
      transition: color 0.2s;
    }
    .nav-links a::after {
      content: '';
      position: absolute; bottom: -4px; left: 0;
      width: 0; height: 2px;
      background: var(--teal);
      transition: width 0.3s;
    }
    .nav-links a:hover { color: var(--teal); }
    .nav-links a:hover::after { width: 100%; }

    /* ── HERO ── */
    #home {
      min-height: 100vh;
      background: var(--teal);
      display: flex; align-items: center;
      position: relative;
      overflow: hidden;
      padding-top: 64px;
    }
    .hero-bg-shape {
      position: absolute; right: 0; top: 0; bottom: 0;
      width: 52%;
      background: rgba(0,0,0,0.06);
      clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
    }
    .hero-content {
      position: relative; z-index: 2;
      padding: 0 80px;
      max-width: 560px;
      animation: fadeUp 0.9s ease both;
    }
    .hero-eyebrow {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 700;
      letter-spacing: 4px; text-transform: uppercase;
      color: rgba(255,255,255,0.7);
      margin-bottom: 16px;
    }
    .hero-title {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(42px, 6vw, 72px);
      font-weight: 900;
      color: var(--white);
      line-height: 1.0;
      margin-bottom: 20px;
      text-transform: uppercase;
      letter-spacing: -1px;
    }
    .hero-title em {
      font-style: normal;
      color: rgba(255,255,255,0.85);
      font-size: 0.55em;
      font-weight: 700;
      letter-spacing: 1px;
      display: block;
      line-height: 1.5;
      text-transform: uppercase;
      margin-top: 8px;
    }
    .hero-sub {
      font-size: 15px; line-height: 1.7;
      color: rgba(255,255,255,0.8);
      margin-bottom: 36px;
      font-weight: 300;
    }
    .btn-primary {
      display: inline-block;
      padding: 14px 36px;
      border: 2px solid var(--white);
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 700;
      letter-spacing: 2px; text-transform: uppercase;
      text-decoration: none;
      transition: background 0.25s, color 0.25s;
    }
    .btn-primary:hover { background: var(--white); color: var(--teal); }

    .hero-image {
      position: absolute; right: 6%; bottom: 0;
      height: 90%;
      object-fit: contain;
      animation: fadeIn 1.1s ease 0.2s both;
      filter: drop-shadow(-20px 0 40px rgba(0,0,0,0.15));
    }
    .hero-dots {
      position: absolute; bottom: 28px; left: 50%;
      transform: translateX(-50%);
      display: flex; gap: 8px;
    }
    .hero-dots span {
      width: 10px; height: 10px; border-radius: 50%;
      background: rgba(255,255,255,0.4);
      cursor: pointer; transition: background 0.2s;
    }
    .hero-dots span.active { background: var(--white); }

    /* ── ABOUT ── */
    #about {
      padding: 96px 80px;
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: center;
      background: var(--white);
    }
    .about-img-wrap {
      position: relative;
    }
    .about-img-wrap::before {
      content: '';
      position: absolute; top: -16px; left: -16px;
      width: 100%; height: 100%;
      border: 3px solid var(--teal);
      z-index: 0;
    }
    .about-img-wrap img {
      width: 100%; position: relative; z-index: 1;
      display: block;
    }
    .about-placeholder {
      width: 100%; height: 340px;
      background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 100%);
      position: relative; z-index: 1;
      display: flex; align-items: center; justify-content: center;
    }
    .about-placeholder svg { opacity: 0.3; }
    .section-label {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 700;
      letter-spacing: 4px; text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 12px;
    }
    .section-title {
      font-family: 'Montserrat', sans-serif;
      font-size: clamp(28px, 3.5vw, 42px);
      font-weight: 900; line-height: 1.1;
      color: var(--navy); margin-bottom: 20px;
    }
    .section-body {
      font-size: 15px; line-height: 1.8;
      color: var(--gray); margin-bottom: 28px;
    }
    .btn-solid {
      display: inline-block;
      padding: 14px 36px;
      background: var(--teal);
      color: var(--white);
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 700;
      letter-spacing: 2px; text-transform: uppercase;
      text-decoration: none;
      transition: background 0.25s;
    }
    .btn-solid:hover { background: var(--teal-dark); }

    /* ── FEATURES ── */
    #features {
      padding: 96px 80px;
      background: var(--light);
      text-align: center;
    }
    .features-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 40px; margin-top: 56px;
    }
    .feature-card {
      background: var(--white);
      padding: 40px 32px;
      text-align: left;
      border-bottom: 3px solid transparent;
      transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
    }
    .feature-card:hover {
      border-color: var(--teal);
      transform: translateY(-6px);
      box-shadow: 0 16px 48px rgba(26,184,196,0.12);
    }
    .feature-icon {
      width: 52px; height: 52px;
      background: var(--teal);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 20px;
    }
    .feature-icon svg { width: 24px; height: 24px; fill: white; }
    .feature-title {
      font-family: 'Montserrat', sans-serif;
      font-size: 15px; font-weight: 700;
      color: var(--navy); margin-bottom: 12px;
    }
    .feature-desc { font-size: 14px; line-height: 1.7; color: var(--gray); }

    /* ── TEAM ── */
    #team {
      padding: 96px 80px;
      background: var(--white);
      text-align: center;
    }
    .team-grid {
      display: grid; grid-template-columns: repeat(4, 1fr);
      gap: 32px; margin-top: 56px;
    }
    .team-card { text-align: center; }
    .team-photo {
      width: 100%; aspect-ratio: 1;
      background: linear-gradient(135deg, var(--teal) 0%, var(--navy) 100%);
      margin-bottom: 16px;
      position: relative; overflow: hidden;
    }
    .team-photo-inner {
      width: 100%; height: 100%;
      display: flex; align-items: center; justify-content: center;
    }
    .team-photo-inner svg { opacity: 0.25; width: 60%; }
    .team-overlay {
      position: absolute; inset: 0;
      background: rgba(26,184,196,0.85);
      display: flex; align-items: center; justify-content: center;
      gap: 12px;
      opacity: 0; transition: opacity 0.3s;
    }
    .team-card:hover .team-overlay { opacity: 1; }
    .team-overlay a {
      width: 36px; height: 36px; border: 2px solid white; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: white; font-size: 13px; text-decoration: none;
      transition: background 0.2s;
    }
    .team-overlay a:hover { background: white; color: var(--teal); }
    .team-name {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; font-size: 15px; color: var(--navy);
    }
    .team-role { font-size: 13px; color: var(--teal); margin-top: 4px; }

    /* ── CLIENTS ── */
    #clients {
      padding: 72px 80px;
      background: var(--light);
      text-align: center;
    }
    .clients-logos {
      display: flex; align-items: center; justify-content: center;
      gap: 56px; flex-wrap: wrap; margin-top: 48px;
    }
    .client-logo {
      font-family: 'Montserrat', sans-serif;
      font-weight: 900; font-size: 22px;
      color: #ccd5dc;
      letter-spacing: -0.5px;
      transition: color 0.2s;
      cursor: default;
    }
    .client-logo:hover { color: var(--teal); }

    /* ── PORTFOLIO ── */
    #portfolio {
      padding: 96px 80px;
      background: var(--white);
      text-align: center;
    }
    .portfolio-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 0; margin-top: 56px;
    }
    .portfolio-item {
      aspect-ratio: 4/3;
      background: linear-gradient(135deg, var(--teal) 0%, var(--navy) 100%);
      position: relative; overflow: hidden; cursor: pointer;
    }
    .portfolio-item:nth-child(2) { background: linear-gradient(135deg, #2c3e6a, var(--teal-dark)); }
    .portfolio-item:nth-child(3) { background: linear-gradient(135deg, var(--teal-light), #1a6a6a); }
    .portfolio-item:nth-child(4) { background: linear-gradient(135deg, #1a3a5a, var(--teal)); }
    .portfolio-item:nth-child(5) { background: linear-gradient(135deg, var(--teal-dark), #2c5a2c); }
    .portfolio-item:nth-child(6) { background: linear-gradient(135deg, #5a1a3a, var(--teal)); }
    .portfolio-overlay {
      position: absolute; inset: 0;
      background: rgba(26,184,196,0.9);
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      opacity: 0; transition: opacity 0.3s;
    }
    .portfolio-item:hover .portfolio-overlay { opacity: 1; }
    .portfolio-overlay h4 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; font-size: 16px; color: white; margin-bottom: 6px;
    }
    .portfolio-overlay p { font-size: 13px; color: rgba(255,255,255,0.8); }
    .portfolio-inner-img {
      width: 100%; height: 100%;
      display: flex; align-items: center; justify-content: center;
    }
    .portfolio-inner-img svg { opacity: 0.15; width: 40%; }

    /* ── PRICING ── */
    #pricing {
      padding: 96px 80px;
      background: var(--light);
      text-align: center;
    }
    .pricing-grid {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 32px; margin-top: 56px;
    }
    .pricing-card {
      background: var(--white);
      padding: 48px 32px;
      position: relative;
      border-top: 4px solid transparent;
      transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
    }
    .pricing-card:hover, .pricing-card.featured {
      transform: translateY(-8px);
      box-shadow: 0 20px 60px rgba(26,184,196,0.15);
      border-color: var(--teal);
    }
    .pricing-card.featured .badge {
      position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
      background: var(--teal); color: white;
      font-family: 'Montserrat', sans-serif;
      font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
      padding: 4px 16px;
    }
    .pricing-tier {
      font-family: 'Montserrat', sans-serif;
      font-size: 11px; font-weight: 700; letter-spacing: 3px;
      text-transform: uppercase; color: var(--teal);
      margin-bottom: 16px;
    }
    .pricing-amount {
      font-family: 'Montserrat', sans-serif;
      font-size: 56px; font-weight: 900; color: var(--navy);
      line-height: 1;
    }
    .pricing-amount sup { font-size: 22px; vertical-align: super; }
    .pricing-period { font-size: 13px; color: var(--gray); margin-bottom: 28px; }
    .pricing-features { list-style: none; margin-bottom: 36px; text-align: left; }
    .pricing-features li {
      padding: 10px 0;
      border-bottom: 1px solid #eef2f5;
      font-size: 14px; color: var(--gray);
      display: flex; align-items: center; gap: 10px;
    }
    .pricing-features li::before {
      content: '✓'; color: var(--teal);
      font-weight: 700; font-size: 13px;
    }

    /* ── CONTACT ── */
    #contact {
      padding: 96px 80px;
      background: var(--navy);
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 80px; align-items: start;
    }
    #contact .section-title { color: var(--white); }
    #contact .section-label { color: var(--teal-light); }
    #contact .section-body { color: rgba(255,255,255,0.6); }
    .contact-info { display: flex; flex-direction: column; gap: 24px; }
    .contact-item {
      display: flex; align-items: flex-start; gap: 16px;
    }
    .contact-icon {
      width: 44px; height: 44px; flex-shrink: 0;
      background: rgba(26,184,196,0.15);
      border: 1px solid rgba(26,184,196,0.3);
      display: flex; align-items: center; justify-content: center;
    }
    .contact-icon svg { width: 18px; fill: var(--teal); }
    .contact-text { font-size: 14px; color: rgba(255,255,255,0.7); line-height: 1.6; }
    .contact-text strong { display: block; color: white; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 4px; }

    .contact-form { display: flex; flex-direction: column; gap: 16px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    .contact-form input,
    .contact-form textarea {
      width: 100%; padding: 14px 18px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      color: white; font-family: 'Lato', sans-serif; font-size: 14px;
      outline: none; transition: border-color 0.2s;
    }
    .contact-form input::placeholder,
    .contact-form textarea::placeholder { color: rgba(255,255,255,0.35); }
    .contact-form input:focus,
    .contact-form textarea:focus { border-color: var(--teal); }
    .contact-form textarea { height: 120px; resize: vertical; }

    /* ── FOOTER ── */
    footer {
      background: #101d28;
      padding: 24px 80px;
      display: flex; align-items: center; justify-content: space-between;
    }
    footer p { font-size: 13px; color: rgba(255,255,255,0.4); }
    footer .footer-logo {
      font-family: 'Montserrat', sans-serif;
      font-weight: 900; font-size: 16px; color: white; letter-spacing: 1px;
    }
    footer .footer-logo span { color: var(--teal); }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(30px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; } to { opacity: 1; }
    }
    .reveal {
      opacity: 0; transform: translateY(24px);
      transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .reveal.visible { opacity: 1; transform: none; }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      nav { padding: 0 24px; }
      .nav-links { display: none; }
      #about, #contact { grid-template-columns: 1fr; gap: 48px; padding: 64px 32px; }
      #features, #team, #clients, #portfolio, #pricing { padding: 64px 32px; }
      .features-grid, .pricing-grid { grid-template-columns: 1fr; }
      .team-grid { grid-template-columns: repeat(2, 1fr); }
      .portfolio-grid { grid-template-columns: 1fr 1fr; }
      .hero-content { padding: 0 32px; }
      .hero-image { display: none; }
      footer { flex-direction: column; gap: 8px; text-align: center; padding: 20px 32px; }
    }