  :root{
    --forest:#0F3D22;
    --forest-2:#164B2A;
    --emerald:#2E7D32;
    --gold:#C8A24D;
    --gold-2:#E4C579;
    --gold-soft:#EFE0B7;
    --ink:#0E1310;
    --ink-2:#1A211C;
    --paper:#F7F5EE;
    --paper-2:#EFEBDF;
    --mist:#E8EBE1;
    --line:rgba(15,61,34,0.14);
    --maxw:1320px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:auto; overflow-x:hidden; width:100%;}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} *{animation-duration:.001ms !important; transition-duration:.001ms !important;}}
  body{font-family:'DM Sans','Inter',sans-serif; background:var(--paper); color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; width:100%; max-width:100vw;}
  h1,h2,h3,h4,h5{font-family:'Plus Jakarta Sans',sans-serif; color:var(--ink); letter-spacing:-0.02em; font-weight:600;}
  a{text-decoration:none; color:inherit;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 48px;}
  @media(max-width:800px){.wrap{padding:0 22px;}}

  .eyebrow{
    font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:700;
    letter-spacing:0.22em; text-transform:uppercase; color:var(--emerald);
    display:inline-flex; align-items:center; gap:12px;
  }
  .eyebrow::before{content:''; width:28px; height:1px; background:var(--gold);}
  .eyebrow.on-dark{color:var(--gold-2);}

  .btn{
    display:inline-flex; align-items:center; gap:10px;
    font-family:'Manrope',sans-serif; font-weight:600; font-size:13.5px;
    letter-spacing:0.03em; padding:16px 28px; border-radius:2px;
    border:1px solid transparent; cursor:pointer; transition:all .3s ease; white-space:nowrap;
  }
  .btn .arw{transition:transform .3s;}
  .btn:hover .arw{transform:translateX(4px);}
  .btn-primary{background:var(--gold); color:var(--ink);}
  .btn-primary:hover{background:var(--gold-2);}
  .btn-ghost{border-color:rgba(255,255,255,0.35); color:#fff; backdrop-filter:blur(6px);}
  .btn-ghost:hover{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.6);}
  .btn-dark{background:var(--forest); color:#fff;}
  .btn-dark:hover{background:var(--forest-2);}

  /* ============ NAV ============ */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:14px 0; transition:all .35s ease;
  }
  header .nav-inner{
    max-width:var(--maxw); margin:0 auto; padding:0 48px;
    display:flex; align-items:center; justify-content:space-between;
    background:rgba(14,19,16,0.42);
    backdrop-filter:blur(16px) saturate(160%);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:100px; padding:8px 48px; height:88px;
    transition:all .35s ease;
  }
  header.scrolled .nav-inner{background:rgba(14,19,16,0.82); border-color:rgba(255,255,255,0.06);}
  .logo{display:flex; align-items:center; transition:padding .3s;}
  .logo img{height:116px; width:auto; display:block; transition:height .3s; filter:brightness(0) invert(1);}
  .navlinks{display:flex; align-items:center; gap:34px;}
  .navlinks a{
    font-family:'Manrope',sans-serif; font-size:13px; font-weight:500;
    color:rgba(255,255,255,0.78); letter-spacing:0.02em; transition:color .2s;
    position:relative;
  }
  .navlinks a:hover{color:var(--gold-2);}
  .navcta .btn{padding:11px 20px; font-size:12.5px;}
  .burger{display:none; width:24px; height:16px; position:relative; cursor:pointer;}
  .burger span{position:absolute; left:0; width:100%; height:1.5px; background:#fff;}
  .burger span:nth-child(1){top:2px;} .burger span:nth-child(2){top:8px;} .burger span:nth-child(3){top:14px;}
  @media(max-width:1000px){
    .navlinks{
      display:flex; flex-direction:column; align-items:stretch; gap:0;
      position:fixed; top:calc(var(--hdr-h, 78px) + 12px); left:14px; right:14px; z-index:99;
      background:rgba(12,18,14,0.98); backdrop-filter:blur(18px) saturate(160%);
      border:1px solid rgba(255,255,255,0.1); border-radius:18px;
      padding:8px; opacity:0; visibility:hidden; transform:translateY(-8px);
      transition:opacity .25s ease, transform .25s ease, visibility .25s;
    }
    .navlinks.open{opacity:1; visibility:visible; transform:translateY(0);}
    .navlinks a{
      padding:16px 18px; font-size:15px; border-bottom:1px solid rgba(255,255,255,0.08);
      color:rgba(255,255,255,0.9);
    }
    .navlinks a:last-child{border-bottom:none;}
    .navcta{display:none;}
    .burger{display:block; z-index:101;}
    header .nav-inner{padding:10px 48px; height:auto; min-height:88px;}
    .logo img{height:120px;}
  }
  .burger{transition:opacity .2s;}
  .burger span{transition:transform .3s ease, opacity .3s ease;}
  .burger.active span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .burger.active span:nth-child(2){opacity:0;}
  .burger.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
  @media(max-width:800px){
    header{padding:10px 14px;}
    header .nav-inner{border-radius:16px; padding:8px 22px; min-height:80px;}
    .logo img{height:104px;}
  }
  @media(max-width:420px){
    .logo img{height:92px;}
  }

  /* ============ HERO ============ */
  .hero{position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden;}
  .hero-photo{position:absolute; inset:0; width:100%; height:110%; object-fit:cover; filter:saturate(1.05) contrast(1.05); animation:kenburns 22s ease-in-out infinite alternate;}
  @keyframes kenburns{0%{transform:scale(1) translateY(0);} 100%{transform:scale(1.08) translateY(-2%);}}
  .hero-scrim{
    position:absolute; inset:0;
    background:
      radial-gradient(ellipse at 80% 10%, rgba(200,162,77,0.22), transparent 55%),
      linear-gradient(180deg, rgba(10,20,12,0.55) 0%, rgba(10,20,12,0.35) 40%, rgba(8,16,10,0.85) 82%, #060d08 100%);
  }
  .hero-inner{position:relative; z-index:2; width:100%; padding-top:140px; padding-bottom:90px;}
  .hero-eyebrow{color:var(--gold-2); margin-bottom:28px;}
  .hero h1{
    color:#fff; font-size:clamp(44px, 6.4vw, 96px); font-weight:500; line-height:0.98;
    letter-spacing:-0.035em; max-width:16ch; margin-bottom:34px;
    font-family:'Plus Jakarta Sans',sans-serif;
  }
  .hero h1 em{font-style:normal; color:var(--gold-2); font-weight:400;}
  .hero-lead{color:rgba(255,255,255,0.78); font-size:18px; max-width:52ch; margin-bottom:44px; font-weight:300; line-height:1.6;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

  .hero-card{
    position:absolute; right:48px; bottom:120px; z-index:3;
    width:340px; padding:28px 30px;
    background:rgba(10,16,12,0.55); backdrop-filter:blur(20px) saturate(160%);
    border:1px solid rgba(255,255,255,0.12); border-radius:4px;
    color:#fff;
  }
  .hero-card .lbl{font-family:'Manrope'; font-size:10.5px; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-2); margin-bottom:14px;}
  .hero-card h4{color:#fff; font-size:18px; font-weight:500; margin-bottom:10px; letter-spacing:-0.01em;}
  .hero-card p{color:rgba(255,255,255,0.72); font-size:13.5px; font-weight:300;}
  .hero-card .divide{height:1px; background:rgba(255,255,255,0.15); margin:20px 0;}
  .hero-card .row{display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,0.7); font-family:'Manrope';}
  .hero-card .row span:last-child{color:#fff; font-weight:600;}
  @media(max-width:900px){.hero-card{display:none;}}

  .hero-scroll{position:absolute; bottom:32px; left:48px; z-index:3; color:rgba(255,255,255,0.6); font-family:'Manrope'; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; display:flex; align-items:center; gap:12px;}
  .hero-scroll .line{width:1px; height:40px; background:linear-gradient(180deg, var(--gold), transparent); animation:scrollpulse 2s ease-in-out infinite;}
  @keyframes scrollpulse{0%,100%{opacity:.4; transform:scaleY(1);} 50%{opacity:1; transform:scaleY(1.2);}}
  @media(max-width:800px){.hero-scroll{left:22px; bottom:22px;}}

  /* ============ PRINCIPLES BAR (replaces fake stats) ============ */
  .principles{background:var(--ink); color:#fff; padding:60px 0;}
  .principles-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0;}
  .principle{padding:8px 32px; border-right:1px solid rgba(255,255,255,0.08);}
  .principle:last-child{border-right:none;}
  .principle .ico{width:34px; height:34px; margin-bottom:18px; color:var(--gold);}
  .principle h4{color:#fff; font-size:15px; font-weight:500; margin-bottom:6px;}
  .principle p{color:rgba(255,255,255,0.55); font-size:12.5px; font-weight:300; line-height:1.5;}
  @media(max-width:900px){.principles-grid{grid-template-columns:repeat(2,1fr); gap:24px;} .principle{border-right:none; padding:0 22px;}}

  /* ============ SECTIONS ============ */
  section{padding:140px 0;}
  @media(max-width:800px){section{padding:80px 0;}}
  .section-head{max-width:720px; margin-bottom:72px;}
  .section-head h2{font-size:clamp(32px,3.6vw,56px); margin-top:20px; font-weight:500; line-height:1.05; letter-spacing:-0.025em;}
  .section-head p{color:#5b655c; font-size:17px; margin-top:22px; font-weight:300; max-width:56ch;}

  /* ============ ABOUT (immersive split) ============ */
  .about{background:var(--paper); position:relative;}
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center;}
  .about-img{position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:2px;}
  .about-img img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s ease;}
  .about-img:hover img{transform:scale(1.04);}
  .about-img::after{content:''; position:absolute; inset:0; background:linear-gradient(160deg, transparent 60%, rgba(15,61,34,0.35));}
  .about-badge{
    position:absolute; left:-24px; bottom:36px;
    background:var(--gold); color:var(--ink); padding:22px 28px;
    font-family:'Manrope'; z-index:2; max-width:220px;
  }
  .about-badge .num{font-size:36px; font-weight:800; letter-spacing:-0.02em; line-height:1;}
  .about-badge .cap{font-size:11px; text-transform:uppercase; letter-spacing:0.16em; margin-top:8px; font-weight:600;}
  .about-copy p{color:#4b554c; font-weight:300; font-size:16px; margin-bottom:20px; line-height:1.75;}
  .pillbar{display:flex; gap:10px; flex-wrap:wrap; margin-top:32px;}
  .pill{font-family:'Manrope'; font-size:11.5px; font-weight:600; letter-spacing:0.06em; padding:9px 16px; border:1px solid var(--line); border-radius:100px; color:var(--forest); text-transform:uppercase;}
  @media(max-width:900px){.about-grid{grid-template-columns:1fr; gap:60px;} .about-badge{left:0;}}

  /* ============ FULL-BLEED PARALLAX BAND ============ */
  .parallax{
    position:relative; min-height:520px;
    background-attachment:fixed; background-size:cover; background-position:center;
    display:flex; align-items:center;
  }
  .parallax::before{content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(8,14,10,0.85), rgba(8,14,10,0.15));}
  .parallax .wrap{position:relative; z-index:2;}
  .parallax h2{color:#fff; font-size:clamp(30px,3.4vw,54px); font-weight:400; max-width:20ch; line-height:1.1; letter-spacing:-0.02em;}
  .parallax h2 em{font-style:normal; color:var(--gold-2); font-weight:400;}
  .parallax .lead{color:rgba(255,255,255,0.75); font-size:17px; max-width:52ch; margin-top:22px; font-weight:300;}
  @media(max-width:900px){.parallax{background-attachment:scroll; min-height:400px;}}

  /* ============ SERVICES (image cards) ============ */
  .services{background:var(--paper);}
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .svc-card{position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:2px; display:block; cursor:pointer;}
  .svc-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s ease;}
  .svc-card:hover img{transform:scale(1.08);}
  .svc-card::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(6,12,8,0.88) 100%); transition:background .4s;}
  .svc-card:hover::after{background:linear-gradient(180deg, rgba(15,61,34,0.2) 0%, rgba(6,12,8,0.92) 100%);}
  .svc-body{position:absolute; left:0; right:0; bottom:0; padding:32px 30px; color:#fff; z-index:2;}
  .svc-num{font-family:'Manrope'; font-size:11px; letter-spacing:0.24em; color:var(--gold-2); margin-bottom:14px;}
  .svc-body h4{color:#fff; font-size:22px; font-weight:500; margin-bottom:10px; letter-spacing:-0.01em;}
  .svc-body p{color:rgba(255,255,255,0.72); font-size:13.5px; font-weight:300; max-height:0; overflow:hidden; transition:max-height .5s ease, margin .5s ease; margin-bottom:0;}
  .svc-card:hover .svc-body p{max-height:120px; margin-bottom:16px;}
  .svc-arrow{display:inline-flex; align-items:center; gap:8px; font-family:'Manrope'; font-size:12px; letter-spacing:0.1em; color:var(--gold-2); text-transform:uppercase; font-weight:600;}
  @media(max-width:900px){.services-grid{grid-template-columns:1fr;} .svc-card{aspect-ratio:16/11;} .svc-body p{max-height:100px; margin-bottom:14px;}}

  /* ============ IMPACT / STATEMENTS (no fake stats) ============ */
  .impact{background:linear-gradient(160deg, var(--ink) 0%, var(--forest) 100%); color:#fff; position:relative; overflow:hidden;}
  .impact::before{content:''; position:absolute; right:-15%; top:-15%; width:60%; height:60%; background:radial-gradient(circle, rgba(200,162,77,0.14), transparent 65%);}
  .impact .section-head h2, .impact .eyebrow{color:#fff;}
  .impact .eyebrow{color:var(--gold-2);}
  .impact .section-head p{color:rgba(255,255,255,0.7);}
  .impact-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; z-index:1;}
  .impact-item{padding:36px 32px; border-left:1px solid rgba(255,255,255,0.12);}
  .impact-item:first-child{border-left:none; padding-left:0;}
  .impact-num{font-family:'Plus Jakarta Sans'; font-weight:400; font-size:clamp(52px,5.5vw,80px); color:#fff; letter-spacing:-0.04em; line-height:1;}
  .impact-num .unit{color:var(--gold-2); font-size:0.5em; margin-left:4px;}
  .impact-sub{font-size:13px; color:rgba(255,255,255,0.68); margin-top:14px; font-family:'Manrope'; letter-spacing:0.04em; line-height:1.5;}
  @media(max-width:900px){.impact-grid{grid-template-columns:repeat(2,1fr);} .impact-item{padding:24px 20px; border-left:none; border-top:1px solid rgba(255,255,255,0.12);} .impact-item:nth-child(-n+2){border-top:none;}}

  /* ============ PROJECTS ============ */
  .projects{background:var(--paper-2);}
  .projects-grid{display:grid; grid-template-columns:1.35fr 1fr; gap:20px;}
  .proj{position:relative; overflow:hidden; border-radius:2px; min-height:520px; display:block; cursor:pointer;}
  .proj img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s ease;}
  .proj:hover img{transform:scale(1.06);}
  .proj::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(6,12,8,0.9) 100%);}
  .proj-body{position:absolute; left:0; right:0; bottom:0; padding:40px 36px; color:#fff; z-index:2;}
  .proj-tag{font-family:'Manrope'; font-size:10.5px; letter-spacing:0.22em; color:var(--gold-2); text-transform:uppercase; margin-bottom:12px;}
  .proj-body h3{color:#fff; font-size:28px; font-weight:500; margin-bottom:12px; letter-spacing:-0.02em;}
  .proj-body p{color:rgba(255,255,255,0.78); font-size:14.5px; font-weight:300; max-width:44ch;}
  .proj-col{display:flex; flex-direction:column; gap:20px;}
  .proj-col .proj{min-height:250px;}
  @media(max-width:900px){.projects-grid{grid-template-columns:1fr;} .proj{min-height:340px;}}

  /* ============ ESG PARALLAX ============ */
  .esg{position:relative; overflow:hidden; color:#fff;}
  .esg-bg{position:absolute; inset:0;}
  .esg-bg img{width:100%; height:100%; object-fit:cover;}
  .esg-bg::after{content:''; position:absolute; inset:0; background:linear-gradient(120deg, rgba(8,20,12,0.94) 0%, rgba(15,61,34,0.88) 60%, rgba(15,61,34,0.7) 100%);}
  .esg .wrap{position:relative; z-index:2;}
  .esg .eyebrow{color:var(--gold-2);}
  .esg .section-head h2{color:#fff;}
  .esg .section-head p{color:rgba(255,255,255,0.75);}
  .esg-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:20px;}
  .esg-item{border-left:2px solid var(--gold); padding:8px 0 8px 22px;}
  .esg-item h4{color:#fff; font-size:16px; margin-bottom:10px; font-weight:500;}
  .esg-item p{color:rgba(255,255,255,0.7); font-size:13.5px; font-weight:300; line-height:1.6;}
  .sdg-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:52px;}
  .sdg-chip{font-family:'Manrope'; font-weight:500; font-size:12px; letter-spacing:0.05em; padding:9px 16px; border:1px solid rgba(255,255,255,0.28); border-radius:100px; color:rgba(255,255,255,0.9);}
  @media(max-width:900px){.esg-grid{grid-template-columns:1fr 1fr; gap:24px;}}

  /* ============ MAP ============ */
  .maparea{background:var(--paper); position:relative;}
  .map-grid{display:grid; grid-template-columns:0.5fr 1.5fr; gap:70px; align-items:center;}
  .map-list{display:flex; flex-direction:column; gap:0;}
  .map-item{padding:22px 0; border-top:1px solid var(--line); cursor:pointer; transition:padding-left .3s;}
  .map-item:last-child{border-bottom:1px solid var(--line);}
  .map-item:hover{padding-left:12px;}
  .map-item h4{font-size:16px; font-weight:600; display:flex; align-items:center; gap:12px; letter-spacing:-0.005em;}
  .map-item h4::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(200,162,77,0.2);}
  .map-item p{font-size:13.5px; color:#5b655c; margin-top:6px; font-weight:300; padding-left:20px;}
  .map-visual{position:relative; aspect-ratio:16/12; background:linear-gradient(160deg, #F0EEE3, #E5E2D2); border-radius:4px; overflow:hidden; padding:40px;}
  .map-visual svg{width:100%; height:100%; overflow:visible;}
  .pin{cursor:pointer;}
  .pin circle.outer{fill:var(--gold); opacity:0.25; transform-origin:center; animation:pulse 2.6s ease-in-out infinite;}
  .pin circle.mid{fill:var(--gold); opacity:0.45;}
  .pin circle.inner{fill:var(--forest); stroke:var(--gold); stroke-width:2;}
  .pin:hover circle.inner{fill:var(--gold);}
  @keyframes pulse{0%,100%{transform:scale(1); opacity:.25;} 50%{transform:scale(1.6); opacity:0;}}
  .pin text{font-family:'Manrope'; font-size:11px; fill:var(--ink); font-weight:700; letter-spacing:0.06em; text-transform:uppercase;}
  @media(max-width:900px){.map-grid{grid-template-columns:1fr; gap:40px;}}

  /* ============ INVEST ============ */
  .invest{position:relative; padding:0; overflow:hidden;}
  .invest-inner{display:grid; grid-template-columns:1fr 1fr; min-height:640px;}
  .invest-img{position:relative; overflow:hidden;}
  .invest-img img{width:100%; height:100%; object-fit:cover;}
  .invest-img::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg, transparent 60%, var(--ink));}
  .invest-body{background:var(--ink); color:#fff; padding:110px 80px; display:flex; flex-direction:column; justify-content:center;}
  .invest-body .eyebrow{color:var(--gold-2);}
  .invest-body h2{color:#fff; font-size:clamp(30px,3.2vw,48px); font-weight:500; margin:20px 0 22px; letter-spacing:-0.02em; line-height:1.1;}
  .invest-body p.lead{color:rgba(255,255,255,0.72); font-size:16px; margin-bottom:36px; font-weight:300; max-width:46ch; line-height:1.7;}
  .invest-points{display:flex; flex-direction:column; gap:22px; margin-bottom:44px;}
  .invest-point{display:flex; gap:16px; align-items:flex-start;}
  .invest-point .num{font-family:'Manrope'; color:var(--gold-2); font-size:12px; font-weight:700; letter-spacing:0.12em; padding-top:4px; min-width:24px;}
  .invest-point p{color:rgba(255,255,255,0.82); font-size:14.5px; font-weight:300; line-height:1.6;}
  .invest-point strong{color:#fff; font-weight:600;}
  @media(max-width:900px){.invest-inner{grid-template-columns:1fr;} .invest-body{padding:70px 30px;} .invest-img{min-height:400px;} .invest-img::after{background:linear-gradient(180deg, transparent 55%, var(--ink));}}

  /* ============ NEWS ============ */
  .news{background:var(--paper);}
  .news-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
  .news-card{cursor:pointer;}
  .news-card .thumb{aspect-ratio:4/3; overflow:hidden; margin-bottom:24px; border-radius:2px; position:relative;}
  .news-card .thumb img{width:100%;height:100%;object-fit:cover; transition:transform 1.2s;}
  .news-card:hover .thumb img{transform:scale(1.06);}
  .news-card .date{font-family:'Manrope'; font-size:11px; color:var(--emerald); font-weight:700; letter-spacing:0.14em; text-transform:uppercase;}
  .news-card h4{font-size:20px; font-weight:500; margin:12px 0 10px; letter-spacing:-0.01em; line-height:1.3;}
  .news-card p{font-size:14px; color:#5b655c; font-weight:300; line-height:1.6;}
  @media(max-width:900px){.news-grid{grid-template-columns:1fr;}}

  /* ============ CTA / NEWSLETTER (full bleed image) ============ */
  .cta{position:relative; overflow:hidden; padding:180px 0; color:#fff;}
  .cta-bg{position:absolute; inset:0;}
  .cta-bg img{width:100%; height:100%; object-fit:cover;}
  .cta-bg::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,12,8,0.5), rgba(6,12,8,0.85));}
  .cta .wrap{position:relative; z-index:2; text-align:center;}
  .cta h2{color:#fff; font-size:clamp(34px,4vw,64px); font-weight:400; max-width:22ch; margin:22px auto 26px; letter-spacing:-0.03em; line-height:1.05;}
  .cta h2 em{font-style:normal; color:var(--gold-2);}
  .cta p{color:rgba(255,255,255,0.75); font-size:17px; max-width:52ch; margin:0 auto 42px; font-weight:300;}
  .nl-form{display:flex; gap:0; max-width:520px; margin:0 auto;}
  .nl-form input{
    flex:1; padding:18px 22px; border:1px solid rgba(255,255,255,0.28); background:rgba(255,255,255,0.05);
    color:#fff; font-family:'DM Sans'; font-size:14.5px; border-right:none; backdrop-filter:blur(10px);
  }
  .nl-form input:focus{outline:none; border-color:var(--gold-2);}
  .nl-form input::placeholder{color:rgba(255,255,255,0.5);}
  .nl-form button{border-radius:0;}

  /* ============ FOOTER ============ */
  footer{background:#070C08; color:rgba(255,255,255,0.68); padding:90px 0 0;}
  .foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:50px; padding-bottom:70px; border-bottom:1px solid rgba(255,255,255,0.06);}
  .foot-brand img{height:104px; width:auto; margin-bottom:24px; filter:brightness(0) invert(1);}
  .foot-brand p{font-size:14px; max-width:36ch; margin-bottom:26px; font-weight:300; line-height:1.7;}
  .foot-col h5{font-family:'Manrope'; color:#fff; font-size:11.5px; letter-spacing:0.18em; text-transform:uppercase; margin-bottom:22px; font-weight:600;}
  .foot-col a{display:block; font-size:14px; margin-bottom:14px; color:rgba(255,255,255,0.6); transition:color .2s;}
  .foot-col a:hover{color:var(--gold-2);}
  .social-row{display:flex; gap:10px; margin-top:8px;}
  .social-row a{width:38px; height:38px; border:1px solid rgba(255,255,255,0.18); border-radius:50%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.75); transition:all .25s;}
  .social-row a:hover{background:var(--gold); color:var(--ink); border-color:var(--gold);}
  .social-row a svg{width:16px; height:16px; fill:currentColor;}
  .foot-bottom{display:flex; justify-content:space-between; align-items:center; padding:28px 0; font-size:12.5px; color:rgba(255,255,255,0.4); flex-wrap:wrap; gap:12px;}
  .foot-bottom a{color:rgba(255,255,255,0.4);}
  .foot-bottom a:hover{color:var(--gold-2);}
  @media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr; gap:40px;}}

  /* ============ REVEAL ============ */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s ease;}
  .reveal.in{opacity:1; transform:none;}

/* ============ WHATSAPP FLOATING WIDGET (modern glass pill) ============ */
.wa-widget{
  position:fixed; right:28px; bottom:28px; z-index:999;
  display:flex; align-items:center; justify-content:flex-end;
  animation:wa-enter .6s cubic-bezier(.16,1,.3,1) .4s both;
}
.wa-widget.wa-dismissed{ display:none; }
@keyframes wa-enter{
  from{ opacity:0; transform:translateY(18px) scale(.94); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.wa-widget .wa-card{
  position:relative; display:flex; align-items:center; gap:13px;
  background:rgba(255,255,255,0.72); color:var(--ink); text-decoration:none;
  padding:9px 18px 9px 9px; border-radius:100px;
  box-shadow:0 14px 40px -8px rgba(15,61,34,0.32), 0 2px 10px rgba(15,61,34,0.1), inset 0 0 0 1px rgba(255,255,255,0.6);
  border:1px solid rgba(15,61,34,0.08);
  backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  transition:box-shadow .35s ease, transform .35s cubic-bezier(.4,0,.2,1), background .35s ease;
  animation:wa-float 4.5s ease-in-out infinite;
}
@keyframes wa-float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-5px); }
}
.wa-widget .wa-card:hover{
  background:rgba(255,255,255,0.92);
  box-shadow:0 20px 52px -10px rgba(15,61,34,0.4), 0 4px 14px rgba(15,61,34,0.16), inset 0 0 0 1px rgba(255,255,255,0.8);
  transform:translateY(-2px) scale(1.015);
  animation-play-state:paused;
}
.wa-bubble{
  position:relative; width:46px; height:46px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(145deg,#2FE380,#1DA851 65%,#128C42);
  display:flex; align-items:center; justify-content:center;
  box-shadow:inset 0 -3px 5px rgba(0,0,0,0.14), inset 0 2px 3px rgba(255,255,255,0.35), 0 4px 10px rgba(29,168,81,0.35);
}
.wa-bubble svg{ width:24px; height:24px; fill:#fff; position:relative; z-index:1; }
.wa-bubble .wa-ring{
  position:absolute; inset:-7px; border-radius:50%; border:2px solid rgba(37,211,102,0.45);
  animation:wa-ring 2.6s ease-out infinite;
}
.wa-bubble .wa-dot{
  position:absolute; bottom:0; right:0; width:13px; height:13px; border-radius:50%;
  background:#2ECC71; border:2.5px solid #fff; box-shadow:0 0 0 1px rgba(15,61,34,0.08);
}
@keyframes wa-ring{
  0%{ opacity:.6; transform:scale(1); }
  100%{ opacity:0; transform:scale(1.55); }
}
.wa-text{ white-space:nowrap; overflow:hidden; line-height:1.3; }
.wa-text .wa-label{ display:block; font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; color:var(--forest); letter-spacing:-0.01em; }
.wa-text .wa-sub{
  display:flex; align-items:center; gap:5px;
  font-family:'DM Sans',sans-serif; font-size:11px; color:#5c655e; margin-top:2px;
}
.wa-status-dot{ width:6px; height:6px; border-radius:50%; background:#2ECC71; flex-shrink:0; box-shadow:0 0 0 3px rgba(46,204,113,0.18); }
.wa-arrow{
  display:flex; align-items:center; justify-content:center; color:var(--forest);
  opacity:0; transform:translateX(-4px); transition:opacity .25s ease, transform .25s ease; flex-shrink:0;
}
.wa-arrow svg{ width:16px; height:16px; }
.wa-widget .wa-card:hover .wa-arrow{ opacity:.6; transform:translateX(0); }
.wa-close{
  position:absolute; top:-9px; right:-9px; width:22px; height:22px; border-radius:50%;
  background:var(--forest); color:#fff; border:2px solid var(--paper); cursor:pointer;
  font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(.7); transition:opacity .25s ease, transform .25s ease, background .2s ease;
  z-index:2; padding:0;
}
.wa-widget:hover .wa-close, .wa-widget:focus-within .wa-close{ opacity:1; transform:scale(1); }
.wa-close:hover{ background:var(--emerald); }
@media(max-width:640px){
  .wa-widget{ right:16px; bottom:16px; animation:wa-enter .5s cubic-bezier(.16,1,.3,1) .2s both; }
  .wa-widget .wa-card{ padding:9px; gap:0; animation:none; }
  .wa-text, .wa-arrow{ display:none; }
  .wa-bubble{ width:52px; height:52px; }
  .wa-bubble svg{ width:27px; height:27px; }
  .wa-close{ width:20px; height:20px; opacity:1; transform:scale(1); top:-6px; right:-6px; }
}

/* ============ BACK TO TOP ============ */
.back-to-top{
  position:fixed; left:24px; bottom:24px; z-index:998;
  width:46px; height:46px; border-radius:50%; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.92); color:var(--forest);
  box-shadow:0 8px 24px rgba(15,61,34,0.18);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .3s ease, transform .3s ease, background .3s ease, color .3s ease, visibility .3s;
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top svg{ width:19px; height:19px; }
.back-to-top.theme-dark{ background:rgba(15,19,17,0.55); color:#fff; backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,0.18); }
.back-to-top:hover{ background:var(--gold); color:var(--ink); }
@media(max-width:640px){ .back-to-top{ left:16px; bottom:16px; width:42px; height:42px; } }

/* ============ INVESTOR RELATIONS HUB (extends design system) ============ */
.ir-hero{
  position:relative; overflow:hidden;
  background:var(--forest);
  padding:170px 0 0;
}
.ir-hero .wrap{ position:relative; z-index:2; color:#fff; }
.ir-hero-grid{
  display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; gap:56px;
}
.ir-hero-body{ padding-bottom:80px; }
.ir-hero h1{ color:#fff; font-size:clamp(32px,3.6vw,48px); line-height:1.12; margin-top:16px; }
.ir-hero p{ color:rgba(255,255,255,.82); max-width:520px; font-size:16.5px; margin-top:18px; line-height:1.7; }
.ir-hero-photo{
  position:relative; align-self:stretch; min-height:420px; border-radius:8px 8px 0 0;
  overflow:hidden; box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
}
.ir-hero-photo::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,61,34,0) 55%, rgba(15,61,34,.45) 100%),
             linear-gradient(90deg, rgba(15,61,34,.28), transparent 30%);
}
.ir-hero-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
@media(max-width:900px){
  .ir-hero{ padding-top:140px; }
  .ir-hero-grid{ grid-template-columns:1fr; gap:0; }
  .ir-hero-body{ padding-bottom:44px; }
  .ir-hero-photo{ min-height:280px; border-radius:0; margin:0 -22px; width:calc(100% + 44px); }
}

.ir-tiles{ padding:80px 0 20px; background:var(--paper); }
.ir-tiles-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
@media(max-width:900px){ .ir-tiles-grid{ grid-template-columns:1fr; } }
.ir-tile{
  background:#fff; border:1px solid var(--line); border-radius:4px; padding:32px 28px;
}
.ir-tile .amt{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:22px; color:var(--forest); }
.ir-tile h4{ margin:10px 0 8px; font-size:19px; }
.ir-tile p{ color:#4b544d; font-size:14.5px; line-height:1.65; }
.ir-tile .btn{ margin-top:18px; padding:11px 18px; font-size:12.5px; }

.ir-sim{ background:var(--forest); padding:90px 0; color:#fff; }
.ir-sim .section-head h2{ color:#fff; }
.ir-sim .section-head p{ color:rgba(255,255,255,.75); }
.ir-sim-panel{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  border-radius:6px; padding:36px; margin-top:36px;
  display:grid; grid-template-columns:1fr 1fr; gap:40px;
}
@media(max-width:900px){ .ir-sim-panel{ grid-template-columns:1fr; } }
.ir-field{ margin-bottom:20px; }
.ir-field label{ display:block; font-family:'Manrope',sans-serif; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--gold-2); margin-bottom:8px; }
.ir-field input[type=range]{ width:100%; accent-color:var(--gold); }
.ir-field select, .ir-field input[type=text], .ir-field input[type=email]{
  width:100%; padding:12px 14px; border-radius:3px; border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08); color:#fff; font-family:'DM Sans',sans-serif; font-size:14px;
}
/* Native <option> popups ignore the parent's translucent background, so force
   explicit light-background/dark-text on the options themselves to avoid
   white-text-on-white invisible dropdowns in most browsers. */
.ir-field select option, .ir-form select option, .gh-field select option{
  color:#101410; background:#ffffff;
}
.ir-ticket-currency{ display:inline-flex; border:1px solid var(--line); border-radius:100px; overflow:hidden; margin-bottom:10px; }
.ir-ticket-currency button{
  padding:7px 16px; background:#fff; color:#5c655e; border:none; cursor:pointer;
  font-family:'Manrope',sans-serif; font-size:12px; font-weight:700; letter-spacing:.03em;
}
.ir-ticket-currency button.active{ background:var(--forest); color:#fff; }
.ir-field .val{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; color:#fff; }
.ir-currency-toggle{ display:inline-flex; border:1px solid rgba(255,255,255,.25); border-radius:100px; overflow:hidden; margin-bottom:8px; }
.ir-currency-toggle button{
  padding:8px 18px; background:transparent; color:rgba(255,255,255,.7); border:none; cursor:pointer;
  font-family:'Manrope',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:.03em;
}
.ir-currency-toggle button.active{ background:var(--gold); color:var(--ink); }
.ir-results{ background:rgba(0,0,0,.2); border-radius:6px; padding:26px; }
.ir-results .row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.ir-results .row:last-child{ border-bottom:none; }
.ir-results .row .lbl{ color:rgba(255,255,255,.65); font-size:13.5px; }
.ir-results .row .num{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:17px; color:var(--gold-2); }
.ir-sim-note{ font-size:12px; color:rgba(255,255,255,.5); margin-top:16px; }

.ir-form-section{ padding:90px 0; background:var(--paper-2); }
.ir-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:36px; }
@media(max-width:900px){ .ir-form-grid{ grid-template-columns:1fr; } }
.ir-form{ background:#fff; border:1px solid var(--line); border-radius:6px; padding:36px; }
.ir-form .ir-field label{ color:var(--forest); }
.ir-form select, .ir-form input[type=text], .ir-form input[type=email], .ir-form textarea{
  width:100%; padding:13px 14px; border-radius:3px; border:1px solid var(--line);
  background:#fff; color:var(--ink); font-family:'DM Sans',sans-serif; font-size:14px;
}
.ir-form textarea{ min-height:110px; resize:vertical; }
.ir-form .btn{ width:100%; justify-content:center; margin-top:8px; }
.ir-form-success{ display:none; background:#EAF4EC; border:1px solid var(--emerald); color:var(--forest); padding:16px 18px; border-radius:4px; font-size:14px; margin-top:16px; }

/* ============ ADMIN PANEL ============ */
.gh-admin-body{ background:#F3F5F1; font-family:'DM Sans',sans-serif; color:var(--ink); min-height:100vh; }
.gh-admin-shell{ display:flex; min-height:100vh; }
.gh-admin-nav{ width:250px; background:var(--forest); color:#fff; padding:26px 18px; flex-shrink:0; }
.gh-admin-nav .brand{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:17px; margin-bottom:30px; display:block; }
.gh-admin-nav a{ display:block; color:rgba(255,255,255,.75); text-decoration:none; padding:11px 12px; border-radius:5px; font-size:14px; margin-bottom:4px; }
.gh-admin-nav a:hover, .gh-admin-nav a.active{ background:rgba(255,255,255,.1); color:#fff; }
.gh-admin-main{ flex:1; padding:34px 44px; max-width:1100px; }
.gh-admin-main h1{ font-family:'Plus Jakarta Sans',sans-serif; font-size:26px; margin-bottom:6px; }
.gh-admin-sub{ color:#6a736d; margin-bottom:28px; }
.gh-card{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px; margin-bottom:22px; }
.gh-card h3{ font-size:16px; margin-bottom:16px; }
.gh-field{ margin-bottom:16px; }
.gh-field label{ display:block; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#5c655e; margin-bottom:6px; }
.gh-field input[type=text], .gh-field input[type=email], .gh-field input[type=password], .gh-field input[type=number], .gh-field input[type=date], .gh-field textarea, .gh-field select{
  width:100%; padding:11px 13px; border:1px solid #D8DBD3; border-radius:5px; font-size:14px; font-family:inherit;
}
.gh-field textarea{ min-height:100px; }
.gh-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--forest); color:#fff; border:none; padding:12px 22px; border-radius:5px; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; }
.gh-btn:hover{ background:var(--forest-2); }
.gh-btn.danger{ background:#B23A3A; }
.gh-btn.ghost{ background:#fff; color:var(--forest); border:1px solid var(--line); }
.gh-table{ width:100%; border-collapse:collapse; font-size:14px; }
.gh-table th, .gh-table td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); }
.gh-table th{ font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:#6a736d; }
.gh-flash{ padding:13px 16px; border-radius:6px; margin-bottom:20px; font-size:14px; }
.gh-flash.success{ background:#EAF4EC; color:#1F5C33; border:1px solid #BFE0C8; }
.gh-flash.error{ background:#FCEBEA; color:#8A2E2E; border:1px solid #F2C4C0; }
.gh-login-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:var(--forest); }
.gh-login-card{ background:#fff; border-radius:8px; padding:40px; width:100%; max-width:380px; }
.gh-login-card h1{ font-family:'Plus Jakarta Sans',sans-serif; font-size:20px; margin-bottom:4px; }
.gh-thumb{ width:56px; height:56px; object-fit:cover; border-radius:4px; }
