
:root{--ink:#102826;--deep:#0a2421;--paper:#f2ecdf;--cream:#fbf8f1;--gold:#c69b43;--teal:#0f716a;--coral:#c96549;--muted:#68736e;--shadow:0 20px 50px rgba(15,33,31,.14);--type-body:.98rem;--type-lead:1.08rem;--type-section:clamp(1.9rem,2.5vw,2.7rem);--type-subsection:clamp(1.45rem,1.9vw,1.95rem);--type-quote:clamp(1.05rem,1.35vw,1.2rem);--type-closing:clamp(1.65rem,2.5vw,2.45rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}button,input{font:inherit}
header{height:74px;position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;color:white;background:linear-gradient(rgba(7,22,20,.72),transparent);transition:.25s}header.scrolled{background:rgba(16,40,38,.95);backdrop-filter:blur(12px)}.brand{font:400 1rem Georgia,serif;letter-spacing:.17em}nav{display:flex;gap:22px;align-items:center;text-transform:uppercase;font-size:.68rem;letter-spacing:.11em}nav button,#mobileMenu{border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;cursor:pointer}#mobileMenu{display:none}
.section{position:relative}.eyebrow{font-size:.7rem;letter-spacing:.21em;text-transform:uppercase;font-weight:700}.pad{padding:100px 7vw}.title{font:400 clamp(3rem,6vw,6rem)/.98 Georgia,serif;letter-spacing:-.035em;margin:0}.intro{color:var(--muted);line-height:1.7;max-width:760px}.link{display:inline-block;width:max-content;margin-top:12px;color:var(--coral);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}
.hero{min-height:100svh;color:white;background:var(--deep);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}.hero-copy{padding:0 7vw 9vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;z-index:2}.hero h1{font:400 clamp(4rem,8vw,8rem)/.94 Georgia,serif;letter-spacing:-.045em;margin:0;max-width:900px}.hero-copy p{font-size:clamp(1.05rem,1.8vw,1.45rem);color:#e8e1d3;max-width:700px;line-height:1.5}.hero-photo{position:relative;min-height:100svh;background:url("../images/hero-mountain.jpg") center 35%/cover no-repeat}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--deep) 0%,rgba(10,36,33,.28) 34%,rgba(10,36,33,.05) 100%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 40%)}.hero-status{display:inline-flex;gap:14px;align-items:center;margin-top:20px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero-status b{color:#efc15f}.hero .link{color:white}
.explore{padding:28px 5vw 36px;background:#0c2421;color:white}.explore-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:17px}.explore-head small{color:#899a96}.explore-grid{display:grid;grid-template-columns:repeat(6,1fr);border-block:1px solid rgba(255,255,255,.16)}.explore-item{min-height:132px;padding:20px 18px;border-right:1px solid rgba(255,255,255,.14);position:relative;transition:.2s}.explore-item:last-child{border:0}.explore-item:hover{background:rgba(255,255,255,.07);transform:translateY(-2px)}.explore-item .num{color:#e7bc5d;font-size:.62rem}.explore-item strong{display:block;font:400 1.3rem Georgia,serif;margin-top:22px}.explore-item small{display:block;color:#8fa09c;font-size:.67rem;line-height:1.4;margin-top:8px}.arrow{position:absolute;right:16px;top:18px;color:#73837f}
.travel{background:var(--paper)}.travel-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.travel-count-note{text-align:right;color:var(--muted);font-size:.85rem;line-height:1.5}.travel-count-note b{display:block;color:var(--teal);font-size:1.05rem}.travel-search{margin:36px 0 24px;position:relative}.travel-search input{width:100%;padding:18px 22px;border:1px solid rgba(16,40,38,.13);border-radius:16px;background:white;outline:none;box-shadow:0 8px 24px rgba(15,33,31,.06);font-size:1rem}.travel-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:32px}.map{min-height:560px;background:#173e3a;border-radius:25px;box-shadow:var(--shadow);position:relative;overflow:hidden;padding:18px}.map svg{width:100%;height:524px;display:block}.country-path{fill:#5f7772;stroke:#173e3a;stroke-width:.6;transition:fill .15s,transform .15s;cursor:default}.country-path.visited{fill:#d0b263;cursor:pointer}.country-path.visited:hover,.country-path.active{fill:#f0c760}.country-path.next{fill:#d77452;cursor:pointer}.map-legend{position:absolute;left:22px;bottom:18px;display:flex;gap:18px;color:#d6dfdb;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:#d0b263}.legend-dot.next{background:#d77452}.country{background:white;border-radius:25px;overflow:hidden;box-shadow:var(--shadow);min-height:560px;display:flex;flex-direction:column}.country-art{height:245px;background:#30564d center/cover no-repeat;position:relative}.country-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 55%)}.country-copy{padding:28px}.country-copy h3{font:400 2.5rem Georgia,serif;margin:8px 0}.meta{color:var(--teal);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.country-copy p{line-height:1.7;color:#5f6965}.country-empty{color:#7b8580;font-style:italic}.country-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.country-thumb{aspect-ratio:1.25;border-radius:8px;background:linear-gradient(145deg,#78908a,#c6a34d)}
.journey{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--ink);color:white}.journey-art{background:linear-gradient(rgba(12,36,33,.2),rgba(12,36,33,.2)),url("../images/hero-mountain.jpg") center/cover}.journey-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.journey h2{font:400 clamp(4rem,7vw,7rem)/.95 Georgia,serif;margin:8px 0}.journey-copy p{color:#d4e0dc;line-height:1.7;max-width:600px}.gold{color:#e6bb5c}
.writing{background:#f7f3eb}.feature{display:grid;grid-template-columns:1.05fr .95fr;margin-top:42px;border-radius:25px;overflow:hidden;background:white;box-shadow:var(--shadow)}.feature-art{min-height:430px;background:url("../images/flag-wall.webp") center/cover no-repeat;filter:saturate(.65)}.feature-copy{padding:50px}.feature h3{font:400 clamp(2.2rem,4vw,4rem)/1.06 Georgia,serif;margin:10px 0 20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.card{padding:26px;border-top:1px solid rgba(16,40,38,.15)}.card h4{font:400 1.5rem/1.15 Georgia,serif}
.photos{background:white}.photo-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:240px 240px;gap:12px;margin-top:40px}.photo{position:relative;border-radius:17px;overflow:hidden;background:center/cover no-repeat}.photo:first-child{grid-row:1/3;background-image:url("../images/hero-mountain.jpg")}.photo:nth-child(2){background-image:url("../images/travel-portrait.webp")}.photo:nth-child(3){background-image:url("../images/lion.webp")}.photo:nth-child(4){background-image:url("../images/flag-wall.webp")}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.photo span{position:absolute;z-index:2;left:17px;bottom:15px;color:white;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.technology{background:#c7a35d}.tech-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}.tech-copy{font-size:1.12rem;line-height:1.8}.technology .link{color:var(--ink);border-bottom:1px solid rgba(16,40,38,.3);padding-bottom:5px}
.family{background:#ead7bd}.family-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.family-art{height:500px;border-radius:25px;background:url("../images/flag-wall.webp") center/cover no-repeat;box-shadow:var(--shadow);position:relative}.family-art:after{content:"";position:absolute;inset:0;background:rgba(240,220,190,.35)}
.footer{text-align:center;background:#0c2421;color:#e7efea;padding:105px 7vw 50px}.footer h2{font:400 clamp(3rem,6vw,6rem) Georgia,serif;margin:0 0 25px}.footer-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em}.copyright{margin-top:65px;color:#71817d;font-size:.7rem}
.overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(10,32,29,.98);color:white;padding:12vh 8vw}.overlay.open{display:block}.close{position:absolute;right:5vw;top:25px;background:none;border:0;color:white;font-size:2.5rem}.searchbox{max-width:900px;margin:auto}.searchbox input{width:100%;border:0;border-bottom:1px solid #62736e;background:none;color:white;outline:0;padding:14px 0;font:400 clamp(2rem,5vw,4rem) Georgia,serif}.result{padding:15px 0;border-bottom:1px solid #334b46}.edit{position:fixed;z-index:70;right:16px;bottom:16px;background:rgba(16,40,38,.93);color:white;border:1px solid #667d78;border-radius:30px;padding:10px 15px}body.editing [draggable=true]{outline:3px dashed var(--gold);outline-offset:-7px;cursor:grab}
@media(max-width:1050px){nav{gap:13px}.explore-grid{grid-template-columns:repeat(3,1fr)}.explore-item:nth-child(3){border-right:0}.explore-item:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.14)}}
@media(max-width:850px){nav{display:none}#mobileMenu{display:block}.pad{padding:75px 22px}.hero{grid-template-columns:1fr}.hero-copy{min-height:65svh;padding:100px 24px 60px}.hero-photo{min-height:52svh}.explore{padding:28px 22px}.explore-grid{grid-template-columns:repeat(2,1fr)}.explore-item:nth-child(3){border-right:1px solid rgba(255,255,255,.14)}.explore-item:nth-child(even){border-right:0}.travel-top{grid-template-columns:1fr}.travel-count-note{text-align:left}.travel-grid,.journey,.feature,.tech-grid,.family-grid{grid-template-columns:1fr}.map,.country{min-height:auto}.map svg{height:390px}.journey-art{min-height:440px}.journey-copy{padding:70px 24px}.cards{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 210px 210px}.photo:first-child{grid-column:1/3;grid-row:auto}.family-art{height:400px}}
@media(max-width:520px){.explore-grid{grid-template-columns:1fr}.explore-item{min-height:auto;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}.explore-item strong{display:inline-block;margin:0 0 0 15px}.explore-item small{margin-left:35px}.photo-grid{display:block}.photo{height:250px;margin-top:10px}.map{padding:8px}.map svg{height:300px}.country-art{height:210px}}


/* =========================
   V4 — curated gateway
   ========================= */
.hero{min-height:88svh}
.hero-copy{padding-bottom:12vh;justify-content:flex-end}
.hero-photo{min-height:88svh}
.hero h1{max-width:760px}
.hero-copy .eyebrow{margin-bottom:8px}
.explore{margin-top:0;padding-top:26px}
.explore:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:#0c2421}

/* Let the next destination peek into the first viewport on larger screens. */
@media(min-width:851px){
  .hero{min-height:82svh}
  .hero-photo{min-height:82svh}
  .hero-copy{padding-bottom:8vh}
  .explore{min-height:18svh;padding-bottom:24px}
  .explore-item{min-height:112px}
  .explore-item strong{margin-top:15px}
}

/* Writing: conceptual visual, deliberately not tied to one essay. */
.ideas-art{
  min-height:430px;position:relative;overflow:hidden;filter:none;
  background:
    radial-gradient(circle at 20% 25%,rgba(230,187,92,.42),transparent 24%),
    radial-gradient(circle at 77% 70%,rgba(201,101,73,.32),transparent 27%),
    linear-gradient(135deg,#173e3a 0%,#28554f 48%,#806d50 100%);
}
.ideas-art:before,.ideas-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%}
.ideas-art:before{width:330px;height:330px;left:10%;top:8%}
.ideas-art:after{width:440px;height:440px;right:-12%;bottom:-42%}
.ideas-orbit{position:absolute;border:1px solid rgba(239,193,95,.45);border-radius:50%;transform:rotate(-18deg)}
.orbit-a{width:68%;height:42%;left:15%;top:27%}.orbit-b{width:44%;height:72%;left:28%;top:12%;transform:rotate(34deg)}
.ideas-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 8rem Georgia,serif;color:#f7f0df;opacity:.95}
.ideas-word{position:absolute;color:#f7f0df;text-transform:uppercase;letter-spacing:.18em;font-size:.63rem;opacity:.78}
.w1{left:9%;top:18%}.w2{right:12%;top:18%}.w3{left:12%;bottom:16%}.w4{right:10%;bottom:20%}.w5{left:39%;top:9%}.w6{left:42%;bottom:8%}

/* Photography: no hero repeat. Existing real images stay; open slots clearly await distinct images. */
.photo-landscape{grid-row:1/3;background:
  linear-gradient(145deg,rgba(15,113,106,.96),rgba(198,155,67,.78))}
.photo-people{background-image:url("../images/travel-portrait.jpg")}
.photo-wildlife{background-image:url("../images/lion.jpg")}
.photo-moments{background:
  linear-gradient(145deg,#745c49,#315c55)}
.photo em{position:absolute;z-index:2;right:17px;top:15px;color:rgba(255,255,255,.72);font-size:.62rem;font-style:normal;letter-spacing:.08em;text-transform:uppercase}

/* Technology is a preview, not a second hero. */
.technology{background:#d6b978;padding-top:72px;padding-bottom:72px}
.technology .title{font-size:clamp(2.8rem,5vw,5rem)}
.tech-grid{align-items:center}

/* More compact family gateway. */
.family{padding-top:78px;padding-bottom:78px}
.family-art{height:360px}

/* About/contact closing gateway */
.footer{text-align:left;padding:88px 7vw 34px}
.footer-gateway{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;max-width:1400px;margin:auto}
.footer h2{margin:8px 0 0}
.footer-note{font-size:1.08rem;line-height:1.7;color:#b8c6c1;max-width:520px}
.contact-link{display:block;color:#efc15f;margin-top:15px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700}
.muted-contact{color:#d6dfdb}
.footer-bottom{max-width:1400px;margin:70px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;color:#71817d;font-size:.7rem}
.footer-links{justify-content:flex-end;margin:0;color:#aebdb8}
.edit{display:none!important}

@media(max-width:850px){
  .hero{min-height:auto}
  .hero-copy{min-height:62svh;padding-top:110px;padding-bottom:50px}
  .hero-photo{min-height:46svh}
  .footer-gateway{grid-template-columns:1fr;gap:30px}
  .footer-bottom{align-items:flex-start;gap:24px;flex-direction:column}
  .footer-links{justify-content:flex-start}
}


/* =========================
   V4.1 — deploy candidate polish
   ========================= */

/* Hero: remove the hard horizontal ending of the photograph.
   The bottom fades into the Explore background so both feel like one composition. */
.hero{position:relative}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:125px;
  pointer-events:none;
  z-index:3;
  background:linear-gradient(
    to bottom,
    rgba(12,36,33,0) 0%,
    rgba(12,36,33,.20) 32%,
    rgba(12,36,33,.62) 68%,
    #0c2421 100%
  );
}
.hero-copy,.hero-photo{z-index:1}
.explore{position:relative;z-index:4}

/* Slightly raise hero copy further on large screens. */
@media(min-width:851px){
  .hero-copy{padding-bottom:11vh}
}

/* Ideas visual: bolder, more visible, clickable terms. */
.topic-link{
  appearance:none;
  border:0;
  background:rgba(10,36,33,.36);
  padding:7px 10px;
  border-radius:999px;
  color:#fff7e7;
  font-weight:800;
  opacity:1;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.16);
  transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.topic-link:hover,
.topic-link:focus-visible{
  transform:translateY(-2px);
  background:#efc15f;
  color:#102826;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  outline:none;
}
.w3,.w5{font-size:.68rem}
.ideas-center{pointer-events:none}

/* The topic drawer gives the clicks somewhere useful to go today,
   without requiring unfinished subpages. */
.topic-drawer{
  display:none;
  margin-top:18px;
  padding:22px 24px;
  border-radius:16px;
  background:#173e3a;
  color:white;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}
.topic-drawer.open{display:flex}
.topic-drawer .eyebrow{color:#efc15f}
.topic-drawer h4{
  margin:4px 0 8px;
  font:400 1.9rem/1.05 Georgia,serif
}
.topic-drawer p{
  max-width:850px;
  margin:0;
  color:#d5e0dc;
  line-height:1.65
}
.topic-close{
  border:1px solid rgba(255,255,255,.28);
  background:transparent;
  color:white;
  border-radius:999px;
  padding:8px 14px;
  cursor:pointer;
}

/* Technology stays visible, but acts like a homepage preview rather than a hero section. */
.technology{
  background:#d8bd83;
  border-top:1px solid rgba(16,40,38,.10);
  border-bottom:1px solid rgba(16,40,38,.10)
}
.tech-copy{font-size:1rem;line-height:1.7;max-width:650px}

@media(max-width:850px){
  .hero:after{height:80px}
  .topic-drawer{flex-direction:column}
}


/* V5.15 unified rotating hero headlines */
.hero h1{
  font-size:clamp(4rem,6.5vw,6.4rem);
  line-height:.95;
  max-width:840px;
  white-space:pre-line;
  text-wrap:auto;
}
@media(max-width:850px){
  .hero h1{
    font-size:clamp(3rem,11.5vw,5rem);
    max-width:100%;
    white-space:pre-line;
  }
}

/* Travel page */
.travel-page{background:var(--paper);min-height:100vh}
.travel-page .sub-hero{padding:145px 7vw 72px;background:#0c2421;color:white}
.travel-page .sub-hero h1{margin:0;font:400 clamp(4rem,8vw,8rem)/.94 Georgia,serif;letter-spacing:-.045em}
.travel-page .sub-hero p{max-width:720px;color:#c8d4d0;line-height:1.7;font-size:1.08rem}
.travel-page .travel-shell{padding:70px 7vw 100px}
.travel-page .travel-toolbar{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-bottom:26px}
.travel-page .travel-toolbar input{width:100%;padding:17px 20px;border:1px solid rgba(16,40,38,.13);border-radius:15px;background:white;outline:none}
.travel-page .back-home{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;color:#efc15f}
.travel-page .travel-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:30px}
.travel-page .map-large{min-height:650px;background:#173e3a;border-radius:25px;box-shadow:var(--shadow);padding:18px;position:relative}
.travel-page .map-large svg{width:100%;height:610px}
.travel-page .country-detail{background:white;border-radius:25px;box-shadow:var(--shadow);overflow:hidden;min-height:650px}
.travel-page .country-detail-photo{height:260px;background:#31564d center/cover no-repeat}
.travel-page .country-detail-copy{padding:30px}
.travel-page .country-detail-copy h2{font:400 3rem/1 Georgia,serif;margin:8px 0 15px}
.travel-page .country-detail-copy p{line-height:1.7;color:#5e6964}
.travel-page .story-teasers{margin-top:26px;border-top:1px solid rgba(16,40,38,.12)}
.travel-page .story-teaser{padding:18px 0;border-bottom:1px solid rgba(16,40,38,.12)}
.travel-page .story-teaser strong{display:block;font:400 1.2rem Georgia,serif}
@media(max-width:850px){
 .travel-page .sub-hero{padding:110px 22px 55px}
 .travel-page .travel-shell{padding:55px 22px 80px}
 .travel-page .travel-toolbar{grid-template-columns:1fr}
 .travel-page .travel-layout{grid-template-columns:1fr}
 .travel-page .map-large{min-height:auto}
 .travel-page .map-large svg{height:360px}
}


/* V4.3.1 Travel page polish */
.travel-page .sub-hero{
  min-height:360px;
  padding:92px 7vw 38px;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  isolation:isolate;
}
.travel-page .sub-hero-copy{
  position:relative;
  z-index:3;
  width:min(760px,55vw);
}
.travel-page .sub-hero .eyebrow{margin-top:18px}
.travel-page .sub-hero h1{
  font-size:clamp(3.6rem,6vw,6.3rem);
}
.travel-page .sub-hero p{
  margin-bottom:0;
  max-width:660px;
}
.travel-page .travel-hero-photos{
  position:absolute;
  inset:0 0 0 46%;
  z-index:0;
}
.travel-page .travel-hero-photo{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  opacity:0;
  transform:scale(1.025);
  transition:opacity 2.2s ease, transform 10s ease;
  filter:saturate(.72) contrast(.88) brightness(.78);
}
.travel-page .travel-hero-photo.active{
  opacity:.44;
  transform:scale(1.065);
}
.travel-page .travel-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    90deg,
    #0c2421 0%,
    #0c2421 42%,
    rgba(12,36,33,.95) 50%,
    rgba(12,36,33,.62) 68%,
    rgba(12,36,33,.34) 100%
  );
}
.travel-page .travel-shell{padding:34px 7vw 84px}
.travel-page .travel-toolbar{margin-bottom:18px}
.travel-page .map-large{min-height:565px}
.travel-page .map-large svg{height:525px}
.travel-page .country-detail{min-height:565px}
.travel-page .country-detail-photo{height:205px}
.travel-page .country-detail-copy{padding:22px 26px}
.travel-page .country-detail-copy h2{
  font-size:2.55rem;
  margin:7px 0 10px;
}
.travel-page .country-detail-copy p{
  line-height:1.55;
  margin:0 0 12px;
}
.travel-page .story-teasers{margin-top:16px}
.travel-page .story-teaser{padding:12px 0}

@media(max-width:850px){
  .travel-page .sub-hero{
    min-height:400px;
    padding:94px 22px 40px;
    align-items:flex-end;
  }
  .travel-page .sub-hero-copy{width:100%}
  .travel-page .travel-hero-photos{inset:0}
  .travel-page .travel-hero-photo.active{opacity:.23}
  .travel-page .travel-hero-shade{
    background:linear-gradient(
      0deg,
      #0c2421 8%,
      rgba(12,36,33,.88) 55%,
      rgba(12,36,33,.45) 100%
    );
  }
  .travel-page .travel-shell{padding:32px 22px 70px}
}


/* =========================
   V4.4 — country system
   ========================= */

/* Slightly cooler, stone-like paper tone */
.travel-page{background:#f3efe6}
.travel-page .travel-shell{background:#f3efe6}

/* Give the map about 70px more vertical presence */
.travel-page .map-large{min-height:635px}
.travel-page .map-large svg{height:595px}
.travel-page .country-detail{min-height:635px}

/* Country panel refinements */
.country-detail-placeholder{
  display:flex;
  align-items:flex-end;
  padding:22px;
  background:
    radial-gradient(circle at 75% 25%,rgba(198,155,67,.32),transparent 28%),
    linear-gradient(145deg,#315c55,#173e3a);
}
.country-detail-placeholder span{
  color:white;
  font:400 2.2rem Georgia,serif;
}
.country-themes,.country-chip-row{
  display:flex;gap:7px;flex-wrap:wrap;margin:14px 0;
}
.country-themes span,.country-chip-row span{
  display:inline-block;
  padding:6px 9px;
  border:1px solid rgba(16,40,38,.14);
  border-radius:999px;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.country-open{
  display:inline-block;
  margin-top:18px;
  color:var(--coral);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.7rem;
  font-weight:700;
}
.travel-search-wrap{position:relative}
.travel-suggestions{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 7px);
  z-index:20;background:white;border-radius:13px;box-shadow:var(--shadow);
  overflow:hidden;
}
.travel-suggestions.open{display:block}
.travel-suggestions button{
  display:block;width:100%;border:0;background:white;text-align:left;
  padding:11px 16px;color:var(--ink);cursor:pointer;
  border-bottom:1px solid rgba(16,40,38,.08);
}
.travel-suggestions button:hover{background:#f3efe6}

/* Country page */
.country-page{background:#f3efe6;color:var(--ink)}
.country-hero{
  min-height:620px;position:relative;overflow:hidden;background:#0c2421;color:white;
  display:flex;align-items:flex-end;padding:140px 7vw 80px;
}
.country-hero-art{position:absolute;inset:0;background:center/cover no-repeat;opacity:0}
.country-hero.has-photo .country-hero-art{opacity:.52}
.country-hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,#0c2421 0%,rgba(12,36,33,.94) 38%,rgba(12,36,33,.45) 72%,rgba(12,36,33,.22)),
    linear-gradient(0deg,rgba(12,36,33,.72),transparent 55%);
}
.country-hero-copy{position:relative;z-index:2;max-width:900px}
.country-hero .back-home{color:#efc15f;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.12em}
.country-hero h1{
  font:400 clamp(5rem,10vw,9rem)/.88 Georgia,serif;letter-spacing:-.05em;
  margin:22px 0 18px;
}
.country-hero p{max-width:700px;color:#d4dfdb;line-height:1.7;font-size:1.1rem}
.country-hero .country-chip-row span{border-color:rgba(255,255,255,.22);color:#e2ebe7}

.country-section{
  display:grid;grid-template-columns:.38fr .62fr;gap:70px;
  padding:86px 7vw;border-bottom:1px solid rgba(16,40,38,.1);
}
.country-section-label h2{
  font:400 var(--type-section)/1.05 Georgia,serif;margin:8px 0;
}
.country-memory{background:#fff}
.country-memory-copy p{
  font:400 var(--type-section)/1.14 Georgia,serif;
   margin:0;max-width:950px;
}
.country-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.country-gallery-image{
  aspect-ratio:1.35;background:center/cover no-repeat;border-radius:18px;
  box-shadow:var(--shadow);
}
.country-empty-state{
  border:1px dashed rgba(16,40,38,.22);border-radius:18px;
  padding:42px;color:#75807b;background:rgba(255,255,255,.48);line-height:1.6;
}
.country-stories{display:grid;gap:14px}
.country-story{background:white;border-radius:18px;padding:26px;box-shadow:0 12px 30px rgba(15,33,31,.07)}
.country-story h3{font:400 1.6rem Georgia,serif;margin:8px 0 14px}
.country-story a{color:var(--coral);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.country-next{padding:50px 7vw 80px}
.country-next a{font-weight:700;color:var(--teal)}

@media(max-width:850px){
  .travel-page .map-large{min-height:auto}
  .travel-page .map-large svg{height:420px}
  .travel-page .country-detail{min-height:auto}
  .country-hero{min-height:560px;padding:120px 22px 55px}
  .country-section{grid-template-columns:1fr;gap:28px;padding:60px 22px}
  .country-gallery{grid-template-columns:1fr}
  .country-next{padding:40px 22px 70px}
}


/* =========================
   V4.5 — compact country overview
   Goal: hero + memory + photo/story previews are visible within
   roughly one desktop viewport while preserving room to grow later.
   ========================= */

@media(min-width:851px){
  .country-page #header{height:64px}

  .country-hero{
    min-height:360px;
    padding:112px 7vw 46px;
  }

  .country-hero h1{
    font-size:clamp(4.2rem,7vw,6.6rem);
    margin:14px 0 10px;
  }

  .country-hero p{
    font-size:.98rem;
    line-height:1.55;
    max-width:680px;
    margin:0 0 8px;
  }

  .country-hero .country-chip-row{
    margin:10px 0 0;
  }

  .country-memory{
    min-height:190px;
    padding-top:34px;
    padding-bottom:34px;
    align-items:center;
  }

  .country-memory-copy p{
    font-size:var(--type-section);
    line-height:1.08;
    max-width:930px;
  }

  .country-section{
    grid-template-columns:.34fr .66fr;
    gap:48px;
    padding-top:34px;
    padding-bottom:34px;
  }

  .country-section-label h2{
    font-size:var(--type-section);
    margin:5px 0;
  }

  .country-gallery{
    min-height:105px;
    align-items:stretch;
  }

  .country-gallery-image{
    min-height:135px;
    aspect-ratio:auto;
  }

  .country-empty-state{
    padding:24px 28px;
    min-height:96px;
    display:flex;
    align-items:center;
  }

  .country-story{
    padding:20px 24px;
  }

  .country-story h3{
    margin:5px 0 10px;
  }

  .country-next{
    padding:24px 7vw 34px;
  }
}

/* If the overview has empty placeholders, keep them visually compact.
   Real galleries and stories can naturally expand the page later. */
.country-gallery .country-empty-state:only-child,
.country-stories .country-empty-state:only-child{
  max-width:100%;
}


/* =========================
   V4.6 — intentional country-page ending
   ========================= */

.country-next{
  padding:0;
  min-height:0;
  display:grid;
  grid-template-columns:.42fr .58fr;
  background:#0c2421;
  color:white;
  border-top:0;
}
.country-next-copy{
  padding:34px 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}
.country-next-copy .eyebrow{color:#efc15f}
.country-back-map{
  color:white!important;
  font:400 1.35rem Georgia,serif;
}
.country-next-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-left:1px solid rgba(255,255,255,.13);
}
.country-next-actions a{
  min-height:118px;
  padding:26px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid rgba(255,255,255,.13);
  transition:background .18s ease;
}
.country-next-actions a:last-child{border-right:0}
.country-next-actions a:hover{background:rgba(255,255,255,.06)}
.country-next-actions span{
  color:#8fa09c;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.country-next-actions strong{
  color:white;
  font:400 1.35rem Georgia,serif;
}

/* Keep overview compact, but let the closing strip finish the page visually. */
@media(min-width:851px){
  .country-page .country-section:last-of-type{
    padding-bottom:38px;
  }
}

@media(max-width:850px){
  .country-next{grid-template-columns:1fr}
  .country-next-copy{padding:28px 22px}
  .country-next-actions{
    grid-template-columns:1fr;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.13);
  }
  .country-next-actions a{
    min-height:90px;
    padding:22px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
}


/* =========================
   V4.7 — even country-page rhythm
   Hero remains the visual lead.
   Memory / Photos / Stories use a consistent band height and spacing.
   Continue Exploring remains intentionally compact.
   ========================= */

@media(min-width:851px){
  .country-hero{
    min-height:330px;
    padding-top:104px;
    padding-bottom:40px;
  }

  .country-memory,
  .country-page .country-section:not(.country-memory){
    min-height:150px;
    padding-top:28px;
    padding-bottom:28px;
    align-items:center;
  }

  .country-memory-copy p{
    font-size:clamp(1.65rem,2.45vw,2.65rem);
    line-height:1.08;
  }

  .country-section-label h2{
    font-size:var(--type-section);
  }

  .country-gallery .country-empty-state:only-child,
  .country-stories .country-empty-state:only-child{
    min-height:86px;
    padding:20px 24px;
  }

  .country-next-copy,
  .country-next-actions a{
    min-height:96px;
  }

  .country-next-actions a{
    padding-top:20px;
    padding-bottom:20px;
  }
}

/* Keep the middle three bands visually related */
.country-memory,
.country-page .country-section{
  border-bottom:1px solid rgba(16,40,38,.10);
}


/* =========================
   V4.8 — country-page proportion refinement
   ========================= */

@media(min-width:851px){

  /* Give the country hero a little more visual authority again */
  .country-hero{
    min-height:375px;
    padding-top:112px;
    padding-bottom:48px;
  }

  .country-hero h1{
    font-size:clamp(4.5rem,7.4vw,7rem);
    margin:16px 0 11px;
  }

  /* Make the three content bands visually equal */
  .country-memory,
  .country-page .country-section:not(.country-memory){
    min-height:172px;
    height:172px;
    box-sizing:border-box;
    padding-top:30px;
    padding-bottom:30px;
    align-items:center;
  }

  .country-memory-copy p{
    font-size:clamp(1.7rem,2.5vw,2.7rem);
    line-height:1.08;
  }

  .country-section-label h2{
    font-size:var(--type-section);
  }

  .country-gallery,
  .country-stories{
    display:flex;
    align-items:center;
    height:100%;
  }

  .country-gallery .country-empty-state:only-child,
  .country-stories .country-empty-state:only-child{
    width:100%;
    min-height:88px;
    box-sizing:border-box;
  }

  /* Create intentional breathing room before the closing navigation */
  .country-page .country-section:last-of-type{
    margin-bottom:86px;
  }

  /* Make Continue Exploring read as a footer, not another equal section */
  .country-next{
    min-height:78px;
  }

  .country-next-copy,
  .country-next-actions a{
    min-height:78px;
  }

  .country-next-copy{
    padding-top:18px;
    padding-bottom:18px;
  }

  .country-next-actions a{
    padding-top:16px;
    padding-bottom:16px;
  }

  .country-back-map,
  .country-next-actions strong{
    font-size:1.18rem;
  }
}

/* On smaller screens, keep the natural flow rather than forcing equal heights */
@media(max-width:850px){
  .country-page .country-section:last-of-type{
    margin-bottom:36px;
  }
}


/* =========================
   V4.9 — match Peru page proportions to Travel page
   ========================= */

@media(min-width:851px){

  /* Match the Travel "99 countries" hero proportions */
  .country-hero{
    min-height:360px;
    height:360px;
    box-sizing:border-box;
    padding:92px 7vw 38px;
    align-items:center;
  }

  .country-hero-copy{
    width:min(760px,55vw);
  }

  .country-hero h1{
    font-size:clamp(3.6rem,6vw,6.3rem);
    margin:12px 0 8px;
  }

  .country-hero p{
    margin:0;
    max-width:660px;
    font-size:.98rem;
    line-height:1.5;
  }

  .country-hero .country-chip-row{
    margin:10px 0 0;
  }

  /* Three equal middle bands */
  .country-memory,
  .country-page .country-section:not(.country-memory){
    min-height:164px;
    height:164px;
    box-sizing:border-box;
    padding:26px 7vw;
    align-items:center;
    margin:0;
  }

  .country-memory-copy p{
    font-size:clamp(1.65rem,2.35vw,2.55rem);
    line-height:1.08;
  }

  .country-section-label h2{
    font-size:var(--type-section);
    margin:4px 0;
  }

  .country-gallery,
  .country-stories{
    height:100%;
    display:flex;
    align-items:center;
  }

  .country-gallery .country-empty-state:only-child,
  .country-stories .country-empty-state:only-child{
    width:100%;
    min-height:84px;
    padding:18px 22px;
    box-sizing:border-box;
  }

  /* Closing strip: compact, lower, with Travel-page-like breathing below */
  .country-next{
    min-height:92px;
    margin-top:54px;
    margin-bottom:42px;
  }

  .country-next-copy,
  .country-next-actions a{
    min-height:92px;
    box-sizing:border-box;
  }

  .country-next-copy{
    padding:18px 7vw;
  }

  .country-next-actions a{
    padding:18px 24px;
  }

  .country-back-map,
  .country-next-actions strong{
    font-size:1.18rem;
  }
}

/* Mobile remains naturally scrollable */
@media(max-width:850px){
  .country-next{
    margin-top:28px;
    margin-bottom:28px;
  }
}


/* ============================================================
   V5.0 — Peru / country page vertical composition ONLY
   Travel / 99 Countries page is intentionally untouched.

   Desktop geometry:
     Hero:                 340px
     Memory:               equal share
     What I saw:           equal share
     What I wrote:         equal share
     Continue exploring:    92px
     Beige below footer:    28px
   ============================================================ */

@media (min-width: 851px) {

  /* Make the country page itself fill exactly one viewport initially. */
  .country-page #countryPage{
    min-height:100vh;
    height:100vh;
    display:grid;
    grid-template-rows:
      400px
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 1fr)
      92px;
    padding-bottom:28px;
    box-sizing:border-box;
    background:#f3efe6;
    overflow:hidden;
  }

  /* 1. TOP DARK SECTION — fixed desktop hero canvas */
  .country-page .country-hero{
    grid-row:1;
    height:400px;
    min-height:400px;
    margin:0;
    padding:88px 7vw 30px;
    box-sizing:border-box;
    align-items:center;
  }

  .country-page .country-hero-copy{
    width:min(760px,55vw);
  }

  .country-page .country-hero h1{
    font-size:clamp(3.8rem,6vw,6.2rem);
    margin:10px 0 7px;
  }

  .country-page .country-hero p{
    margin:0;
    max-width:660px;
    font-size:.96rem;
    line-height:1.45;
  }

  .country-page .country-hero .country-chip-row{
    margin:9px 0 0;
  }

  /* 2–4. THREE EQUAL MIDDLE SECTIONS */
  .country-page .country-memory,
  .country-page .country-section:not(.country-memory){
    height:auto;
    min-height:0;
    margin:0;
    padding:20px 7vw;
    box-sizing:border-box;
    align-items:center;
    overflow:hidden;
  }

  .country-page .country-memory{
    grid-row:2;
  }

  .country-page .country-section:nth-of-type(3){
    grid-row:3;
  }

  .country-page .country-section:nth-of-type(4){
    grid-row:4;
  }

  .country-page .country-memory-copy p{
    font-size:clamp(1.55rem,2.25vw,2.45rem);
    line-height:1.06;
    margin:0;
  }

  .country-page .country-section-label h2{
    font-size:var(--type-section);
    margin:3px 0;
  }

  .country-page .country-gallery,
  .country-page .country-stories{
    height:100%;
    display:flex;
    align-items:center;
  }

  .country-page .country-gallery .country-empty-state:only-child,
  .country-page .country-stories .country-empty-state:only-child{
    width:100%;
    min-height:74px;
    padding:16px 20px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
  }

  /* 5. BOTTOM DARK SECTION — fixed near the lower edge */
  .country-page .country-next{
    grid-row:5;
    height:92px;
    min-height:92px;
    margin:0;
    padding:0;
  }

  .country-page .country-next-copy,
  .country-page .country-next-actions a{
    height:92px;
    min-height:92px;
    box-sizing:border-box;
  }

  .country-page .country-next-copy{
    padding:16px 7vw;
  }

  .country-page .country-next-actions a{
    padding:16px 24px;
  }

  .country-page .country-back-map,
  .country-page .country-next-actions strong{
    font-size:1.15rem;
  }
}

/* Mobile remains naturally scrollable. */
@media (max-width: 850px) {
  .country-page #countryPage{
    height:auto;
    min-height:100vh;
    display:block;
    padding-bottom:24px;
    overflow:visible;
  }
}


/* ============================================================
   V5.1 — HOME HERO: ORIGINAL LESOTHO PHOTO
   Exact source image: images/hero-lesotho.jpg (2048 × 944)
   Homepage only. Travel / country pages are unchanged.
   ============================================================ */

.hero{
  position:relative;
  overflow:hidden;
  background:#071e1b;
}

/* Exact user photograph, full-resolution source. */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("../images/hero-lesotho.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;

  /* Deeper/richer presentation without modifying/compressing source pixels */
  filter:
    saturate(1.20)
    contrast(1.10)
    brightness(.90);
}

/* Left-side editorial fade: strong enough for type, transparent over the subject. */
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(4,27,24,.99) 0%,
      rgba(4,27,24,.96) 16%,
      rgba(4,27,24,.86) 29%,
      rgba(4,27,24,.58) 42%,
      rgba(4,27,24,.20) 56%,
      rgba(4,27,24,.03) 69%,
      rgba(4,27,24,0) 78%
    ),
    linear-gradient(
      0deg,
      rgba(4,27,24,.34) 0%,
      rgba(4,27,24,.07) 38%,
      rgba(4,27,24,.05) 100%
    );
}

/* Keep all real hero content above the photo/overlay. */
.hero > *{
  position:relative;
  z-index:2;
}

/* Prevent the headline from covering the central figure. */
.hero h1{
  max-width:690px;
  text-shadow:0 2px 20px rgba(0,0,0,.18);
}

/* Fine tune full-width crop for common desktop sizes. */
@media (min-width:1400px){
  .hero::before{
    background-position:center 47%;
  }
}

/* Mobile: preserve the person/arms and deepen contrast behind text. */
@media (max-width:850px){
  .hero::before{
    background-position:58% center;
    filter:saturate(1.14) contrast(1.08) brightness(.84);
  }

  .hero::after{
    background:
      linear-gradient(
        90deg,
        rgba(4,27,24,.97) 0%,
        rgba(4,27,24,.84) 46%,
        rgba(4,27,24,.40) 100%
      ),
      linear-gradient(
        0deg,
        rgba(4,27,24,.52) 0%,
        rgba(4,27,24,.08) 58%,
        rgba(4,27,24,.05) 100%
      );
  }

  .hero h1{
    max-width:100%;
  }
}


/* ============================================================
   V5.1.1 — HOME HERO LAYER FIX
   Remove the legacy right-side Everest .hero-photo layer.
   Lesotho remains the single full-width hero photograph.
   ============================================================ */

.hero{
  display:block !important;
  position:relative;
  min-height:88svh;
}

/* Text remains on top of the single full-width Lesotho background. */
.hero-copy{
  position:relative !important;
  z-index:3 !important;
  min-height:88svh;
  width:min(760px,48vw);
  box-sizing:border-box;
  padding-left:7vw;
  padding-right:0;
}

/* Legacy element stays in DOM for compatibility, but no longer renders a photo. */
.hero-photo{
  position:absolute !important;
  inset:0 !important;
  min-height:0 !important;
  height:100% !important;
  width:100% !important;
  background:none !important;
  background-image:none !important;
  z-index:0 !important;
  pointer-events:none;
}

/* Disable the old gradient attached to the legacy photo layer. */
.hero-photo::before{
  content:none !important;
  display:none !important;
}

/* Override earlier generic child z-index rule for the hidden legacy layer. */
.hero > .hero-photo{
  z-index:0 !important;
}

/* Preserve the full-width Lesotho source layer below copy. */
.hero::before{
  z-index:0 !important;
}

/* Editorial fade stays between image and text. */
.hero::after{
  z-index:1 !important;
}

/* Keep copy comfortably clear of the centered figure. */
.hero h1{
  max-width:660px;
}

@media(max-width:850px){
  .hero{
    min-height:100svh;
  }

  .hero-copy{
    width:100%;
    min-height:100svh;
    padding:110px 24px 60px;
    justify-content:flex-end;
  }

  .hero-photo{
    display:none !important;
  }
}


/* ============================================================
   V5.1.2 — VERY GENTLE HOME HERO TEXT FADE
   Homepage only.
   - No blur
   - No image replacement
   - No Travel/country changes
   - Lesotho photo remains full-resolution
   ============================================================ */

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  /* Very subtle dark-green support behind copy only */
  background:
    linear-gradient(
      90deg,
      rgba(5,31,27,.22) 0%,
      rgba(5,31,27,.17) 12%,
      rgba(5,31,27,.11) 24%,
      rgba(5,31,27,.06) 34%,
      rgba(5,31,27,.025) 41%,
      rgba(5,31,27,0) 47%
    );
}

/* Keep photograph crisp and rich; no blur applied */
.hero::before{
  filter:
    saturate(1.18)
    contrast(1.08)
    brightness(.93);
}

/* Text stays above the subtle fade */
.hero-copy{
  position:relative;
  z-index:3;
}

/* On smaller screens the fade needs slightly more reach,
   but remains intentionally light. */
@media(max-width:850px){
  .hero::after{
    background:
      linear-gradient(
        90deg,
        rgba(5,31,27,.27) 0%,
        rgba(5,31,27,.19) 30%,
        rgba(5,31,27,.08) 58%,
        rgba(5,31,27,0) 78%
      );
  }
}


/* ============================================================
   V5.1.3 — VISIBLE BUT STILL GENTLE LEFT TEXT FADE
   The previous .22 opacity was too subtle against this photograph.
   This remains homepage-only and does not blur the image.
   ============================================================ */

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1 !important;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(5,31,27,.40) 0%,
      rgba(5,31,27,.34) 10%,
      rgba(5,31,27,.26) 20%,
      rgba(5,31,27,.17) 29%,
      rgba(5,31,27,.09) 36%,
      rgba(5,31,27,.035) 42%,
      rgba(5,31,27,0) 48%
    ) !important;
}

/* Keep the photo itself crisp and unchanged in geometry. */
.hero::before{
  filter:saturate(1.18) contrast(1.08) brightness(.93);
}

@media(max-width:850px){
  .hero::after{
    background:
      linear-gradient(
        90deg,
        rgba(5,31,27,.46) 0%,
        rgba(5,31,27,.34) 30%,
        rgba(5,31,27,.17) 58%,
        rgba(5,31,27,0) 80%
      ) !important;
  }
}


/* ============================================================
   V5.1.4 — BALANCED HOME HERO FADE
   Matches the approved middle-ground visual:
   - noticeable behind the headline
   - soft transition
   - gone before the center of the image
   - no blur
   - no image replacement
   ============================================================ */

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1 !important;
  pointer-events:none;

  background:
    linear-gradient(
      90deg,
      rgba(5,31,27,.54) 0%,
      rgba(5,31,27,.48) 10%,
      rgba(5,31,27,.39) 20%,
      rgba(5,31,27,.29) 29%,
      rgba(5,31,27,.18) 37%,
      rgba(5,31,27,.09) 44%,
      rgba(5,31,27,.035) 50%,
      rgba(5,31,27,0) 56%
    ) !important;
}

/* Keep the original Lesotho image crisp, rich, and natural. */
.hero::before{
  filter:
    saturate(1.18)
    contrast(1.08)
    brightness(.93);
}

/* Keep copy above the fade and away from the central figure. */
.hero-copy{
  position:relative;
  z-index:3 !important;
}

.hero h1{
  max-width:660px;
  text-shadow:0 1px 14px rgba(0,0,0,.12);
}

/* Mobile needs slightly more support because text spans more of the frame. */
@media(max-width:850px){
  .hero::after{
    background:
      linear-gradient(
        90deg,
        rgba(5,31,27,.58) 0%,
        rgba(5,31,27,.48) 28%,
        rgba(5,31,27,.28) 52%,
        rgba(5,31,27,.10) 70%,
        rgba(5,31,27,0) 84%
      ) !important;
  }
}


/* V5.1.5: dedicated homepage gradient layer */
.hero { position:relative; isolation:isolate; overflow:hidden; }

/* Turn off earlier pseudo-element gradient attempts */
.hero::after { content:none !important; display:none !important; }

.hero-gradient{
  position:absolute;
  inset:0 auto 0 0;
  width:56%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(4,34,29,.58) 0%,
    rgba(4,34,29,.54) 14%,
    rgba(4,34,29,.46) 27%,
    rgba(4,34,29,.35) 38%,
    rgba(4,34,29,.23) 48%,
    rgba(4,34,29,.12) 59%,
    rgba(4,34,29,.05) 70%,
    rgba(4,34,29,0) 100%
  );
}

/* text above gradient */
.hero-copy{
  position:relative;
  z-index:3 !important;
  opacity:1 !important;
}

/* preserve bright white copy */
.hero-copy h1,
.hero-copy p,
.hero-copy .eyebrow,
.hero-copy .hero-status,
.hero-copy .link{
  opacity:1 !important;
}

/* photo stays below gradient */
.hero-photo{ z-index:0; }

@media(max-width:850px){
  .hero-gradient{
    width:88%;
    background:linear-gradient(
      90deg,
      rgba(4,34,29,.62) 0%,
      rgba(4,34,29,.52) 34%,
      rgba(4,34,29,.28) 62%,
      rgba(4,34,29,0) 100%
    );
  }
}


/* V5.1.6 — same gradient, one notch darker */
.hero-gradient{
  background:linear-gradient(
    90deg,
    rgba(4,34,29,.68) 0%,
    rgba(4,34,29,.63) 14%,
    rgba(4,34,29,.54) 27%,
    rgba(4,34,29,.42) 38%,
    rgba(4,34,29,.29) 48%,
    rgba(4,34,29,.16) 59%,
    rgba(4,34,29,.07) 70%,
    rgba(4,34,29,0) 100%
  ) !important;
}




/* South Africa experimental CSS removed in v5.77; canonical country template lives in south-africa-country-v549.css. */

/* ============================================================
   V5.16 — HOME HERO: EXACTLY TWO LINES FOR ALL 5 HEADLINES
   Explicit newline in content.js is the only desktop line break.
   ============================================================ */
.hero h1{
  font-size:clamp(3.7rem,5.25vw,5.35rem) !important;
  line-height:.96 !important;
  max-width:760px !important;
  white-space:pre !important;
  text-wrap:nowrap !important;
}

@media(max-width:1050px){
  .hero h1{
    font-size:clamp(3.35rem,5.7vw,4.5rem) !important;
    max-width:none !important;
    white-space:pre !important;
  }
}

@media(max-width:850px){
  .hero h1{
    font-size:clamp(2.7rem,9.2vw,4rem) !important;
    max-width:100% !important;
    white-space:pre !important;
  }
}

@media(max-width:520px){
  .hero h1{
    font-size:clamp(2.15rem,8.8vw,3rem) !important;
  }
}


/* V5.18 — two-line reflection + simplified hero footer */
.hero-reflection span{display:block;white-space:nowrap}
.hero-reflection s{text-decoration-thickness:1.5px;text-decoration-color:rgba(232,225,211,.9)}
.hero-reflection + .link{margin-top:10px}
@media(max-width:850px){
  .hero-reflection span{white-space:normal}
}

/* V5.1.9 — Learning replaces Technology as a top-level section. */
#learning .learning-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:22px}
#learning .learning-links .link{display:inline-block}
\n\n/* V5.20 — focused home + section landing architecture */\n.home-only .hero{}\n.mobile-nav-overlay{padding:100px 28px 40px}\n.mobile-nav-links{display:flex;flex-direction:column;gap:0;max-width:560px;margin:auto}\n.mobile-nav-links a,.mobile-nav-links button{font:400 clamp(2.2rem,9vw,4.5rem)/1.1 Georgia,serif;color:white;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.16);padding:15px 0;text-align:left;cursor:pointer}\n.section-landing{min-height:100svh;background:var(--cream);padding:145px 7vw 80px}\n.section-landing .landing-wrap{max-width:1280px;margin:auto}\n.section-landing .landing-title{font:400 clamp(4rem,8vw,8rem)/.92 Georgia,serif;letter-spacing:-.045em;margin:8px 0 22px}\n.section-landing .landing-intro{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.65;color:var(--muted);max-width:760px}\n.section-landing .landing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px}\n.section-landing .landing-card{background:white;border-top:3px solid var(--gold);padding:28px;min-height:190px;box-shadow:0 12px 35px rgba(15,33,31,.07)}\n.section-landing .landing-card h2{font:400 1.8rem/1.08 Georgia,serif;margin:8px 0 12px}\n.section-landing .landing-card p{color:var(--muted);line-height:1.6}\n.section-landing-header{background:rgba(16,40,38,.96)!important}\n@media(min-width:851px){.hero{min-height:100svh!important}.hero-photo{min-height:100svh!important}.hero-copy{padding-bottom:12vh!important}}\n@media(max-width:850px){.section-landing{padding:115px 22px 60px}.section-landing .landing-grid{grid-template-columns:1fr;margin-top:42px}.hero{min-height:100svh}.hero-copy{min-height:56svh;padding-bottom:34px}.hero-photo{min-height:44svh}}\n