/* Badung Bee Farm — visual refinement pass 01 */

.hero{isolation:isolate;}
.hero-inner{top:16.5vh;max-width:820px;z-index:3;}
.hero-inner h1{max-width:730px;font-size:clamp(54px,6vw,86px);line-height:.86;}
.hero-inner p{max-width:625px;margin:20px 0 17px;}
.hero-actions{position:relative;z-index:5;}
.hero-bottom{z-index:4;bottom:10px;padding-top:12px;gap:42px;}
.hero-bottom>div:not(.hero-note){min-width:105px;}
.hero-bottom b{font-size:23px;}
.hero-note{align-self:center;}

.section.farm{padding-top:112px;}
.farm .section-top{align-items:center;}
.farm .section-top>p{padding-top:14px;}
.farm-feature{margin-top:64px;min-height:455px;}
.farm-panel{padding:52px;}
.farm-panel h3{max-width:440px;}

.statement{min-height:610px;display:flex;align-items:center;gap:6vw;}
.statement-content{display:block;width:auto;max-width:700px;flex:1 1 auto;}
.statement-content .kicker{margin-bottom:20px;}
.statement-content h2{max-width:700px;margin:0 0 28px;font-size:clamp(54px,6.7vw,94px);line-height:.86;}
.statement-content p{margin:0;}
.statement-orbit{flex:0 0 270px;margin:0 5vw 0 0;}

.products{padding-top:108px;padding-bottom:120px;overflow:hidden;}
.products .section-top{align-items:end;}
.products .section-top h2{max-width:680px;text-wrap:balance;}
.products .section-top>p{padding-bottom:3px;}
.product-grid{grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-top:58px;align-items:stretch;}
.product-card{min-height:500px;display:flex;flex-direction:column;border:1px solid rgba(23,33,22,.035);}
.product-photo{height:250px;flex:0 0 250px;}
.product-info{flex:1;display:flex;flex-direction:column;padding:27px 27px 25px;}
.product-info h3{font-size:36px;line-height:.95;margin:17px 0 9px;}
.product-info p{margin:0;max-width:320px;}
.product-info>span{position:static;margin-top:auto;padding-top:24px;}
.future{display:block;background:#dda42b;}
.future-photo{opacity:.20;mix-blend-mode:multiply;background-position:center 58%;}
.future:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(221,164,43,.04),rgba(221,164,43,.06) 45%,rgba(221,164,43,.18));pointer-events:none;}
.future .future-symbol{top:25px;right:25px;z-index:3;font-size:28px;}
.future .product-info{height:auto;min-height:500px;box-sizing:border-box;position:relative;z-index:3;padding:155px 27px 25px;}
.future .product-info h3{margin-top:16px;}
.future .product-info>span{color:#5f501f;}

@media (min-width:901px) and (max-height:820px){
  .hero-inner{top:14vh;}
  .hero-inner h1{font-size:clamp(52px,5.7vw,82px);}
  .hero-inner p{margin:17px 0 14px;}
  .hero-bottom{bottom:8px;}
  .farm-feature{margin-top:58px;min-height:430px;}
}

@media (max-width:900px){
  .products{padding-top:88px;padding-bottom:90px;}
  .products .section-top{gap:25px;}
  .product-grid{margin-top:45px;grid-template-columns:1fr;}
  .product-card{min-height:440px;}
  .product-photo{height:240px;flex-basis:240px;}
  .future .product-info{min-height:440px;padding-top:125px;}
  .hero-inner{top:15vh;}
  .hero-inner h1{font-size:clamp(50px,9vw,76px);}
  .hero-bottom{gap:20px;}
  .section.farm{padding-top:92px;}
  .statement{gap:45px;}
  .statement-content{max-width:none;}
  .statement-content h2{font-size:clamp(52px,10vw,78px);}
  .statement-orbit{margin:0;flex-basis:220px;width:220px;height:220px;}
}

@media (max-width:520px){
  .products{padding-top:76px;padding-bottom:76px;}
  .products .section-top h2{font-size:47px;}
  .product-grid{margin-top:38px;gap:12px;}
  .product-card{min-height:420px;}
  .product-photo{height:215px;flex-basis:215px;}
  .product-info{padding:24px 22px 22px;}
  .product-info h3{font-size:34px;}
  .future .product-info{min-height:420px;padding:118px 22px 22px;}
  .future .future-symbol{top:19px;right:20px;}
  .hero-inner{top:13vh;}
  .hero-inner h1{font-size:50px;line-height:.88;}
  .hero-inner p{font-size:13px;margin:16px 0 14px;}
  .hero-bottom{bottom:8px;gap:12px;}
  .hero-bottom>div:not(.hero-note){min-width:0;}
  .hero-bottom b{font-size:19px;}
  .section.farm{padding-top:82px;}
  .farm-feature{margin-top:45px;}
  .farm-panel{padding:38px 28px;}
  .statement{min-height:560px;}
  .statement-content h2{font-size:51px;line-height:.88;}
  .statement-orbit{width:205px;height:205px;flex-basis:205px;}
}

.product-card .product-photo,
.product-card .future-photo{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease;}
.product-card:hover .product-photo{transform:scale(1.025);}
.product-card:hover .future-photo{transform:scale(1.035);}
.product-card:hover .product-info>span{color:#c78d20;}

.future{isolation:isolate;position:relative;overflow:hidden;}
.future .future-photo{z-index:0;opacity:.12;mix-blend-mode:multiply;}
.future:after{z-index:1;background:linear-gradient(180deg,rgba(221,164,43,.02) 0%,rgba(221,164,43,.08) 45%,rgba(221,164,43,.16) 100%);}
.future .future-symbol,
.future .product-info{z-index:2;}
.future .product-info{color:#172116;text-shadow:none;box-sizing:border-box;}
.future .product-info small{color:#5a4a1c;opacity:1;}
.future .product-info h3{color:#172116;text-shadow:none;}
.future .product-info p{color:#2f2b1b;opacity:1;}
.future .product-info>span{color:#172116;font-weight:600;opacity:1;}
.future .product-info>span::after{color:#b37d16;}

#journey,#value-addition,#impact{scroll-margin-top:96px;}
.product-info > .product-link{
  position:static;
  margin-top:auto;
  padding-top:24px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  color:#5f685c;
  font-size:9px;
  font-weight:700;
  line-height:1.2;
  text-decoration:underline;
  text-decoration-color:rgba(95,104,92,.38);
  text-underline-offset:4px;
  cursor:pointer;
  transition:color .25s ease, transform .25s ease;
}
.product-info > .product-link b{
  font-size:12px;
  font-weight:700;
  color:#b37d16;
  transition:transform .25s ease;
}
.product-info > .product-link:hover,
.product-info > .product-link:focus-visible{
  color:#c78d20;
  text-decoration:underline;
  text-underline-offset:4px;
}
.product-info > .product-link:hover{transform:translateX(2px);}
.product-info > .product-link:hover b,
.product-info > .product-link:focus-visible b{transform:translateX(3px);}
.product-info > .product-link:focus-visible{outline:2px solid #e0a32b;outline-offset:5px;border-radius:3px;}
.future .product-info > .product-link{color:#172116;}
.future .product-info > .product-link:hover,
.future .product-info > .product-link:focus-visible{color:#172116;}
.future .product-info > .product-link b{color:#8f6814;}
@media (max-width:520px){.product-info > .product-link{padding-top:20px;font-size:10px;}}

.value-addition{display:grid;grid-template-columns:1fr 1fr;background:#182418;color:#fff;min-height:520px;scroll-margin-top:78px;}
.value-addition-media{min-height:520px;background:linear-gradient(90deg,rgba(10,20,10,.08),rgba(10,20,10,.28)),url("assets/images/honeycomb.jpg") center/cover;}
.value-addition-copy{padding:88px 8vw 82px 7vw;display:flex;flex-direction:column;justify-content:center;}
.value-addition-copy h2{font-family:Fraunces,serif;font-size:clamp(48px,5.2vw,72px);line-height:.88;letter-spacing:-.05em;margin:20px 0 24px;max-width:620px;}
.value-addition-copy p{font-size:13px;line-height:1.85;color:rgba(255,255,255,.6);max-width:500px;margin:0;}
.value-addition-facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid rgba(255,255,255,.13);padding-top:22px;gap:18px;}
.value-addition-facts div{display:flex;flex-direction:column;gap:7px;}
.value-addition-facts b{font-family:Fraunces,serif;font-size:24px;color:#e7aa30;font-weight:500;}
.value-addition-facts span{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:#9aa595;line-height:1.5;}
.product-link{cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .25s ease,transform .25s ease,text-decoration-color .25s ease;position:absolute;left:26px;bottom:25px;color:#697163;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;}
.product-link:hover,.product-link:focus-visible{color:#c58e22;text-decoration-color:#c58e22;transform:translateX(3px);outline:none;}
.product-link b{transition:transform .25s ease;}
.product-link:hover b,.product-link:focus-visible b{transform:translate(3px,-2px);}
@media(max-width:900px){.value-addition{grid-template-columns:1fr;}.value-addition-media{min-height:330px;}.value-addition-copy{padding:70px 7vw;}.value-addition-facts{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.value-addition-media{min-height:260px;}.value-addition-copy{padding:55px 7vw;}.value-addition-copy h2{font-size:48px;}.value-addition-facts{grid-template-columns:1fr;gap:15px;}.product-link{left:26px;bottom:22px;}}

/* JOURNEY — final visual polish: keep the strong editorial composition, but make the timeline cleaner, quieter and more balanced. */
.journey{padding-top:112px;padding-bottom:112px;}
.journey .section-top{align-items:end;}
.journey .section-top>p{max-width:510px;padding-bottom:3px;}
.journey-line{
  margin-top:68px;
  border-top:1px solid rgba(70,78,67,.30);
}
.journey-line article{
  min-height:190px;
  padding:29px 24px 18px 0;
  border-right:1px solid rgba(70,78,67,.20);
}
.journey-line article:last-child{border-right:0;}
.journey-line article:not(:first-child){padding-left:22px;}
.journey-line article>span{
  top:-14px;
  left:-14px;
  width:28px;
  height:28px;
  border:1px solid rgba(92,100,88,.34);
  background:#f6f2e9;
  color:#5f675c;
}
.journey-line article:first-child>span{background:#dfa62c;border-color:#dfa62c;color:#172116;}
.journey-line small{font-size:8px;letter-spacing:.16em;color:#858d80;}
.journey-line h3{font-size:27px;line-height:1;margin:16px 0 9px;}
.journey-line p{font-size:10.5px;line-height:1.65;color:#747c70;max-width:155px;margin:0;}
.yield{
  margin-top:8px;
  min-height:149px;
  padding:30px 38px;
  gap:72px;
  background:#e9e4d8;
}
.yield div{min-width:190px;}
.yield b{font-size:46px;}
.yield i{font-size:28px;color:#d79d2b;}
@media (max-width:900px){
  .journey{padding-top:90px;padding-bottom:90px;}
  .journey-line{margin-top:56px;grid-template-columns:1fr 1fr;}
  .journey-line article{border-right:0;border-bottom:1px solid rgba(70,78,67,.18);padding:28px 18px 28px 0;min-height:170px;}
  .journey-line article:not(:first-child){padding-left:18px;}
  .journey-line article:nth-child(odd){border-right:1px solid rgba(70,78,67,.18);}
  .journey-line article:nth-child(n+3){padding-top:36px;}
  .journey-line article>span{left:-14px;}
  .yield{gap:34px;padding:28px 24px;}
  .yield div{min-width:0;}
  .yield b{font-size:39px;}
}
@media (max-width:520px){
  .journey{padding-top:76px;padding-bottom:76px;}
  .journey-line{grid-template-columns:1fr;margin-top:48px;}
  .journey-line article,
  .journey-line article:nth-child(odd){border-right:0;border-bottom:1px solid rgba(70,78,67,.18);padding:28px 0 25px;min-height:0;}
  .journey-line article:not(:first-child){padding-left:0;}
  .journey-line article:last-child{border-bottom:0;}
  .journey-line article>span{left:-14px;}
  .yield{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:24px 18px;}
  .yield b{font-size:31px;}
  .yield i{font-size:22px;}
  .yield span{font-size:8px;}
}

/* V3.0 — final stability pass: preserve the established header and remove superseded UI */
.site-header{
  background:rgba(18,29,18,.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}
.site-header.scrolled{
  background:rgba(18,29,18,.97);
  box-shadow:0 8px 30px rgba(0,0,0,.16);
}
/* The header occupies its own band; hero content never slides underneath it. */
.hero{
  margin-top:82px;
  height:calc(100vh - 82px);
  min-height:638px;
}
.hero-inner{top:20%;}
.hero-bottom{bottom:28px;}
.hero-note{display:none!important;}
.mobile-nav{top:82px;}
@media(max-width:900px){
  .site-header{height:72px;}
  .hero{margin-top:72px;height:calc(100vh - 72px);min-height:648px;}
  .hero-inner{top:16%;}
  .mobile-nav{top:72px;}
}
@media(max-width:520px){
  .hero{min-height:620px;}
  .hero-inner{top:13%;}
}
/* The explanatory map hint is intentionally removed; interaction is self-evident. */
#marketMap .map-hint{display:none!important;}

/* V3.2 — keep the hero intentionally concise; superseded UI stays removed. */
.hero-bottom{display:flex;}
.hero-bottom > div{min-width:125px;}
.hero-bottom > div:nth-child(n+3){display:none!important;}
.at-glance{display:none!important;}

/* V3.6 — complete Inside the Work editorial image wall.
   The right-hand visual field is intentionally filled with six supplied photographs
   instead of leaving unused space beside the headline. */
.visual-story{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:5.5vw;
  align-items:start;
  padding:120px 8vw;
  background:#efeae0;
}
.visual-story-head{
  display:block;
  max-width:none;
  margin:0;
  min-height:423px;
}
.visual-story-head .kicker{
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  margin:2px 0 22px;
}
.visual-story-head h2{
  max-width:520px;
  font-size:clamp(45px,4.7vw,72px);
  line-height:.9;
  margin:0;
}
.visual-story-head p{
  max-width:470px;
  margin:58px 0 0;
  padding-top:0;
}
.visual-story-grid{
  max-width:none;
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:1.18fr .91fr .91fr;
  grid-template-rows:230px 230px 145px;
  gap:12px;
}
.story-image{
  margin:0;
  min-width:0;
  min-height:0;
  overflow:hidden;
  position:relative;
  background:#d9d3c6;
}
.story-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s ease,filter .7s ease;
}
.story-image:hover img{transform:scale(1.035);filter:saturate(1.04)}
.story-image.story-large{grid-column:1;grid-row:1 / span 2}
.story-image:nth-child(2){grid-column:2;grid-row:1}
.story-image:nth-child(3){grid-column:3;grid-row:1}
.story-image:nth-child(4){grid-column:2;grid-row:2}
.story-image:nth-child(5){grid-column:3;grid-row:2}
.story-image:nth-child(6){grid-column:1 / span 3;grid-row:3}
.story-image figcaption{
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:2;
  padding:7px 9px;
  background:rgba(18,29,18,.82);
  color:#fff;
  font-size:7px;
  font-weight:700;
  letter-spacing:.16em;
  backdrop-filter:blur(8px);
}

/* Keep the header visually stable: it always has the dark band used on scroll. */
.site-header,
.site-header.scrolled{
  background:rgba(18,29,18,.97);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(255,255,255,.08);
}

@media(max-width:900px){
  .visual-story{
    display:block;
    padding:85px 7vw;
  }
  .visual-story-head{
    display:block;
    min-height:0;
    margin:0 0 38px;
  }
  .visual-story-head .kicker{
    width:max-content;
    max-width:100%;
    white-space:nowrap;
    margin-bottom:20px;
  }
  .visual-story-head h2{
    max-width:680px;
    font-size:clamp(48px,8vw,68px);
  }
  .visual-story-head p{
    margin-top:30px;
    padding-top:0;
  }
  .visual-story-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:245px 205px 125px;
  }
  .story-image.story-large{grid-column:1;grid-row:1 / span 2;}
  .story-image:nth-child(2){grid-column:2;grid-row:1;}
  .story-image:nth-child(3){grid-column:2;grid-row:2;}
  .story-image:nth-child(4){grid-column:1;grid-row:3;}
  .story-image:nth-child(5){grid-column:2;grid-row:3;}
  .story-image:nth-child(6){grid-column:1 / span 2;grid-row:4;}
}
@media(max-width:520px){
  .visual-story-grid{grid-template-columns:1fr;grid-template-rows:280px 210px 210px 210px 210px 170px;}
  .story-image.story-large,
  .story-image:nth-child(2),
  .story-image:nth-child(3),
  .story-image:nth-child(4),
  .story-image:nth-child(5),
  .story-image:nth-child(6){grid-column:1;grid-row:auto;}
}

/* V3.5 — restore the future-pipeline CTA visibility without changing card composition. */
.future .product-info > .product-link{
  position:static;
  margin-top:auto;
  flex:0 0 auto;
  align-self:flex-start;
  display:inline-flex;
  visibility:visible;
  opacity:1;
  color:#172116 !important;
  z-index:4;
}
.future .product-info > .product-link b{color:#8f6814 !important;}
@media(max-width:520px){
  .future .product-info{min-height:420px;box-sizing:border-box;}
}

/* Product CTA destinations — value addition and future pipeline */
.product-development{
  background:#ece8dc;
  padding:112px 8vw 118px;
  border-top:1px solid rgba(23,33,22,.08);
  border-bottom:1px solid rgba(23,33,22,.08);
}
.product-development-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  gap:8vw;
  align-items:start;
}
.product-development-head h2{
  margin:20px 0 26px;
  font-size:clamp(52px,6vw,82px);
  line-height:.88;
  letter-spacing:-.035em;
  color:#172116;
}
.product-development-head h2 em{color:#dca42b;font-style:normal;}
.product-development-head>p{
  max-width:500px;
  margin:0;
  color:#596256;
  line-height:1.75;
  font-size:14px;
}
.value-addition-panel{
  background:#172116;
  color:#f2eee3;
  border:1px solid rgba(255,255,255,.08);
}
.value-item{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  padding:30px 34px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.value-item:last-child{border-bottom:0;}
.value-item>span{color:#dfa62c;font-size:10px;letter-spacing:.16em;padding-top:5px;}
.value-item h3{font-size:30px;line-height:1;margin:0 0 9px;color:#f2eee3;}
.value-item p{margin:0;color:#aeb5aa;font-size:12px;line-height:1.7;max-width:420px;}

.future-pipeline{
  background:#172116;
  color:#f2eee3;
  padding:118px 8vw;
}
.future-pipeline-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:8vw;
  align-items:start;
}
.future-pipeline h2{
  margin:20px 0 0;
  font-size:clamp(52px,6vw,82px);
  line-height:.88;
  letter-spacing:-.035em;
}
.future-pipeline h2 em{color:#dfa62c;font-style:normal;}
.future-pipeline-copy>p{
  margin:0 0 38px;
  max-width:590px;
  color:#b8c0b5;
  font-size:14px;
  line-height:1.8;
}
.future-pipeline-copy strong{color:#f2eee3;}
.future-opportunities{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.future-opportunities article{
  min-height:190px;
  padding:28px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.025);
}
.future-opportunities article>span{color:#dfa62c;font-size:10px;letter-spacing:.16em;}
.future-opportunities h3{margin:28px 0 10px;font-size:28px;line-height:1;}
.future-opportunities p{margin:0;color:#9da69a;font-size:11px;line-height:1.65;}

#value-addition,#future-pipeline{scroll-margin-top:96px;}

@media (max-width:900px){
  .product-development{padding:90px 6vw;}
  .product-development-inner,.future-pipeline-inner{grid-template-columns:1fr;gap:48px;}
  .future-pipeline{padding:92px 6vw;}
}
@media (max-width:520px){
  .product-development{padding:76px 22px;}
  .future-pipeline{padding:78px 22px;}
  .product-development-head h2,.future-pipeline h2{font-size:50px;}
  .value-item{grid-template-columns:36px 1fr;gap:14px;padding:25px 22px;}
  .value-item h3{font-size:27px;}
  .future-opportunities{grid-template-columns:1fr;}
}

/* V4.0 — deployment-safe navigation and clean header */
.site-header,
.site-header.scrolled{
  border-bottom:0 !important;
  box-shadow:none !important;
}

#value-addition,
#future-pipeline{
  position:relative;
  display:block;
  scroll-margin-top:96px;
}

.future-pipeline{
  min-height:520px;
}

/* V5.0 — connected information architecture */
.site-header nav{gap:24px;}
#market,#impact,#resilience,#support{scroll-margin-top:96px;}
footer nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:0 auto;}
footer nav a{color:inherit;text-decoration:none;opacity:.78;font-size:11px;}
footer nav a:hover{opacity:1;}

@media(max-width:900px){
  .site-header nav{display:none;}
  footer nav{justify-content:flex-start;}
}
@media(max-width:520px){
  footer nav{gap:12px 16px;}
}

/* V6.0 — market pathway: clean two-column composition and connected route controls */
.market{
  padding:96px 6vw 78px;
  background:#1c291b;
}
.market-inner{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:0;
  min-height:0;
  overflow:visible;
  background:transparent;
}
.route-map{
  position:relative;
  min-height:760px;
  height:auto;
  overflow:hidden;
  padding:38px 42px 26px;
  border:1px solid rgba(255,255,255,.08);
  background:radial-gradient(circle at 50% 45%,rgba(226,165,43,.10),transparent 28%),#1c291b;
  display:grid;
  grid-template-rows:auto minmax(520px,1fr) auto;
}
.route-map:after{display:none;}
.route-title{
  position:relative;
  z-index:4;
  left:auto;
  top:auto;
  margin:0;
}
.route-title .kicker{margin-bottom:15px;}
.route-title h2{font-size:clamp(43px,4vw,58px);line-height:.9;}
.outline-map-wrap{
  position:relative;
  inset:auto;
  min-height:520px;
  height:100%;
  margin:6px 0 0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.outline-map-wrap .interactive-route-map{
  width:min(100%,520px);
  height:100%;
  max-height:540px;
  display:block;
  overflow:visible;
}
.map-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#dfa62c;
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* Point-anchored route tooltip: hidden until a route point is actually hovered/focused. */
.map-detail{
  position:absolute;
  left:0;
  top:0;
  z-index:20;
  width:min(220px,calc(100% - 20px));
  min-height:0;
  margin:0;
  padding:12px 14px 13px;
  display:block;
  pointer-events:none;
  border:1px solid rgba(231,175,51,.55);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(16,30,17,.98),rgba(27,42,28,.97));
  box-shadow:0 18px 42px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.03) inset;
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.map-detail.is-visible{
  opacity:1;
  visibility:visible;
  transform:none;
}
.map-detail:after{
  content:"";
  position:absolute;
  left:var(--arrow-left,50%);
  width:12px;
  height:12px;
  background:#162619;
  border-right:1px solid rgba(231,175,51,.55);
  border-bottom:1px solid rgba(231,175,51,.55);
  transform:translateX(-50%) rotate(45deg);
}
.map-detail[data-placement="top"]:after{bottom:-7px;transform:translateX(-50%) rotate(45deg);}
.map-detail[data-placement="bottom"]:after{top:-7px;transform:translateX(-50%) rotate(225deg);}
.map-detail[data-placement="right"]:after{left:-7px;top:50%;transform:translateY(-50%) rotate(135deg);}
.map-detail[data-placement="left"]:after{right:-7px;left:auto;top:50%;transform:translateY(-50%) rotate(-45deg);}
.map-detail-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding-bottom:7px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.map-detail-step{
  font-size:8px;
  letter-spacing:.16em;
  color:#dfa62c;
  font-weight:700;
}
.map-detail-heading small{
  font-size:7px;
  letter-spacing:.13em;
  color:#8d9989;
  line-height:1.35;
  text-align:right;
}
.map-detail-copy{min-width:0;display:block;}
.map-detail-copy strong{
  display:block;
  font-family:Fraunces,serif;
  font-size:25px;
  line-height:1;
  color:#f2eee3;
  margin-bottom:5px;
}
.map-detail-copy b{
  display:block;
  font-size:8px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#dfa62c;
}
.map-detail-copy p{
  margin:7px 0 0;
  max-width:none;
  color:#b8c0b4;
  font-size:8px;
  line-height:1.45;
}
.map-caption{
  position:relative;
  z-index:5;
  left:auto;
  bottom:auto;
  margin-top:13px;
  font-size:7px;
  letter-spacing:.12em;
  color:#687768;
  text-transform:uppercase;
}
.market-copy{
  min-width:0;
  padding:38px 0 28px 72px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
}
.market-copy .kicker{margin-bottom:18px;}
.market-copy h2{
  font-size:clamp(58px,5.1vw,82px);
  line-height:.86;
  margin:0 0 28px;
  max-width:520px;
}
.market-copy>p{
  max-width:470px;
  margin:0 0 30px;
  font-size:13px;
  line-height:1.85;
  color:rgba(255,255,255,.62);
}
.phase{
  width:100%;
  max-width:520px;
  display:grid;
  grid-template-columns:90px minmax(0,1fr) auto;
  gap:14px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.13);
  align-items:center;
  cursor:pointer;
  outline:none;
  transition:padding-left .2s ease,background .2s ease,border-color .2s ease;
}
.phase:last-of-type{border-bottom:1px solid rgba(255,255,255,.13);}
.phase:hover,.phase:focus-visible,.phase.is-route-active{
  padding-left:12px;
  background:rgba(223,166,44,.055);
  border-top-color:rgba(223,166,44,.35);
}
.phase span,.phase small{font-size:7px;letter-spacing:.14em;color:#dfa62c;white-space:nowrap;}
.phase b{font-size:12px;line-height:1.35;color:#f1eee5;}
.phase small{color:#879284;text-align:right;}
.market-next{
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  max-width:520px;
}
.market-next span{width:100%;font-size:7px;letter-spacing:.15em;color:#879284;font-weight:700;}
.market-next a{font-size:10px;font-weight:700;color:#f0b53a;text-decoration:none;}
.market-next a:hover{color:#fff;}

@media(max-width:900px){
  .market{padding:78px 7vw 70px;}
  .market-inner{grid-template-columns:1fr;gap:44px;}
  .route-map{min-height:690px;padding:32px 26px 24px;grid-template-rows:auto minmax(470px,1fr) auto;}
  .outline-map-wrap{min-height:470px;}
  .outline-map-wrap .interactive-route-map{max-height:430px;}
  .market-copy{padding:0;}
  .market-copy h2{font-size:58px;}
  .phase{max-width:none;}
  .market-next{max-width:none;}
}
@media(max-width:520px){
  .market{padding:68px 22px 60px;}
  .route-map{min-height:0;padding:26px 18px 20px;grid-template-rows:auto 360px auto;}
  .route-title h2{font-size:42px;}
  .outline-map-wrap{min-height:360px;}
  .outline-map-wrap .interactive-route-map{width:100%;height:100%;max-height:none;}
  .map-detail{width:min(220px,calc(100% - 16px));padding:11px 12px 12px;}
  .map-detail-copy strong{font-size:22px;}
  .map-detail-copy p{margin-top:6px;font-size:7.5px;line-height:1.45;}
  .map-caption{font-size:6px;}
  .market-copy h2{font-size:52px;}
  .phase{grid-template-columns:82px 1fr;gap:10px;}
  .phase small{grid-column:2;text-align:left;margin-top:-5px;}
  .market-next{gap:12px 16px;}
}


/* V9.1 — partnership section cleanup */
.support-main{position:relative;}
.support-main .support-kicker{color:#3e431f;opacity:.9;margin-bottom:18px;}
.support-main h2{max-width:700px;margin:0 0 24px;font-size:clamp(58px,6.2vw,82px);line-height:.88;}
.support-main h2 em{color:#172116;}
.support-main p{max-width:520px;margin:0;color:rgba(23,33,22,.68);font-size:14px;line-height:1.75;}
.support-actions{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap;}
.support-actions .btn.dark{padding:15px 21px;box-shadow:0 10px 25px rgba(23,33,22,.12);}
.support-budget-link{display:inline-flex;align-items:center;gap:8px;color:#172116;text-decoration:none;font-size:11px;font-weight:700;border-bottom:1px solid rgba(23,33,22,.35);padding:5px 0;}
.support-budget-link b{font-size:14px;}
.support-budget-link:hover{border-color:#172116;}
@media(max-width:900px){
  .support-main h2{font-size:58px;}
  .support-actions{gap:18px;}
}
@media(max-width:520px){
  .support-main h2{font-size:50px;}
  .support-actions{align-items:flex-start;flex-direction:column;gap:16px;}
}
