:root{
      --ink:#0a2f38;
      --ink-2:#163b43;
      --muted:#69797d;
      --gold:#b69768;
      --paper:#f8f7f3;
      --paper-2:#f3f1ec;
      --white:#ffffff;
      --line:#e7e5df;
      --shadow:0 14px 38px rgba(12,47,57,.08);
      --radius:14px;
      --max:1280px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:#fff;
      color:var(--ink);
      font-family:"DM Sans",sans-serif;
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }

    img{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button,input,select,textarea{font:inherit}
    .container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
    .eyebrow{
      font-size:11px;
      letter-spacing:.12em;
      text-transform:uppercase;
      font-weight:700;
      color:#8c806f;
      margin-bottom:8px;
    }
    .section-title{
      margin:0;
      font-size:34px;
      line-height:1.1;
      letter-spacing:-.03em;
      font-weight:500;
    }

    /* NAV */
    .site-header{
      position:relative;
      z-index:50;
      background:rgba(255,255,255,.94);
      backdrop-filter:blur(12px);
    }
    .nav{
      height:86px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:22px;
    }
    .brand{display:flex;align-items:center;gap:9px;min-width:max-content}
    .brand-mark{
      width:35px;height:35px;
      display:grid;place-items:center;
    }
    .brand-text{line-height:1}
    .brand-name{
      font-family:"Playfair Display",serif;
      font-size:22px;
      letter-spacing:.03em;
    }
    .brand-tag{
      display:block;
      font-size:6.5px;
      color:#55676b;
      margin-top:4px;
      letter-spacing:.02em;
    }
    .nav-links{
      display:flex;align-items:center;gap:31px;
      font-size:12px;font-weight:600;
      color:#183a42;
    }
    .nav-links a{position:relative;padding:34px 0}
    .nav-links a.active:after,
    .nav-links a:hover:after{
      content:"";
      position:absolute;left:50%;bottom:20px;
      width:15px;height:1px;
      transform:translateX(-50%);
      background:var(--gold);
    }
    .nav-actions{display:flex;align-items:center;gap:14px}
    .btn{
      border:none;
      border-radius:9px;
      padding:13px 18px;
      display:inline-flex;align-items:center;justify-content:center;gap:9px;
      cursor:pointer;
      font-size:12px;
      font-weight:600;
      transition:.25s ease;
    }
    .btn-primary{background:var(--ink);color:#fff;box-shadow:0 8px 18px rgba(11,47,56,.18)}
    .btn-primary:hover{transform:translateY(-1px);background:#0d3a44}
    .btn-outline{border:1px solid #cbd5d6;background:#fff;color:var(--ink)}
    .btn-outline:hover{background:#f7faf9}
    .round-menu{
      width:38px;height:38px;border:1px solid #d8dedc;border-radius:50%;
      background:#fff;display:grid;place-items:center;cursor:pointer;
    }
    .round-menu span,.round-menu span:before,.round-menu span:after{
      width:12px;height:1px;background:#173942;display:block;content:"";
    }
    .round-menu span:before{transform:translateY(-4px)}
    .round-menu span:after{transform:translateY(3px)}
    .mobile-menu{display:none}

    /* HERO */
    .hero{
      padding:34px 0 12px;
      background:
        radial-gradient(circle at 82% 9%, rgba(224,234,236,.7), transparent 25%),
        radial-gradient(circle at 17% 23%, rgba(238,230,218,.55), transparent 29%),
        #fff;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: .92fr 1.08fr;
      gap:42px;
      align-items:center;
    }
    .route-kicker{
      display:flex;align-items:center;gap:8px;
      font-size:10px;letter-spacing:.13em;font-weight:700;
      text-transform:uppercase;color:#5f7073;margin-bottom:17px;
    }
    .route-kicker i{
      width:4px;height:4px;border-radius:50%;background:var(--gold);display:inline-block
    }
    .hero h1{
      font-family:"Playfair Display",serif;
      font-size:52px;
      line-height:1.02;
      margin:0;
      letter-spacing:-.035em;
      font-weight:500;
      max-width:520px;
    }
    .hero h1 em{color:var(--gold);font-weight:500}
    .hero-copy{
      color:#52676b;font-size:13px;line-height:1.75;
      max-width:470px;margin:23px 0 22px;
    }
    .hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
    .trust{
      display:flex;align-items:center;gap:13px;margin-top:28px;
      color:#4f6367;font-size:11px;line-height:1.35;
    }
    .avatars{display:flex}
    .avatars img{
      width:29px;height:29px;border-radius:50%;object-fit:cover;
      border:2px solid #fff;margin-left:-6px;box-shadow:0 2px 7px rgba(0,0,0,.12)
    }
    .avatars img:first-child{margin-left:0}
    .hero-visual{
      position:relative;
      height:515px;
      overflow:hidden;
      border-radius:21px 21px 18px 18px;
      clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);
      box-shadow:0 20px 55px rgba(15,52,61,.10);
    }
    .hero-visual .split{
      position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr
    }
    .hero-visual img{width:100%;height:100%;object-fit:cover}
    .hero-visual:after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(6,35,42,.05),transparent 55%);
      pointer-events:none
    }
    .city-chip{
      position:absolute;z-index:3;
      background:#fff;border-radius:12px;padding:12px 15px;
      box-shadow:0 12px 30px rgba(17,52,59,.15);
      min-width:132px;
    }
    .city-chip strong{display:block;font-size:12px;margin-bottom:3px}
    .city-chip span{font-size:9px;color:#7c8a8c}
    .addis{top:43px;left:40%}
    .london{bottom:63px;right:12%}
    .orbit{
      position:absolute;z-index:2;left:45%;top:94px;
      width:220px;height:220px;border:1px dashed rgba(183,151,104,.55);
      border-radius:50%;
    }
    .orbit:before,.orbit:after{
      content:"";position:absolute;border:1px dashed rgba(183,151,104,.4);border-radius:50%
    }
    .orbit:before{inset:24px}
    .orbit:after{inset:52px}
    .dot{
      position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);
      box-shadow:0 0 0 5px rgba(183,151,104,.12)
    }
    .dot.a{top:26px;left:79px}
    .dot.b{right:-5px;bottom:54px}

    .benefit-strip{
      margin-top:20px;
      padding:19px 20px;
      border:1px solid #ebe9e4;
      background:rgba(255,255,255,.95);
      border-radius:12px;
      box-shadow:var(--shadow);
      display:grid;grid-template-columns:repeat(4,1fr);
    }
    .benefit{
      display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;
      padding:1px 17px;border-right:1px solid #ecebe7;
    }
    .benefit:last-child{border-right:none}
    .mini-icon{
      width:34px;height:34px;border-radius:50%;
      background:#f4f4f1;display:grid;place-items:center;
      border:1px solid #eceae5;color:var(--ink)
    }
    .benefit b{display:block;font-size:10px;margin-bottom:6px}
    .benefit p{margin:0;font-size:9px;line-height:1.55;color:#6a777a}

    /* ROUTES */
    .routes{padding:58px 0 18px}
    .routes .heading{text-align:center;margin-bottom:20px}
    .route-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    .route-card{
      position:relative;min-height:285px;border-radius:14px;overflow:hidden;
      padding:32px 34px;display:flex;flex-direction:column;justify-content:flex-start;
      background:#f3f1ec;
    }
    .route-card.dark{color:#fff;background:#0c343d}
    .route-card .bg{
      position:absolute;inset:0;opacity:.92;width:100%;height:100%;object-fit:cover
    }
    .route-card.dark .bg{mix-blend-mode:screen;opacity:.27}
    .route-card.light .bg{
      width:44%;left:auto;right:0;opacity:1;filter:saturate(.65)
    }
    .route-card:after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(11,49,59,.98) 0%,rgba(11,49,59,.82) 48%,rgba(11,49,59,.08) 100%);
    }
    .route-card.light:after{
      background:linear-gradient(90deg,#f6f3ee 0%,#f6f3ee 55%,rgba(246,243,238,.1) 100%);
    }
    .route-card > *:not(.bg){position:relative;z-index:2}
    .route-card .num{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:23px}
    .route-card.dark .num{color:#fff}
    .route-label{font-size:9px;letter-spacing:.09em;font-weight:700;text-transform:uppercase;margin-bottom:7px}
    .route-card h3{font-size:20px;margin:0 0 12px}
    .route-card p{font-size:10px;line-height:1.6;max-width:270px;margin:0 0 18px;color:#5f6e70}
    .route-card.dark p{color:#d7e0e1}
    .route-card a{font-size:10px;font-weight:700}
    .circle-arrow{
      position:absolute!important;right:20px;top:20px;
      width:38px;height:38px;border:1px solid rgba(255,255,255,.7);border-radius:50%;
      display:grid;place-items:center;font-size:18px;
    }
    .light .circle-arrow{border-color:#b8c5c5;color:var(--ink)}

    /* ABOUT */
    .about{padding:18px 0 45px}
    .about-grid{
      display:grid;grid-template-columns:.82fr 1.38fr;gap:45px;align-items:center
    }
    .about-copy h2{
      font-family:"Playfair Display",serif;
      font-size:32px;line-height:1.06;margin:0 0 18px;font-weight:500
    }
    .about-copy p{font-size:10px;line-height:1.65;color:#607174;max-width:370px}
    .mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:27px}
    .mini-stat{font-size:9px;color:#607174}
    .mini-stat:before{content:"→";display:block;font-size:16px;color:var(--ink);margin-bottom:7px}
    .mini-stat b{display:block;color:var(--ink);font-size:9px}
    .about-media{position:relative;padding-bottom:50px}
    .about-media img{
      width:100%;height:300px;object-fit:cover;border-radius:15px;
      box-shadow:0 12px 40px rgba(17,48,55,.08)
    }
    .mission{
      position:absolute;right:45px;bottom:0;
      background:var(--ink);color:#fff;border-radius:12px;
      width:380px;padding:19px 70px 19px 22px;
      box-shadow:0 14px 36px rgba(6,37,45,.22)
    }
    .mission b{display:block;font-size:10px;margin-bottom:6px}
    .mission p{font-size:9px;line-height:1.55;color:#e0ebeb;margin:0}
    .mission .gold-btn{
      position:absolute;right:18px;top:50%;transform:translateY(-50%);
      width:36px;height:36px;background:var(--gold);border-radius:50%;
      display:grid;place-items:center
    }

    /* SERVICES */
    .services{padding:38px 0;background:linear-gradient(#faf9f6,#fff)}
    .services .heading{text-align:center;margin-bottom:16px}
    .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    .service-card{
      position:relative;background:#fff;border:1px solid #ebeae6;border-radius:12px;
      min-height:215px;padding:22px 19px;box-shadow:0 10px 28px rgba(21,49,55,.05)
    }
    .service-card h3{font-size:14px;line-height:1.2;margin:17px 0 10px}
    .service-card p{font-size:9px;line-height:1.65;color:#667679;margin:0;max-width:190px}
    .service-card .arrow{
      position:absolute;right:15px;bottom:15px;width:30px;height:30px;
      border:1px solid #cdbd9f;border-radius:50%;display:grid;place-items:center;color:var(--ink)
    }

    /* SECTORS */
    .sectors{padding:10px 0 38px}
    .sectors .heading{text-align:center;margin-bottom:18px}
    .sector-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
    .sector-card img{
      height:128px;width:100%;object-fit:cover;border-radius:12px
    }
    .sector-card b{display:block;font-size:10px;line-height:1.2;margin-top:7px}
    .sector-card .mini-icon{
      margin-top:-40px;margin-left:10px;margin-bottom: 20px; position:relative;z-index:2;background:white
    }
    .center-btn{text-align:center;margin-top:18px}
a
    /* PARTNERS */
    .partners{
      background:var(--ink);color:#fff;padding:18px 0;
      border-radius:4px;
    }
    .partner-row{display:grid;grid-template-columns:1.1fr 2.9fr;gap:32px;align-items:center}
    .partners h2{font-size:27px;line-height:1.1;margin:5px 0 11px}
    .partner-intro a{font-size:10px;font-weight:700}
    .partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .partner-card{
      min-height:115px;border:1px solid rgba(255,255,255,.23);border-radius:10px;
      display:grid;place-items:center;text-align:center;padding:14px
    }
    .partner-logo{font-size:20px;font-weight:700}
    .partner-card span{display:block;font-size:10px;color:#dbe4e5;margin-top:8px}

    /* FORM */
    .contact{padding:34px 0 16px;background:#faf9f6}
    .contact-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:40px;align-items:center}
    .contact-copy{position:relative;min-height:240px;padding:18px 0}
    .contact-copy h2{
      font-family:"Playfair Display",serif;
      font-size:31px;line-height:1.1;margin:7px 0 13px;font-weight:500
    }
    .contact-copy p{font-size:10px;line-height:1.6;color:#667679;max-width:290px}
    .world-dots{
      position:absolute;left:-30px;bottom:5px;width:255px;height:95px;opacity:.33;
      background-image:radial-gradient(circle,#718487 1px,transparent 1.3px);
      background-size:6px 6px;
      mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 80%,transparent 100%);
    }
    .form-card{
      background:#fff;border:1px solid #eceae5;border-radius:12px;padding:22px;
      box-shadow:var(--shadow)
    }
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
    .field label{display:block;font-size:8px;color:#5f7175;margin-bottom:6px;font-weight:700}
    .field input,.field select,.field textarea{
      width:100%;border:1px solid #dfe5e4;border-radius:6px;
      min-height:38px;padding:9px 11px;color:#304b50;background:white;font-size:9px;outline:none
    }
    .field textarea{height:47px;resize:vertical}
    .phone-row{display:grid;grid-template-columns:64px 1fr;gap:8px}
    .submit{grid-column:2;background:var(--ink);color:#fff;border:none;border-radius:6px;height:38px;font-size:9px;font-weight:700;cursor:pointer}

    /* FOOTER */
    .footer{background:var(--ink);color:#fff;padding:30px 0 14px}
    .footer-grid{display:grid;grid-template-columns:1.35fr .8fr 1.1fr 1.2fr 1.15fr;gap:30px}
    .footer p,.footer a,.footer li{font-size:8.5px;line-height:1.55;color:#d5dfe0}
    .footer h4{font-size:9px;margin:0 0 10px;color:#fff}
    .footer ul{list-style:none;padding:0;margin:0}
    .footer-brand p{max-width:180px}
    .socials{display:flex;gap:8px;margin-top:12px}
    .socials a{width:25px;height:25px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}
    .newsletter{display:flex}
    .newsletter input{
      width:100%;min-width:0;height:32px;border:none;border-radius:4px 0 0 4px;padding:8px;font-size:8px
    }
    .newsletter button{
      width:40px;border:1px solid rgba(255,255,255,.5);border-left:none;
      background:transparent;color:#fff;border-radius:0 5px 5px 0
    }
    .footer-bottom{
      border-top:1px solid rgba(255,255,255,.18);margin-top:18px;padding-top:12px;
      display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:8px;color:#bfcacc
    }
    .legal{display:flex;gap:18px}

    /* DECORATIVE */
    .gold{color:var(--gold)}
    .icon-svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.6}


    /* HOW IT WORKS */
    .process{padding:18px 0 42px;background:#fff}
    .process .heading{text-align:center;margin-bottom:26px}
    .process-line{
      position:relative;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:18px;
    }
    .process-line:before{
      content:"";
      position:absolute;
      top:18px;left:8%;right:8%;
      border-top:1px dashed #d7d4cc;
      z-index:0;
    }
    .process-step{position:relative;z-index:1;text-align:center}
    .step-num{
      width:38px;height:38px;border-radius:50%;
      background:#fff;border:1px solid #dedbd3;
      display:grid;place-items:center;margin:0 auto 12px;
      box-shadow:0 5px 16px rgba(20,52,59,.08);
      font-size:10px;font-weight:700;color:var(--ink)
    }
    .process-card{
      min-height:130px;background:#fff;border:1px solid #ebe9e4;border-radius:11px;
      padding:18px 15px;box-shadow:0 9px 24px rgba(15,44,52,.05)
    }
    .process-card .mini-icon{margin:0 auto 10px}
    .process-card b{display:block;font-size:10px;margin-bottom:7px}
    .process-card p{font-size:8.5px;line-height:1.55;color:#68787b;margin:0}

    /* FEATURED OPPORTUNITIES */
    .opportunities{padding:6px 0 42px;background:#fff}
    .opportunities .heading{text-align:center;margin-bottom:18px}
    .opportunity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
    .op-card{
      border:1px solid #ebe9e5;border-radius:11px;overflow:hidden;background:#fff;
      box-shadow:0 8px 24px rgba(15,44,52,.045)
    }
    .op-card img{width:100%;height:126px;object-fit:cover}
    .op-content{padding:13px}
    .op-tag{
      display:inline-block;padding:3px 7px;border-radius:20px;
      background:#f2eee6;color:#806b4e;font-size:7px;font-weight:700;margin-bottom:8px
    }
    .op-card h3{font-size:10px;line-height:1.35;margin:0 0 7px}
    .op-card .loc{font-size:8px;color:#8a9697;margin-bottom:8px}
    .op-card p{font-size:8px;line-height:1.55;color:#69787a;margin:0 0 10px}
    .op-card a{font-size:8px;font-weight:700}

    /* TESTIMONIALS */
    .testimonials{padding:2px 0 40px;background:#faf9f6}
    .testimonials .heading{text-align:center;margin-bottom:17px}
    .quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .quote-card{
      background:#fff;border:1px solid #eae8e3;border-radius:11px;
      padding:19px;box-shadow:0 9px 25px rgba(19,49,56,.045)
    }
    .quote-mark{font-family:Georgia,serif;font-size:25px;line-height:1;color:var(--gold)}
    .quote-card blockquote{
      margin:5px 0 16px;font-size:10px;line-height:1.55;color:#344d52
    }
    .person{display:flex;align-items:center;gap:9px}
    .person img{width:31px;height:31px;border-radius:50%;object-fit:cover}
    .person b{display:block;font-size:8.5px}
    .person span{font-size:7.5px;color:#7c898b}

    /* WHY ETHIOPIA */
    .why-ethiopia{padding:6px 0 44px;background:#fff}
    .why-wrap{
      display:grid;grid-template-columns:.8fr 1.55fr;
      min-height:245px;border-radius:13px;overflow:hidden;
      border:1px solid #e5e4df;box-shadow:var(--shadow)
    }
    .why-dark{
      background:var(--ink);color:#fff;padding:29px 28px;
      display:flex;flex-direction:column;justify-content:center
    }
    .why-dark h2{font-size:24px;margin:0 0 9px}
    .why-dark p{font-size:9px;line-height:1.55;color:#d5e0e1;margin:0 0 20px}
    .why-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
    .why-stat b{display:block;font-size:14px}
    .why-stat span{font-size:7.5px;color:#bfcfd1}
    .why-dark .btn{
      align-self:flex-start;border:1px solid rgba(255,255,255,.15);
      background:rgba(255,255,255,.03);padding:9px 13px
    }
    .why-light{
      position:relative;background:#fbfbf9;padding:27px 310px 25px 28px
    }
    .why-points{display:grid;gap:19px}
    .why-point{display:grid;grid-template-columns:34px 1fr;gap:13px;align-items:start}
    .why-point b{font-size:10px;display:block;margin-bottom:4px}
    .why-point p{font-size:8.5px;line-height:1.5;color:#718083;margin:0}
    .africa-map{
      position:absolute;right:12px;top:8px;width:285px;height:225px;opacity:.9;
      display:grid;place-items:center;
    }
    .africa-map svg{width:230px;height:220px}
    .ethiopia-pin{
      fill:var(--ink);stroke:var(--gold);stroke-width:2.5;
    }

    /* FAQ */
    .faq{padding:0 0 38px;background:#fff}
    .faq .heading{text-align:center;margin-bottom:17px}
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 42px}
    .faq-item{
      border-bottom:1px solid #e4e2dd;background:#fff;
    }
    .faq-q{
      width:100%;border:none;background:transparent;cursor:pointer;
      display:flex;align-items:center;justify-content:space-between;
      text-align:left;padding:12px 4px;font-size:8.8px;font-weight:600;color:var(--ink)
    }
    .faq-q span:last-child{font-size:16px;font-weight:400}
    .faq-a{
      max-height:0;overflow:hidden;
      transition:max-height .28s ease,padding .28s ease;
      padding:0 4px;font-size:8.5px;line-height:1.55;color:#6a797b
    }
    .faq-item.open .faq-a{max-height:120px;padding:0 4px 12px}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}

    /* INSIGHTS */
    .insights{padding:0 0 38px;background:#fff}
    .insights .heading{text-align:center;margin-bottom:17px}
    .insight-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
    .insight-card{
      border:1px solid #ebe9e4;border-radius:10px;overflow:hidden;background:#fff;
      box-shadow:0 8px 21px rgba(16,47,54,.04)
    }
    .insight-card img{width:100%;height:112px;object-fit:cover}
    .insight-body{padding:12px}
    .insight-cat{font-size:7px;color:#8c7658;font-weight:700;margin-bottom:7px}
    .insight-card h3{font-size:9px;line-height:1.4;margin:0 0 6px}
    .insight-date{font-size:7px;color:#9aa3a4;margin-bottom:8px}
    .insight-card a{font-size:7.5px;font-weight:700}

    /* FINAL CTA */
    .final-cta{padding:0 0 28px;background:#fff}
    .cta-banner{
      min-height:205px;border-radius:13px;overflow:hidden;position:relative;
      display:grid;grid-template-columns:1.05fr 1fr;align-items:center;color:#fff;
      background:linear-gradient(90deg,#0a313a 0%,#0b3942 45%,#36555a 100%);
    }
    .cta-banner:after{
      content:"";position:absolute;inset:0;
      background:linear-gradient(90deg,rgba(5,39,47,.94) 0%,rgba(5,39,47,.85) 45%,rgba(5,39,47,.2) 72%,rgba(5,39,47,.08) 100%);
      z-index:1
    }
    .cta-copy{position:relative;z-index:2;padding:30px}
    .cta-copy h2{font-size:24px;margin:0 0 7px}
    .cta-copy p{font-size:9px;line-height:1.55;color:#dce6e7;max-width:360px;margin:0 0 17px}
    .cta-actions{display:flex;gap:10px;flex-wrap:wrap}
    .cta-actions .btn-outline{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.2)}
    .cta-photo{
      position:absolute;right:0;top:0;width:52%;height:100%;object-fit:cover
    }

    /* RESPONSIVE */
    @media (max-width: 1020px){
      .nav-links{display:none}
      .hero-grid{grid-template-columns:1fr;gap:28px}
      .hero-visual{height:450px;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}
      .benefit-strip{grid-template-columns:1fr 1fr}
      .benefit:nth-child(2){border-right:none}
      .benefit:nth-child(-n+2){padding-bottom:15px;margin-bottom:15px;border-bottom:1px solid #ecebe7}
      .about-grid{grid-template-columns:1fr}
      .about-copy{max-width:650px}
      .service-grid{grid-template-columns:1fr 1fr}
      .sector-grid{grid-template-columns:repeat(3,1fr)}
      .partner-row{grid-template-columns:1fr}
      .contact-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:repeat(3,1fr)}

      .opportunity-grid,.insight-grid{grid-template-columns:repeat(3,1fr)}
      .why-wrap{grid-template-columns:1fr}
      .why-light{padding-right:300px}

    }

    @media (max-width: 720px){
      .container{width:min(100% - 28px,var(--max))}
      .nav{height:72px}
      .nav-actions .btn{display:none}
      .brand-name{font-size:20px}
      .hero{padding-top:24px}
      .hero h1{font-size:42px}
      .hero-copy{font-size:12px}
      .hero-visual{height:390px;clip-path:none}
      .addis{left:8%;top:20px}
      .london{right:6%;bottom:24px}
      .orbit{left:26%;top:82px;width:190px;height:190px}
      .route-cards{grid-template-columns:1fr}
      .route-card{min-height:260px}
      .mission{position:relative;right:auto;bottom:auto;width:calc(100% - 28px);margin:-42px auto 0}
      .about-media{padding-bottom:0}
      .about-media img{height:260px}
      .partner-grid{grid-template-columns:1fr}
      .form-grid{grid-template-columns:1fr}
      .submit{grid-column:auto}
      .footer-grid{grid-template-columns:1fr 1fr}

      .process-line{grid-template-columns:1fr 1fr}
      .process-line:before{display:none}
      .opportunity-grid,.insight-grid{grid-template-columns:1fr 1fr}
      .quote-grid{grid-template-columns:1fr}
      .why-light{padding:25px}
      .africa-map{position:relative;right:auto;top:auto;width:100%;height:180px;margin-top:8px}
      .africa-map svg{height:180px}
      .faq-grid{grid-template-columns:1fr;gap:0}
      .cta-banner{grid-template-columns:1fr}
      .cta-photo{position:absolute;width:100%;opacity:.38}

      .section-title{font-size:29px}
    }

    @media (max-width: 520px){
      .hero h1{font-size:36px}
      .hero-ctas{display:grid;grid-template-columns:1fr 1fr}
      .btn{padding:12px 11px;font-size:10px}
      .hero-visual{height:330px}
      .benefit-strip{grid-template-columns:1fr;padding:14px}
      .benefit{border-right:none!important;border-bottom:1px solid #ecebe7!important;padding:12px 4px!important;margin:0!important}
      .benefit:last-child{border-bottom:none!important}
      .service-grid{grid-template-columns:1fr}
      .sector-grid{grid-template-columns:1fr 1fr}
      .sector-card img{height:145px}
      .mini-stats{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr}

      .process-line{grid-template-columns:1fr}
      .opportunity-grid,.insight-grid{grid-template-columns:1fr}
      .why-stats{grid-template-columns:1fr 1fr}

      .footer-bottom{align-items:flex-start;flex-direction:column}
      .legal{flex-wrap:wrap}
    }
  
  /* ===== TYPOGRAPHY SIZE UPDATE ===== */
  :root{
    --content-heading-size:24px;
    --content-description-size:16px;
  }

  /* Main section / content headings */
  .section-title,
  .route-card h3,
  .about-copy h2,
  .service-card h3,
  .partners h2,
  .contact-copy h2,
  .why-dark h2,
  .cta-copy h2{
    font-size:var(--content-heading-size);
    line-height:1.25;
  }

  /* Main descriptive copy */
  .hero-copy,
  .route-card p,
  .about-copy p,
  .service-card p,
  .contact-copy p,
  .process-card p,
  .op-card p,
  .quote-card blockquote,
  .why-dark p,
  .why-point p,
  .faq-a,
  .cta-copy p{
    font-size:var(--content-description-size);
    line-height:1.65;
  }

  /* Supporting card titles: keep hierarchy but make them readable */
  .process-card b,
  .op-card h3,
  .insight-card h3{
    font-size:18px;
    line-height:1.35;
  }

  /* Small supporting/meta text should also remain comfortably readable */
  .benefit p,
  .mini-stat,
  .mini-stat b,
  .sector-card b,
  .partner-card span,
  .field label,
  .field input,
  .field select,
  .field textarea,
  .submit,
  .op-card .loc,
  .op-tag,
  .person b,
  .person span,
  .why-stat span,
  .faq-q,
  .insight-cat,
  .insight-date,
  .insight-card a,
  .footer p,
  .footer a,
  .footer li,
  .footer h4{
    font-size:14px;
  }

  /* Let larger text breathe */
  .service-card,
  .process-card,
  .op-card,
  .quote-card{
    height:auto;
  }
  .service-card{min-height:285px}
  .process-card{min-height:210px}
  .op-card .op-content{padding:18px}
  .quote-card{padding:24px}
  .faq-q{padding:15px 4px}

  @media (max-width: 1020px){
    :root{
      --content-heading-size:22px;
      --content-description-size:15px;
    }

    .process-card b,
    .op-card h3,
    .insight-card h3{
      font-size:17px;
    }

    .benefit p,
    .mini-stat,
    .mini-stat b,
    .sector-card b,
    .partner-card span,
    .field label,
    .field input,
    .field select,
    .field textarea,
    .submit,
    .op-card .loc,
    .op-tag,
    .person b,
    .person span,
    .why-stat span,
    .faq-q,
    .insight-cat,
    .insight-date,
    .insight-card a,
    .footer p,
    .footer a,
    .footer li,
    .footer h4{
      font-size:13px;
    }
  }

  @media (max-width: 720px){
    :root{
      --content-heading-size:18px;
      --content-description-size:14px;
    }

    .process-card b,
    .op-card h3,
    .insight-card h3{
      font-size:16px;
    }

    .benefit p,
    .mini-stat,
    .mini-stat b,
    .sector-card b,
    .partner-card span,
    .field label,
    .field input,
    .field select,
    .field textarea,
    .submit,
    .op-card .loc,
    .op-tag,
    .person b,
    .person span,
    .why-stat span,
    .faq-q,
    .insight-cat,
    .insight-date,
    .insight-card a,
    .footer p,
    .footer a,
    .footer li,
    .footer h4{
      font-size:12px;
    }

    .service-card{min-height:auto}
    .process-card{min-height:auto}
  }


  /* ===== TITLE / LABEL HIERARCHY FIX =====
     Normalizes the remaining tiny titles without making the page feel oversized.
  */

  /* Section kicker / small heading above section title */
  .eyebrow{
    font-size:12px;
    line-height:1.4;
    letter-spacing:.11em;
  }

  /* Top benefit strip titles */
  .benefit b{
    font-size:15px;
    line-height:1.35;
    margin-bottom:7px;
  }

  /* Route cards */
  .route-label{
    font-size:12px;
    line-height:1.35;
  }
  .route-card h3{
    font-size:24px;
    line-height:1.25;
  }

  /* About mission card */
  .mission b{
    font-size:15px;
    line-height:1.35;
  }

  /* Service card titles */
  .service-card h3{
    font-size:20px;
    line-height:1.3;
  }

  /* Sector card names */
  .sector-card b{
    font-size:15px;
    line-height:1.3;
    margin-top:9px;
  }

  /* Partner block */
  .partner-logo{
    font-size:20px;
    line-height:1.25;
  }
  .partner-card strong{
    font-size:15px !important;
  }
  .partner-card span{
    font-size:13px;
    line-height:1.35;
  }

  /* Contact form labels */
  .field label{
    font-size:13px;
    line-height:1.35;
    margin-bottom:7px;
  }

  /* Process titles */
  .process-card b{
    font-size:17px;
    line-height:1.35;
    margin-bottom:8px;
  }

  /* Opportunity titles */
  .op-card h3{
    font-size:17px;
    line-height:1.35;
  }
  .op-tag{
    font-size:11px;
  }
  .op-card .loc{
    font-size:12px;
  }

  /* Testimonials */
  .person b{
    font-size:14px;
    line-height:1.3;
  }
  .person span{
    font-size:12px;
    line-height:1.35;
  }

  /* Why Ethiopia feature titles */
  .why-point b{
    font-size:16px;
    line-height:1.35;
  }
  .why-stat b{
    font-size:18px;
  }
  .why-stat span{
    font-size:12px;
  }

  /* FAQ question titles */
  .faq-q{
    font-size:15px;
    line-height:1.4;
    padding:15px 4px;
  }

  /* Insight cards */
  .insight-cat{
    font-size:11px;
  }
  .insight-card h3{
    font-size:16px;
    line-height:1.4;
  }
  .insight-date{
    font-size:11px;
  }
  .insight-card a{
    font-size:12px;
  }

  /* Footer headings */
  .footer h4{
    font-size:15px;
    line-height:1.35;
    margin-bottom:12px;
  }

  /* Tablet */
  @media (max-width:1020px){
    .eyebrow{font-size:11px}
    .benefit b{font-size:14px}
    .route-label{font-size:11px}
    .route-card h3{font-size:22px}
    .mission b{font-size:14px}
    .service-card h3{font-size:18px}
    .sector-card b{font-size:14px}
    .partner-card strong{font-size:14px !important}
    .partner-card span{font-size:12px}
    .field label{font-size:12px}
    .process-card b{font-size:16px}
    .op-card h3{font-size:16px}
    .op-tag{font-size:10px}
    .op-card .loc{font-size:11px}
    .person b{font-size:13px}
    .person span{font-size:11px}
    .why-point b{font-size:15px}
    .faq-q{font-size:14px}
    .insight-card h3{font-size:15px}
    .footer h4{font-size:14px}
  }

  /* Mobile */
  @media (max-width:720px){
    .eyebrow{font-size:10px}
    .benefit b{font-size:13px}
    .route-label{font-size:10px}
    .route-card h3{font-size:18px}
    .mission b{font-size:13px}
    .service-card h3{font-size:17px}
    .sector-card b{font-size:13px}
    .partner-logo{font-size:18px}
    .partner-card strong{font-size:13px !important}
    .partner-card span{font-size:11px}
    .field label{font-size:11px}
    .process-card b{font-size:15px}
    .op-card h3{font-size:15px}
    .op-tag{font-size:10px}
    .op-card .loc{font-size:11px}
    .person b{font-size:12px}
    .person span{font-size:11px}
    .why-point b{font-size:14px}
    .why-stat b{font-size:16px}
    .faq-q{font-size:13px}
    .insight-card h3{font-size:14px}
    .footer h4{font-size:13px}
  }


  /* ===== FEATURED OPPORTUNITIES — ATTACHED EXPANDING CARDS ===== */
  .opportunities{
    padding:20px 0 48px;
    background:#fff;
  }
  .opportunities .heading{
    text-align:center;
    margin-bottom:22px;
  }

  .opportunity-grid{
    display:flex;
    gap:0;
    overflow:hidden;
    border-radius:18px;
    min-height:430px;
    border:1px solid #e7e5df;
    box-shadow:0 18px 45px rgba(10,47,56,.08);
  }

  .op-card{
    position:relative;
    flex:1 1 0;
    min-width:0;
    height:430px;
    border:0;
    border-radius:0;
    overflow:hidden;
    background:#0a2f38;
    box-shadow:none;
    transition:flex .5s cubic-bezier(.2,.75,.25,1);
    cursor:pointer;
  }

  .op-card + .op-card{
    border-left:1px solid rgba(255,255,255,.28);
  }

  .op-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .55s ease, filter .4s ease;
  }

  .op-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
      linear-gradient(180deg,rgba(6,34,42,.05) 10%,rgba(6,34,42,.18) 45%,rgba(6,34,42,.9) 100%);
    transition:background .4s ease;
  }

  .op-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(90deg,rgba(7,42,50,.18),rgba(7,42,50,.02));
    opacity:.25;
  }

  .op-content{
    position:absolute;
    inset:auto 0 0 0;
    z-index:2;
    padding:24px 22px 24px;
    color:#fff;
    background:none;
    transform:translateY(0);
  }

  .op-tag{
    display:none;
  }

  .op-card h3{
    color:#fff;
    font-size:22px;
    line-height:1.2;
    margin:0 0 16px;
    max-width:240px;
    transition:font-size .35s ease, max-width .35s ease;
  }

  .op-card .loc{
    display:none;
  }

  .op-card p{
    margin:0 0 18px;
    color:#e8f0f0;
    font-size:15px;
    line-height:1.55;
    max-width:430px;

    opacity:0;
    max-height:0;
    overflow:hidden;
    transform:translateY(12px);
    transition:
      opacity .28s ease .08s,
      transform .35s ease .08s,
      max-height .35s ease .08s,
      margin .35s ease;
  }

  .op-card a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#fff;
    font-size:13px;
    font-weight:700;
    padding:11px 15px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:8px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    transition:.25s ease;
  }

  .op-card a:hover{
    background:#fff;
    color:var(--ink);
    border-color:#fff;
  }

  /* Hovered card expands and reveals the description */
  .opportunity-grid:hover .op-card{
    flex:.72 1 0;
  }

  .opportunity-grid .op-card:hover,
  .opportunity-grid .op-card.is-active{
    flex:2.15 1 0;
  }

  .op-card:hover img,
  .op-card.is-active img{
    transform:scale(1.045);
  }

  .op-card:hover::before,
  .op-card.is-active::before{
    background:
      linear-gradient(180deg,rgba(6,34,42,.02) 0%,rgba(6,34,42,.18) 38%,rgba(6,34,42,.94) 100%);
  }

  .op-card:hover h3,
  .op-card.is-active h3{
    font-size:26px;
    max-width:420px;
  }

  .op-card:hover p,
  .op-card.is-active p{
    opacity:1;
    max-height:160px;
    transform:translateY(0);
  }

  /* Tablet */
  @media (max-width:1020px){
    .opportunity-grid{
      min-height:390px;
    }
    .op-card{
      height:390px;
    }
    .op-card h3{
      font-size:18px;
    }
    .op-card:hover h3,
    .op-card.is-active h3{
      font-size:22px;
    }
    .op-card p{
      font-size:15px;
    }
  }

  /* Mobile: horizontal swipe + tap to expand */
  @media (max-width:720px){
    .opportunity-grid{
      overflow-x:auto;
      overflow-y:hidden;
      scroll-snap-type:x mandatory;
      border-radius:14px;
      min-height:410px;
      scrollbar-width:none;
    }
    .opportunity-grid::-webkit-scrollbar{display:none}

    .opportunity-grid:hover .op-card{
      flex:none;
    }

    .op-card,
    .opportunity-grid .op-card:hover,
    .opportunity-grid .op-card.is-active{
      flex:none;
      width:82%;
      min-width:82%;
      height:410px;
      scroll-snap-align:start;
    }

    .op-card + .op-card{
      border-left:1px solid rgba(255,255,255,.2);
    }

    .op-card h3{
      font-size:18px;
      max-width:95%;
    }

    .op-card:hover h3,
    .op-card.is-active h3{
      font-size:20px;
    }

    .op-card p{
      font-size:14px;
      max-width:95%;
    }

    /* On touch screens keep descriptions hidden until tapped active */
    .op-card p{opacity:0;max-height:0;transform:translateY(10px)}
    .op-card.is-active p{
      opacity:1;
      max-height:150px;
      transform:translateY(0);
    }
  }
