/* Dirani Group V3.1 — premium home experience */
.hero-v31{--hero-accent:#1ab81f;position:relative;overflow:hidden}.hero-slider{position:relative;min-height:760px}.hero-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:center;gap:40px;padding:145px 7vw 150px;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .65s ease,transform 1s cubic-bezier(.2,.8,.2,1),visibility .65s}.hero-slide.active{opacity:1;visibility:visible;transform:none;z-index:2}.hero-slide .hero-copy{max-width:760px}.hero-slide:not(.active) .hero-copy>*{transform:translateY(26px);opacity:0}.hero-slide.active .hero-copy>*{animation:v31Rise .75s both}.hero-slide.active .hero-copy>*:nth-child(2){animation-delay:.08s}.hero-slide.active .hero-copy>*:nth-child(3){animation-delay:.16s}.hero-slide.active .hero-copy>*:nth-child(4){animation-delay:.24s}@keyframes v31Rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.hero-slide .hero-visual{min-height:520px;position:relative}.hero-art{display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;width:min(39vw,540px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--hero-accent),white 42%),var(--hero-accent) 62%,#172319 63%);box-shadow:0 60px 120px rgba(0,0,0,.26);z-index:-2}.category-giant{position:absolute;font-size:clamp(72px,9vw,148px);font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.035);transform:rotate(-10deg);white-space:nowrap}.art-icon{font-size:clamp(120px,15vw,220px);filter:drop-shadow(0 34px 34px rgba(0,0,0,.26));animation:v31Float 5s ease-in-out infinite}.art-ring{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.art-ring.r1{width:72%;aspect-ratio:1}.art-ring.r2{width:52%;aspect-ratio:1;border-style:dashed;animation:v31Spin 24s linear infinite}@keyframes v31Float{50%{transform:translateY(-18px) rotate(3deg)}}@keyframes v31Spin{to{transform:rotate(360deg)}}.private-stack{display:flex;gap:14px;align-items:flex-end;transform:rotate(-4deg)}.private-stack i{display:block;width:105px;border-radius:24px 24px 14px 14px;background:linear-gradient(160deg,#fff,#d9ddd7);box-shadow:0 30px 45px rgba(0,0,0,.22)}.private-stack i:nth-child(1){height:240px}.private-stack i:nth-child(2){height:315px;background:linear-gradient(160deg,#f4e2b0,#b68a36)}.private-stack i:nth-child(3){height:270px}.hero-nav{position:absolute;z-index:6;left:7vw;right:7vw;bottom:98px;display:flex;align-items:center;gap:16px}.hero-dots{display:flex;gap:7px}.hero-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.25);padding:0;cursor:pointer;transition:.25s}.hero-dots button.active{width:28px;border-radius:8px;background:var(--hero-accent)}.hero-count{display:flex;align-items:baseline;gap:4px;color:#fff}.hero-count b{font-size:18px}.hero-count span{font-size:10px;opacity:.5}.hero-progress{width:min(240px,20vw);height:2px;background:rgba(255,255,255,.16);overflow:hidden}.hero-progress i{display:block;width:0;height:100%;background:var(--hero-accent)}.hero-nav>button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#fff;cursor:pointer}.hero-nav>button:hover{background:#fff;color:#152019}.v31-stats{z-index:7}.v31-ribbon{overflow:hidden;background:#f0f2ed;border-bottom:1px solid var(--dg-line);border-top:1px solid var(--dg-line)}.v31-ribbon>div{display:flex;gap:72px;width:max-content;padding:16px 0;animation:v31Ticker 22s linear infinite}.v31-ribbon span{font-size:10px;font-weight:800;letter-spacing:.18em;color:#69756e;position:relative}.v31-ribbon span:after{content:"✦";position:absolute;right:-40px;color:var(--dg-red)}@keyframes v31Ticker{to{transform:translateX(-28%)}}
.manufacturing-v31{min-height:720px;grid-template-columns:1.08fr .92fr;gap:0}.factory-cinematic{position:relative;min-height:720px;overflow:hidden;background:#17231c}.factory-cinematic-bg{position:absolute;inset:0;background:radial-gradient(circle at 30% 35%,rgba(26,184,31,.36),transparent 22%),linear-gradient(135deg,rgba(9,18,12,.15),rgba(9,18,12,.88)),repeating-linear-gradient(90deg,transparent 0 70px,rgba(255,255,255,.035) 71px),linear-gradient(145deg,#304a37,#111a15 72%)}.factory-cinematic-bg:after{content:"DG";position:absolute;right:-3%;bottom:-12%;font-size:28vw;font-weight:900;letter-spacing:-.12em;color:rgba(255,255,255,.025)}.factory-scan{position:absolute;inset:0;background:linear-gradient(transparent 49%,rgba(255,255,255,.04) 50%,transparent 51%);background-size:100% 9px;mix-blend-mode:soft-light}.factory-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:126px;height:126px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);color:#fff;display:grid;place-content:center;gap:8px;cursor:pointer;transition:.35s}.factory-play:hover{transform:translate(-50%,-50%) scale(1.08);background:var(--dg-red)}.factory-play span{font-size:26px;margin-left:5px}.factory-play small{font-size:8px;letter-spacing:.13em}.factory-caption{position:absolute;left:42px;bottom:42px;color:#fff;display:grid;gap:7px}.factory-caption span{font-size:9px;letter-spacing:.18em;opacity:.6}.factory-caption b{font-size:22px;letter-spacing:-.03em}.factory-metrics{position:absolute;right:34px;top:34px;display:grid;gap:8px}.factory-metrics div{min-width:118px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.09);color:#fff}.factory-metrics strong{display:block;font-size:23px}.factory-metrics span{font-size:9px;opacity:.55;text-transform:uppercase;letter-spacing:.1em}.light-link{color:#fff!important;margin-top:22px;display:inline-flex}
@media(max-width:1100px){.hero-slider{min-height:970px}.hero-slide{grid-template-columns:1fr;padding-bottom:190px}.hero-slide .hero-visual{min-height:400px}.hero-art:before{width:430px}.hero-nav{bottom:150px}.manufacturing-v31{grid-template-columns:1fr}.factory-cinematic{min-height:580px}}
@media(max-width:760px){.hero-slider{min-height:900px}.hero-slide{padding:115px 20px 180px;gap:12px}.hero-slide h1{font-size:49px!important}.hero-slide .hero-visual{min-height:350px}.hero-art:before{width:320px}.art-icon{font-size:130px}.private-stack i{width:70px}.private-stack i:nth-child(1){height:165px}.private-stack i:nth-child(2){height:215px}.private-stack i:nth-child(3){height:185px}.hero-nav{left:20px;right:20px;bottom:135px}.hero-progress{flex:1}.hero-dots{display:none}.v31-stats{grid-template-columns:repeat(2,1fr)!important}.factory-cinematic{min-height:500px}.factory-play{width:96px;height:96px}.factory-caption{left:22px;bottom:24px}.factory-metrics{right:18px;top:18px}.factory-metrics div{min-width:90px;padding:10px 12px}.factory-metrics strong{font-size:18px}}

/* V3.2.1 — HERO SLIDER LAYOUT FIX
   The legacy .hero rule in style.css is a two-column grid. V3.1+ owns its own
   internal grid per slide, so the outer hero must be a block container. */
.hero.hero-v31{
  display:block !important;
  grid-template-columns:none !important;
  padding:0 !important;
  min-height:760px;
  width:100%;
  isolation:isolate;
}
.hero.hero-v31::after{display:none !important;content:none !important}
.hero-v31 .hero-slider{
  position:relative;
  width:100%;
  min-height:760px;
  overflow:hidden;
}
.hero-v31 .hero-slide{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  min-height:760px;
  box-sizing:border-box;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  align-items:center !important;
  gap:clamp(28px,4vw,72px) !important;
  padding:145px 7vw 150px !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
}
.hero-v31 .hero-slide.active{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto;
  z-index:3 !important;
}
.hero-v31 .hero-copy{
  position:relative;
  z-index:4;
  width:100%;
  max-width:760px;
  min-width:0;
}
.hero-v31 .hero-visual{
  position:relative;
  z-index:3;
  width:100%;
  min-width:0;
  min-height:500px;
  display:grid;
  place-items:center;
}
.hero-v31 .real-product.hero-product{
  position:relative;
  width:min(100%,520px);
  min-height:500px;
  display:grid;
  place-items:center;
}
.hero-v31 .real-product.hero-product img{
  display:block;
  width:min(78%,390px);
  max-height:470px;
  object-fit:contain;
  margin:auto;
  position:relative;
  z-index:2;
}
.hero-v31 .hero-art{display:grid !important;place-items:center !important}
.hero-v31 .hero-stats{left:7vw;right:7vw;width:auto}

@media(max-width:1100px){
  .hero.hero-v31,.hero-v31 .hero-slider{min-height:980px}
  .hero-v31 .hero-slide{
    min-height:980px;
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(360px,1fr);
    align-content:start !important;
    padding:125px 6vw 200px !important;
    gap:24px !important;
  }
  .hero-v31 .hero-copy{max-width:820px}
  .hero-v31 .hero-visual{min-height:390px}
  .hero-v31 .real-product.hero-product{min-height:390px}
  .hero-v31 .real-product.hero-product img{max-height:370px;width:min(65%,350px)}
}
@media(max-width:760px){
  .hero.hero-v31,.hero-v31 .hero-slider{min-height:900px}
  .hero-v31 .hero-slide{
    min-height:900px;
    grid-template-rows:auto 330px;
    padding:105px 20px 180px !important;
    gap:10px !important;
  }
  .hero-v31 .hero-copy{width:100%;max-width:none}
  .hero-v31 .hero-copy p{font-size:14px;line-height:1.65}
  .hero-v31 .hero-visual{min-height:320px;height:320px}
  .hero-v31 .real-product.hero-product{min-height:320px;height:320px}
  .hero-v31 .real-product.hero-product img{max-height:300px;width:min(72%,280px)}
  .hero-v31 .seal{width:82px;height:82px;right:8px;top:0}
  .hero-v31 .floating-tag{transform:scale(.9);transform-origin:right bottom}
}
