:root{
  --c-deep:#1B5E20;
  --c-leaf:#2E7D32;
  --c-sun:#FDD835;
  --c-lime:#CDEB4B;

  --c-soil:#5D4037;
  --c-cream:#F3EFE2;

  --c-ink:#1a251a;
  --c-ink-soft:rgba(26,37,26,.72);

  --ease-smooth:cubic-bezier(.25,1,.5,1);
  --ease-snap:cubic-bezier(.2,.9,.2,1);

  --shadow-soft:0 18px 60px rgba(16,22,16,.16);
  --shadow-hard:0 24px 90px rgba(16,22,16,.22);

  --ring-item:240px;
  --ring-radius:520px;

  --shape-rest-rot:45deg;
  --shape-teardrop: 58% 58% 58% 18%;
  --shape-rhombus: 10px 56% 10px 56%;

  --glass:rgba(243,239,226,.72);
  --glass-strong:rgba(243,239,226,.9);
  --stroke:rgba(46,125,50,.20);
  --stroke-strong:rgba(46,125,50,.34);

  --focus:0 0 0 3px rgba(253,216,53,.42);

  --font-body:"Nunito Sans", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  --font-display:"Fraunces", ui-serif, Georgia, "Times New Roman", Times, serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  overflow:hidden;
  font-family:var(--font-body);
  background:linear-gradient(180deg, #f4f0e4 0%, #eff2e5 100%);
  color:var(--c-ink);
}

#ambient-layer{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:0;
  pointer-events:none;
}

.stage{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ring-host{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1200px;
  perspective-origin:50% 45%;
}

.hud{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:12;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:clamp(14px,2.2vw,26px);
  gap:18px;
}

.hud-title{
  pointer-events:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  width:min(520px,56vw);
  margin-inline:auto;
}

.hud-title__kicker{
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  font-size:12px;
  color:var(--c-ink-soft);
}

.hud-title__main{
  font-size:clamp(22px,3.2vw,34px);
  font-weight:700;
  font-style:italic;
  font-family:var(--font-display);
  line-height:1.05;
  text-shadow:0 1px 0 rgba(243,239,226,.8);
}

.hud-hints{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  width:220px;
  pointer-events:none;
  opacity:.85;
}

.hint{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(243,239,226,.6);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow-soft);
  font-size:12px;
  letter-spacing:.06em;
}

.hud-btn{
  pointer-events:auto;
  border:1px solid var(--stroke);
  background:rgba(243,239,226,.55);
  color:var(--c-ink);
  border-radius:999px;
  padding:10px 12px;
  display:flex;
  gap:10px;
  align-items:center;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .25s var(--ease-smooth), background .25s var(--ease-smooth), opacity .25s var(--ease-smooth);
  user-select:none;
}

.hud-btn:focus-visible{outline:none; box-shadow:var(--shadow-soft), var(--focus)}
.hud-btn:active{transform:translateY(1px) scale(.99)}
.hud-btn[disabled]{opacity:.38; cursor:not-allowed}

.hud-btn__icon{font-size:18px; line-height:1}

.carousel-ring{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform-style:preserve-3d;
  opacity:1;
  transition:opacity .45s var(--ease-smooth), filter .45s var(--ease-smooth);
}

.carousel-ring[hidden]{display:none}
.carousel-ring.is-dimmed{opacity:.08; filter:blur(1px)}

.carousel-track{
  position:relative;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  list-style:none;
  transform-style:preserve-3d;
  will-change:transform;
}

.carousel-item{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--ring-item);
  height:var(--ring-item);
  transform-style:preserve-3d;
  transform-origin:center;
  margin-left:calc(var(--ring-item) / -2);
  margin-top:calc(var(--ring-item) / -2);
  cursor:pointer;
  user-select:none;
  outline:none;
}

.node{
  width:100%;
  height:100%;
  border-radius:var(--shape-teardrop);
  transform:rotate(var(--shape-rest-rot));
  background:linear-gradient(135deg, rgba(46,125,50,.92), rgba(253,216,53,.86));
  border:1px solid rgba(46,125,50,.22);
  box-shadow:var(--shadow-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .6s var(--ease-smooth), border-radius .6s var(--ease-smooth), background .35s var(--ease-smooth), box-shadow .35s var(--ease-smooth), filter .35s var(--ease-smooth);
  will-change:transform,border-radius;
}

.node::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:radial-gradient(120px 120px at 38% 32%, rgba(243,239,226,.56), transparent 60%);
  pointer-events:none;
  mix-blend-mode:soft-light;
  opacity:.9;
}

.node::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:
    radial-gradient(260px 180px at 50% 115%, rgba(93,64,55,.28), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.06), transparent 30%);
  pointer-events:none;
  opacity:.7;
}

.node__content{
  position:relative;
  width:86%;
  transform:rotate(calc(var(--shape-rest-rot) * -1));
  text-align:center;
  color:var(--c-cream);
  display:flex;
  flex-direction:column;
  gap:8px;
}

.node__title{
  font-weight:700;
  font-style:italic;
  font-family:var(--font-display);
  font-size:22px;
  line-height:1.05;
  letter-spacing:.01em;
  margin:0;
}

.node__subtitle{
  margin:0;
  font-size:13px;
  letter-spacing:.09em;
  text-transform:uppercase;
  opacity:.95;
}

.node__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 auto;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(243,239,226,.12);
  border:1px solid rgba(243,239,226,.18);
  font-size:12px;
  letter-spacing:.08em;
  width:max-content;
}

.carousel-item[data-active="true"] .node,
.carousel-item:hover .node{
  border-radius:var(--shape-rhombus);
  transform:rotate(var(--shape-rest-rot)) scale(1.08);
  background:linear-gradient(135deg, rgba(253,216,53,.92), rgba(46,125,50,.9));
  box-shadow:var(--shadow-hard);
  filter:saturate(1.05);
}

.carousel-item:focus-visible .node{box-shadow:var(--shadow-hard), var(--focus)}
.carousel-item .node:active{transform:rotate(var(--shape-rest-rot)) scale(1.03)}

 .overlay{
  position:fixed;
  inset:0;
  z-index:30;
  display:block;
  padding:clamp(14px,2vw,24px);
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  pointer-events:none;
  opacity:0;
  isolation:isolate;
  background:rgba(31, 40, 30, .16);
  transform:translateY(12px) scale(.985);
  transition:opacity .35s var(--ease-smooth), transform .35s var(--ease-smooth);
}

.overlay.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.overlay::before{
  content:none;
}

.overlay__body{
  position:relative;
  z-index:2;
  width:min(100%, 1800px);
  min-height:calc(100dvh - clamp(28px,4vw,48px));
  margin:0 auto;
  border-radius:28px;
  background:rgba(245,242,232,.98);
  border:1px solid var(--stroke-strong);
  box-shadow:var(--shadow-hard);
  overflow:visible;
  display:flex;
  flex-direction:column;
  min-height:0;
}

.overlay__close{
  position:fixed;
  z-index:120;
  right:clamp(22px,2.8vw,34px);
  top:clamp(22px,2.8vw,34px);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid var(--stroke-strong);
  background:rgba(245,242,232,.98);
  cursor:pointer;
  font-size:24px;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease-smooth), background .25s var(--ease-smooth);
}

.overlay__close:focus-visible{outline:none; box-shadow:var(--shadow-soft), var(--focus)}
.overlay__close:active{transform:translateY(1px)}

.overlay__header{
  padding:clamp(18px,2.4vw,28px) clamp(18px,2.8vw,34px) 10px;
  padding-right:clamp(70px,6vw,92px);
  border-bottom:1px solid rgba(46,125,50,.12);
}

.overlay__title{
  margin:0;
  font-size:clamp(22px,3.6vw,40px);
  font-weight:700;
  font-style:italic;
  font-family:var(--font-display);
  line-height:1.02;
  letter-spacing:.01em;
  color:var(--c-deep);
}

.overlay__subtitle{
  margin:10px 0 0;
  color:var(--c-ink-soft);
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.overlay__grid{
  padding:clamp(16px,2.6vw,30px);
  padding-bottom:clamp(28px,4vw,44px);
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
  flex:0 0 auto;
  min-height:auto;
  overflow:visible;
}

.widget{
  grid-column:span 6;
  border-radius:22px;
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.66);
  box-shadow:0 10px 44px rgba(16,22,16,.12);
  overflow:hidden;
}

.widget--wide{grid-column:span 12}
.widget--narrow{grid-column:span 4}
.widget--mid{grid-column:span 6}

.widget__head{
  padding:16px 18px 14px;
  border-bottom:1px solid rgba(46,125,50,.12);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.widget__title{
  margin:0;
  font-size:18px;
  font-weight:700;
  font-style:italic;
  font-family:var(--font-display);
  color:var(--c-deep);
}

.widget__meta{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.widget__body{
  padding:16px 18px 18px;
  color:var(--c-ink);
  font-size:16px;
  line-height:1.35;
}

.kbd{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(46,125,50,.22);
  background:rgba(243,239,226,.6);
  padding:4px 8px;
  border-radius:10px;
}

.btn{
  border:1px solid rgba(46,125,50,.22);
  background:linear-gradient(135deg, rgba(46,125,50,.92), rgba(253,216,53,.88));
  color:rgba(26,37,26,.92);
  padding:10px 12px;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 14px 44px rgba(16,22,16,.16);
  transition:transform .2s var(--ease-snap), filter .2s var(--ease-snap);
}

.btn:focus-visible{outline:none; box-shadow:0 14px 44px rgba(16,22,16,.16), var(--focus)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--ghost{
  background:rgba(243,239,226,.7);
  color:var(--c-deep);
  text-transform:none;
  letter-spacing:.03em;
}

.row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.field{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:220px;
}

.label{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.select, .input{
  border:1px solid rgba(46,125,50,.22);
  background:rgba(243,239,226,.82);
  border-radius:14px;
  padding:10px 12px;
  font-family:var(--font-body);
  font-size:16px;
  outline:none;
}

.select:focus-visible, .input:focus-visible{box-shadow:var(--focus)}

.list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.li{
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.62);
  border-radius:16px;
  padding:10px 12px;
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(46,125,50,.18);
  background:rgba(243,239,226,.55);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.timeline{
  display:flex;
  align-items:center;
  gap:12px;
  overflow:auto;
  padding-bottom:6px;
  scroll-snap-type:x mandatory;
}

.tnode{
  flex:0 0 auto;
  width:130px;
  border-radius:20px;
  padding:12px;
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.62);
  scroll-snap-align:center;
  cursor:pointer;
  transition:transform .25s var(--ease-smooth);
}

.tnode:hover{transform:translateY(-2px)}
.tnode__date{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--c-ink-soft)}
.tnode__title{margin:8px 0 0; font-size:16px; font-weight:700; font-style:italic; font-family:var(--font-display); color:var(--c-deep)}
.tnode__type{margin:8px 0 0; font-size:12px; letter-spacing:.08em; text-transform:uppercase}

.bubble{
  margin-top:12px;
  border-radius:20px;
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.86);
  padding:12px;
}

.rh-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}

.card{
  position:relative;
  border-radius:22px;
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.62);
  padding:14px;
  min-height:138px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .25s var(--ease-smooth), box-shadow .25s var(--ease-smooth);
}

.card:hover{transform:translateY(-2px); box-shadow:0 18px 50px rgba(16,22,16,.14)}
.card:focus-visible{outline:none; box-shadow:0 18px 50px rgba(16,22,16,.14), var(--focus)}

.card__name{
  margin:0;
  font-size:18px;
  font-weight:700;
  font-style:italic;
  font-family:var(--font-display);
  color:var(--c-deep);
}

.card__role{
  margin:8px 0 0;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.card__bio{
  margin:10px 0 0;
  font-size:15px;
  color:var(--c-ink);
}

.card__chip{
  position:absolute;
  right:12px;
  top:12px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(253,216,53,.16);
  border:1px solid rgba(253,216,53,.24);
  color:rgba(26,37,26,.92);
}

.wax{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.wax::after{
  content:"";
  width:18px;
  height:18px;
  border-radius:999px;
  background:
    radial-gradient(circle at 30% 30%, rgba(243,239,226,.7), transparent 60%),
    radial-gradient(circle at 55% 60%, rgba(253,216,53,.78), rgba(46,125,50,.92));
  box-shadow:0 10px 30px rgba(16,22,16,.16);
  border:1px solid rgba(243,239,226,.22);
}

 .sheet{
  position:fixed;
  inset:0;
  z-index:140;
  opacity:0;
  pointer-events:none;
  display:block;
  padding:clamp(20px,3vw,36px);
  overscroll-behavior:contain;
  background:rgba(31, 40, 30, .12);
}

.sheet.is-open{
  opacity:1;
  pointer-events:auto;
}

.sheet::before{
  content:none;
}

.sheet__body{
  position:fixed;
  z-index:1;
  margin:0;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(760px, calc(100vw - 40px));
  max-height:min(78vh,820px);
  border-radius:28px;
  background:rgba(245,242,232,.99);
  border:1px solid var(--stroke-strong);
  box-shadow:var(--shadow-hard);
  overflow:auto;
  min-height:0;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:22px;
}

.sheet__close{
  position:absolute;
  right:22px;
  top:22px;
  z-index:160;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid var(--stroke-strong);
  background:rgba(245,242,232,.98);
  cursor:pointer;
  font-size:24px;
  display:grid;
  place-items:center;
  box-shadow:var(--shadow-soft);
}

.sheet__close:focus-visible{outline:none; box-shadow:var(--shadow-soft), var(--focus)}
.sheet__body[data-placement="top"]{transform-origin:50% 100%;}
.sheet__body[data-placement="bottom"]{transform-origin:50% 0%;}

.noscript{
  position:fixed;
  inset:auto 16px 16px 16px;
  background:rgba(243,239,226,.9);
  border:1px solid rgba(46,125,50,.2);
  border-radius:18px;
  padding:12px 14px;
  box-shadow:var(--shadow-soft);
  z-index:10;
}

@media (max-width:980px){
  :root{--ring-item:210px; --ring-radius:460px}
  .widget{grid-column:span 12}
  .widget--narrow,.widget--mid{grid-column:span 12}
  .rh-grid{grid-template-columns:repeat(2,1fr)}
  .hud-hints{display:none}
}

@media (max-width:540px){
  :root{--ring-item:188px; --ring-radius:420px}
  .hud-title{width:66vw}
  .hud-btn__label{display:none}
  .overlay__grid{grid-template-columns:repeat(6,1fr)}
}

@media (prefers-reduced-motion: reduce){
  .carousel-ring,.node,.overlay,.hud-btn,.tnode,.card{transition:none !important}
}


.stage.is-home .hud-title,
.stage.is-home .hud-hints{
  display:none;
}

.stage.is-home .hud{
  justify-content:flex-start;
}

.carousel-ring{
  touch-action:none;
}


/* HUD text removed globally */
.hud-title,
.hud-hints{
  display:none !important;
}

.hud{
  justify-content:flex-start;
}


/* ===== Verdant Grove enhancement pass ===== */
.overlay::before,
.sheet::before{
  pointer-events:none;
}

.overlay__body,
.sheet__body{
  z-index:1;
}

.overlay__close,
.sheet__close{
  z-index:6;
  pointer-events:auto;
}

.node,
.node::before,
.node::after,
.node__content{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.node{
  position:relative;
  overflow:hidden;
}

.carousel-item .node__content{
  text-shadow:0 1px 0 rgba(0,0,0,.08);
}

.overlay__body{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}

.overlay__grid{
  align-content:start;
  scrollbar-gutter:stable both-edges;
}

.widget__body{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.widget__body > :last-child{
  margin-bottom:0;
}

.service-card,
.workshop-card,
.team-profile,
.milestone-card{
  width:100%;
}

.zone-grid,
.process-grid{
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}

.service-grid{
  align-items:stretch;
}

.service-grid,
.team-grid{
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
}

.workshop-list{
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
}


.workshop-layout{
  grid-template-columns:minmax(0, 0.9fr) minmax(320px, 1.1fr);
  align-items:start;
}

.workshop-list{
  align-content:start;
}

.product-hero{
  grid-template-columns:minmax(0, 1fr) minmax(340px, 0.95fr);
  align-items:center;
}

.product-visual{
  min-height:280px;
  padding:22px 18px 12px;
}

.product-illustration{
  align-items:flex-end;
  padding-top:12px;
}

.product-illustration svg{
  width:min(100%, 290px);
  max-height:220px;
}

.product-copy{
  justify-content:flex-start;
}

.overlay__close:hover,
.overlay__close:focus-visible,
.sheet__close:hover,
.sheet__close:focus-visible{
  background:rgba(243,239,226,.96);
}

.carousel-item:not([data-active="true"]) .node__subtitle,
.carousel-item:not([data-active="true"]) .node__badge{
  opacity:.92;
}

.home-chrome{
  position:absolute;
  inset:0;
  z-index:10;
  pointer-events:none;
  opacity:0;
  transition:opacity .3s var(--ease-smooth), transform .3s var(--ease-smooth);
}

.stage.is-home .home-chrome{
  opacity:1;
}

.home-bar{
  position:absolute;
  left:0;
  right:0;
  display:flex;
  padding:22px 24px;
}

.home-bar--top{
  top:0;
  justify-content:flex-start;
  align-items:flex-start;
}

.home-bar--bottom{
  bottom:0;
  justify-content:flex-end;
  align-items:flex-end;
}

.brand-badge,
.legal-shell{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(46,125,50,.18);
  background:rgba(243,239,226,.68);
  box-shadow:0 22px 60px rgba(16,22,16,.10);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.brand-badge{
  flex-direction:column;
  align-items:flex-start;
  min-width:min(440px,42vw);
  padding:18px 24px 16px;
  border-radius:28px;
}

.brand-badge__name{
  font-family:var(--font-display);
  font-weight:700;
  font-style:italic;
  font-size:clamp(28px,2.4vw,48px);
  line-height:1;
  color:var(--c-deep);
}

.brand-badge__type{
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--c-ink-soft);
}

.legal-shell{
  padding:14px;
  border-radius:26px;
}

.legal-petals{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.legal-petal{
  pointer-events:auto;
  position:relative;
  min-width:104px;
  height:54px;
  padding:0 18px;
  border:1px solid rgba(46,125,50,.2);
  background:linear-gradient(135deg, rgba(253,216,53,.82), rgba(46,125,50,.82));
  color:var(--c-cream);
  font-family:var(--font-display);
  font-weight:600;
  font-style:italic;
  font-size:17px;
  border-radius:28px 18px 28px 18px;
  box-shadow:0 16px 42px rgba(16,22,16,.16);
  cursor:pointer;
  transition:transform .2s var(--ease-smooth), filter .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);
}

.legal-petal:hover,
.legal-petal:focus-visible{
  transform:translateY(-2px);
  filter:saturate(1.05);
  outline:none;
  box-shadow:0 18px 48px rgba(16,22,16,.18), var(--focus);
}

.card,
.product-size-card,
.zone-card,
.process-card,
.team-profile,
.service-card,
.workshop-card,
.milestone-card,
.legal-card{
  border:1px solid rgba(46,125,50,.14);
  background:rgba(243,239,226,.70);
  box-shadow:0 12px 36px rgba(16,22,16,.08);
}

.rh-grid,
.service-grid,
.team-grid,
.spec-grid,
.size-grid,
.zone-grid,
.process-grid,
.legal-grid{
  display:grid;
  gap:14px;
}

.rh-grid,
.service-grid,
.team-grid,
.zone-grid,
.process-grid,
.legal-grid{
  grid-template-columns:repeat(auto-fit, minmax(min(220px, 100%), 1fr));
}

.card,
.service-card,
.team-profile,
.product-size-card,
.zone-card,
.process-card,
.milestone-card,
.legal-card{
  position:relative;
  min-height:0;
  padding:16px;
  border-radius:20px;
}

.card,
.service-card,
.team-profile{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.card__chip,
.service-card__meta,
.team-profile__tag{
  position:static;
  width:max-content;
  margin:0;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(26,37,26,.82);
  background:rgba(253,216,53,.18);
  border:1px solid rgba(253,216,53,.28);
}

.card__name,
.service-card__title,
.team-profile__name,
.milestone-card__title,
.product-size-card__title,
.zone-card__title,
.process-card__title,
.legal-card__title{
  margin:0;
  font-family:var(--font-display);
  font-weight:700;
  font-style:italic;
  line-height:1.1;
  color:var(--c-deep);
}

.card__bio,
.service-card__body,
.team-profile__bio,
.milestone-card__body,
.zone-card__body,
.process-card__body,
.legal-card__body{
  margin:0;
  line-height:1.55;
  color:var(--c-ink);
}

.team-profile__role,
.service-card__sub,
.milestone-card__year,
.zone-card__meta,
.process-card__meta{
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.timeline,
.workshop-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(148px, 1fr));
  gap:12px;
  overflow:visible;
  padding-bottom:0;
}

.tnode,
.workshop-card{
  width:auto;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:20px;
}

.tnode:focus-visible,
.workshop-card:focus-visible,
.service-card:focus-visible,
.team-profile:focus-visible,
.milestone-card:focus-visible{
  outline:none;
  box-shadow:0 18px 50px rgba(16,22,16,.14), var(--focus);
}

.workshop-layout,
.product-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, .9fr);
  gap:18px;
  align-items:stretch;
}

.workshop-detail,
.product-visual,
.product-copy,
.product-size-card,
.zone-card,
.process-card,
.milestone-card,
.legal-card{
  border-radius:22px;
}

.workshop-detail{
  padding:18px;
  border:1px solid rgba(46,125,50,.14);
  background:rgba(243,239,226,.82);
  box-shadow:0 14px 34px rgba(16,22,16,.08);
  min-height:100%;
}

.workshop-detail__date,
.product-copy__eyebrow{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.workshop-detail__title,
.product-copy__title{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-size:clamp(24px,2.8vw,34px);
  font-weight:700;
  font-style:italic;
  line-height:1.02;
  color:var(--c-deep);
}

.workshop-detail__body,
.product-copy__body{
  margin:12px 0 0;
  line-height:1.6;
}

.product-visual{
  position:relative;
  overflow:hidden;
  padding:18px;
  border:1px solid rgba(46,125,50,.14);
  background:
    radial-gradient(280px 180px at 50% 100%, rgba(46,125,50,.18), transparent 60%),
    linear-gradient(180deg, rgba(243,239,226,.92), rgba(236,244,223,.88));
  min-height:340px;
}

.product-illustration{
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
}

.product-illustration svg{
  width:min(100%, 360px);
  height:auto;
  filter:drop-shadow(0 20px 34px rgba(16,22,16,.16));
}

.product-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  padding:18px;
  border:1px solid rgba(46,125,50,.14);
  background:rgba(243,239,226,.80);
}

.spec-grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
}

.spec-chip{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(46,125,50,.14);
  background:rgba(243,239,226,.64);
}

.spec-chip__label{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-ink-soft);
}

.spec-chip__value{
  font-size:16px;
  line-height:1.35;
  color:var(--c-ink);
}

.size-grid{
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
}

.product-size-card__price{
  margin-top:8px;
  font-weight:700;
  color:var(--c-deep);
}

.product-size-card__meta{
  margin-top:8px;
  font-size:13px;
  color:var(--c-ink-soft);
}

.milestone-list{
  display:grid;
  gap:12px;
}

.milestone-card{
  display:grid;
  grid-template-columns:84px 1fr;
  gap:14px;
  align-items:start;
}

.milestone-card__year{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(46,125,50,.16);
  background:rgba(243,239,226,.74);
  color:var(--c-deep);
  font-weight:700;
}

.inline-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.team-profile__specialties,
.service-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.service-card__tags .tag,
.team-profile__specialties .tag{
  font-size:11px;
}

.product-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

@media (max-width:980px){
  .brand-badge{
    min-width:min(460px, 100%);
  }

  .workshop-layout,
  .product-hero,
  .zone-grid,
  .process-grid{
    grid-template-columns:1fr;
  }

  .spec-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:768px){
  .home-bar{
    padding:14px 14px 16px;
  }

  .home-bar--top,
  .home-bar--bottom{
    justify-content:center;
  }

  .brand-badge,
  .legal-shell{
    width:min(100%, 620px);
    justify-content:center;
    text-align:center;
    align-items:center;
  }

  .brand-badge{
    padding:14px 18px;
  }

  .brand-badge__name{
    font-size:clamp(24px,8vw,36px);
  }

  .legal-shell{
    padding:12px;
  }

  .legal-petals{
    width:100%;
    justify-content:center;
  }

  .legal-petal{
    min-width:92px;
    height:50px;
    font-size:16px;
  }

  .spec-grid{
    grid-template-columns:1fr;
  }

  .milestone-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:540px){
  .overlay{
    padding:12px;
  }

  .overlay__body{
    min-height:calc(100dvh - 24px);
    border-radius:24px;
  }

  .overlay__close{
    right:16px;
    top:16px;
    width:42px;
    height:42px;
  }

  .overlay__header{
    padding:18px 18px 10px;
    padding-right:64px;
  }

  .overlay__grid{
    padding:14px;
    gap:12px;
  }

  .widget__head,
  .widget__body{
    padding-left:14px;
    padding-right:14px;
  }

  .timeline,
  .workshop-list,
  .service-grid,
  .team-grid,
  .zone-grid,
  .process-grid,
  .legal-grid,
  .size-grid{
    grid-template-columns:1fr;
  }
}


.service-card,
.workshop-card,
.team-profile,
.milestone-card,
.legal-petal{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  text-align:left;
  color:inherit;
  cursor:pointer;
}

.workshop-card[data-active="true"]{
  transform:translateY(-2px);
  box-shadow:0 18px 50px rgba(16,22,16,.14);
  background:rgba(243,239,226,.86);
}

.service-card:hover,
.team-profile:hover,
.milestone-card:hover,
.workshop-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 50px rgba(16,22,16,.14);
}


/* ===== Scroll and navigation safety pass ===== */
.overlay,
.overlay__body,
.overlay__grid,
.widget,
.widget__body{
  max-height:none;
}

.overlay__body{
  isolation:isolate;
}

.widget{
  overflow:visible;
}

.service-grid,
.team-grid,
.zone-grid,
.process-grid,
.legal-grid,
.size-grid,
.workshop-list,
.milestone-list{
  align-items:start;
}

@media (min-width:981px){
  .service-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .team-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .zone-grid,
  .process-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}


.overlay.has-sheet .overlay__close{
  opacity:0;
  pointer-events:none;
}

.overlay.has-sheet .overlay__body{
  filter:none;
}

.overlay__header,
.overlay__grid,
.widget,
.widget__body{
  position:relative;
  z-index:1;
}



/* ===== v5 stability patch ===== */
.overlay,
.sheet{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.overlay__body,
.sheet__body{
  position:relative;
  isolation:isolate;
}

.overlay__body{
  background-color:rgba(245,242,232,.98) !important;
}

.sheet__body{
  background-color:rgba(245,242,232,.99) !important;
}

.overlay__close,
.sheet__close,
#btnBack{
  pointer-events:auto !important;
  touch-action:manipulation;
}

.overlay__close{
  z-index:999 !important;
}

.sheet{
  z-index:980 !important;
}

.sheet__body{
  z-index:981 !important;
}

.sheet__close{
  z-index:982 !important;
}

.overlay.has-sheet .overlay__close{
  opacity:0;
  pointer-events:none !important;
}

.overlay:not(.has-sheet) .overlay__close{
  opacity:1;
}

.home-chrome{
  z-index:8;
}

.stage,
.ring-host{
  background:transparent;
}

@media (max-width:540px){
  .overlay__close{
    right:16px;
    top:16px;
  }
}


.sheet__body h2{
  margin:0;
  font-size:28px;
  font-style:italic;
  font-family:var(--font-display);
  color:var(--c-deep);
  line-height:1.05;
}

.sheet-grid{
  display:grid;
  gap:14px;
}

.sheet-grid--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.sheet-note{
  margin:0;
  line-height:1.62;
}

.sheet-list{
  margin:0;
  padding-left:18px;
  line-height:1.62;
}

@media (max-width:780px){
  .sheet__body{
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:calc(100vw - 24px) !important;
    max-height:min(84dvh, calc(100dvh - 24px));
  }

  .sheet-grid--two{
    grid-template-columns:1fr;
  }
}


/* ===== v8 popup positioning fix ===== */
.sheet{
  position:fixed !important;
  inset:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:1200 !important;
}

.sheet__body{
  position:fixed !important;
  inset:auto !important;
  margin:0 !important;
  width:min(760px, calc(100vw - 40px));
  max-width:calc(100vw - 40px);
  max-height:min(78dvh, calc(100dvh - 40px));
  overflow:auto;
}

.sheet__close{
  position:fixed !important;
  z-index:1202 !important;
}

@media (max-width:780px){
  .sheet{
    padding:12px !important;
    background:rgba(31, 40, 30, .12) !important;
  }

  .sheet__body{
    position:fixed !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:min(84dvh, calc(100dvh - 24px)) !important;
  }

  .sheet__close{
    top:16px !important;
    right:16px !important;
    left:auto !important;
    transform:none !important;
  }
}


/* ===== v9 popup placement fix ===== */
.sheet{
  position:absolute !important;
  inset:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:1200 !important;
}

.sheet__body{
  position:absolute !important;
  inset:auto !important;
  margin:0 !important;
  width:min(760px, calc(100% - 40px)) !important;
  max-width:calc(100% - 40px) !important;
  max-height:min(78dvh, calc(100dvh - 40px)) !important;
  overflow:auto !important;
}

.sheet__close{
  position:absolute !important;
  z-index:1202 !important;
}

@media (max-width:780px){
  .sheet{
    position:fixed !important;
    inset:0 !important;
    padding:12px !important;
    background:rgba(31, 40, 30, .12) !important;
  }

  .sheet__body{
    position:fixed !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:min(84dvh, calc(100dvh - 24px)) !important;
  }

  .sheet__close{
    position:fixed !important;
    top:16px !important;
    right:16px !important;
    left:auto !important;
    transform:none !important;
  }
}

/* ===== v10 popup + scrollbar cleanup ===== */
.sheet{
  position:fixed !important;
  inset:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:1400 !important;
  pointer-events:none !important;
}

.sheet.is-open{
  pointer-events:auto !important;
}

.sheet__body{
  position:fixed !important;
  inset:auto !important;
  margin:0 !important;
  width:min(680px, calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:auto !important;
  padding:24px 24px 22px !important;
  scrollbar-gutter:stable both-edges;
}

.sheet__body h2{
  padding-right:58px;
}

.sheet__close{
  position:fixed !important;
  z-index:1402 !important;
}

.overlay,
.sheet__body,
.timeline{
  scrollbar-width:thin;
  scrollbar-color:rgba(46,125,50,.55) rgba(243,239,226,.88);
}

.overlay::-webkit-scrollbar,
.sheet__body::-webkit-scrollbar,
.timeline::-webkit-scrollbar{
  width:12px;
  height:12px;
}

.overlay::-webkit-scrollbar-track,
.sheet__body::-webkit-scrollbar-track,
.timeline::-webkit-scrollbar-track{
  background:rgba(243,239,226,.88);
  border:1px solid rgba(46,125,50,.12);
  border-radius:999px;
}

.overlay::-webkit-scrollbar-thumb,
.sheet__body::-webkit-scrollbar-thumb,
.timeline::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(205,235,75,.95), rgba(46,125,50,.78));
  border:2px solid rgba(243,239,226,.88);
  border-radius:999px;
}

.overlay::-webkit-scrollbar-corner,
.sheet__body::-webkit-scrollbar-corner,
.timeline::-webkit-scrollbar-corner{
  background:transparent;
}

@media (max-width:859px){
  .sheet{
    background:rgba(31, 40, 30, .12) !important;
  }

  .sheet__body{
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    border-radius:26px !important;
  }

  .sheet__close{
    top:16px !important;
    right:16px !important;
    left:auto !important;
    transform:none !important;
  }
}


/* ===== FINAL POPUP SYSTEM OVERRIDE ===== */
.sheet{
  position:fixed !important;
  inset:0 !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  z-index:1600 !important;
  pointer-events:none !important;
}

.sheet.is-open{
  pointer-events:auto !important;
}

.sheet__body{
  position:fixed !important;
  inset:auto !important;
  margin:0 !important;
  width:min(620px, calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100dvh - 32px) !important;
  overflow:auto !important;
  padding:26px 26px 22px !important;
  border-radius:28px !important;
  background:rgba(245,242,232,.98) !important;
  border:1px solid rgba(46,125,50,.22) !important;
  box-shadow:0 28px 96px rgba(16,22,16,.26) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:auto !important;
  scrollbar-gutter:stable both-edges;
}

.sheet__body h2{
  margin:0 !important;
  padding-right:62px !important;
  color:var(--c-deep) !important;
  font-size:clamp(30px, 3.4vw, 54px) !important;
  line-height:0.96 !important;
}

.sheet__close{
  position:fixed !important;
  z-index:1602 !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(46,125,50,.22) !important;
  background:rgba(245,242,232,.98) !important;
  box-shadow:0 18px 40px rgba(16,22,16,.16) !important;
  pointer-events:auto !important;
}

@media (max-width:859px){
  .sheet{
    background:rgba(31,40,30,.12) !important;
    padding:12px !important;
  }

  .sheet__body{
    left:50% !important;
    top:50% !important;
    transform:translate(-50%, -50%) !important;
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    border-radius:26px !important;
    padding:22px 20px 20px !important;
  }

  .sheet__close{
    top:16px !important;
    right:16px !important;
    left:auto !important;
    transform:none !important;
  }
}


/* ===== v12 simple popup rebuild ===== */
.sheet{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  background:rgba(26,37,26,.14) !important;
  z-index:2200 !important;
  overflow:hidden !important;
  pointer-events:auto !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.sheet.is-open{
  display:flex !important;
}

.sheet__panel{
  position:relative !important;
  width:min(720px, calc(100vw - 48px)) !important;
  max-width:720px !important;
  max-height:min(82dvh, calc(100dvh - 48px)) !important;
}

.sheet__body{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  max-height:min(82dvh, calc(100dvh - 48px)) !important;
  overflow:auto !important;
  padding:28px 28px 24px !important;
  border-radius:28px !important;
  background:rgba(245,242,232,.985) !important;
  border:1px solid rgba(46,125,50,.22) !important;
  box-shadow:0 28px 90px rgba(16,22,16,.22) !important;
  scrollbar-gutter:stable both-edges;
}

.sheet__body h2{
  margin:0 !important;
  padding-right:64px !important;
  color:var(--c-deep) !important;
  font-size:clamp(28px, 3.2vw, 54px) !important;
  line-height:0.98 !important;
}

.sheet__close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  transform:none !important;
  z-index:2201 !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(46,125,50,.22) !important;
  background:rgba(245,242,232,.98) !important;
  color:var(--c-ink) !important;
  box-shadow:0 12px 32px rgba(16,22,16,.14) !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
}

.sheet__close:hover,
.sheet__close:focus-visible{
  background:rgba(243,239,226,1) !important;
}

@media (max-width: 859px){
  .sheet{
    padding:12px !important;
  }

  .sheet__panel{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }

  .sheet__body{
    max-height:calc(100dvh - 24px) !important;
    padding:22px 18px 18px !important;
    border-radius:24px !important;
  }

  .sheet__body h2{
    padding-right:58px !important;
    font-size:clamp(26px, 7vw, 42px) !important;
  }

  .sheet__close{
    top:12px !important;
    right:12px !important;
    width:46px !important;
    height:46px !important;
  }
}


/* ===== v13 modal centering + no click-through ===== */
.overlay.has-sheet .overlay__close{
  display:none !important;
}

.overlay.has-sheet #btnBack{
  opacity:1 !important;
}

.overlay > .sheet{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  padding:24px !important;
  background:rgba(26,37,26,.14) !important;
  z-index:3200 !important;
  overflow:hidden !important;
  pointer-events:auto !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.overlay > .sheet.is-open{
  display:block !important;
}

.overlay > .sheet .sheet__panel{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%, -50%) !important;
  width:min(720px, calc(100vw - 48px)) !important;
  max-width:calc(100vw - 48px) !important;
  max-height:calc(100dvh - 48px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  pointer-events:auto !important;
}

.overlay > .sheet .sheet__body{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  max-height:calc(100dvh - 48px) !important;
  overflow:auto !important;
  margin:0 !important;
  padding:28px 28px 24px !important;
  border-radius:28px !important;
  background:rgba(245,242,232,.985) !important;
  border:1px solid rgba(46,125,50,.22) !important;
  box-shadow:0 28px 90px rgba(16,22,16,.22) !important;
  scrollbar-gutter:stable both-edges;
}

.overlay > .sheet .sheet__body h2{
  margin:0 !important;
  padding-right:64px !important;
}

.overlay > .sheet .sheet__close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  transform:none !important;
  z-index:3201 !important;
  width:48px !important;
  height:48px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  cursor:pointer !important;
}

@media (max-width: 859px){
  .overlay > .sheet{
    padding:12px !important;
  }

  .overlay > .sheet .sheet__panel{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }

  .overlay > .sheet .sheet__body{
    max-height:calc(100dvh - 24px) !important;
    padding:22px 18px 18px !important;
    border-radius:24px !important;
  }

  .overlay > .sheet .sheet__body h2{
    padding-right:58px !important;
  }

  .overlay > .sheet .sheet__close{
    top:12px !important;
    right:12px !important;
    width:46px !important;
    height:46px !important;
  }
}


/* ===== v14 final popup rebuild + richer visuals ===== */
#sheet,
.overlay > .sheet{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(16px, 3vw, 28px) !important;
  background:rgba(26,37,26,.18) !important;
  z-index:5000 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  pointer-events:auto !important;
  backdrop-filter:blur(6px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.02) !important;
}

#sheet.is-open,
.overlay > .sheet.is-open{
  display:flex !important;
}

#sheet .sheet__panel,
.overlay > .sheet .sheet__panel{
  position:relative !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  margin:auto !important;
  width:min(760px, calc(100vw - 48px)) !important;
  max-width:min(760px, calc(100vw - 48px)) !important;
  max-height:min(82dvh, calc(100dvh - 48px)) !important;
  display:block !important;
  pointer-events:auto !important;
}

#sheet .sheet__body,
.overlay > .sheet .sheet__body{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  max-height:min(82dvh, calc(100dvh - 48px)) !important;
  overflow:auto !important;
  margin:0 !important;
  padding:28px 28px 24px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(248,245,236,.995), rgba(242,239,228,.985)) !important;
  border:1px solid rgba(46,125,50,.18) !important;
  box-shadow:0 30px 100px rgba(16,22,16,.24) !important;
  scrollbar-gutter:stable !important;
}

#sheet .sheet__close,
.overlay > .sheet .sheet__close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  z-index:5001 !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(46,125,50,.22) !important;
  background:rgba(247,244,235,.98) !important;
  box-shadow:0 12px 32px rgba(16,22,16,.14) !important;
}

#sheet .sheet__body h2,
.overlay > .sheet .sheet__body h2{
  margin:0 0 8px !important;
  padding-right:64px !important;
  color:var(--c-deep) !important;
  font-size:clamp(30px, 3vw, 54px) !important;
  line-height:0.96 !important;
}

.overlay.has-sheet{
  overflow-y:hidden !important;
}

.overlay.has-sheet .overlay__close,
.overlay.has-sheet #btnBack{
  opacity:0 !important;
  pointer-events:none !important;
}

#sheet .sheet__body::-webkit-scrollbar,
.overlay > .sheet .sheet__body::-webkit-scrollbar,
.overlay::-webkit-scrollbar{
  width:12px;
}

#sheet .sheet__body::-webkit-scrollbar-track,
.overlay > .sheet .sheet__body::-webkit-scrollbar-track,
.overlay::-webkit-scrollbar-track{
  background:rgba(223,225,210,.72);
  border-radius:999px;
}

#sheet .sheet__body::-webkit-scrollbar-thumb,
.overlay > .sheet .sheet__body::-webkit-scrollbar-thumb,
.overlay::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(122,167,64,.95), rgba(64,140,57,.95));
  border-radius:999px;
  border:2px solid rgba(223,225,210,.72);
}

.widget{
  overflow:hidden;
}

.widget__head{
  background:linear-gradient(90deg, rgba(205,235,75,.10), rgba(243,239,226,0));
}

.widget__title::before{
  content:'✦';
  margin-right:10px;
  color:rgba(122,167,64,.9);
  font-size:.78em;
}

.service-card,
.team-profile,
.milestone-card,
.process-card,
.zone-card,
.workshop-card,
.workshop-detail,
.product-size-card{
  position:relative;
  background:linear-gradient(180deg, rgba(249,246,238,.98), rgba(243,239,226,.96));
  border:1px solid rgba(46,125,50,.12);
}

.service-card::after,
.team-profile::after,
.milestone-card::after,
.process-card::after,
.zone-card::after,
.workshop-card::after,
.workshop-detail::after,
.product-size-card::after{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, rgba(122,167,64,.9), rgba(253,216,53,.75), transparent 70%);
}

.card-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin:0 0 14px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(122,167,64,.18), rgba(253,216,53,.24));
  border:1px solid rgba(46,125,50,.14);
  font-size:21px;
  box-shadow:0 10px 24px rgba(16,22,16,.08);
}

.card-icon--small{
  width:38px;
  height:38px;
  margin-right:16px;
  flex:0 0 auto;
}

.milestone-card{
  display:flex;
  align-items:flex-start;
  gap:18px;
}

.team-profile,
.service-card,
.workshop-detail,
.product-visual,
.product-copy{
  box-shadow:0 16px 42px rgba(16,22,16,.08);
}

.team-profile .tag,
.service-card .tag,
.workshop-detail .tag,
.milestone-card .tag,
.process-card .tag{
  background:linear-gradient(135deg, rgba(253,216,53,.20), rgba(205,235,75,.14));
  border-color:rgba(46,125,50,.14);
}

.product-hero{
  gap:26px;
}

.product-visual{
  background:radial-gradient(circle at 30% 24%, rgba(253,216,53,.20), transparent 32%), linear-gradient(180deg, rgba(243,239,226,.96), rgba(233,239,226,.94));
}

.home-chrome__brand{
  background:linear-gradient(135deg, rgba(253,216,53,.24), rgba(122,167,64,.18));
}

@media (max-width: 859px){
  #sheet,
  .overlay > .sheet{
    padding:12px !important;
  }

  #sheet .sheet__panel,
  .overlay > .sheet .sheet__panel{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
  }

  #sheet .sheet__body,
  .overlay > .sheet .sheet__body{
    max-height:calc(100dvh - 24px) !important;
    padding:22px 18px 18px !important;
    border-radius:24px !important;
  }

  #sheet .sheet__body h2,
  .overlay > .sheet .sheet__body h2{
    padding-right:58px !important;
    font-size:clamp(28px, 8vw, 42px) !important;
  }

  #sheet .sheet__close,
  .overlay > .sheet .sheet__close{
    top:12px !important;
    right:12px !important;
    width:46px !important;
    height:46px !important;
  }

  .card-icon{
    width:40px;
    height:40px;
    font-size:18px;
  }
}


/* ===== v15 popup portal fix ===== */
body.sheet-open #overlay{
  overflow:hidden !important;
}

body > #sheet{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(16px, 3vw, 28px) !important;
  background:rgba(26,37,26,.18) !important;
  z-index:9999 !important;
  overflow:hidden !important;
  isolation:isolate !important;
  pointer-events:auto !important;
  backdrop-filter:blur(6px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.02) !important;
}

body > #sheet.is-open{
  display:flex !important;
}

body > #sheet .sheet__panel{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  width:min(760px, calc(100vw - 48px)) !important;
  max-width:min(760px, calc(100vw - 48px)) !important;
  max-height:min(82svh, calc(100svh - 48px)) !important;
  margin:0 !important;
  transform:none !important;
  left:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  pointer-events:auto !important;
}

body > #sheet .sheet__body{
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:100% !important;
  height:auto !important;
  max-height:min(82svh, calc(100svh - 48px)) !important;
  overflow:auto !important;
  margin:0 !important;
  padding:28px 28px 24px !important;
  border-radius:28px !important;
  background:linear-gradient(180deg, rgba(248,245,236,.995), rgba(242,239,228,.985)) !important;
  border:1px solid rgba(46,125,50,.18) !important;
  box-shadow:0 30px 100px rgba(16,22,16,.24) !important;
  scrollbar-gutter:stable !important;
}

body > #sheet .sheet__close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  z-index:10000 !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(46,125,50,.22) !important;
  background:rgba(247,244,235,.98) !important;
  box-shadow:0 12px 32px rgba(16,22,16,.14) !important;
}

body > #sheet .sheet__body h2{
  margin:0 0 8px !important;
  padding-right:64px !important;
  color:var(--c-deep) !important;
  font-size:clamp(30px, 3vw, 54px) !important;
  line-height:0.96 !important;
}

body > #sheet .sheet__body::-webkit-scrollbar{
  width:12px;
}

body > #sheet .sheet__body::-webkit-scrollbar-track{
  background:rgba(223,225,210,.72);
  border-radius:999px;
}

body > #sheet .sheet__body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(122,167,64,.95), rgba(64,140,57,.95));
  border-radius:999px;
  border:2px solid rgba(223,225,210,.72);
}

@media (max-width: 859px){
  body > #sheet{
    padding:12px !important;
  }

  body > #sheet .sheet__panel{
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    max-height:calc(100svh - 24px) !important;
  }

  body > #sheet .sheet__body{
    max-height:calc(100svh - 24px) !important;
    padding:22px 18px 18px !important;
    border-radius:24px !important;
  }

  body > #sheet .sheet__body h2{
    padding-right:58px !important;
    font-size:clamp(28px, 8vw, 42px) !important;
  }

  body > #sheet .sheet__close{
    top:12px !important;
    right:12px !important;
    width:46px !important;
    height:46px !important;
  }
}

@media (max-width: 780px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .app,
  .page,
  .section,
  .card,
  .overlay,
  .overlay__body,
  .sheet__body,
  .rh-grid,
  .split,
  .feature-grid,
  .plant-grid,
  .care-grid,
  .contact-grid{
    min-width:0 !important;
    max-width:100% !important;
  }

  .rh-grid,
  .split,
  .feature-grid,
  .plant-grid,
  .care-grid,
  .contact-grid,
  .overlay__grid{
    grid-template-columns:1fr !important;
  }

  .overlay__body,
  .sheet__body{
    -webkit-overflow-scrolling:touch;
  }
}
