/* DIA 3D hero — scoped under .dia3d-* so GreenMart styles are untouched */
.dia3d-track{
  --dia-ground:#F8F5ED; --dia-ink:#2B2420; --dia-muted:#5A4E45; --dia-saffron:#B4500E; --dia-leaf:#3F7A24; --dia-sky:#2A6F9E;
  position:relative; background:var(--dia-ground); color:var(--dia-ink);
  font-family:"Hanken Grotesk", system-ui, sans-serif;
}
/* Not sticky: GreenMart/Elementor wrappers use overflow:hidden, which breaks position:sticky.
   The pouch turns as the hero scrolls through the viewport instead. */
.dia3d-stage{position:relative; min-height:min(92vh,760px); padding-block:48px; display:flex; align-items:center;
  padding-left:max(24px, env(safe-area-inset-left,0px)); padding-right:max(24px, env(safe-area-inset-right,0px));}
.dia3d-wrap{width:100%; max-width:1280px; margin-inline:auto; display:flex; flex-wrap:wrap; align-items:center; gap:24px 40px;}
.dia3d-copy{flex:1 1 420px; min-width:0; display:flex; flex-direction:column; gap:22px;}
.dia3d-eyebrow{font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--dia-leaf);}
.dia3d-title{margin:0; font-family:"Bricolage Grotesque", Georgia, serif; font-weight:800; font-size:clamp(40px,5.6vw,76px); line-height:.98; letter-spacing:-.02em; color:var(--dia-ink); text-wrap:balance;}
.dia3d-lede{margin:0; max-width:32em; font-size:19px; line-height:1.6; color:var(--dia-muted);}
.dia3d-btns{display:flex; flex-wrap:wrap; gap:12px;}
.dia3d-btn{display:inline-flex; align-items:center; min-height:52px; padding:0 26px; border-radius:999px; border:1.5px solid var(--dia-ink); color:var(--dia-ink); background:transparent; text-decoration:none; font-weight:600; font-size:16px;}
.dia3d-btn:hover{color:var(--dia-ink); background:rgba(43,36,32,.06);}
.dia3d-btn.dia3d-solid{background:var(--dia-saffron); border-color:var(--dia-saffron); color:#fff;}
.dia3d-btn.dia3d-solid:hover{background:#8A3C08; border-color:#8A3C08; color:#fff;}
.dia3d-btn:focus-visible{outline:3px solid var(--dia-sky); outline-offset:3px;}
.dia3d-canvasbox{flex:1 1 460px; min-width:0; height:min(78vh,660px); min-height:420px; position:relative;}
.dia3d-canvas{width:100%; height:100%; display:block; touch-action:pan-y;}
.dia3d-cap{position:absolute; left:0; right:0; bottom:6px; text-align:center; font-family:"IBM Plex Mono", ui-monospace, monospace; font-size:13px; color:var(--dia-muted);}
.dia3d-fallback{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.dia3d-fallback img{max-width:70%; height:auto;}
@media (max-width:760px){
  .dia3d-stage{min-height:0; padding-block:40px;}
  .dia3d-canvasbox{height:420px;}
}
