*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --ink:        #111827;
      --ink-mid:    #374151;
      --ink-light:  #6b7280;
      --ink-xlight: #9ca3af;
      --rule:       #e5e7eb;
      --bg:         #ffffff;
      --bg-warm:    #f9f8f6;
      --bg-dark:    #0c1015;
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Manrope', sans-serif;
      background: var(--bg);
      color: var(--ink);
      font-weight: 400;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    .display {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 300;
      line-height: 1.08;
      letter-spacing: -0.01em;
    }
    .label {
      font-family: 'Manrope', sans-serif;
      font-size: 0.68rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ink-light);
    }

    /* ── BRAND TOKENS (from logo) ── */
    :root {
      --navy:       #0f2044;   /* logo background */
      --navy-deep:  #0a1830;   /* darker shade for depth */
      --navy-mid:   #1a3260;   /* hover/border */
      --gold:       #c9a84c;   /* logo lettering */
      --gold-light: #dfc07a;   /* hover gold */
      --gold-dim:   rgba(201,168,76,0.45); /* subtle rule */
    }

    /* NAV */
    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 300;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 5%; height: 68px;
      background: rgba(15,32,68,0.97);   /* navy */
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--gold-dim);
      transition: box-shadow .3s;
    }
    nav.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,0.35); }

    /* Logo: image badge + text */
    .nav-logo {
      display: flex; align-items: center; gap: .75rem;
      text-decoration: none;
    }
    .nav-logo-img {
      height: 38px; width: 38px;
      object-fit: cover;
      border-radius: 2px;
      border: 1px solid var(--gold-dim);
      flex-shrink: 0;
    }
    .nav-logo-text {
      display: flex; flex-direction: column;
    }
    .nav-logo-text strong {
      font-family: 'Cormorant Garamond', serif;
      font-weight: 600; font-size: 1.2rem;
      letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--gold); line-height: 1;
    }
    .nav-logo-text span {
      font-family: 'Manrope', sans-serif;
      font-size: 0.56rem; font-weight: 500;
      letter-spacing: 0.22em; text-transform: uppercase;
      color: rgba(201,168,76,0.55);
      margin-top: 3px;
    }

    .nav-links { display: flex; align-items: center; gap: 2.5rem; list-style: none; }
    .nav-links a {
      text-decoration: none; font-size: 0.75rem; font-weight: 500;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: rgba(255,255,255,0.62); transition: color .2s; position: relative;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: -4px; left: 0;
      width: 0; height: 1px; background: var(--gold); transition: width .28s ease;
    }
    .nav-links a:hover { color: var(--gold); }
    .nav-links a:hover::after { width: 100%; }

    .hamburger {
      display: none; flex-direction: column; gap: 5px;
      width: 36px; height: 36px; align-items: flex-end; justify-content: center;
      background: none; border: none; cursor: pointer; padding: 4px;
    }
    .hamburger span {
      display: block; height: 1.5px; background: var(--gold);
      border-radius: 1px; transition: transform .3s, opacity .3s, width .3s;
    }
    .hamburger span:nth-child(1) { width: 22px; }
    .hamburger span:nth-child(2) { width: 16px; }
    .hamburger span:nth-child(3) { width: 22px; }
    .hamburger.open span:nth-child(1) { width: 22px; transform: translateY(6.5px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
    .hamburger.open span:nth-child(3) { width: 22px; transform: translateY(-6.5px) rotate(-45deg); }

    .mobile-menu {
      display: none; position: fixed; top: 68px; left: 0; right: 0;
      background: var(--navy-deep);
      border-bottom: 1px solid var(--gold-dim);
      z-index: 290; padding: 1.2rem 5% 2rem;
      transform: translateY(-8px); opacity: 0; pointer-events: none;
      transition: transform .3s ease, opacity .25s ease;
    }
    .mobile-menu.open { transform: translateY(0); opacity: 1; pointer-events: all; }
    .mobile-menu a {
      display: block; text-decoration: none; font-size: 0.82rem; font-weight: 500;
      letter-spacing: 0.12em; text-transform: uppercase;
      color: rgba(255,255,255,0.6);
      padding: .9rem 0; border-bottom: 1px solid rgba(201,168,76,0.12);
      transition: color .2s;
    }
    .mobile-menu a:hover { color: var(--gold); }

    /* BUTTONS */
    .btn-primary {
      display: inline-block; background: #fff; color: var(--ink);
      text-decoration: none; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      padding: 1rem 2.2rem; transition: background .2s, transform .2s;
    }
    .btn-primary:hover { background: rgba(255,255,255,0.85); transform: translateY(-1px); }

    .btn-secondary {
      display: inline-block; background: transparent; color: #fff;
      text-decoration: none; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      padding: 1rem 2.2rem; border: 1px solid rgba(255,255,255,0.45);
      transition: background .2s, transform .2s;
    }
    .btn-secondary:hover { background: rgba(255,255,255,0.1); transform: translateY(-1px); }

    .btn-dark {
      display: inline-block; background: var(--ink); color: #fff;
      text-decoration: none; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      padding: 1rem 2.2rem; transition: background .2s, transform .2s;
    }
    .btn-dark:hover { background: var(--ink-mid); transform: translateY(-1px); }
    .btn-dark-outline {
      display: inline-block; background: transparent; color: var(--ink);
      text-decoration: none; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.14em; text-transform: uppercase;
      padding: 1rem 2.2rem; border: 1px solid var(--ink);
      transition: background .2s, color .2s, transform .2s;
    }
    .btn-dark-outline:hover { background: var(--ink); color: #fff; transform: translateY(-1px); }

    /* SECTION */
    section { padding: 100px 5%; }
    .section-header {
      display: flex; align-items: flex-start; justify-content: space-between;
      gap: 2rem; padding-bottom: 3rem;
      border-bottom: 1px solid var(--rule); margin-bottom: 4rem;
    }
    .section-header .label { padding-top: 6px; }
    .section-title { font-size: clamp(2rem, 3.5vw, 3rem); max-width: 600px; }

    /* REVEAL */
    .reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }
    .reveal-delay { transition-delay: .15s; }
    .reveal-delay2 { transition-delay: .3s; }

    /* HERO */
    .hero {
      min-height: 100vh;
      padding-top: 68px;
      display: flex; flex-direction: column; justify-content: flex-end;
      padding-bottom: 7rem; padding-left: 5%; padding-right: 5%;
      position: relative; overflow: hidden;
    }
    #hero-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/bg000.avif') center/cover no-repeat;
      filter: grayscale(20%) brightness(0.42);
      will-change: transform;
      z-index: 0;
    }
    .hero-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(
        to bottom,
        rgba(8,12,18,0.25) 0%,
        rgba(8,12,18,0.1) 35%,
        rgba(8,12,18,0.72) 78%,
        rgba(8,12,18,0.94) 100%
      );
    }
    .hero-content { position: relative; z-index: 2; }

    .hero-eyebrow { display: flex; align-items: center; gap: 1rem; margin-bottom: 2.2rem; }
    .hero-eyebrow .dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,0.6); }
    .hero-eyebrow .label { color: rgba(255,255,255,0.5); }

    .hero-title { font-size: clamp(2.8rem, 6vw, 5.8rem); max-width: 900px; margin-bottom: 2rem; color: #fff; }
    .hero-title em { font-style: italic; color: rgba(255,255,255,0.6); }

    .hero-sub {
      font-size: clamp(0.9rem, 1.3vw, 1.05rem);
      color: rgba(255,255,255,0.62); max-width: 560px;
      line-height: 1.8; margin-bottom: 3rem; font-weight: 300;
    }
    .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 4rem; }
    .hero-pillars {
      display: flex; gap: 2.5rem; flex-wrap: wrap;
      padding-top: 2.5rem; border-top: 1px solid rgba(255,255,255,0.13);
    }
    .hero-pillars span { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.4); }

    .fade-up { opacity: 0; transform: translateY(28px); animation: fadeUp .9s ease forwards; }
    .fade-up:nth-child(1) { animation-delay:.15s; }
    .fade-up:nth-child(2) { animation-delay:.3s; }
    .fade-up:nth-child(3) { animation-delay:.45s; }
    .fade-up:nth-child(4) { animation-delay:.6s; }
    .fade-up:nth-child(5) { animation-delay:.75s; }
    @keyframes fadeUp { to { opacity:1; transform:translateY(0); } }

    /* PHOTO BAND */
    .photo-band {
      height: 420px; position: relative; overflow: hidden;
    }
    #band-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/bg4.avif') center/cover no-repeat;
      will-change: transform; z-index: 0;
    }
    .photo-band-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(90deg, rgba(8,12,18,0.76) 0%, rgba(8,12,18,0.35) 60%, transparent 100%);
      display: flex; align-items: center; padding: 0 5%;
    }
    .photo-band-text { max-width: 540px; }
    .photo-band-text blockquote {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1.5rem, 2.8vw, 2.4rem);
      font-weight: 300; color: #fff; line-height: 1.35; font-style: italic;
    }
    .photo-band-text cite {
      display: block; margin-top: 1.2rem; font-style: normal;
      font-size: .7rem; letter-spacing: .16em; text-transform: uppercase;
      color: rgba(255,255,255,0.38);
    }

    /* FOCUS */
    .focus-section { background: var(--bg-warm); }
    .focus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--rule); }
    .focus-item { padding: 2.5rem 2.8rem; border-bottom: 1px solid var(--rule); transition: background .2s; }
    .focus-item:hover { background: rgba(0,0,0,0.025); }
    .focus-item:nth-child(odd) { border-right: 1px solid var(--rule); }
    .focus-item:nth-last-child(2), .focus-item:last-child { border-bottom: none; }
    .focus-item h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 400; margin-bottom: .5rem; }
    .focus-item p { font-size: .83rem; color: var(--ink-light); font-weight: 300; }
    .focus-hubs {
      grid-column: 1/-1; padding: 2.5rem 2.8rem;
      display: flex; gap: 3rem; flex-wrap: wrap; align-items: center;
      background: var(--ink); color: #fff;
    }
    .focus-hubs .label { color: rgba(255,255,255,0.4); }
    .focus-hubs .cities { display: flex; gap: 2rem; flex-wrap: wrap; }
    .focus-hubs .cities span { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 300; letter-spacing: .05em; }

    /* ABOUT — full split */
    .about-section { padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
    .about-img-col { position: relative; overflow: hidden; }
    #about-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/bg35.avif') center/cover no-repeat;
      filter: grayscale(12%) brightness(0.65);
      will-change: transform; z-index: 0;
    }
    .about-img-col-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(to right, transparent 55%, rgba(249,248,246,0.08) 100%);
    }
    .about-text-col {
      padding: 6rem 5%; background: var(--bg-warm);
      display: flex; flex-direction: column; justify-content: center;
    }
    .about-text-col .section-header { flex-direction: column; gap: .8rem; margin-bottom: 2.5rem; padding-bottom: 2rem; }
    .about-body p { font-size: 1rem; color: var(--ink-mid); font-weight: 300; line-height: 1.85; margin-bottom: 1.4rem; }
    .about-body p:last-child { margin-bottom: 0; }
    .about-rule { width: 40px; height: 1px; background: var(--ink); margin: 1.5rem 0; }

    /* SERVICES */
    .services-section { background: var(--bg); }
    .services-list { display: flex; flex-direction: column; border-top: 1px solid var(--rule); }
    .service-row {
      display: grid; grid-template-columns: 60px 1fr 2fr auto;
      gap: 2rem; align-items: start; padding: 2.8rem 0;
      border-bottom: 1px solid var(--rule);
      transition: background .2s, padding .2s; cursor: default;
    }
    .service-row:hover { background: var(--bg-warm); margin: 0 -5%; padding-left: 5%; padding-right: 5%; }
    .service-num { font-family: 'Cormorant Garamond', serif; font-size: 1rem; color: var(--ink-xlight); padding-top: 4px; }
    .service-name { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; font-weight: 400; line-height: 1.2; }
    .service-desc { font-size: .88rem; color: var(--ink-light); font-weight: 300; line-height: 1.75; max-width: 420px; }
    .service-arrow { font-size: 1.2rem; color: var(--ink-xlight); padding-top: 4px; transition: transform .2s, color .2s; }
    .service-row:hover .service-arrow { transform: translateX(4px); color: var(--ink); }

    /* GEO BANNER */
    .geo-banner { height: 380px; position: relative; overflow: hidden; }
    #geo-band-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/bg2.avif') center 40%/cover no-repeat;
      will-change: transform; z-index: 0;
    }
    .geo-banner-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: rgba(8,12,18,0.62);
      display: flex; align-items: center; justify-content: center; text-align: center;
    }
    .geo-banner-text h3 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem,4vw,3.5rem); font-weight: 300; color: #fff; letter-spacing: .04em; }
    .geo-banner-text p { margin-top: .8rem; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,0.38); }

    /* GEO SECTION */
    .geo-section { background: var(--bg-dark); color: #fff; }
    .geo-section .section-header { border-color: rgba(255,255,255,0.1); }
    .geo-section .label { color: rgba(255,255,255,0.35); }
    .geo-section .section-title { color: #fff; }
    .geo-grid { display: grid; grid-template-columns: 1fr 1fr; }
    .geo-col { padding: 2.5rem 0; }
    .geo-col:first-child { padding-right: 5rem; border-right: 1px solid rgba(255,255,255,0.08); }
    .geo-col:last-child { padding-left: 5rem; }
    .geo-region { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 300; margin-bottom: 1.8rem; color: rgba(255,255,255,0.5); }
    .geo-countries { list-style: none; display: flex; flex-direction: column; gap: .3rem; }
    .geo-countries li {
      font-size: 1rem; font-weight: 300; color: rgba(255,255,255,0.85);
      padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,0.06);
      display: flex; align-items: center; gap: .75rem;
    }
    .geo-countries li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: rgba(255,255,255,0.22); flex-shrink: 0; }

    /* FOUNDER */
    .founder-section { padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 700px; }
    .founder-img-col { position: relative; overflow: hidden; }
    #founder-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/founder-rm.avif') center 20%/cover no-repeat;
      filter: grayscale(22%) brightness(0.9);
      will-change: transform; z-index: 0;
    }
    .founder-img-caption {
      position: absolute; bottom: 0; left: 0; right: 0; z-index: 2;
      background: linear-gradient(to top, rgba(8,12,18,0.9) 0%, transparent 100%);
      padding: 3rem 2.5rem 2.5rem;
    }
    .founder-img-caption strong { display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 400; color: #fff; }
    .founder-img-caption span { font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,0.4); }
    .founder-text-col {
      padding: 5rem 5%; background: var(--bg-warm);
      display: flex; flex-direction: column; justify-content: center;
    }
    .founder-text-col .section-header { flex-direction: column; gap: .8rem; margin-bottom: 2.5rem; padding-bottom: 2rem; }
    .founder-bio p { font-size: .95rem; font-weight: 300; color: var(--ink-mid); line-height: 1.85; margin-bottom: 1.3rem; }
    .founder-bio p:last-child { margin-bottom: 0; }

    /* CONTACT */
    .contact-section { position: relative; overflow: hidden; padding: 120px 5%; color: #fff; }
    #contact-bg {
      position: absolute; inset: -30% 0;
      background: url('../images/bg5.avif') center/cover no-repeat;
      filter: grayscale(30%) brightness(0.4);
      will-change: transform; z-index: 0;
    }
    .contact-overlay {
      position: absolute; inset: 0; z-index: 1;
      background: linear-gradient(135deg, rgba(8,12,18,0.92) 0%, rgba(8,12,18,0.65) 100%);
    }
    .contact-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
    .contact-headline { font-size: clamp(2rem,4vw,3.5rem); color: #fff; font-weight: 300; line-height: 1.15; margin-bottom: 1.5rem; }
    .contact-sub { font-size: .9rem; color: rgba(255,255,255,0.48); font-weight: 300; line-height: 1.75; margin-bottom: 2.5rem; }
    .contact-info { border-left: 1px solid rgba(255,255,255,0.1); padding-left: 5rem; }
    .contact-info-item { margin-bottom: 2rem; }
    .contact-info-item .label { color: rgba(255,255,255,0.3); margin-bottom: .5rem; }
    .contact-info-item p { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 300; color: rgba(255,255,255,0.82); }

    /* FOOTER */
    footer {
      background: #060a0f; padding: 1.8rem 5%;
      display: flex; align-items: center; justify-content: space-between;
      border-top: 1px solid rgba(255,255,255,0.04);
    }
    footer p { font-size: .72rem; color: rgba(255,255,255,0.2); letter-spacing: .05em; }
    .footer-logo { font-family: 'Cormorant Garamond', serif; font-size: .95rem; letter-spacing: .15em; text-transform: uppercase; color: rgba(255,255,255,0.22); }

    /* RESPONSIVE */
    @media (max-width: 960px) {
      .about-section, .founder-section, .contact-inner { grid-template-columns: 1fr; }
      .about-img-col, .founder-img-col { height: 380px; }
      .about-text-col, .founder-text-col { padding: 4rem 5%; }
      .contact-info { border-left: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 3rem; }
      .geo-grid { grid-template-columns: 1fr; }
      .geo-col:first-child { border-right: none; padding-right: 0; border-bottom: 1px solid rgba(255,255,255,0.08); padding-bottom: 2.5rem; }
      .geo-col:last-child { padding-left: 0; }
      .focus-grid { grid-template-columns: 1fr; }
      .focus-item:nth-child(odd) { border-right: none; }
      .service-row { grid-template-columns: 40px 1fr; }
      .service-desc, .service-arrow { display: none; }
    }
    @media (max-width: 768px) {
      .nav-links { display: none; }
      .hamburger { display: flex; }
      .mobile-menu { display: block; }
      section { padding: 70px 5%; }
      .hero { padding-bottom: 5rem; }
      .section-header { flex-direction: column; gap: 1rem; }
      .hero-title { font-size: 2.6rem; }
      footer { flex-direction: column; gap: .75rem; text-align: center; }
    }