:root {
      --deep-blue: #0A233F;
      --gold: #C69215;
      --gold-light: #d4a82a;
      --gold-dim: rgba(198,146,21,0.18);
      --black: #000000;
      --dark: #080a0d;
      --white: #ffffff;
      --gray: rgba(255,255,255,0.55);
      --border: rgba(198,146,21,0.18);
    }

    * { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }

    body {
      background: var(--dark);
      color: var(--white);
      font-family: 'Outfit', sans-serif;
      font-weight: 300;
      overflow-x: hidden;
    }

    /* ─ CURSOR ─ */
    .cursor {
      width:10px; height:10px;
      background: var(--gold);
      border-radius:50%;
      position:fixed; pointer-events:none;
      z-index:9999; transform:translate(-50%,-50%);
      transition:transform 0.1s, width 0.25s, height 0.25s, opacity 0.3s;
      mix-blend-mode: difference;
    }
    .cursor-ring {
      width:36px; height:36px;
      border:1px solid rgba(198,146,21,0.5);
      border-radius:50%;
      position:fixed; pointer-events:none;
      z-index:9998; transform:translate(-50%,-50%);
      transition:transform 0.18s ease, width 0.3s, height 0.3s;
    }

    /* ─ NAVBAR ─ */
    #navbar {
      position:fixed; top:0; left:0; right:0; z-index:1000;
      padding:22px 56px;
      display:flex; align-items:center; justify-content:space-between;
      transition:all 0.45s cubic-bezier(.4,0,.2,1);
    }
    #navbar.scrolled {
      background: rgba(4,6,9,0.94);
      backdrop-filter: blur(20px);
      padding:14px 56px;
      border-bottom:1px solid var(--border);
    }
    .nav-logo img {
      height:44px;
      display:block;
    }
    .nav-links {
      display:flex; align-items:center; gap:40px; list-style:none;
    }
    .nav-links a {
      color:rgba(255,255,255,0.6);
      text-decoration:none;
      font-size:0.78rem;
      letter-spacing:0.18em;
      text-transform:uppercase;
      font-weight:400;
      position:relative;
      transition:color 0.3s;
    }
    .nav-links a::after {
      content:'';
      position:absolute; bottom:-4px; left:0; right:100%;
      height:1px; background:var(--gold);
      transition:right 0.35s ease;
    }
    .nav-links a:hover { color:var(--gold); }
    .nav-links a:hover::after { right:0; }

    .lang-toggle {
      display:flex; align-items:center;
      border:1px solid var(--border);
      border-radius:2px; overflow:hidden;
    }
    .lang-btn {
      background:transparent; border:none;
      color:rgba(255,255,255,0.4);
      font-family:'Outfit',sans-serif;
      font-size:0.72rem; letter-spacing:0.12em;
      padding:7px 13px; cursor:pointer;
      transition:all 0.25s; text-transform:uppercase;
    }
    .lang-btn.active {
      background:var(--gold); color:var(--black); font-weight:500;
    }
    .hamburger {
      display:none; background:none; border:none;
      color:var(--white); font-size:1.3rem; cursor:pointer;
    }

    /* ─ HERO ─ */
    #hero {
      position:relative; height:100vh; min-height:640px;
      display:flex; flex-direction:column;
      align-items:center; justify-content:center;
      overflow:hidden; background:var(--black);
    }
    .hero-video-wrap {
      position:absolute; inset:0; z-index:0;
    }
    .hero-video-wrap iframe {
      position:absolute;
      top:50%; left:50%;
      transform:translate(-50%,-50%);
      width:177.78vh; min-width:100%;
      height:56.25vw; min-height:100%;
      pointer-events:none;
    }
    .hero-overlay {
      position:absolute; inset:0; z-index:1;
      background: rgba(0,0,0,0.63);
    }
    .hero-overlay-vignette {
      position:absolute; inset:0; z-index:2;
      background: radial-gradient(
        ellipse 70% 60% at 50% 50%,
        rgba(0,0,0,0.0) 0%,
        rgba(0,0,0,0.55) 100%
      );
    }
    .hero-grain {
      position:absolute; inset:0; z-index:3; opacity:0.04;
      background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
      background-size:200px;
      pointer-events:none;
    }
    .hero-content {
      position:relative; z-index:4;
      text-align:center; padding:0 24px;
      animation: heroIn 1.4s cubic-bezier(.16,1,.3,1) both;
    }
    .hero-pre {
      display:inline-flex; align-items:center; gap:12px;
      margin-bottom:28px;
    }
    .hero-pre-line {
      width:32px; height:1px; background:var(--gold);
    }
    .hero-pre span {
      font-size:0.7rem; letter-spacing:0.3em;
      text-transform:uppercase; color:var(--gold); font-weight:400;
    }
    .hero-title {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(3rem,7vw,6.4rem);
      font-weight:700; line-height:1.02;
      margin-bottom:32px; color:var(--white);
      text-shadow: 0 2px 40px rgba(0,0,0,0.8), 0 0 80px rgba(0,0,0,0.6);
    }
    .hero-title em {
      font-style:italic; color:var(--gold);
      text-shadow: 0 2px 30px rgba(0,0,0,0.9);
    }
    .hero-sub {
      font-size:1rem; color:rgba(255,255,255,0.85);
      letter-spacing:0.03em; margin-bottom:48px;
      max-width:440px; margin-left:auto; margin-right:auto;
      line-height:1.75;
      text-shadow: 0 1px 12px rgba(0,0,0,0.9);
    }
    .hero-ctas {
      display:flex; gap:16px; justify-content:center; flex-wrap:wrap;
    }
    .btn-gold {
      background:var(--gold); color:var(--black);
      font-family:'Outfit',sans-serif;
      font-size:0.75rem; font-weight:500;
      letter-spacing:0.18em; text-transform:uppercase;
      padding:15px 38px; border:none;
      text-decoration:none; display:inline-block;
      transition:all 0.3s; position:relative; overflow:hidden;
    }
    .btn-gold::before {
      content:''; position:absolute; inset:0;
      background:rgba(255,255,255,0.15);
      transform:translateX(-100%);
      transition:transform 0.35s ease;
    }
    .btn-gold:hover { color:var(--black); transform:translateY(-2px); box-shadow:0 8px 24px rgba(198,146,21,0.3); }
    .btn-gold:hover::before { transform:translateX(0); }

    .btn-ghost {
      background:transparent;
      border:1px solid rgba(255,255,255,0.25);
      color:rgba(255,255,255,0.75);
      font-family:'Outfit',sans-serif;
      font-size:0.75rem; font-weight:400;
      letter-spacing:0.18em; text-transform:uppercase;
      padding:14px 38px; text-decoration:none;
      display:inline-block; transition:all 0.3s;
    }
    .btn-ghost:hover {
      border-color:var(--gold); color:var(--gold);
    }

    .hero-scroll {
      position:absolute; bottom:36px; left:50%;
      transform:translateX(-50%); z-index:4;
      display:flex; flex-direction:column; align-items:center; gap:10px;
      color:rgba(255,255,255,0.3);
      font-size:0.65rem; letter-spacing:0.25em; text-transform:uppercase;
      animation:scrollBounce 2.5s ease infinite;
    }
    .scroll-line {
      width:1px; height:40px;
      background:linear-gradient(to bottom, transparent, rgba(198,146,21,0.6));
    }

    /* ─ SECTIONS ─ */
    section { padding:110px 0; }
    .s-label {
      font-size:0.66rem; letter-spacing:0.3em; text-transform:uppercase;
      color:var(--gold); margin-bottom:14px; display:block; font-weight:400;
    }
    .s-title {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(2.2rem,4.5vw,3.6rem);
      font-weight:700; line-height:1.1; margin-bottom:0;
    }
    .gold-line {
      width:44px; height:1px;
      background:linear-gradient(to right, var(--gold), transparent);
      margin:28px 0;
    }

    /* ─ ABOUT ─ */
    #about {
      background:var(--dark);
      border-top:1px solid var(--border);
    }
    .about-quote {
      font-family:'Cormorant Garamond',serif;
      font-size:clamp(1.4rem,2.8vw,2rem);
      font-style:italic; font-weight:600;
      color:var(--gold); line-height:1.45;
      padding-left:24px;
      border-left:2px solid var(--gold);
      margin-bottom:36px;
    }
    .about-body {
      color:var(--gray); line-height:1.9;
      font-size:0.95rem;
    }
    .about-body p { margin-bottom:20px; }
    .symbol-container {
      position:relative;
      display:flex; align-items:center; justify-content:center;
    }
    .symbol-glow {
      position:absolute; inset:-30%;
      background:radial-gradient(circle at center, rgba(198,146,21,0.1) 0%, transparent 65%);
      pointer-events:none;
    }
    .symbol-container img {
      width:min(380px,85%); position:relative; z-index:1;
      animation:symbolFloat 6s ease-in-out infinite;
    }

    /* ─ SERVICES ─ */
    #services { background:#050709; }
    .service-card {
      background:rgba(10,35,63,0.2);
      border:1px solid var(--border);
      padding:40px 36px; height:100%;
      transition:all 0.4s cubic-bezier(.4,0,.2,1);
      position:relative; overflow:hidden;
    }
    .service-card::after {
      content:''; position:absolute; inset:0;
      background:linear-gradient(135deg, rgba(198,146,21,0.04) 0%, transparent 60%);
      opacity:0; transition:opacity 0.4s;
    }
    .service-card:hover {
      border-color:rgba(198,146,21,0.45);
      transform:translateY(-6px);
      box-shadow:0 20px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(198,146,21,0.12);
    }
    .service-card:hover::after { opacity:1; }
    .svc-num {
      font-family:'Cormorant Garamond',serif;
      font-size:3.5rem; font-weight:700;
      color:rgba(198,146,21,0.08);
      position:absolute; top:16px; right:20px;
      line-height:1; pointer-events:none;
      transition:color 0.4s;
    }
    .service-card:hover .svc-num { color:rgba(198,146,21,0.14); }
    .svc-icon {
      width:42px; height:42px; margin-bottom:24px;
      color:var(--gold); font-size:1.5rem;
      display:flex; align-items:center;
    }
    .svc-name {
      font-family:'Cormorant Garamond',serif;
      font-size:1.25rem; font-weight:700;
      color:var(--white); margin-bottom:18px;
    }
    .svc-list { list-style:none; padding:0; }
    .svc-list li {
      font-size:0.8rem; color:rgba(255,255,255,0.48);
      padding:6px 0;
      border-bottom:1px solid rgba(255,255,255,0.05);
      letter-spacing:0.02em; display:flex; align-items:center; gap:8px;
    }
    .svc-list li:last-child { border-bottom:none; }
    .svc-list li::before {
      content:''; width:5px; height:1px;
      background:var(--gold); flex-shrink:0; opacity:0.5;
    }

    /* ─ MARKETS ─ */
    #markets { background:var(--dark); }
    .market-card {
      padding:56px 52px; height:100%;
      position:relative; overflow:hidden;
      border:1px solid var(--border);
      transition:border-color 0.4s;
    }
    .market-card:hover { border-color:rgba(198,146,21,0.4); }
    .market-card.peru {
      background:linear-gradient(135deg, rgba(10,35,63,0.45) 0%, rgba(4,8,14,0.9) 100%);
    }
    .market-card.usa {
      background:linear-gradient(135deg, rgba(4,8,14,0.95) 0%, rgba(10,35,63,0.35) 100%);
    }
    .market-watermark {
      position:absolute; bottom:-20px; right:-10px;
      font-family:'Cormorant Garamond',serif;
      font-size:9rem; font-weight:700; line-height:1;
      color:rgba(198,146,21,0.04);
      pointer-events:none; white-space:nowrap;
    }
    .market-flag { font-size:2.2rem; margin-bottom:18px; }
    .market-tag {
      font-size:0.66rem; letter-spacing:0.2em; text-transform:uppercase;
      color:var(--gold); margin-bottom:8px; display:block;
    }
    .market-city {
      font-family:'Cormorant Garamond',serif;
      font-size:2.2rem; font-weight:700; margin-bottom:28px;
    }
    .market-list { list-style:none; padding:0; }
    .market-list li {
      font-size:0.84rem; color:rgba(255,255,255,0.55);
      padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06);
      display:flex; align-items:center; gap:10px;
    }
    .market-list li::before {
      content:'✦'; color:var(--gold); font-size:0.55rem; flex-shrink:0;
    }

    /* ─ PORTFOLIO ─ */
    #portfolio { background:#050709; }
    .port-placeholder {
      position:relative; overflow:hidden;
      background:rgba(10,35,63,0.18);
      border:1px solid var(--border);
      display:flex; flex-direction:column;
      align-items:center; justify-content:center;
      gap:14px; cursor:pointer;
      transition:all 0.4s;
    }
    .port-placeholder:hover {
      border-color:rgba(198,146,21,0.4);
      background:rgba(10,35,63,0.3);
    }
    .port-placeholder .port-icon {
      width:52px; height:52px; border-radius:50%;
      border:1px solid rgba(198,146,21,0.3);
      display:flex; align-items:center; justify-content:center;
      color:var(--gold); font-size:1.2rem;
      transition:all 0.3s;
    }
    .port-placeholder:hover .port-icon {
      background:rgba(198,146,21,0.1);
      border-color:var(--gold);
    }
    .port-placeholder span {
      font-size:0.7rem; letter-spacing:0.15em; text-transform:uppercase;
      color:rgba(255,255,255,0.25);
    }
    .port-main { aspect-ratio:16/9; }
    .port-side { aspect-ratio:4/5; }
    .port-sm { aspect-ratio:16/9; }

    /* ─ CONTACT ─ */
    #contact {
      background:var(--deep-blue);
      position:relative; overflow:hidden;
    }
    #contact::before {
      content:''; position:absolute;
      top:-300px; right:-300px;
      width:700px; height:700px; border-radius:50%;
      background:radial-gradient(circle, rgba(198,146,21,0.07) 0%, transparent 70%);
      pointer-events:none;
    }
    #contact::after {
      content:''; position:absolute;
      bottom:-200px; left:-200px;
      width:500px; height:500px; border-radius:50%;
      background:radial-gradient(circle, rgba(198,146,21,0.04) 0%, transparent 70%);
      pointer-events:none;
    }
    .ci-item {
      display:flex; align-items:flex-start; gap:20px; margin-bottom:30px;
    }
    .ci-icon {
      width:42px; height:42px; flex-shrink:0;
      border:1px solid rgba(198,146,21,0.3);
      display:flex; align-items:center; justify-content:center;
      color:var(--gold); font-size:0.88rem;
      transition:all 0.3s;
    }
    .ci-item:hover .ci-icon {
      background:rgba(198,146,21,0.1);
      border-color:var(--gold);
    }
    .ci-label {
      font-size:0.65rem; letter-spacing:0.18em;
      text-transform:uppercase; color:var(--gold); margin-bottom:4px;
    }
    .ci-val { font-size:0.9rem; color:rgba(255,255,255,0.7); }
    .ci-val a { color:rgba(255,255,255,0.7); text-decoration:none; transition:color 0.3s; }
    .ci-val a:hover { color:var(--gold); }

    .form-field {
      position:relative; margin-bottom:6px;
    }
    .form-field input, .form-field textarea, .form-field select {
      width:100%;
      background:rgba(255,255,255,0.04);
      border:none; border-bottom:1px solid rgba(198,146,21,0.25);
      border-radius:0; color:var(--white);
      font-family:'Outfit',sans-serif; font-size:0.9rem; font-weight:300;
      padding:16px 4px 10px;
      transition:border-color 0.3s;
      outline:none;
    }
    .form-field input:focus, .form-field textarea:focus, .form-field select:focus {
      border-bottom-color:var(--gold);
      background:rgba(198,146,21,0.04);
    }
    .form-field select { appearance:none; cursor:pointer; }
    .form-field select option { background:#0A233F; }
    .form-field label {
      position:absolute; top:14px; left:4px;
      font-size:0.72rem; letter-spacing:0.12em;
      text-transform:uppercase; color:rgba(255,255,255,0.3);
      pointer-events:none; transition:all 0.3s;
    }
    .form-field input:focus ~ label,
    .form-field input:not(:placeholder-shown) ~ label,
    .form-field textarea:focus ~ label,
    .form-field textarea:not(:placeholder-shown) ~ label {
      top:0; font-size:0.62rem; color:var(--gold);
    }
    .form-field textarea { resize:none; min-height:110px; }

    /* ─ FOOTER ─ */
    footer {
      background:var(--black);
      padding:44px 0 28px;
      border-top:1px solid rgba(198,146,21,0.1);
    }
    .footer-logo img { height:46px; }
    .footer-soc a {
      width:36px; height:36px;
      border:1px solid rgba(255,255,255,0.1);
      display:inline-flex; align-items:center; justify-content:center;
      color:rgba(255,255,255,0.4); text-decoration:none;
      margin-right:8px; font-size:0.82rem;
      transition:all 0.3s;
    }
    .footer-soc a:hover { border-color:var(--gold); color:var(--gold); }
    .footer-copy {
      font-size:0.73rem; color:rgba(255,255,255,0.25); letter-spacing:0.05em;
    }

    /* ─ MOBILE NAV ─ */
    #navMobile {
      display:none; position:fixed; inset:0;
      background:rgba(0,0,0,0.97);
      z-index:999; flex-direction:column;
      align-items:center; justify-content:center; gap:36px;
    }
    #navMobile.open { display:flex; }
    #navMobile a {
      color:var(--white); text-decoration:none;
      font-family:'Cormorant Garamond',serif;
      font-size:2.4rem; font-weight:700;
      transition:color 0.3s;
    }
    #navMobile a:hover { color:var(--gold); }
    #navMobile .close-btn {
      position:absolute; top:24px; right:28px;
      font-size:1.5rem; color:rgba(255,255,255,0.6);
      cursor:pointer; background:none; border:none;
      transition:color 0.3s;
    }
    #navMobile .close-btn:hover { color:var(--gold); }

    /* ─ ANIMATIONS ─ */
    @keyframes heroIn {
      from { opacity:0; transform:translateY(40px); }
      to   { opacity:1; transform:translateY(0); }
    }
    @keyframes scrollBounce {
      0%,100% { transform:translateX(-50%) translateY(0); }
      50%      { transform:translateX(-50%) translateY(8px); }
    }
    @keyframes symbolFloat {
      0%,100% { transform:translateY(0px); }
      50%      { transform:translateY(-14px); }
    }
    .fade-up {
      opacity:0; transform:translateY(32px);
      transition:opacity 0.75s ease, transform 0.75s ease;
    }
    .fade-up.visible {
      opacity:1; transform:none;
    }

    /* ─ RESPONSIVE ─ */
    @media (max-width:991px) {
      #navbar { padding:16px 24px; }
      #navbar.scrolled { padding:12px 24px; }
      .nav-links { display:none; }
      .hamburger { display:block; }
      .market-card { padding:40px 32px; }
    }
    @media (max-width:576px) {
      section { padding:80px 0; }
      .hero-title { font-size:2.8rem; }
      .market-card { padding:32px 24px; }
      .service-card { padding:30px 24px; }
    }
