:root{
  --ds-bg:#030504;
  --ds-bg-2:#060b08;
  --ds-bg-3:#0a130d;
  --ds-text:#f5fff7;
  --ds-muted:#9caea1;
  --ds-soft:#d8eadc;
  --ds-line:rgba(245,255,247,.13);
  --ds-line-strong:rgba(85,205,113,.42);
  --ds-green:#49b95f;
  --ds-green-bright:#35df8a;
  --ds-green-soft:#8cc85f;
  --ds-gold:#c9ae72;
  --ds-card:rgba(255,255,255,.045);
  --ds-card-2:rgba(255,255,255,.07);
  --ds-radius:30px;
  --ds-sans:'Inter','Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --ds-serif:'Noto Serif JP','Cormorant Garamond',serif;
}
html{scroll-behavior:smooth;}
body.denshow-theme{background:var(--ds-bg);}
body.denshow-theme.home #header,
body.denshow-theme.home .ct-header,
body.denshow-theme.home footer#footer,
body.denshow-theme.home .ct-footer{display:none!important;}
body.denshow-theme.home{overflow-x:hidden;}
.ds-page{position:relative;overflow:hidden;background:var(--ds-bg);color:var(--ds-text);font-family:var(--ds-sans);letter-spacing:.01em;min-height:100vh;}
.ds-page *{box-sizing:border-box;}
.ds-page a{color:inherit;text-decoration:none;}
.ds-container{width:min(1160px, calc(100% - 44px));margin-inline:auto;position:relative;z-index:3;}
.ds-narrow{width:min(880px, calc(100% - 44px));}
.ds-section{position:relative;min-height:88vh;padding:132px 0;border-bottom:1px solid var(--ds-line);isolation:isolate;}
.ds-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(73,185,95,.12),transparent 30%),radial-gradient(circle at 88% 72%,rgba(53,223,138,.08),transparent 34%);opacity:.85;z-index:0;pointer-events:none;}
.ds-scroll-progress{position:fixed;left:24px;top:24px;bottom:24px;width:1px;background:rgba(255,255,255,.1);z-index:80;}
.ds-scroll-progress span{display:block;width:1px;height:0;background:linear-gradient(180deg,var(--ds-green-soft),var(--ds-green-bright));box-shadow:0 0 18px rgba(53,223,138,.42);}
.ds-floating-nav{position:fixed;left:50%;top:22px;transform:translateX(-50%);width:min(1120px,calc(100% - 56px));height:58px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(3,5,4,.58);backdrop-filter:blur(18px);z-index:70;padding:0 22px;box-shadow:0 22px 60px rgba(0,0,0,.22);}
.ds-nav-logo{font-weight:900;letter-spacing:.08em;font-size:14px;}
.ds-nav-links{display:flex;gap:20px;align-items:center;}
.ds-nav-links a{font-size:12px;letter-spacing:.08em;color:var(--ds-muted);transition:.25s ease;}
.ds-nav-links a:hover{color:var(--ds-text);}
.ds-opening{min-height:100svh;display:grid;place-items:center;padding:140px 0 90px;background:radial-gradient(circle at 50% 48%,#0b1710 0,#030504 48%,#010202 100%);}
.ds-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.ds-line-art{position:absolute;inset:50% auto auto 50%;width:min(1180px,120vw);height:auto;transform:translate(-50%,-48%);opacity:.44;}
.ds-line-main,.ds-line-ghost{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1860;stroke-dashoffset:1860;}
.ds-line-main{stroke:url(#ds-green-gradient);stroke-width:36;filter:url(#ds-glow);animation:ds-draw 3.2s cubic-bezier(.18,.9,.2,1) .35s forwards;}
.ds-line-ghost{stroke:rgba(255,255,255,.08);stroke-width:58;animation:ds-draw 3.4s cubic-bezier(.18,.9,.2,1) .35s forwards;}
@keyframes ds-draw{to{stroke-dashoffset:0;}}
.ds-opening__inner{text-align:left;max-width:980px;}
.ds-logo-mark{width:min(420px,62vw);margin-bottom:44px;filter:drop-shadow(0 0 36px rgba(73,185,95,.2));opacity:.92;}
.ds-logo-mark img{display:block;width:100%;height:auto;}
.ds-small,.ds-kicker{margin:0 0 20px;color:var(--ds-green-soft);font-weight:800;text-transform:uppercase;letter-spacing:.18em;font-size:12px;}
.ds-hero-copy{font-family:var(--ds-serif);font-weight:600;letter-spacing:-.075em;font-size:clamp(42px,7vw,104px);line-height:1.05;margin:0 0 26px;max-width:1080px;}
.ds-hero-lead{font-size:clamp(17px,2vw,23px);line-height:2;color:var(--ds-muted);margin:0;}
.ds-scroll-cue{position:absolute;right:38px;bottom:36px;z-index:4;font-size:11px;color:var(--ds-muted);letter-spacing:.22em;writing-mode:vertical-rl;text-transform:uppercase;}
.ds-scroll-cue:before{content:"";display:inline-block;width:1px;height:58px;background:linear-gradient(var(--ds-green-soft),transparent);margin-bottom:14px;}
.ds-statement{font-family:var(--ds-serif);font-size:clamp(36px,5.7vw,82px);line-height:1.22;letter-spacing:-.075em;font-weight:600;margin:0 0 42px;}
.ds-title{font-family:var(--ds-serif);font-size:clamp(34px,5vw,72px);line-height:1.16;letter-spacing:-.07em;font-weight:600;margin:0;}
.ds-copy{color:var(--ds-muted);font-size:17px;line-height:2.15;}
.ds-copy p{margin:0 0 1.1em;}
.ds-section-head{max-width:860px;margin-bottom:62px;}
.ds-manifesto{background:linear-gradient(180deg,#030504,#07100a);}
.ds-manifesto:after,.ds-future:after{content:"";position:absolute;right:-10vw;top:8%;width:42vw;height:42vw;border:1px solid rgba(73,185,95,.16);border-radius:999px;filter:blur(.1px);z-index:0;}
.ds-hospitality{background:linear-gradient(180deg,#07100a,#030504);}
.ds-contrast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;}
.ds-contrast-card{position:relative;min-height:330px;padding:30px;border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));overflow:hidden;}
.ds-contrast-card:before{content:"";position:absolute;inset:auto -20% -32% auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(73,185,95,.14),transparent 62%);opacity:.65;}
.ds-contrast-card span,.ds-world-card span,.ds-node span,.ds-timeline-item span{display:block;margin-bottom:30px;color:var(--ds-green-soft);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;}
.ds-contrast-card h3{position:relative;font-family:var(--ds-serif);font-size:clamp(25px,2.6vw,36px);line-height:1.35;letter-spacing:-.05em;margin:0 0 22px;}
.ds-contrast-card p{position:relative;color:var(--ds-muted);line-height:1.9;margin:0;}
.ds-contrast-card--accent{border-color:rgba(73,185,95,.55);background:radial-gradient(circle at 78% 88%,rgba(53,223,138,.2),transparent 46%),linear-gradient(180deg,rgba(73,185,95,.13),rgba(255,255,255,.035));box-shadow:0 30px 100px rgba(53,223,138,.08);}
.ds-definition{width:min(860px,100%);margin:42px auto 0;padding:26px 30px;border-left:1px solid var(--ds-line-strong);background:rgba(255,255,255,.025);color:var(--ds-soft);font-size:18px;line-height:2;}
.ds-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:76px;align-items:start;}
.ds-connected{background:#030504;}
.ds-network{margin-top:82px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative;}
.ds-network-line{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--ds-line-strong),transparent);z-index:0;}
.ds-node{position:relative;z-index:2;min-height:260px;padding:26px;border:1px solid var(--ds-line);border-radius:28px;background:rgba(3,5,4,.84);backdrop-filter:blur(10px);}
.ds-node:after{content:"";position:absolute;left:26px;top:50%;width:10px;height:10px;border-radius:50%;background:var(--ds-green-bright);box-shadow:0 0 18px rgba(53,223,138,.6);transform:translateY(-50%);}
.ds-node strong{display:block;font-family:var(--ds-serif);font-size:26px;line-height:1.35;letter-spacing:-.045em;margin-bottom:18px;padding-top:46px;}
.ds-node em{font-style:normal;color:var(--ds-muted);font-size:14px;line-height:1.8;}
.ds-world{background:linear-gradient(180deg,#030504,#09140d);}
.ds-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:54px;}
.ds-world-card{min-height:300px;padding:32px;border:1px solid var(--ds-line);border-radius:var(--ds-radius);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));position:relative;overflow:hidden;transition:.35s ease;}
.ds-world-card:hover{transform:translateY(-4px);border-color:rgba(73,185,95,.45);}
.ds-world-card:before{content:"";position:absolute;right:-80px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(73,185,95,.17),transparent 65%);opacity:0;transition:.35s ease;}
.ds-world-card:hover:before{opacity:1;}
.ds-world-card h3{font-family:var(--ds-serif);font-size:34px;line-height:1.25;letter-spacing:-.055em;margin:0 0 20px;position:relative;}
.ds-world-card p{color:var(--ds-muted);line-height:2;margin:0;position:relative;}
.ds-journey{background:#050806;}
.ds-timeline{position:relative;display:grid;gap:18px;}
.ds-timeline:before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:1px;background:linear-gradient(var(--ds-green-soft),rgba(255,255,255,.08));}
.ds-timeline-item{position:relative;padding:22px 24px 22px 58px;border:1px solid var(--ds-line);border-radius:24px;background:rgba(255,255,255,.03);}
.ds-timeline-item:before{content:"";position:absolute;left:12px;top:31px;width:11px;height:11px;border-radius:50%;background:var(--ds-green-bright);box-shadow:0 0 18px rgba(53,223,138,.5);}
.ds-timeline-item span{margin-bottom:10px;}
.ds-timeline-item p{margin:0;color:var(--ds-muted);line-height:1.85;}
.ds-future{background:radial-gradient(circle at 50% 0,rgba(73,185,95,.12),transparent 38%),#030504;}
.ds-dream{margin:52px 0 0;font-family:var(--ds-serif);font-size:clamp(30px,4vw,58px);letter-spacing:-.06em;color:var(--ds-text);}
.ds-company{background:#070d09;min-height:auto;}
.ds-company-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px;align-items:stretch;}
.ds-company-list{margin:0;border:1px solid var(--ds-line);border-radius:var(--ds-radius);overflow:hidden;background:rgba(255,255,255,.025);}
.ds-company-list div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--ds-line);}
.ds-company-list div:last-child{border-bottom:0;}
.ds-company-list dt,.ds-company-list dd{padding:20px;margin:0;line-height:1.7;}
.ds-company-list dt{color:var(--ds-green-soft);font-weight:800;background:rgba(255,255,255,.025);}
.ds-company-list dd{color:var(--ds-soft);}
.ds-company-message{border:1px solid var(--ds-line);border-radius:var(--ds-radius);padding:30px;background:rgba(255,255,255,.025);color:var(--ds-muted);line-height:2;}
.ds-company-message p{margin:0 0 1em;}
.ds-contact{min-height:96vh;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#070d09,#010202);padding-bottom:80px;}
.ds-contact-box{text-align:center;border:1px solid rgba(73,185,95,.38);border-radius:42px;padding:60px;background:radial-gradient(circle at 50% 100%,rgba(73,185,95,.16),transparent 55%),rgba(255,255,255,.035);box-shadow:0 40px 120px rgba(0,0,0,.25);}
.ds-contact-box h2{font-family:var(--ds-serif);font-size:clamp(34px,5vw,72px);line-height:1.18;letter-spacing:-.07em;margin:0 0 20px;}
.ds-contact-box p{color:var(--ds-muted);line-height:2;margin:0 auto 34px;max-width:740px;}
.ds-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:999px;background:linear-gradient(135deg,var(--ds-green-soft),var(--ds-green));color:#031006!important;font-weight:900;box-shadow:0 18px 60px rgba(73,185,95,.22);transition:.3s ease;}
.ds-button:hover{transform:translateY(-2px);filter:brightness(1.05);}
.ds-ending{margin:52px auto 0;text-align:center;color:rgba(245,255,247,.56);letter-spacing:.16em;text-transform:uppercase;font-size:12px;}
.ds-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1);}
.ds-reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ds-line-main,.ds-line-ghost{animation:none;stroke-dashoffset:0}.ds-reveal{opacity:1;transform:none;transition:none}.ds-button:hover,.ds-world-card:hover{transform:none}}
@media (max-width:1080px){.ds-contrast,.ds-network{grid-template-columns:repeat(2,minmax(0,1fr));}.ds-world-grid,.ds-split,.ds-company-grid{grid-template-columns:1fr}.ds-section{padding:112px 0}.ds-network-line{display:none}.ds-floating-nav{width:calc(100% - 32px)}}
@media (max-width:760px){.ds-floating-nav{height:auto;top:14px;padding:12px 16px;align-items:flex-start}.ds-nav-links{display:none}.ds-scroll-progress{left:12px;top:12px;bottom:12px}.ds-section{min-height:auto;padding:92px 0}.ds-opening{min-height:100svh;padding-top:120px}.ds-container,.ds-narrow{width:min(100% - 30px,1160px)}.ds-logo-mark{width:250px}.ds-hero-copy{font-size:42px}.ds-statement,.ds-title{font-size:38px}.ds-contrast,.ds-network,.ds-world-grid{grid-template-columns:1fr}.ds-contrast-card,.ds-world-card,.ds-node{min-height:auto}.ds-company-list div{grid-template-columns:1fr}.ds-company-list dt{padding-bottom:6px}.ds-company-list dd{padding-top:6px}.ds-contact-box{padding:34px 20px;border-radius:28px}.ds-line-art{width:190vw;opacity:.28}.ds-scroll-cue{display:none}}

/* ------------------------------------------------------------
   PROJECT ∞ v0.5 / Hero Experience: ONE LINE
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v05{background:#020706;}
.ds-page--v05{
  --ds-bg:#020706;
  --ds-bg-2:#050b12;
  --ds-bg-3:#07120e;
  --ds-text:#f4fff5;
  --ds-muted:#a3b5aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 76% 18%, rgba(81,194,107,.09), transparent 28%),
    radial-gradient(circle at 20% 88%, rgba(53,225,138,.08), transparent 34%),
    linear-gradient(180deg,#020707 0%,#04070b 50%,#020706 100%);
}
.ds-page--v05 .ds-floating-nav{
  background:rgba(2,7,6,.36);
  border-color:rgba(244,255,245,.08);
  backdrop-filter:blur(18px);
}
.ds-page--v05 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v05 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.12);opacity:.92;}
.ds-hero-v05{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 64%, rgba(53,225,138,.065), transparent 38%),
    radial-gradient(circle at 50% 100%, rgba(247,241,223,.045), transparent 42%),
    #020706;
}
.ds-hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ds-orb{position:absolute;border-radius:999px;filter:blur(60px);opacity:.55;transform:translate3d(0,0,0);}
.ds-orb--one{width:42vw;height:42vw;left:58%;top:4%;background:rgba(53,225,138,.10);animation:ds-drift-one 16s ease-in-out infinite alternate;}
.ds-orb--two{width:32vw;height:32vw;left:-8%;bottom:0;background:rgba(247,241,223,.045);animation:ds-drift-two 18s ease-in-out infinite alternate;}
.ds-grain{position:absolute;inset:-60px;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:screen;}
@keyframes ds-drift-one{from{transform:translate(-2%,1%) scale(1)}to{transform:translate(-8%,9%) scale(1.12)}}
@keyframes ds-drift-two{from{transform:translate(0,0) scale(1)}to{transform:translate(10%,-12%) scale(1.15)}}
.ds-line-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;}
.ds-one-line{width:min(1180px, 126vw);height:auto;overflow:visible;opacity:.92;transform:translateX(2vw) translateY(-2vh);}
.ds-one-line path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.ds-one-line__ghost{stroke:rgba(244,255,245,.08);stroke-width:2.2;filter:url(#ds-line-glow-v05);}
.ds-one-line__draw{stroke:url(#ds-line-gradient-v05);stroke-width:2.8;stroke-dasharray:1320;stroke-dashoffset:1320;filter:url(#ds-line-glow-v05);animation:ds-line-draw-v05 4.8s cubic-bezier(.18,.72,.2,1) .5s forwards;}
.ds-one-line__future{stroke:rgba(53,225,138,.18);stroke-width:1.5;stroke-dasharray:620;stroke-dashoffset:620;opacity:.0;filter:url(#ds-line-glow-v05);}
.ds-hero-v05.is-line-awake .ds-one-line__future{animation:ds-future-line-v05 2.8s cubic-bezier(.18,.72,.2,1) forwards;}
@keyframes ds-line-draw-v05{to{stroke-dashoffset:0}}
@keyframes ds-future-line-v05{0%{opacity:0;stroke-dashoffset:620}25%{opacity:.45}100%{opacity:.68;stroke-dashoffset:220}}
.ds-opening__inner{min-height:100svh;display:grid;place-items:center;text-align:center;padding-top:0;z-index:3;}
.ds-brand-mark{width:min(340px,62vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);opacity:0;animation:ds-logo-breathe-v05 7.8s ease forwards;}
.ds-brand-mark img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 70px rgba(53,225,138,.14)) brightness(1.08);}
@keyframes ds-logo-breathe-v05{
  0%,38%{opacity:0;filter:blur(2px);transform:translate(-50%,-50%) scale(.92)}
  48%,70%{opacity:.95;filter:blur(0);transform:translate(-50%,-50%) scale(1)}
  100%{opacity:.16;filter:blur(.2px);transform:translate(-50%,-50%) scale(.985)}
}
.ds-hero-words{position:relative;z-index:4;width:min(940px,calc(100vw - 34px));padding-top:34vh;text-align:left;margin-inline:auto;}
.ds-hero-line{font-family:var(--ds-serif);font-weight:500;line-height:1.18;letter-spacing:-.08em;margin:0;color:var(--ds-warm);text-shadow:0 22px 90px rgba(0,0,0,.55);opacity:0;transform:translateY(24px);}
.ds-hero-line--one{font-size:clamp(38px,8vw,118px);animation:ds-hero-word-v05 .95s cubic-bezier(.2,.8,.2,1) 4.9s forwards;}
.ds-hero-line--two{font-size:clamp(34px,7vw,100px);animation:ds-hero-word-v05 .95s cubic-bezier(.2,.8,.2,1) 5.65s forwards;}
.ds-hero-line--three{font-size:clamp(36px,7.5vw,108px);color:var(--ds-text);margin-top:.18em;animation:ds-hero-word-v05 1.05s cubic-bezier(.2,.8,.2,1) 6.8s forwards;}
@keyframes ds-hero-word-v05{to{opacity:1;transform:translateY(0)}}
.ds-scroll-cue--line{left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(244,255,245,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v05 .8s ease 8.1s forwards;}
.ds-scroll-cue--line span{display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v05 1.8s ease-in-out infinite;}
@keyframes ds-scroll-in-v05{to{opacity:1}}
@keyframes ds-scroll-line-v05{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v05 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v05 .ds-statement{letter-spacing:-.075em;}
.ds-page--v05 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v05 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v05 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:760px){
  .ds-one-line{width:220vw;transform:translateX(12vw) translateY(-5vh);opacity:.7;}
  .ds-brand-mark{width:min(260px,70vw);}
  .ds-hero-words{padding-top:38vh;text-align:left;width:calc(100vw - 30px);}
  .ds-hero-line{letter-spacing:-.075em;}
  .ds-hero-line--one{font-size:clamp(40px,14vw,64px)}
  .ds-hero-line--two{font-size:clamp(35px,12vw,56px)}
  .ds-hero-line--three{font-size:clamp(37px,12.5vw,58px)}
}

/* ------------------------------------------------------------
   PROJECT ∞ v0.6 / Hero update: line follows the 伝ＳＨＯＷ symbol
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v06{background:#020706;}
.ds-page--v06{
  --ds-bg:#020706;
  --ds-bg-2:#050b12;
  --ds-bg-3:#07120e;
  --ds-text:#f4fff5;
  --ds-muted:#a3b5aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 76% 18%, rgba(81,194,107,.09), transparent 28%),
    radial-gradient(circle at 20% 88%, rgba(53,225,138,.08), transparent 34%),
    linear-gradient(180deg,#020707 0%,#04070b 50%,#020706 100%);
}
.ds-page--v06 .ds-floating-nav{
  background:rgba(2,7,6,.36);
  border-color:rgba(244,255,245,.08);
  backdrop-filter:blur(18px);
}
.ds-page--v06 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v06 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.12);opacity:.92;}
.ds-hero-v06{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 64%, rgba(53,225,138,.065), transparent 38%),
    radial-gradient(circle at 50% 100%, rgba(247,241,223,.045), transparent 42%),
    #020706;
}
.ds-hero-v06 .ds-hero-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ds-hero-v06 .ds-orb{position:absolute;border-radius:999px;filter:blur(60px);opacity:.55;transform:translate3d(0,0,0);}
.ds-hero-v06 .ds-orb--one{width:42vw;height:42vw;left:58%;top:4%;background:rgba(53,225,138,.10);animation:ds-drift-one 16s ease-in-out infinite alternate;}
.ds-hero-v06 .ds-orb--two{width:32vw;height:32vw;left:-8%;bottom:0;background:rgba(247,241,223,.045);animation:ds-drift-two 18s ease-in-out infinite alternate;}
.ds-hero-v06 .ds-grain{position:absolute;inset:-60px;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:screen;}
.ds-page--v06 .ds-line-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;}
.ds-logo-orbit{width:min(1220px,130vw);height:auto;overflow:visible;opacity:.96;transform:translateX(6vw) translateY(-2vh);}
.ds-logo-orbit path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.ds-logo-orbit__guide{stroke:rgba(244,255,245,.08);stroke-width:2.2;filter:url(#ds-line-glow-v06);}
.ds-logo-orbit__draw{stroke:url(#ds-line-gradient-v06);stroke-width:3;filter:url(#ds-line-glow-v06);animation:ds-logo-path-draw 2.6s cubic-bezier(.18,.72,.2,1) forwards;animation-delay:var(--ds-path-delay, .35s);}
.ds-logo-orbit__future{stroke:url(#ds-line-gradient-v06);stroke-width:2.4;filter:url(#ds-line-glow-v06);opacity:0;}
.ds-hero-v06.is-line-awake .ds-logo-orbit__future{animation:ds-future-path-draw 3.3s cubic-bezier(.18,.72,.2,1) forwards;}
@keyframes ds-logo-path-draw{to{stroke-dashoffset:0}}
@keyframes ds-future-path-draw{0%{opacity:0}20%{opacity:.24}100%{opacity:.72;stroke-dashoffset:calc(var(--ds-future-length, 1000) * .18)}}
.ds-hero-v06 .ds-opening__inner{min-height:100svh;display:grid;place-items:center;text-align:center;padding-top:0;z-index:3;}
.ds-brand-mark--v06{width:min(320px,58vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-48%) scale(.95);opacity:0;animation:ds-logo-breathe-v06 6.6s ease forwards;}
.ds-brand-mark--v06 img{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 70px rgba(53,225,138,.14)) brightness(1.08);}
@keyframes ds-logo-breathe-v06{
  0%,42%{opacity:0;filter:blur(2px);transform:translate(-50%,-48%) scale(.92)}
  52%,72%{opacity:.82;filter:blur(0);transform:translate(-50%,-48%) scale(1)}
  100%{opacity:.12;filter:blur(.2px);transform:translate(-50%,-48%) scale(.985)}
}
.ds-page--v06 .ds-hero-words{position:relative;z-index:4;width:min(940px,calc(100vw - 34px));padding-top:38vh;text-align:left;margin-inline:auto;}
.ds-page--v06 .ds-hero-line{font-family:var(--ds-serif);font-weight:500;line-height:1.18;letter-spacing:-.08em;margin:0;color:var(--ds-warm);text-shadow:0 22px 90px rgba(0,0,0,.55);opacity:0;transform:translateY(24px);}
.ds-page--v06 .ds-hero-line--one{font-size:clamp(38px,8vw,118px);animation:ds-hero-word-v06 .95s cubic-bezier(.2,.8,.2,1) 3.1s forwards;}
.ds-page--v06 .ds-hero-line--two{font-size:clamp(34px,7vw,100px);animation:ds-hero-word-v06 .95s cubic-bezier(.2,.8,.2,1) 3.75s forwards;}
.ds-page--v06 .ds-hero-line--three{font-size:clamp(36px,7.5vw,108px);color:var(--ds-text);margin-top:.18em;animation:ds-hero-word-v06 1.05s cubic-bezier(.2,.8,.2,1) 4.6s forwards;}
@keyframes ds-hero-word-v06{to{opacity:1;transform:translateY(0)}}
.ds-page--v06 .ds-scroll-cue--line{left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(244,255,245,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v06 .8s ease 6.0s forwards;}
.ds-page--v06 .ds-scroll-cue--line span{display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v06 1.8s ease-in-out infinite;}
@keyframes ds-scroll-in-v06{to{opacity:1}}
@keyframes ds-scroll-line-v06{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v06 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v06 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v06 .ds-statement{letter-spacing:-.075em;}
.ds-page--v06 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v06 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:760px){
  .ds-logo-orbit{width:235vw;transform:translateX(26vw) translateY(-6vh);opacity:.78;}
  .ds-brand-mark--v06{width:min(240px,66vw);}
  .ds-page--v06 .ds-hero-words{padding-top:42vh;text-align:left;width:calc(100vw - 30px);}
  .ds-page--v06 .ds-hero-line{letter-spacing:-.075em;}
  .ds-page--v06 .ds-hero-line--one{font-size:clamp(40px,14vw,64px)}
  .ds-page--v06 .ds-hero-line--two{font-size:clamp(35px,12vw,56px)}
  .ds-page--v06 .ds-hero-line--three{font-size:clamp(37px,12.5vw,58px)}
}


/* ------------------------------------------------------------
   PROJECT ∞ v0.7 / Hero Design Concept
   Actual symbol image + traced SVG motion.
   The line must mean Den-show.
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v07{background:#020706;}
.ds-page--v07{
  --ds-bg:#020706;
  --ds-bg-2:#040907;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 68% 24%, rgba(81,194,107,.075), transparent 29%),
    radial-gradient(circle at 50% 100%, rgba(247,241,223,.035), transparent 42%),
    linear-gradient(180deg,#020706 0%,#040907 58%,#020706 100%);
}
.ds-page--v07 .ds-floating-nav{
  background:rgba(2,7,6,.34);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--v07 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v07 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.08);opacity:.9;}
.ds-hero-v07{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-v07 .ds-hero-atmosphere{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 58% 36%, rgba(53,225,138,.08), transparent 28%),
    radial-gradient(circle at 74% 72%, rgba(247,241,223,.035), transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 22%);
}
.ds-hero-v07 .ds-orb{display:none;}
.ds-hero-v07 .ds-grain{
  position:absolute;inset:-60px;opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
.ds-page--v07 .ds-line-stage--v07{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.ds-symbol-field{
  position:relative;
  width:min(860px,72vw);
  aspect-ratio:760/565;
  transform:translateY(-9vh);
}
.ds-symbol-field__image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.12;
  filter:drop-shadow(0 30px 90px rgba(53,225,138,.14)) brightness(.9);
  animation:ds-symbol-image-v07 7.8s ease forwards;
}
.ds-symbol-trace{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.ds-symbol-trace path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ds-symbol-trace__guide{
  stroke:rgba(247,244,231,.075);
  stroke-width:3.2;
  filter:url(#ds-symbol-glow-v07);
}
.ds-symbol-trace__draw{
  stroke:url(#ds-symbol-gradient-v07);
  stroke-width:3.6;
  filter:url(#ds-symbol-glow-v07);
  animation:ds-symbol-draw-v07 4.2s cubic-bezier(.18,.72,.2,1) .45s forwards;
}
.ds-symbol-trace__future{
  stroke:url(#ds-symbol-gradient-v07);
  stroke-width:2.4;
  opacity:0;
  filter:url(#ds-symbol-glow-v07);
}
.ds-hero-v07.is-line-awake .ds-symbol-trace__future{
  animation:ds-symbol-future-v07 3.6s cubic-bezier(.18,.72,.2,1) forwards;
}
@keyframes ds-symbol-image-v07{
  0%,34%{opacity:0;filter:blur(2px) drop-shadow(0 30px 90px rgba(53,225,138,.08));}
  48%,72%{opacity:.105;filter:blur(0) drop-shadow(0 30px 90px rgba(53,225,138,.14));}
  100%{opacity:.075;filter:blur(.2px) drop-shadow(0 30px 90px rgba(53,225,138,.10));}
}
@keyframes ds-symbol-draw-v07{to{stroke-dashoffset:0}}
@keyframes ds-symbol-future-v07{
  0%{opacity:0}
  25%{opacity:.22}
  100%{opacity:.58;stroke-dashoffset:calc(var(--ds-future-length, 1000) * .22)}
}
.ds-brand-mark--v07{
  display:none;
}
.ds-page--v07 .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end start;
  text-align:left;
  z-index:3;
  padding-bottom:13vh;
}
.ds-page--v07 .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(860px,calc(100vw - 44px));
  padding-top:0;
  margin-left:max(24px,8vw);
  margin-right:auto;
}
.ds-page--v07 .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.035em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:0 22px 90px rgba(0,0,0,.62);
  opacity:0;
  transform:translateY(18px);
}
.ds-page--v07 .ds-hero-line--one,
.ds-page--v07 .ds-hero-line--two,
.ds-page--v07 .ds-hero-line--three{
  font-size:clamp(22px,3.2vw,54px);
}
.ds-page--v07 .ds-hero-line--one{animation:ds-hero-word-v07 .95s cubic-bezier(.2,.8,.2,1) 4.8s forwards;}
.ds-page--v07 .ds-hero-line--two{animation:ds-hero-word-v07 .95s cubic-bezier(.2,.8,.2,1) 5.45s forwards;}
.ds-page--v07 .ds-hero-line--three{animation:ds-hero-word-v07 1.05s cubic-bezier(.2,.8,.2,1) 6.18s forwards;color:#fffdf1;}
@keyframes ds-hero-word-v07{to{opacity:1;transform:translateY(0)}}
.ds-page--v07 .ds-scroll-cue--line{
  left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(247,244,231,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v07 .8s ease 7.3s forwards;
}
.ds-page--v07 .ds-scroll-cue--line span{
  display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v07 1.8s ease-in-out infinite;
}
@keyframes ds-scroll-in-v07{to{opacity:1}}
@keyframes ds-scroll-line-v07{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v07 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v07 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v07 .ds-statement{letter-spacing:-.065em;}
.ds-page--v07 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v07 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:900px){
  .ds-symbol-field{width:112vw;transform:translate(16vw,-13vh);}
  .ds-page--v07 .ds-opening__inner{padding-bottom:16vh;}
  .ds-page--v07 .ds-hero-words{margin-left:24px;width:calc(100vw - 48px);}
}
@media (max-width:760px){
  .ds-symbol-field{width:145vw;transform:translate(28vw,-14vh);}
  .ds-page--v07 .ds-hero-words{margin-left:18px;width:calc(100vw - 36px);}
  .ds-page--v07 .ds-hero-line--one,
  .ds-page--v07 .ds-hero-line--two,
  .ds-page--v07 .ds-hero-line--three{font-size:clamp(24px,8vw,42px);line-height:1.65;}
}

/* ------------------------------------------------------------
   PROJECT ∞ v0.8 / Hero correction
   Logo itself is the hero. The line becomes a subtle light-run, not a fake orbit.
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v08{background:#020706;}
.ds-page--v08{
  --ds-bg:#020706;
  --ds-bg-2:#040907;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 63% 25%, rgba(81,194,107,.065), transparent 31%),
    radial-gradient(circle at 47% 100%, rgba(247,241,223,.035), transparent 42%),
    linear-gradient(180deg,#020706 0%,#040907 58%,#020706 100%);
}
.ds-page--v08 .ds-floating-nav{
  background:rgba(2,7,6,.34);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--v08 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v08 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.08);opacity:.9;}
.ds-hero-v08{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-v08 .ds-hero-atmosphere{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 58% 36%, rgba(53,225,138,.065), transparent 28%),
    radial-gradient(circle at 78% 70%, rgba(247,241,223,.028), transparent 32%);
}
.ds-hero-v08 .ds-orb{display:none;}
.ds-hero-v08 .ds-grain{
  position:absolute;inset:-60px;opacity:.105;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
.ds-page--v08 .ds-line-stage--v08{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.ds-symbol-hero{
  position:relative;
  width:min(830px,70vw);
  aspect-ratio:760/565;
  transform:translateY(-9vh);
}
.ds-symbol-hero__base{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:0;
  filter:drop-shadow(0 30px 90px rgba(53,225,138,.13)) brightness(.92) saturate(.95);
  animation:ds-symbol-base-v08 5.8s ease .45s forwards;
}
.ds-symbol-hero__shine{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.ds-symbol-hero__shine path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ds-symbol-hero__trace{
  stroke:url(#ds-shine-gradient-v08);
  stroke-width:2.6;
  filter:url(#ds-shine-glow-v08);
  opacity:.96;
  animation:ds-symbol-shine-v08 3.4s cubic-bezier(.18,.72,.2,1) .8s forwards;
}
.ds-symbol-hero__future{
  position:absolute;
  left:78%;
  top:68%;
  width:58vw;
  max-width:760px;
  height:2px;
  opacity:0;
  transform:rotate(-12deg) scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg, rgba(53,225,138,.55), rgba(248,255,240,.42) 38%, rgba(53,225,138,0));
  filter:drop-shadow(0 0 16px rgba(53,225,138,.24));
  border-radius:999px;
}
.ds-hero-v08.is-line-awake .ds-symbol-hero__future{
  animation:ds-symbol-future-v08 3.2s cubic-bezier(.18,.72,.2,1) forwards;
}
@keyframes ds-symbol-base-v08{
  0%{opacity:0;transform:scale(.988);filter:blur(2px) drop-shadow(0 30px 90px rgba(53,225,138,.07));}
  42%{opacity:.18;filter:blur(0) drop-shadow(0 30px 90px rgba(53,225,138,.12));}
  100%{opacity:.28;transform:scale(1);filter:blur(0) drop-shadow(0 30px 90px rgba(53,225,138,.13));}
}
@keyframes ds-symbol-shine-v08{to{stroke-dashoffset:0}}
@keyframes ds-symbol-future-v08{
  0%{opacity:0;transform:rotate(-12deg) scaleX(0);}
  20%{opacity:.35;}
  100%{opacity:.62;transform:rotate(-12deg) scaleX(1);}
}
.ds-brand-mark--v08{display:none;}
.ds-page--v08 .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end start;
  text-align:left;
  z-index:3;
  padding-bottom:13vh;
}
.ds-page--v08 .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(760px,calc(100vw - 44px));
  padding-top:0;
  margin-left:max(24px,8vw);
  margin-right:auto;
}
.ds-page--v08 .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.035em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:0 22px 90px rgba(0,0,0,.62);
  opacity:0;
  transform:translateY(18px);
}
.ds-page--v08 .ds-hero-line--one,
.ds-page--v08 .ds-hero-line--two,
.ds-page--v08 .ds-hero-line--three{font-size:clamp(22px,3.0vw,48px);}
.ds-page--v08 .ds-hero-line--one{animation:ds-hero-word-v08 .95s cubic-bezier(.2,.8,.2,1) 4.6s forwards;}
.ds-page--v08 .ds-hero-line--two{animation:ds-hero-word-v08 .95s cubic-bezier(.2,.8,.2,1) 5.25s forwards;}
.ds-page--v08 .ds-hero-line--three{animation:ds-hero-word-v08 1.05s cubic-bezier(.2,.8,.2,1) 6.0s forwards;color:#fffdf1;}
@keyframes ds-hero-word-v08{to{opacity:1;transform:translateY(0)}}
.ds-page--v08 .ds-scroll-cue--line{
  left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(247,244,231,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v08 .8s ease 7.0s forwards;
}
.ds-page--v08 .ds-scroll-cue--line span{
  display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v08 1.8s ease-in-out infinite;
}
@keyframes ds-scroll-in-v08{to{opacity:1}}
@keyframes ds-scroll-line-v08{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v08 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v08 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v08 .ds-statement{letter-spacing:-.065em;}
.ds-page--v08 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v08 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:900px){
  .ds-symbol-hero{width:112vw;transform:translate(16vw,-13vh);}
  .ds-page--v08 .ds-opening__inner{padding-bottom:16vh;}
  .ds-page--v08 .ds-hero-words{margin-left:24px;width:calc(100vw - 48px);}
}
@media (max-width:760px){
  .ds-symbol-hero{width:145vw;transform:translate(28vw,-14vh);}
  .ds-page--v08 .ds-hero-words{margin-left:18px;width:calc(100vw - 36px);}
  .ds-page--v08 .ds-hero-line--one,
  .ds-page--v08 .ds-hero-line--two,
  .ds-page--v08 .ds-hero-line--three{font-size:clamp(24px,7.3vw,38px);line-height:1.65;}
}


/* ------------------------------------------------------------
   PROJECT ∞ v0.9 / Hero: light runs through the logo center.
   ロゴを描かない。ロゴの中を未来が走る。
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v09{background:#020706;}
.ds-page--v09{
  --ds-bg:#020706;
  --ds-bg-2:#040907;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 62% 24%, rgba(81,194,107,.08), transparent 30%),
    radial-gradient(circle at 48% 100%, rgba(247,241,223,.03), transparent 44%),
    linear-gradient(180deg,#020706 0%,#040907 58%,#020706 100%);
}
.ds-page--v09 .ds-floating-nav{
  background:rgba(2,7,6,.34);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--v09 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v09 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.08);opacity:.9;}
.ds-hero-v09{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-v09 .ds-hero-atmosphere{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 58% 36%, rgba(53,225,138,.075), transparent 29%),
    radial-gradient(circle at 74% 72%, rgba(247,241,223,.028), transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.016),transparent 22%);
}
.ds-hero-v09 .ds-orb{display:none;}
.ds-hero-v09 .ds-grain{
  position:absolute;inset:-60px;opacity:.10;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
.ds-page--v09 .ds-line-stage--v09{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.ds-symbol-flow{
  position:relative;
  width:min(940px,74vw);
  aspect-ratio:1206/621;
  transform:translateY(-8vh);
}
.ds-symbol-flow__base{
  position:absolute;
  left:50%;
  top:50%;
  width:72%;
  height:auto;
  transform:translate(-50%,-50%);
  object-fit:contain;
  opacity:.28;
  filter:drop-shadow(0 34px 110px rgba(53,225,138,.18)) brightness(.96);
  animation:ds-symbol-base-v09 8.6s ease forwards;
}
.ds-symbol-flow__svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.ds-symbol-flow__svg path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ds-symbol-flow__route{
  stroke:rgba(247,244,231,.055);
  stroke-width:2.2;
}
.ds-symbol-flow__light{
  stroke:url(#ds-flow-gradient-v09);
  stroke-width:5.2;
  filter:url(#ds-flow-glow-v09);
  opacity:.96;
  stroke-dasharray:1 9999;
  stroke-dashoffset:0;
}
.ds-symbol-flow__future{
  stroke:url(#ds-flow-gradient-v09);
  stroke-width:2.8;
  filter:url(#ds-flow-glow-v09);
  opacity:0;
}
.ds-hero-v09.is-line-awake .ds-symbol-flow__future{
  animation:ds-symbol-future-v09 3.4s cubic-bezier(.18,.72,.2,1) forwards;
}
@keyframes ds-symbol-base-v09{
  0%,28%{opacity:.05;filter:blur(1.8px) drop-shadow(0 34px 110px rgba(53,225,138,.10));}
  43%,76%{opacity:.30;filter:blur(0) drop-shadow(0 34px 110px rgba(53,225,138,.18));}
  100%{opacity:.24;filter:blur(.1px) drop-shadow(0 34px 110px rgba(53,225,138,.13));}
}
@keyframes ds-symbol-future-v09{
  0%{opacity:0}
  25%{opacity:.18}
  100%{opacity:.42;stroke-dashoffset:calc(var(--ds-future-length, 1000) * .24)}
}
.ds-brand-mark--v09{display:none;}
.ds-page--v09 .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end start;
  text-align:left;
  z-index:3;
  padding-bottom:12vh;
}
.ds-page--v09 .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(820px,calc(100vw - 44px));
  padding-top:0;
  margin-left:max(24px,9vw);
  margin-right:auto;
}
.ds-page--v09 .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.035em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:0 22px 90px rgba(0,0,0,.62);
  opacity:0;
  transform:translateY(16px);
}
.ds-page--v09 .ds-hero-line--one,
.ds-page--v09 .ds-hero-line--two,
.ds-page--v09 .ds-hero-line--three{
  font-size:clamp(21px,3vw,48px);
}
.ds-page--v09 .ds-hero-line--one{animation:ds-hero-word-v09 .95s cubic-bezier(.2,.8,.2,1) 4.9s forwards;}
.ds-page--v09 .ds-hero-line--two{animation:ds-hero-word-v09 .95s cubic-bezier(.2,.8,.2,1) 5.55s forwards;}
.ds-page--v09 .ds-hero-line--three{animation:ds-hero-word-v09 1.05s cubic-bezier(.2,.8,.2,1) 6.28s forwards;color:#fffdf1;}
@keyframes ds-hero-word-v09{to{opacity:1;transform:translateY(0)}}
.ds-page--v09 .ds-scroll-cue--line{
  left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(247,244,231,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v09 .8s ease 7.4s forwards;
}
.ds-page--v09 .ds-scroll-cue--line span{
  display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v09 1.8s ease-in-out infinite;
}
@keyframes ds-scroll-in-v09{to{opacity:1}}
@keyframes ds-scroll-line-v09{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v09 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v09 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v09 .ds-statement{letter-spacing:-.065em;}
.ds-page--v09 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v09 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:900px){
  .ds-symbol-flow{width:120vw;transform:translate(14vw,-13vh);}
  .ds-page--v09 .ds-opening__inner{padding-bottom:16vh;}
  .ds-page--v09 .ds-hero-words{margin-left:24px;width:calc(100vw - 48px);}
}
@media (max-width:760px){
  .ds-symbol-flow{width:154vw;transform:translate(26vw,-15vh);}
  .ds-page--v09 .ds-hero-words{margin-left:18px;width:calc(100vw - 36px);}
  .ds-page--v09 .ds-hero-line--one,
  .ds-page--v09 .ds-hero-line--two,
  .ds-page--v09 .ds-hero-line--three{font-size:clamp(24px,7.8vw,40px);line-height:1.65;}
}


/* ------------------------------------------------------------
   PROJECT ∞ v1.0 candidate / SVG precision fix
   基準画像とSVG pathの座標を同一化。
   問題は方向性ではなくSVG精度だったため、設計を修正。
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v10{background:#020706;}
.ds-page--v10{
  --ds-bg:#020706;
  --ds-bg-2:#040907;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 62% 24%, rgba(81,194,107,.08), transparent 30%),
    radial-gradient(circle at 48% 100%, rgba(247,241,223,.03), transparent 44%),
    linear-gradient(180deg,#020706 0%,#040907 58%,#020706 100%);
}
.ds-page--v10 .ds-floating-nav{
  background:rgba(2,7,6,.34);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--v10 .ds-nav-logo{width:126px;height:34px;display:flex;align-items:center;overflow:hidden;color:transparent;font-size:0;}
.ds-page--v10 .ds-nav-logo img{width:124px;height:auto;display:block;filter:brightness(1.08);opacity:.9;}
.ds-hero-v10{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-v10 .ds-hero-atmosphere{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(circle at 58% 36%, rgba(53,225,138,.075), transparent 29%),
    radial-gradient(circle at 74% 72%, rgba(247,241,223,.028), transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.016),transparent 22%);
}
.ds-hero-v10 .ds-orb{display:none;}
.ds-hero-v10 .ds-grain{
  position:absolute;inset:-60px;opacity:.10;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
.ds-page--v10 .ds-line-stage--v10{
  position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none;
}
.ds-symbol-flow-v10{
  position:relative;
  width:min(960px,76vw);
  aspect-ratio:1206/621;
  transform:translateY(-8vh);
}
.ds-symbol-flow-v10__base{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.24;
  filter:drop-shadow(0 34px 110px rgba(53,225,138,.18)) brightness(.96);
  animation:ds-symbol-base-v10 8.6s ease forwards;
}
.ds-symbol-flow-v10__svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.ds-symbol-flow-v10__svg path{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ds-symbol-flow-v10__route{
  stroke:rgba(247,244,231,.045);
  stroke-width:1.2;
}
.ds-symbol-flow-v10__light{
  stroke:url(#ds-flow-gradient-v10);
  stroke-width:3.2;
  filter:url(#ds-flow-glow-v10);
  opacity:.96;
  stroke-dasharray:1 9999;
  stroke-dashoffset:0;
}
.ds-symbol-flow-v10__future{
  stroke:url(#ds-flow-gradient-v10);
  stroke-width:1.8;
  filter:url(#ds-flow-glow-v10);
  opacity:0;
}
.ds-hero-v10.is-line-awake .ds-symbol-flow-v10__future{
  animation:ds-symbol-future-v10 3.4s cubic-bezier(.18,.72,.2,1) forwards;
}
@keyframes ds-symbol-base-v10{
  0%,28%{opacity:.06;filter:blur(1.8px) drop-shadow(0 34px 110px rgba(53,225,138,.10));}
  43%,76%{opacity:.27;filter:blur(0) drop-shadow(0 34px 110px rgba(53,225,138,.18));}
  100%{opacity:.22;filter:blur(.1px) drop-shadow(0 34px 110px rgba(53,225,138,.13));}
}
@keyframes ds-symbol-future-v10{
  0%{opacity:0}
  25%{opacity:.12}
  100%{opacity:.28;stroke-dashoffset:calc(var(--ds-future-length, 1000) * .24)}
}
.ds-brand-mark--v10{display:none;}
.ds-page--v10 .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end start;
  text-align:left;
  z-index:3;
  padding-bottom:12vh;
}
.ds-page--v10 .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(820px,calc(100vw - 44px));
  padding-top:0;
  margin-left:max(24px,9vw);
  margin-right:auto;
}
.ds-page--v10 .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.5;
  letter-spacing:-.035em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:0 22px 90px rgba(0,0,0,.62);
  opacity:0;
  transform:translateY(16px);
}
.ds-page--v10 .ds-hero-line--one,
.ds-page--v10 .ds-hero-line--two,
.ds-page--v10 .ds-hero-line--three{
  font-size:clamp(21px,3vw,48px);
}
.ds-page--v10 .ds-hero-line--one{animation:ds-hero-word-v10 .95s cubic-bezier(.2,.8,.2,1) 4.9s forwards;}
.ds-page--v10 .ds-hero-line--two{animation:ds-hero-word-v10 .95s cubic-bezier(.2,.8,.2,1) 5.55s forwards;}
.ds-page--v10 .ds-hero-line--three{animation:ds-hero-word-v10 1.05s cubic-bezier(.2,.8,.2,1) 6.28s forwards;color:#fffdf1;}
@keyframes ds-hero-word-v10{to{opacity:1;transform:translateY(0)}}
.ds-page--v10 .ds-scroll-cue--line{
  left:50%;right:auto;bottom:34px;width:1px;height:68px;border:0;border-radius:0;background:rgba(247,244,231,.1);font-size:0;transform:translateX(-50%);opacity:0;animation:ds-scroll-in-v10 .8s ease 7.4s forwards;
}
.ds-page--v10 .ds-scroll-cue--line span{
  display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--ds-green-bright));animation:ds-scroll-line-v10 1.8s ease-in-out infinite;
}
@keyframes ds-scroll-in-v10{to{opacity:1}}
@keyframes ds-scroll-line-v10{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v10 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v10 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v10 .ds-statement{letter-spacing:-.065em;}
.ds-page--v10 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v10 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:900px){
  .ds-symbol-flow-v10{width:120vw;transform:translate(14vw,-13vh);}
  .ds-page--v10 .ds-opening__inner{padding-bottom:16vh;}
  .ds-page--v10 .ds-hero-words{margin-left:24px;width:calc(100vw - 48px);}
}
@media (max-width:760px){
  .ds-symbol-flow-v10{width:154vw;transform:translate(26vw,-15vh);}
  .ds-page--v10 .ds-hero-words{margin-left:18px;width:calc(100vw - 36px);}
  .ds-page--v10 .ds-hero-line--one,
  .ds-page--v10 .ds-hero-line--two,
  .ds-page--v10 .ds-hero-line--three{font-size:clamp(24px,7.8vw,40px);line-height:1.65;}
}


/* ------------------------------------------------------------
   PROJECT ∞ v1.1 / Simple glow hero
   ロゴ形状は変えない。SVGは使わない。光らせるだけ。
   ------------------------------------------------------------ */
body.denshow-theme.project-infinity-v11{background:#020706;}
.ds-page--v11{
  --ds-bg:#020706;
  --ds-bg-2:#040907;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 50% 34%, rgba(89,208,95,.10), transparent 31%),
    radial-gradient(circle at 50% 94%, rgba(107,220,87,.06), transparent 38%),
    linear-gradient(180deg,#020706 0%,#030805 58%,#020706 100%);
}
.ds-page--v11 .ds-floating-nav{
  background:rgba(2,7,6,.40);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--v11 .ds-nav-logo{
  width:210px;
  height:42px;
  display:flex;
  align-items:center;
  overflow:visible;
  color:transparent;
  font-size:0;
}
.ds-page--v11 .ds-nav-logo img{
  width:205px;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(75,210,93,.26)) brightness(1.04);
  opacity:.95;
}
.ds-hero-v11{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-v11 .ds-hero-atmosphere{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 37%, rgba(75,210,93,.14), transparent 27%),
    radial-gradient(circle at 50% 70%, rgba(131,227,88,.08), transparent 24%),
    radial-gradient(circle at 82% 62%, rgba(255,255,255,.025), transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.014),transparent 22%);
}
.ds-hero-v11 .ds-orb{display:none;}
.ds-hero-v11 .ds-grain{
  position:absolute;
  inset:-60px;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}
.ds-page--v11 .ds-line-stage--v11{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.ds-alpha-hero{
  position:relative;
  width:min(700px,52vw);
  aspect-ratio:775/575;
  transform:translateY(-10vh);
}
.ds-alpha-hero__mark{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.98;
  filter:
    brightness(1.03)
    saturate(1.08)
    drop-shadow(0 0 10px rgba(88,220,92,.26))
    drop-shadow(0 0 34px rgba(87,220,96,.20));
  animation:ds-logo-glow-v11 5.8s ease-in-out infinite;
}
.ds-alpha-hero__halo{
  position:absolute;
  inset:9% 7% 6% 7%;
  border-radius:50%;
  background:
    radial-gradient(circle at 48% 52%, rgba(127,238,92,.22), transparent 44%),
    radial-gradient(circle at 50% 76%, rgba(142,255,107,.18), transparent 36%);
  filter:blur(34px);
  opacity:.65;
  transform:scale(.92);
  animation:ds-logo-halo-v11 6.8s ease-in-out infinite;
}
.ds-alpha-hero__glint{
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:#fffde8;
  opacity:0;
  box-shadow:
    0 0 8px rgba(255,255,230,.95),
    0 0 22px rgba(142,255,107,.8),
    0 0 46px rgba(69,225,126,.5);
}
.ds-alpha-hero__glint::before,
.ds-alpha-hero__glint::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  background:linear-gradient(90deg, transparent, rgba(255,255,238,.85), transparent);
  pointer-events:none;
}
.ds-alpha-hero__glint::before{width:74px;height:1px;}
.ds-alpha-hero__glint::after{width:1px;height:74px;background:linear-gradient(180deg, transparent, rgba(255,255,238,.85), transparent);}
.ds-alpha-hero__glint--one{left:30%;top:42%;animation:ds-glint-v11 7.6s ease-in-out 1.2s infinite;}
.ds-alpha-hero__glint--two{left:68%;top:13%;animation:ds-glint-v11 8.4s ease-in-out 3.0s infinite;}
.ds-alpha-hero__glint--three{left:59%;top:77%;animation:ds-glint-v11 9.2s ease-in-out 4.6s infinite;}
@keyframes ds-logo-glow-v11{
  0%,100%{
    filter:
      brightness(1.00)
      saturate(1.04)
      drop-shadow(0 0 8px rgba(88,220,92,.20))
      drop-shadow(0 0 28px rgba(87,220,96,.16));
  }
  48%{
    filter:
      brightness(1.18)
      saturate(1.18)
      drop-shadow(0 0 18px rgba(191,255,137,.44))
      drop-shadow(0 0 66px rgba(87,220,96,.30));
  }
}
@keyframes ds-logo-halo-v11{
  0%,100%{opacity:.36;transform:scale(.90);}
  50%{opacity:.76;transform:scale(1.02);}
}
@keyframes ds-glint-v11{
  0%,72%,100%{opacity:0;transform:scale(.5);}
  76%{opacity:.85;transform:scale(1);}
  79%{opacity:.22;transform:scale(1.8);}
  82%{opacity:0;transform:scale(2.2);}
}
.ds-brand-mark--v11{display:none;}
.ds-page--v11 .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end center;
  text-align:center;
  z-index:3;
  padding-bottom:13vh;
}
.ds-page--v11 .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(940px,calc(100vw - 44px));
  padding-top:0;
  margin-inline:auto;
  text-align:center;
}
.ds-page--v11 .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.45;
  letter-spacing:.02em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:
    0 0 18px rgba(255,255,238,.13),
    0 22px 90px rgba(0,0,0,.62);
  opacity:1;
  transform:none;
}
.ds-page--v11 .ds-hero-line--one,
.ds-page--v11 .ds-hero-line--two{
  font-size:clamp(30px,4.0vw,68px);
}
.ds-page--v11 .ds-hero-line--two{margin-top:.42em;}
.ds-type-line::after{
  content:"";
  display:inline-block;
  width:.06em;
  height:1.05em;
  margin-left:.18em;
  vertical-align:-.14em;
  background:var(--ds-green-bright);
  opacity:0;
  animation:ds-type-cursor-v11 .82s step-end infinite;
}
.ds-type-line.is-active::after,
.ds-type-line.is-done::after{opacity:1;}
.ds-type-line.is-done:not(.is-last)::after{opacity:0;animation:none;}
@keyframes ds-type-cursor-v11{50%{opacity:0}}
.ds-page--v11 .ds-scroll-cue--line{
  left:50%;
  right:auto;
  bottom:34px;
  width:1px;
  height:68px;
  border:0;
  border-radius:0;
  background:rgba(247,244,231,.1);
  font-size:0;
  transform:translateX(-50%);
  opacity:0;
  animation:ds-scroll-in-v11 .8s ease 5.6s forwards;
}
.ds-page--v11 .ds-scroll-cue--line span{
  display:block;
  width:1px;
  height:26px;
  background:linear-gradient(180deg,transparent,var(--ds-green-bright));
  animation:ds-scroll-line-v11 1.8s ease-in-out infinite;
}
@keyframes ds-scroll-in-v11{to{opacity:1}}
@keyframes ds-scroll-line-v11{0%{transform:translateY(0);opacity:.2}45%{opacity:1}100%{transform:translateY(42px);opacity:0}}
.ds-page--v11 .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--v11 .ds-kicker{color:var(--ds-green-soft);}
.ds-page--v11 .ds-statement{letter-spacing:-.055em;}
.ds-page--v11 .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--v11 .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}
@media (max-width:1080px){
  .ds-page--v11 .ds-nav-logo{width:185px;}
  .ds-page--v11 .ds-nav-logo img{width:180px;}
  .ds-alpha-hero{width:min(620px,65vw);}
}
@media (max-width:760px){
  .ds-page--v11 .ds-floating-nav{width:calc(100% - 28px);}
  .ds-page--v11 .ds-nav-logo{width:160px;height:34px;}
  .ds-page--v11 .ds-nav-logo img{width:154px;}
  .ds-alpha-hero{width:92vw;transform:translateY(-14vh);}
  .ds-page--v11 .ds-opening__inner{padding-bottom:17vh;}
  .ds-page--v11 .ds-hero-words{width:calc(100vw - 34px);}
  .ds-page--v11 .ds-hero-line--one,
  .ds-page--v11 .ds-hero-line--two{font-size:clamp(30px,8vw,44px);line-height:1.65;}
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / HERO FINAL
   ロゴ形状を一切変えない。SVGなし。正式αロゴを静かに発光。
   ============================================================ */
body.denshow-theme.project-infinity-hero-final{background:#020706;}

.ds-page--hero-final{
  --ds-bg:#020706;
  --ds-text:#f7f4e7;
  --ds-muted:#a5b6aa;
  --ds-green:#4dbb62;
  --ds-green-bright:#35e18a;
  --ds-warm:#f7f1df;
  background:
    radial-gradient(circle at 50% 39%, rgba(89,208,95,.085), transparent 29%),
    radial-gradient(circle at 50% 73%, rgba(120,225,95,.045), transparent 32%),
    linear-gradient(180deg,#020706 0%,#020604 58%,#020706 100%);
}

/* Header */
.ds-page--hero-final .ds-floating-nav{
  background:rgba(2,7,6,.42);
  border-color:rgba(247,244,231,.075);
  backdrop-filter:blur(18px);
}
.ds-page--hero-final .ds-nav-logo{
  width:220px;
  height:46px;
  display:flex;
  align-items:center;
  overflow:visible;
  color:transparent;
  font-size:0;
}
.ds-page--hero-final .ds-nav-logo img{
  width:212px;
  height:auto;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(75,210,93,.22)) brightness(1.03);
  opacity:.96;
}

/* Hero */
.ds-hero-final{
  min-height:100svh;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:#020706;
}
.ds-hero-final .ds-hero-atmosphere{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 34%, rgba(75,210,93,.08), transparent 28%),
    radial-gradient(circle at 50% 68%, rgba(131,227,88,.04), transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 22%);
}
.ds-hero-final .ds-orb{display:none;}
.ds-hero-final .ds-grain{
  position:absolute;
  inset:-60px;
  opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode:screen;
}

/* Center α */
.ds-page--hero-final .ds-line-stage--hero-final{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.ds-alpha-final{
  position:relative;
  width:min(560px,42vw);
  aspect-ratio:763/596;
  transform:translateY(-8vh);
}
.ds-alpha-final__mark{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.96;
  filter:
    brightness(.12)
    saturate(.7)
    drop-shadow(0 0 0 rgba(88,220,92,0));
  animation:ds-alpha-final-glow 6.8s cubic-bezier(.2,.8,.2,1) forwards,
            ds-alpha-final-breathe 6.5s ease-in-out 6.8s infinite;
}
.ds-alpha-final__backlight{
  position:absolute;
  inset:24% 12% 14% 12%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 58%, rgba(127,238,92,.22), transparent 44%),
    radial-gradient(circle at 50% 78%, rgba(142,255,107,.16), transparent 38%);
  filter:blur(36px);
  opacity:0;
  transform:scale(.88);
  animation:ds-alpha-backlight-in 6.8s cubic-bezier(.2,.8,.2,1) forwards,
            ds-alpha-backlight-breathe 7.2s ease-in-out 6.8s infinite;
}
.ds-alpha-final__glint{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fffde8;
  opacity:0;
  box-shadow:
    0 0 8px rgba(255,255,230,.92),
    0 0 22px rgba(142,255,107,.72),
    0 0 42px rgba(69,225,126,.42);
}
.ds-alpha-final__glint::before,
.ds-alpha-final__glint::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.ds-alpha-final__glint::before{
  width:64px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,238,.72), transparent);
}
.ds-alpha-final__glint::after{
  width:1px;
  height:64px;
  background:linear-gradient(180deg, transparent, rgba(255,255,238,.72), transparent);
}
.ds-alpha-final__glint--one{left:34%;top:43%;animation:ds-alpha-glint 7.8s ease-in-out 3.3s infinite;}
.ds-alpha-final__glint--two{left:70%;top:18%;animation:ds-alpha-glint 8.6s ease-in-out 5.1s infinite;}

@keyframes ds-alpha-final-glow{
  0%{
    opacity:.28;
    filter:
      brightness(.08)
      saturate(.6)
      drop-shadow(0 0 0 rgba(88,220,92,0));
  }
  48%{
    opacity:.84;
    filter:
      brightness(.92)
      saturate(1.02)
      drop-shadow(0 0 10px rgba(88,220,92,.16))
      drop-shadow(0 0 26px rgba(87,220,96,.10));
  }
  100%{
    opacity:1;
    filter:
      brightness(1.06)
      saturate(1.08)
      drop-shadow(0 0 12px rgba(88,220,92,.25))
      drop-shadow(0 0 38px rgba(87,220,96,.18));
  }
}
@keyframes ds-alpha-final-breathe{
  0%,100%{
    filter:
      brightness(1.03)
      saturate(1.06)
      drop-shadow(0 0 10px rgba(88,220,92,.20))
      drop-shadow(0 0 34px rgba(87,220,96,.14));
  }
  50%{
    filter:
      brightness(1.16)
      saturate(1.14)
      drop-shadow(0 0 16px rgba(191,255,137,.34))
      drop-shadow(0 0 56px rgba(87,220,96,.24));
  }
}
@keyframes ds-alpha-backlight-in{
  0%{opacity:0;transform:scale(.82);}
  100%{opacity:.50;transform:scale(.98);}
}
@keyframes ds-alpha-backlight-breathe{
  0%,100%{opacity:.34;transform:scale(.94);}
  50%{opacity:.62;transform:scale(1.02);}
}
@keyframes ds-alpha-glint{
  0%,76%,100%{opacity:0;transform:scale(.45);}
  80%{opacity:.78;transform:scale(1);}
  83%{opacity:.16;transform:scale(1.8);}
  86%{opacity:0;transform:scale(2.1);}
}

/* Hide old brand block */
.ds-brand-mark--hero-final{display:none!important;}

/* Hero copy */
.ds-page--hero-final .ds-opening__inner{
  min-height:100svh;
  display:grid;
  place-items:end center;
  text-align:center;
  z-index:3;
  padding-bottom:12.5vh;
}
.ds-page--hero-final .ds-hero-words{
  position:relative;
  z-index:4;
  width:min(940px,calc(100vw - 44px));
  padding-top:0;
  margin-inline:auto;
  text-align:center;
}
.ds-page--hero-final .ds-hero-line{
  font-family:var(--ds-serif);
  font-weight:500;
  line-height:1.45;
  letter-spacing:.02em;
  margin:0;
  color:var(--ds-warm);
  text-shadow:
    0 0 16px rgba(255,255,238,.14),
    0 22px 90px rgba(0,0,0,.62);
  opacity:1;
  transform:none;
}
.ds-page--hero-final .ds-hero-line--one,
.ds-page--hero-final .ds-hero-line--two{
  font-size:clamp(32px,4.1vw,70px);
}
.ds-page--hero-final .ds-hero-line--two{margin-top:.42em;}

.ds-type-line::after{
  content:"";
  display:inline-block;
  width:.045em;
  height:1.0em;
  margin-left:.18em;
  vertical-align:-.12em;
  background:#fffdf1;
  opacity:0;
  animation:ds-type-cursor-final .82s step-end infinite;
}
.ds-type-line.is-active::after,
.ds-type-line.is-done::after{opacity:1;}
.ds-type-line.is-done:not(.is-last)::after{opacity:0;animation:none;}
@keyframes ds-type-cursor-final{50%{opacity:0}}

/* Scroll cue: | SCROLL -----●---- */
.ds-page--hero-final .ds-scroll-cue--line{
  left:50%;
  right:auto;
  bottom:34px;
  width:auto;
  height:20px;
  border:0;
  border-radius:0;
  background:transparent;
  font-size:0;
  transform:translateX(-50%);
  opacity:0;
  display:flex;
  align-items:center;
  gap:14px;
  animation:ds-scroll-cue-in-final .8s ease 5.6s forwards;
}
.ds-page--hero-final .ds-scroll-cue--line::before{
  content:"";
  width:1px;
  height:42px;
  background:rgba(247,244,231,.72);
  display:block;
}
.ds-page--hero-final .ds-scroll-cue--line::after{
  content:"SCROLL";
  font-family:var(--ds-sans);
  font-size:12px;
  line-height:1;
  letter-spacing:.34em;
  color:rgba(247,244,231,.78);
  order:1;
}
.ds-page--hero-final .ds-scroll-cue--line span{
  display:block;
  order:2;
  width:180px;
  height:1px;
  background:linear-gradient(90deg, rgba(247,244,231,.08), rgba(80,220,94,.28), rgba(247,244,231,.05));
  position:relative;
  animation:none;
}
.ds-page--hero-final .ds-scroll-cue--line span::after{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--ds-green-bright);
  box-shadow:0 0 12px rgba(70,230,112,.85), 0 0 30px rgba(70,230,112,.42);
  transform:translateY(-50%);
  animation:ds-scroll-dot-final 2.4s ease-in-out infinite;
}
@keyframes ds-scroll-cue-in-final{to{opacity:1}}
@keyframes ds-scroll-dot-final{
  0%{left:0;opacity:.1}
  18%{opacity:.9}
  72%{opacity:.9}
  100%{left:100%;opacity:0}
}

/* downstream color alignment */
.ds-page--hero-final .ds-manifesto{background:linear-gradient(180deg,#020706 0%,#050b08 100%);}
.ds-page--hero-final .ds-kicker{color:var(--ds-green-soft);}
.ds-page--hero-final .ds-statement{letter-spacing:-.055em;}
.ds-page--hero-final .ds-contact{background:linear-gradient(180deg,#070d09,#010303);}
.ds-page--hero-final .ds-button{background:linear-gradient(135deg,#86cc66,#45bf63 55%,#2be185);}

@media (max-width:1080px){
  .ds-page--hero-final .ds-nav-logo{width:190px;}
  .ds-page--hero-final .ds-nav-logo img{width:184px;}
  .ds-alpha-final{width:min(500px,48vw);transform:translateY(-8vh);}
}
@media (max-width:760px){
  .ds-page--hero-final .ds-floating-nav{width:calc(100% - 28px);}
  .ds-page--hero-final .ds-nav-logo{width:162px;height:34px;}
  .ds-page--hero-final .ds-nav-logo img{width:156px;}
  .ds-alpha-final{width:76vw;transform:translateY(-13vh);}
  .ds-page--hero-final .ds-opening__inner{padding-bottom:17vh;}
  .ds-page--hero-final .ds-hero-words{width:calc(100vw - 34px);}
  .ds-page--hero-final .ds-hero-line--one,
  .ds-page--hero-final .ds-hero-line--two{font-size:clamp(30px,8vw,44px);line-height:1.65;}
  .ds-page--hero-final .ds-scroll-cue--line{gap:10px;}
  .ds-page--hero-final .ds-scroll-cue--line span{width:92px;}
}


/* ============================================================
   伝ＳＨＯＷ HERO STABLE FINAL PATCH
   ベースHeroは壊さず、必要箇所だけ調整。
   ============================================================ */

/* Header: logo left */
body.denshow-theme.project-infinity-hero-final .ds-page--hero-final .ds-floating-nav,
body.denshow-theme.project-infinity-hero-final .ds-floating-nav{
  left:28px !important;
  right:28px !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
}
body.denshow-theme.project-infinity-hero-final .ds-page--hero-final .ds-nav-logo,
body.denshow-theme.project-infinity-hero-final .ds-nav-logo{
  width:220px !important;
  height:44px !important;
}
body.denshow-theme.project-infinity-hero-final .ds-page--hero-final .ds-nav-logo img,
body.denshow-theme.project-infinity-hero-final .ds-nav-logo img{
  width:212px !important;
  height:auto !important;
  object-fit:contain !important;
}

/* α: slightly smaller, more breathing room above copy */
body.denshow-theme.project-infinity-hero-final .ds-alpha-final{
  width:min(500px,37vw) !important;
  transform:translateY(-8.8vh) !important;
}

/* subtle floor glow under logo */
body.denshow-theme.project-infinity-hero-final .ds-alpha-final::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:4% !important;
  width:86% !important;
  height:20% !important;
  transform:translateX(-50%) perspective(420px) rotateX(72deg) !important;
  border-radius:50% !important;
  background:
    radial-gradient(ellipse at center, rgba(132,255,72,.26), transparent 58%),
    radial-gradient(ellipse at center, rgba(80,220,90,.17), transparent 72%) !important;
  filter:blur(14px) !important;
  opacity:.72 !important;
  pointer-events:none !important;
  z-index:-1 !important;
  animation:ds-stable-floor-breathe 7s ease-in-out infinite !important;
}
@keyframes ds-stable-floor-breathe{
  0%,100%{opacity:.42;transform:translateX(-50%) perspective(420px) rotateX(72deg) scale(.94);}
  50%{opacity:.78;transform:translateX(-50%) perspective(420px) rotateX(72deg) scale(1.04);}
}

/* Copy: keep current copy and layout, move slightly lower only */
body.denshow-theme.project-infinity-hero-final .ds-page--hero-final .ds-opening__inner,
body.denshow-theme.project-infinity-hero-final .ds-opening__inner{
  padding-bottom:15.5vh !important;
}
body.denshow-theme.project-infinity-hero-final .ds-page--hero-final .ds-hero-words,
body.denshow-theme.project-infinity-hero-final .ds-hero-words{
  transform:translateY(3.5vh) !important;
}

/* Cursor: white */
body.denshow-theme.project-infinity-hero-final .ds-type-line::after{
  background:#fffdf1 !important;
}

/* Scroll: vertical line + scroll. No horizontal line. */
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line{
  position:absolute !important;
  left:50% !important;
  bottom:7.2vh !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  width:auto !important;
  height:auto !important;
  background:transparent !important;
  border:0 !important;
  opacity:0 !important;
  font-size:0 !important;
  animation:ds-stable-scroll-in .8s ease 5.8s forwards !important;
}
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line::before,
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line::after{
  content:none !important;
  display:none !important;
}
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line .ds-scroll-rail{
  display:block !important;
  width:1px !important;
  height:72px !important;
  background:linear-gradient(180deg, rgba(90,220,100,.08), rgba(80,220,94,.50), rgba(90,220,100,.08)) !important;
  position:relative !important;
  order:0 !important;
}
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line .ds-scroll-rail i{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  width:5px !important;
  height:5px !important;
  border-radius:999px !important;
  background:var(--ds-green-bright) !important;
  box-shadow:0 0 12px rgba(70,230,112,.90), 0 0 30px rgba(70,230,112,.50) !important;
  transform:translate(-50%,0) !important;
  animation:ds-stable-scroll-dot 2.7s ease-in-out infinite !important;
}
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line em{
  display:block !important;
  order:1 !important;
  font-style:normal !important;
  font-family:var(--ds-sans) !important;
  font-size:21px !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  color:var(--ds-green-bright) !important;
  text-transform:lowercase !important;
  text-shadow:0 0 14px rgba(80,220,94,.30) !important;
}
body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line span::after{
  display:none !important;
  content:none !important;
}

@keyframes ds-stable-scroll-in{to{opacity:1;}}
@keyframes ds-stable-scroll-dot{
  0%{top:0;opacity:0;}
  18%{opacity:1;}
  76%{opacity:1;}
  100%{top:100%;opacity:0;}
}

@media (max-width:760px){
  body.denshow-theme.project-infinity-hero-final .ds-floating-nav{
    left:14px !important;
    right:14px !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-nav-logo{
    width:162px !important;
    height:34px !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-nav-logo img{
    width:156px !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-alpha-final{
    width:72vw !important;
    transform:translateY(-10vh) !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-hero-words{
    transform:translateY(3vh) !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line{
    bottom:6vh !important;
    gap:12px !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line .ds-scroll-rail{
    height:56px !important;
  }
  body.denshow-theme.project-infinity-hero-final .ds-scroll-cue--line em{
    font-size:18px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1 CONTENT
   Manifesto / How We Create Value / Our Businesses / Company
   ============================================================ */

.ds-page--hero-final .ds-lead,
.ds-page--hero-final .ds-section-head .ds-lead{
  max-width:820px;
  margin:24px 0 0;
  color:rgba(247,244,231,.70);
  font-size:clamp(15px,1.4vw,18px);
  line-height:2.05;
  letter-spacing:.04em;
}

.ds-page--hero-final .ds-contrast-card p + p{
  margin-top:14px;
}

.ds-page--hero-final .ds-network{
  position:relative;
}

.ds-page--hero-final .ds-node em{
  line-height:1.85;
}

.ds-page--hero-final #signature{
  min-height:60vh;
  display:flex;
  align-items:center;
}

.ds-page--hero-final #signature .ds-statement{
  font-size:clamp(34px,5vw,82px);
}

.ds-page--hero-final .ds-company-message p + p{
  margin-top:18px;
}

@media (max-width:760px){
  .ds-page--hero-final .ds-lead{
    font-size:14px;
    line-height:1.9;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.1
   Business cards: remove green dot, add upper accent line,
   and improve intentional line breaks/readability.
   ============================================================ */

/* Remove decorative green dots that overlap headings */
.ds-page--hero-final .ds-node::before,
.ds-page--hero-final .ds-node::after,
.ds-page--hero-final .ds-contrast-card::before,
.ds-page--hero-final .ds-contrast-card::after {
  content: none !important;
  display: none !important;
}

/* Business card upper accent line */
.ds-page--hero-final .ds-node {
  position: relative !important;
  overflow: hidden !important;
}

.ds-page--hero-final .ds-node span {
  position: relative !important;
  display: block !important;
  padding-bottom: 22px !important;
  margin-bottom: 82px !important;
}

.ds-page--hero-final .ds-node span::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 72px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(124,255,69,.85), rgba(124,255,69,.08)) !important;
  box-shadow: 0 0 18px rgba(124,255,69,.22) !important;
}

/* Intentional title layout */
.ds-page--hero-final .ds-node strong {
  display: block !important;
  line-height: 1.45 !important;
  letter-spacing: -.02em !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-wrap: balance;
}

.ds-page--hero-final .ds-node em {
  display: block !important;
  margin-top: 30px !important;
  line-height: 1.95 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* Value cards readability */
.ds-page--hero-final .ds-contrast-card h3 {
  line-height: 1.52 !important;
  word-break: keep-all !important;
  text-wrap: balance;
}

.ds-page--hero-final .ds-contrast-card p {
  line-height: 1.95 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

/* Manifesto / statement readability */
.ds-page--hero-final .ds-statement,
.ds-page--hero-final .ds-title {
  word-break: keep-all !important;
  text-wrap: balance;
}

/* Main readable text contrast */
.ds-page--hero-final .ds-copy,
.ds-page--hero-final .ds-copy p,
.ds-page--hero-final .ds-lead {
  color: rgba(247,244,231,.78) !important;
}

/* Manifesto large headline contrast fix */
.ds-page--hero-final .ds-manifesto .ds-statement {
  color: rgba(247,244,231,.96) !important;
  text-shadow: 0 0 24px rgba(255,255,255,.045), 0 26px 100px rgba(0,0,0,.45) !important;
}

/* If background huge text exists via pseudo, keep it subtle */
.ds-page--hero-final .ds-manifesto::before,
.ds-page--hero-final .ds-future::before,
.ds-page--hero-final #signature::before {
  opacity: .08 !important;
}

/* Mobile adjustments */
@media (max-width: 900px) {
  .ds-page--hero-final .ds-node span {
    margin-bottom: 46px !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-node span {
    padding-bottom: 16px !important;
    margin-bottom: 34px !important;
  }

  .ds-page--hero-final .ds-node span::after {
    width: 56px !important;
  }

  .ds-page--hero-final .ds-node strong,
  .ds-page--hero-final .ds-contrast-card h3 {
    word-break: auto-phrase !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.2
   Readability and final polish.
   - Value card headings brighter
   - Business accent lines longer
   - Company message finalized
   - Contact headline visibility improved
   - Remove unfinished/development feel
   ============================================================ */

/* 01: How We Create Value card title readability */
.ds-page--hero-final .ds-contrast-card h3 {
  color: rgba(247,244,231,.96) !important;
  font-weight: 600 !important;
  text-shadow: 0 0 18px rgba(255,255,255,.045), 0 18px 80px rgba(0,0,0,.42) !important;
}

.ds-page--hero-final .ds-contrast-card--accent h3 {
  color: rgba(247,244,231,.98) !important;
}

/* 02: Value card body contrast */
.ds-page--hero-final .ds-contrast-card p {
  color: rgba(247,244,231,.76) !important;
}

/* 03: Our Businesses accent line longer and cleaner */
.ds-page--hero-final .ds-node span::after {
  width: 112px !important;
  background: linear-gradient(90deg, rgba(124,255,69,.92), rgba(124,255,69,.18), rgba(124,255,69,0)) !important;
  box-shadow: 0 0 20px rgba(124,255,69,.28) !important;
}

.ds-page--hero-final .ds-node strong {
  color: rgba(247,244,231,.98) !important;
  text-shadow: 0 0 16px rgba(255,255,255,.04), 0 18px 70px rgba(0,0,0,.42) !important;
}

/* 04: Company message finalized */
.ds-page--hero-final .ds-company-message {
  color: rgba(247,244,231,.78) !important;
}

.ds-page--hero-final .ds-company-message__title {
  margin: 0 0 26px !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

.ds-page--hero-final .ds-company-message p {
  font-size: clamp(15px, 1.25vw, 18px) !important;
  line-height: 2.05 !important;
}

.ds-page--hero-final .ds-company-message p + p {
  margin-top: 16px !important;
}

/* 05: Contact headline visibility */
.ds-page--hero-final .ds-contact h2 {
  color: rgba(247,244,231,.93) !important;
  text-shadow: 0 0 22px rgba(255,255,255,.045), 0 24px 90px rgba(0,0,0,.48) !important;
}

.ds-page--hero-final .ds-contact-box {
  background: rgba(8, 23, 15, .66) !important;
  border-color: rgba(124,255,69,.20) !important;
}

/* 06: General title contrast safety */
.ds-page--hero-final .ds-title,
.ds-page--hero-final .ds-statement {
  color: rgba(247,244,231,.95) !important;
}

/* But keep large background-like headings in non-primary panels less overpowering only if used as pseudo */
.ds-page--hero-final .ds-section::before {
  pointer-events: none !important;
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-node span::after {
    width: 76px !important;
  }

  .ds-page--hero-final .ds-company-message__title {
    font-size: 12px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.3
   Value section wording / no-wrap lead / equal card styling.
   ============================================================ */

/* Value section main title */
.ds-page--hero-final .ds-title--value-process {
  color: rgba(247,244,231,.96) !important;
  line-height: 1.28 !important;
  letter-spacing: -.045em !important;
  max-width: 980px !important;
}

/* Prevent the value lead from folding on desktop */
.ds-page--hero-final .ds-lead--no-wrap {
  max-width: none !important;
  width: 100% !important;
  white-space: nowrap !important;
  font-size: clamp(15px, 1.18vw, 18px) !important;
  letter-spacing: .025em !important;
}

/* Make all three Value cards use the same luminous frame */
.ds-page--hero-final .ds-contrast-card {
  border-color: rgba(124,255,69,.28) !important;
  background:
    radial-gradient(circle at 78% 88%, rgba(50,190,92,.22), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 24px 80px rgba(0,0,0,.26) !important;
}

.ds-page--hero-final .ds-contrast-card:hover {
  border-color: rgba(124,255,69,.36) !important;
}

/* Since all cards are equal, neutralize accent-specific brightness if any older rule remains */
.ds-page--hero-final .ds-contrast-card--accent {
  border-color: rgba(124,255,69,.28) !important;
  background:
    radial-gradient(circle at 78% 88%, rgba(50,190,92,.22), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012)) !important;
}

/* Keep value card text clean */
.ds-page--hero-final .ds-contrast-card span {
  color: var(--ds-green-bright) !important;
}

@media (max-width: 1180px) {
  .ds-page--hero-final .ds-lead--no-wrap {
    white-space: normal !important;
    max-width: 860px !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-title--value-process {
    line-height: 1.38 !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.4
   Business spacing / Company details + map / Contact simplification.
   ============================================================ */

/* Our Businesses: align intro copy lower and reduce inner gaps */
.ds-page--hero-final #business .ds-split {
  align-items: flex-end !important;
  gap: clamp(42px, 6vw, 96px) !important;
}

.ds-page--hero-final #business .ds-split .ds-copy {
  padding-top: 0 !important;
  transform: translateY(54px) !important;
}

.ds-page--hero-final #business .ds-network {
  margin-top: clamp(64px, 7vw, 108px) !important;
}

.ds-page--hero-final #business .ds-node span {
  padding-bottom: 18px !important;
  margin-bottom: clamp(42px, 5vw, 72px) !important;
}

.ds-page--hero-final #business .ds-node strong {
  margin-top: 0 !important;
}

.ds-page--hero-final #business .ds-node em {
  margin-top: 28px !important;
}

/* Company: map */
.ds-page--hero-final .ds-map-link {
  display: inline-flex !important;
  align-items: center !important;
  margin-top: 22px !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.ds-page--hero-final .ds-map-link:hover {
  opacity: .82 !important;
}

.ds-page--hero-final .ds-map-embed {
  margin-top: 26px !important;
  width: 100% !important;
  height: 240px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(124,255,69,.16) !important;
  background: rgba(0,0,0,.24) !important;
}

.ds-page--hero-final .ds-map-embed iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  filter: grayscale(1) invert(.88) hue-rotate(75deg) saturate(.65) brightness(.72) contrast(1.05) !important;
  opacity: .78 !important;
}

/* Contact: simplify tone */
.ds-page--hero-final .ds-contact h2 {
  font-size: clamp(38px, 5.2vw, 86px) !important;
  letter-spacing: -.04em !important;
}

.ds-page--hero-final .ds-contact-box p:not(.ds-kicker) {
  font-size: clamp(15px, 1.25vw, 18px) !important;
  color: rgba(247,244,231,.76) !important;
}

/* prevent awkward wrapping in business labels where possible */
.ds-page--hero-final #business .ds-node strong,
.ds-page--hero-final #business .ds-node em {
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 1180px) {
  .ds-page--hero-final #business .ds-split .ds-copy {
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final #business .ds-network {
    margin-top: 52px !important;
  }
  .ds-page--hero-final #business .ds-node span {
    margin-bottom: 32px !important;
  }
  .ds-page--hero-final .ds-map-embed {
    height: 220px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.5
   Our Businesses spacing hard fix / Company wide map.
   ============================================================ */

/* Our Businesses: hard override card internal spacing */
.ds-page--hero-final #business .ds-network {
  margin-top: 72px !important;
}

.ds-page--hero-final #business .ds-node {
  min-height: 540px !important;
  padding: 38px 34px 42px !important;
  display: flex !important;
  flex-direction: column !important;
}

.ds-page--hero-final #business .ds-node span {
  padding-bottom: 16px !important;
  margin-bottom: 0 !important;
}

.ds-page--hero-final #business .ds-node span::after {
  width: 112px !important;
}

.ds-page--hero-final #business .ds-node strong {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  line-height: 1.46 !important;
}

.ds-page--hero-final #business .ds-node em {
  margin-top: 26px !important;
  line-height: 1.9 !important;
}

/* Our Businesses intro copy: align visually without floating too high */
.ds-page--hero-final #business .ds-split {
  align-items: center !important;
}

.ds-page--hero-final #business .ds-split .ds-copy {
  transform: translateY(38px) !important;
}

/* Prevent orphan Japanese punctuation on business title */
.ds-page--hero-final #business .ds-node strong {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Company: full-width map under company profile */
.ds-page--hero-final .ds-company-grid--single {
  display: block !important;
}

.ds-page--hero-final .ds-company-grid--single .ds-company-list {
  max-width: none !important;
  width: 100% !important;
}

.ds-page--hero-final .ds-map-wide {
  margin-top: 38px !important;
  width: 100% !important;
  height: 430px !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  border: 1px solid rgba(124,255,69,.18) !important;
  background: rgba(0,0,0,.24) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018), 0 24px 80px rgba(0,0,0,.24) !important;
}

.ds-page--hero-final .ds-map-wide iframe {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  filter: grayscale(1) invert(.88) hue-rotate(75deg) saturate(.65) brightness(.72) contrast(1.05) !important;
  opacity: .82 !important;
}

/* Hide old map card styles if any remain */
.ds-page--hero-final .ds-map-embed {
  display: none !important;
}

@media (max-width: 1180px) {
  .ds-page--hero-final #business .ds-node {
    min-height: 500px !important;
  }
  .ds-page--hero-final #business .ds-split .ds-copy {
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final #business .ds-network {
    margin-top: 52px !important;
  }
  .ds-page--hero-final #business .ds-node {
    min-height: auto !important;
    padding: 30px 26px 34px !important;
  }
  .ds-page--hero-final #business .ds-node strong {
    margin-top: 64px !important;
  }
  .ds-page--hero-final .ds-map-wide {
    height: 300px !important;
    border-radius: 22px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.6
   - Hero: official alpha + wordmark mesh background from PNG
   - Post-Hero sections: ivory readable background
   - Business card spacing corrected
   - Google Map normal color
   - Footer added
   ============================================================ */

/* Hero wordmark background layer */
.ds-page--hero-final .ds-line-stage--hero-final {
  overflow: hidden !important;
}

.ds-page--hero-final .ds-hero-wordmark-bg {
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  width: min(1500px, 92vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: .105 !important;
  filter:
    brightness(.58)
    saturate(1.55)
    drop-shadow(0 0 18px rgba(80,230,100,.26))
    drop-shadow(0 0 50px rgba(80,230,100,.14)) !important;
  mix-blend-mode: screen !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* keep official alpha above background */
.ds-page--hero-final .ds-alpha-final,
.ds-page--hero-final .ds-brand-mark--hero-final,
.ds-page--hero-final .ds-line-stage--hero-final svg,
.ds-page--hero-final .ds-line-stage--hero-final .ds-alpha-final img {
  position: relative !important;
  z-index: 2 !important;
}

/* Readable ivory body sections except Hero / Contact / Footer */
.ds-page--hero-final .ds-manifesto,
.ds-page--hero-final .ds-hospitality,
.ds-page--hero-final .ds-connected,
.ds-page--hero-final .ds-company {
  background:
    radial-gradient(circle at 12% 8%, rgba(65,180,90,.055), transparent 30%),
    linear-gradient(180deg, #f7f4ed 0%, #f2efe7 100%) !important;
  color: #111713 !important;
}

.ds-page--hero-final .ds-manifesto .ds-kicker,
.ds-page--hero-final .ds-hospitality .ds-kicker,
.ds-page--hero-final .ds-connected .ds-kicker,
.ds-page--hero-final .ds-company .ds-kicker {
  color: #18843a !important;
}

.ds-page--hero-final .ds-manifesto .ds-title,
.ds-page--hero-final .ds-manifesto .ds-statement,
.ds-page--hero-final .ds-hospitality .ds-title,
.ds-page--hero-final .ds-connected .ds-title,
.ds-page--hero-final .ds-company .ds-title {
  color: #111713 !important;
  text-shadow: none !important;
}

.ds-page--hero-final .ds-manifesto .ds-copy,
.ds-page--hero-final .ds-manifesto .ds-copy p,
.ds-page--hero-final .ds-hospitality .ds-lead,
.ds-page--hero-final .ds-connected .ds-copy,
.ds-page--hero-final .ds-connected .ds-copy p,
.ds-page--hero-final .ds-company .ds-company-list,
.ds-page--hero-final .ds-company .ds-company-message {
  color: rgba(17,23,19,.74) !important;
}

/* Value cards on ivory */
.ds-page--hero-final .ds-contrast-card {
  background: rgba(255,255,255,.58) !important;
  border: 1px solid rgba(17,23,19,.10) !important;
  box-shadow: 0 20px 70px rgba(24,36,26,.07) !important;
}

.ds-page--hero-final .ds-contrast-card h3,
.ds-page--hero-final .ds-contrast-card--accent h3 {
  color: #111713 !important;
  text-shadow: none !important;
}

.ds-page--hero-final .ds-contrast-card p {
  color: rgba(17,23,19,.72) !important;
}

.ds-page--hero-final .ds-contrast-card span {
  color: #16853a !important;
}

/* Our Businesses: ivory + compact top-oriented card spacing */
.ds-page--hero-final #business .ds-network {
  margin-top: 54px !important;
}

.ds-page--hero-final #business .ds-node {
  min-height: 360px !important;
  padding: 30px 30px 32px !important;
  display: block !important;
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(17,23,19,.10) !important;
  box-shadow: 0 20px 70px rgba(24,36,26,.07) !important;
}

.ds-page--hero-final #business .ds-node span {
  color: #16853a !important;
  padding-bottom: 14px !important;
  margin-bottom: 42px !important;
}

.ds-page--hero-final #business .ds-node span::after {
  width: 84px !important;
  background: linear-gradient(90deg, rgba(22,133,58,.82), rgba(22,133,58,.10), rgba(22,133,58,0)) !important;
  box-shadow: none !important;
}

.ds-page--hero-final #business .ds-node strong {
  color: #111713 !important;
  margin: 0 !important;
  line-height: 1.46 !important;
  text-shadow: none !important;
}

.ds-page--hero-final #business .ds-node em {
  color: rgba(17,23,19,.70) !important;
  margin-top: 22px !important;
  line-height: 1.9 !important;
}

.ds-page--hero-final #business .ds-network-line {
  opacity: .18 !important;
  background: rgba(22,133,58,.30) !important;
}

/* Company on ivory */
.ds-page--hero-final .ds-company-list,
.ds-page--hero-final .ds-company-message {
  background: rgba(255,255,255,.58) !important;
  border-color: rgba(17,23,19,.10) !important;
  box-shadow: 0 20px 70px rgba(24,36,26,.07) !important;
}

.ds-page--hero-final .ds-company-list dt {
  color: #16853a !important;
  background: rgba(22,133,58,.055) !important;
}

.ds-page--hero-final .ds-company-list dd {
  color: rgba(17,23,19,.82) !important;
}

/* Google map normal color */
.ds-page--hero-final .ds-map-wide {
  border-color: rgba(17,23,19,.12) !important;
  background: #fff !important;
  box-shadow: 0 20px 70px rgba(24,36,26,.09) !important;
}

.ds-page--hero-final .ds-map-wide iframe {
  filter: none !important;
  opacity: 1 !important;
}

/* Contact remains dark but quieter */
.ds-page--hero-final .ds-contact {
  background:
    radial-gradient(circle at 50% 0%, rgba(72,215,100,.10), transparent 34%),
    linear-gradient(180deg, #06110a 0%, #010302 100%) !important;
}

.ds-page--hero-final .ds-contact h2 {
  color: rgba(247,244,231,.96) !important;
}

/* Footer */
.ds-site-footer {
  background:
    radial-gradient(circle at 8% 20%, rgba(74,210,90,.11), transparent 26%),
    linear-gradient(180deg, #010302 0%, #000 100%);
  color: rgba(247,244,231,.76);
  border-top: 1px solid rgba(124,255,69,.18);
  padding: 64px 0 30px;
}

.ds-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  gap: clamp(36px, 6vw, 90px);
  align-items: start;
}

.ds-footer-alpha {
  width: 76px;
  height: auto;
  filter: drop-shadow(0 0 16px rgba(80,230,100,.32));
  margin-bottom: 16px;
}

.ds-footer-brand strong {
  display: block;
  color: var(--ds-green-bright);
  font-family: var(--ds-sans);
  font-size: 24px;
  letter-spacing: .02em;
  margin-bottom: 8px;
}

.ds-footer-brand p,
.ds-footer-info p {
  margin: 0;
  line-height: 1.8;
}

.ds-footer-nav {
  display: grid;
  gap: 12px;
}

.ds-footer-nav a,
.ds-footer-info a,
.ds-footer-bottom a {
  color: rgba(247,244,231,.82);
  text-decoration: none;
}

.ds-footer-info a {
  color: var(--ds-green-bright);
  display: inline-block;
  margin-top: 12px;
}

.ds-footer-bottom {
  margin-top: 54px;
  padding-top: 22px;
  border-top: 1px solid rgba(247,244,231,.10);
  display: flex;
  justify-content: space-between;
  gap: 24px;
  font-size: 12px;
  letter-spacing: .08em;
  color: rgba(247,244,231,.50);
}

.ds-footer-bottom small {
  color: rgba(247,244,231,.50);
}

/* nav readability over dark hero */
.ds-page--hero-final .ds-floating-nav {
  background: rgba(1,3,2,.54) !important;
  border-color: rgba(247,244,231,.11) !important;
}

/* section rhythm */
.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-contact) {
  min-height: auto !important;
  padding-top: clamp(88px, 9vw, 140px) !important;
  padding-bottom: clamp(88px, 9vw, 140px) !important;
}

@media (max-width: 980px) {
  .ds-footer-grid {
    grid-template-columns: 1fr;
  }
  .ds-footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-wordmark-bg {
    width: 145vw !important;
    opacity: .075 !important;
  }
  .ds-page--hero-final #business .ds-node {
    min-height: auto !important;
  }
  .ds-page--hero-final #business .ds-node span {
    margin-bottom: 30px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.7
   - Company title changed to 会社概要
   - Hero Scroll button
   - Manifesto copy enlarged
   - Header/nav and section kicker labels enlarged
   ============================================================ */

/* Hero Scroll button */
.ds-page--hero-final .ds-hero-scroll-button {
  position: absolute !important;
  left: 50% !important;
  bottom: 6.8vh !important;
  transform: translateX(-50%) !important;
  z-index: 8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 120px !important;
  height: 42px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(124,255,69,.50) !important;
  background: rgba(1, 9, 5, .42) !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .20em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 0 24px rgba(83, 230, 100, .16), inset 0 0 18px rgba(83,230,100,.06) !important;
  opacity: 0 !important;
  animation: ds-hero-scroll-button-in .8s ease 5.8s forwards !important;
}

.ds-page--hero-final .ds-hero-scroll-button:hover {
  background: rgba(45, 220, 90, .12) !important;
  border-color: rgba(124,255,69,.78) !important;
}

@keyframes ds-hero-scroll-button-in {
  to { opacity: 1; }
}

/* Hide older scroll cue if it appears duplicated */
.ds-page--hero-final .ds-scroll-cue--line {
  display: none !important;
}

/* Header/nav labels larger */
.ds-page--hero-final .ds-nav-links a {
  font-size: 15px !important;
  letter-spacing: .08em !important;
  font-weight: 600 !important;
}

/* Section English labels larger */
.ds-page--hero-final .ds-kicker {
  font-size: 15px !important;
  letter-spacing: .24em !important;
  font-weight: 800 !important;
}

/* Manifesto body copy larger */
.ds-page--hero-final .ds-manifesto .ds-copy,
.ds-page--hero-final .ds-manifesto .ds-copy p {
  font-size: clamp(18px, 1.55vw, 24px) !important;
  line-height: 2.15 !important;
  letter-spacing: .04em !important;
}

/* Section main titles slightly stronger */
.ds-page--hero-final .ds-title {
  font-size: clamp(42px, 5.8vw, 92px) !important;
}

.ds-page--hero-final .ds-statement {
  font-size: clamp(44px, 6.2vw, 96px) !important;
}

/* Keep Company title compact because it is short */
.ds-page--hero-final .ds-company .ds-title {
  font-size: clamp(46px, 6.4vw, 96px) !important;
}

/* Contact button/title balance */
.ds-page--hero-final .ds-contact .ds-kicker {
  font-size: 15px !important;
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-nav-links a {
    font-size: 13px !important;
  }
  .ds-page--hero-final .ds-kicker {
    font-size: 12px !important;
  }
  .ds-page--hero-final .ds-manifesto .ds-copy,
  .ds-page--hero-final .ds-manifesto .ds-copy p {
    font-size: 16px !important;
    line-height: 2.0 !important;
  }
  .ds-page--hero-final .ds-hero-scroll-button {
    bottom: 5.8vh !important;
    height: 38px !important;
    min-width: 104px !important;
    font-size: 12px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.8
   - Manifesto copy revised
   - Top menu added
   - Header logo reload URL
   - Scroll button enforced
   - Alpha glow/floor shadow removed
   ============================================================ */

/* Header menu: Top追加に伴い詰まりすぎないよう微調整 */
.ds-page--hero-final .ds-nav-links {
  gap: 22px !important;
}

.ds-page--hero-final .ds-nav-links a {
  white-space: nowrap !important;
}

/* Hero Scroll button: enforce visible */
.ds-page--hero-final .ds-hero-scroll-button {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 6.8vh !important;
  transform: translateX(-50%) !important;
  z-index: 20 !important;
}

/* Hide old scroll cue to avoid duplicate */
.ds-page--hero-final .ds-scroll-cue--line {
  display: none !important;
}

/* Remove alpha glow / floor shadow added around Hero alpha */
.ds-page--hero-final .ds-alpha-final::before,
.ds-page--hero-final .ds-alpha-final::after,
.ds-page--hero-final .ds-brand-mark--hero-final::before,
.ds-page--hero-final .ds-brand-mark--hero-final::after,
.ds-page--hero-final .ds-hero-mark-rebuild__floor,
.ds-page--hero-final .ds-hero-mark-rebuild__aura {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Keep alpha itself clean. No heavy glow shadow. */
.ds-page--hero-final .ds-alpha-final,
.ds-page--hero-final .ds-alpha-final img,
.ds-page--hero-final .ds-brand-mark--hero-final,
.ds-page--hero-final .ds-brand-mark--hero-final img {
  filter: none !important;
  box-shadow: none !important;
}

/* Manifesto revised copy readability */
.ds-page--hero-final .ds-manifesto .ds-copy p {
  margin-bottom: 28px !important;
}

.ds-page--hero-final .ds-manifesto .ds-copy p:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 980px) {
  .ds-page--hero-final .ds-nav-links {
    gap: 15px !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-nav-links {
    gap: 10px !important;
  }
  .ds-page--hero-final .ds-nav-links a {
    font-size: 11px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v1.9
   - Hero line spacing adjusted
   - Wordmark background changed to polygon mesh SVG
   - Footer/copyright ensured
   - Manifesto headline no awkward wrap
   - Card labels enlarged
   - Company English name corrected
   - Message section added
   ============================================================ */

/* Hero copy: reduce gap between two lines and create room above Scroll */
.ds-page--hero-final .ds-hero-line--two {
  margin-top: .18em !important;
}
.ds-page--hero-final .ds-hero-words {
  line-height: 1.16 !important;
}
.ds-page--hero-final .ds-hero-scroll-button {
  bottom: 4.2vh !important;
}

/* Hero mesh background */
.ds-page--hero-final .ds-hero-wordmark-bg {
  width: min(1540px, 94vw) !important;
  opacity: .28 !important;
  filter:
    drop-shadow(0 0 16px rgba(70,230,100,.26))
    drop-shadow(0 0 46px rgba(70,230,100,.16)) !important;
  mix-blend-mode: screen !important;
}

/* Prevent Manifesto headline awkward orphan wrap */
.ds-page--hero-final .ds-manifesto .ds-statement {
  font-size: clamp(42px, 5.45vw, 86px) !important;
  line-height: 1.34 !important;
  letter-spacing: -.04em !important;
  max-width: 1200px !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Card English labels larger */
.ds-page--hero-final .ds-contrast-card span,
.ds-page--hero-final #business .ds-node span {
  font-size: 16px !important;
  letter-spacing: .12em !important;
  font-weight: 800 !important;
}

/* Slightly larger Business card titles */
.ds-page--hero-final #business .ds-node strong {
  font-size: clamp(26px, 2.25vw, 38px) !important;
}

/* Slightly larger Value card titles */
.ds-page--hero-final .ds-contrast-card h3 {
  font-size: clamp(28px, 2.55vw, 44px) !important;
}

/* Message section */
.ds-page--hero-final .ds-message {
  background:
    radial-gradient(circle at 82% 16%, rgba(70,210,95,.12), transparent 34%),
    linear-gradient(180deg, #f2efe7 0%, #f7f4ed 100%) !important;
  color: #111713 !important;
}

.ds-page--hero-final .ds-message .ds-kicker {
  color: #16853a !important;
}

.ds-page--hero-final .ds-message .ds-title {
  color: #111713 !important;
  text-shadow: none !important;
}

.ds-page--hero-final .ds-message .ds-copy,
.ds-page--hero-final .ds-message .ds-copy p {
  color: rgba(17,23,19,.76) !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  line-height: 2.1 !important;
}

/* Header menu with Message item */
.ds-page--hero-final .ds-nav-links {
  gap: 18px !important;
}
.ds-page--hero-final .ds-nav-links a {
  font-size: 14px !important;
}

/* Footer safety */
.ds-site-footer {
  background:
    radial-gradient(circle at 8% 20%, rgba(74,210,90,.11), transparent 26%),
    linear-gradient(180deg, #010302 0%, #000 100%) !important;
  color: rgba(247,244,231,.76) !important;
  border-top: 1px solid rgba(124,255,69,.18) !important;
  padding: 64px 0 30px !important;
}

.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr 1fr !important;
  gap: clamp(36px, 6vw, 90px) !important;
  align-items: start !important;
}

.ds-footer-alpha {
  width: 76px !important;
  height: auto !important;
  filter: drop-shadow(0 0 16px rgba(80,230,100,.32)) !important;
  margin-bottom: 16px !important;
}

.ds-footer-brand strong {
  display: block !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 24px !important;
  letter-spacing: .02em !important;
  margin-bottom: 8px !important;
}

.ds-footer-brand p,
.ds-footer-info p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

.ds-footer-nav {
  display: grid !important;
  gap: 12px !important;
}

.ds-footer-nav a,
.ds-footer-info a,
.ds-footer-bottom a {
  color: rgba(247,244,231,.82) !important;
  text-decoration: none !important;
}

.ds-footer-info a {
  color: var(--ds-green-bright) !important;
  display: inline-block !important;
  margin-top: 12px !important;
}

.ds-footer-bottom {
  margin-top: 54px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(247,244,231,.10) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  color: rgba(247,244,231,.50) !important;
}

.ds-footer-bottom small {
  color: rgba(247,244,231,.50) !important;
}

@media (max-width: 1180px) {
  .ds-page--hero-final .ds-manifesto .ds-statement {
    font-size: clamp(38px, 5.2vw, 72px) !important;
  }
}

@media (max-width: 980px) {
  .ds-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .ds-footer-bottom {
    flex-direction: column !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-line--two {
    margin-top: .12em !important;
  }
  .ds-page--hero-final .ds-hero-scroll-button {
    bottom: 4.6vh !important;
  }
  .ds-page--hero-final .ds-hero-wordmark-bg {
    width: 150vw !important;
    opacity: .18 !important;
  }
  .ds-page--hero-final .ds-contrast-card span,
  .ds-page--hero-final #business .ds-node span {
    font-size: 13px !important;
  }
  .ds-page--hero-final .ds-nav-links {
    gap: 8px !important;
  }
  .ds-page--hero-final .ds-nav-links a {
    font-size: 10px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.0
   - Polygon mesh background removed
   - Thin Den-show wordmark PNG restored behind alpha
   - Alpha glow restored
   ============================================================ */

/* Hero Den-show background: plain thin wordmark, not mesh */
.ds-page--hero-final .ds-hero-wordmark-bg {
  content: url("/wp-content/themes/blocksy-child/assets/img/denshow-wordmark-bg.png") !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: min(1500px, 92vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: .105 !important;
  filter:
    brightness(.62)
    saturate(1.35)
    drop-shadow(0 0 18px rgba(80,230,100,.18))
    drop-shadow(0 0 46px rgba(80,230,100,.08)) !important;
  mix-blend-mode: screen !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* Alpha: glow restored, shape unchanged */
.ds-page--hero-final .ds-alpha-final,
.ds-page--hero-final .ds-alpha-final img,
.ds-page--hero-final .ds-brand-mark--hero-final,
.ds-page--hero-final .ds-brand-mark--hero-final img {
  filter:
    brightness(1.08)
    saturate(1.16)
    drop-shadow(0 0 14px rgba(105,255,120,.32))
    drop-shadow(0 0 42px rgba(80,230,100,.24))
    drop-shadow(0 0 86px rgba(80,230,100,.12)) !important;
  box-shadow: none !important;
}

/* Alpha breathing glow */
.ds-page--hero-final .ds-alpha-final img,
.ds-page--hero-final .ds-brand-mark--hero-final img {
  animation: ds-alpha-clean-glow 6.4s ease-in-out infinite !important;
}

@keyframes ds-alpha-clean-glow {
  0%, 100% {
    filter:
      brightness(1.04)
      saturate(1.10)
      drop-shadow(0 0 12px rgba(105,255,120,.28))
      drop-shadow(0 0 36px rgba(80,230,100,.20))
      drop-shadow(0 0 72px rgba(80,230,100,.10));
  }
  50% {
    filter:
      brightness(1.16)
      saturate(1.22)
      drop-shadow(0 0 18px rgba(150,255,145,.42))
      drop-shadow(0 0 56px rgba(80,230,100,.30))
      drop-shadow(0 0 110px rgba(80,230,100,.16));
  }
}

/* Do not restore floor shadow */
.ds-page--hero-final .ds-alpha-final::before,
.ds-page--hero-final .ds-alpha-final::after,
.ds-page--hero-final .ds-brand-mark--hero-final::before,
.ds-page--hero-final .ds-brand-mark--hero-final::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-wordmark-bg {
    width: 145vw !important;
    opacity: .075 !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.1
   - Hero background Den-show restored
   - Alpha glow softened: starts dark, slowly brightens
   - Footer forcibly displayed
   ============================================================ */

/* Hero background Den-show: force visible as actual image layer */
.ds-page--hero-final .ds-line-stage--hero-final {
  position: relative !important;
  overflow: hidden !important;
}

.ds-page--hero-final .ds-hero-wordmark-bg {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: min(1540px, 94vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: .115 !important;
  visibility: visible !important;
  filter:
    brightness(.70)
    saturate(1.25)
    drop-shadow(0 0 16px rgba(80,230,100,.13))
    drop-shadow(0 0 42px rgba(80,230,100,.07)) !important;
  mix-blend-mode: screen !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Alpha above wordmark, but softer glow */
.ds-page--hero-final .ds-alpha-final,
.ds-page--hero-final .ds-brand-mark--hero-final {
  position: relative !important;
  z-index: 3 !important;
  filter: none !important;
  box-shadow: none !important;
}

.ds-page--hero-final .ds-alpha-final img,
.ds-page--hero-final .ds-brand-mark--hero-final img {
  position: relative !important;
  z-index: 3 !important;
  filter:
    brightness(.48)
    saturate(.92)
    drop-shadow(0 0 4px rgba(75,210,90,.08)) !important;
  animation: ds-alpha-slow-emerge 8.6s ease-in-out forwards, ds-alpha-soft-breathe 7.8s ease-in-out 8.6s infinite !important;
  box-shadow: none !important;
}

@keyframes ds-alpha-slow-emerge {
  0% {
    filter:
      brightness(.30)
      saturate(.80)
      drop-shadow(0 0 0 rgba(80,230,100,0));
  }
  55% {
    filter:
      brightness(.72)
      saturate(1.02)
      drop-shadow(0 0 8px rgba(80,230,100,.12))
      drop-shadow(0 0 24px rgba(80,230,100,.07));
  }
  100% {
    filter:
      brightness(1.02)
      saturate(1.10)
      drop-shadow(0 0 10px rgba(100,245,115,.20))
      drop-shadow(0 0 30px rgba(80,230,100,.14))
      drop-shadow(0 0 58px rgba(80,230,100,.07));
  }
}

@keyframes ds-alpha-soft-breathe {
  0%, 100% {
    filter:
      brightness(1.00)
      saturate(1.08)
      drop-shadow(0 0 8px rgba(100,245,115,.16))
      drop-shadow(0 0 26px rgba(80,230,100,.10))
      drop-shadow(0 0 48px rgba(80,230,100,.05));
  }
  50% {
    filter:
      brightness(1.08)
      saturate(1.14)
      drop-shadow(0 0 12px rgba(120,255,130,.24))
      drop-shadow(0 0 38px rgba(80,230,100,.16))
      drop-shadow(0 0 70px rgba(80,230,100,.08));
  }
}

/* Never restore floor shadow */
.ds-page--hero-final .ds-alpha-final::before,
.ds-page--hero-final .ds-alpha-final::after,
.ds-page--hero-final .ds-brand-mark--hero-final::before,
.ds-page--hero-final .ds-brand-mark--hero-final::after {
  content: none !important;
  display: none !important;
}

/* Footer: force display and spacing */
.ds-site-footer {
  display: block !important;
  position: relative !important;
  z-index: 5 !important;
  background:
    radial-gradient(circle at 8% 20%, rgba(74,210,90,.11), transparent 26%),
    linear-gradient(180deg, #010302 0%, #000 100%) !important;
  color: rgba(247,244,231,.76) !important;
  border-top: 1px solid rgba(124,255,69,.18) !important;
  padding: 64px 0 30px !important;
  margin: 0 !important;
}

.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr 1fr !important;
  gap: clamp(36px, 6vw, 90px) !important;
  align-items: start !important;
}

.ds-footer-alpha {
  width: 76px !important;
  height: auto !important;
  filter: drop-shadow(0 0 16px rgba(80,230,100,.32)) !important;
  margin-bottom: 16px !important;
}

.ds-footer-brand strong {
  display: block !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 24px !important;
  letter-spacing: .02em !important;
  margin-bottom: 8px !important;
}

.ds-footer-brand p,
.ds-footer-info p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

.ds-footer-nav {
  display: grid !important;
  gap: 12px !important;
}

.ds-footer-nav a,
.ds-footer-info a,
.ds-footer-bottom a {
  color: rgba(247,244,231,.82) !important;
  text-decoration: none !important;
}

.ds-footer-info a {
  color: var(--ds-green-bright) !important;
  display: inline-block !important;
  margin-top: 12px !important;
}

.ds-footer-bottom {
  margin-top: 54px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(247,244,231,.10) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  color: rgba(247,244,231,.50) !important;
}

.ds-footer-bottom small {
  color: rgba(247,244,231,.50) !important;
}

@media (max-width: 980px) {
  .ds-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .ds-footer-bottom {
    flex-direction: column !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-wordmark-bg {
    width: 145vw !important;
    opacity: .08 !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.2
   Emergency visual fix:
   - Restore stable centered Hero layout
   - Restore thin Den-show background without breaking layout
   - Keep alpha glow subtle
   - Force footer visible inside page flow
   ============================================================ */

/* HERO stable layout reset */
.ds-page--hero-final .ds-opening {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.ds-page--hero-final .ds-opening__inner {
  position: relative !important;
  z-index: 4 !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 24px 9vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 100vh !important;
}

/* Line stage stays centered */
.ds-page--hero-final .ds-line-stage--hero-final {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  transform: none !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

/* Thin Den-show background */
.ds-page--hero-final .ds-hero-wordmark-bg {
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: min(1480px, 92vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: .10 !important;
  visibility: visible !important;
  filter:
    brightness(.68)
    saturate(1.20)
    drop-shadow(0 0 16px rgba(80,230,100,.10)) !important;
  mix-blend-mode: screen !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Alpha centered and stable */
.ds-page--hero-final .ds-alpha-final,
.ds-page--hero-final .ds-brand-mark--hero-final {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  z-index: 3 !important;
  width: min(500px, 34vw) !important;
  margin: 0 auto 28px !important;
  filter: none !important;
  box-shadow: none !important;
}

.ds-page--hero-final .ds-alpha-final img,
.ds-page--hero-final .ds-brand-mark--hero-final img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
  filter:
    brightness(.55)
    saturate(.94)
    drop-shadow(0 0 4px rgba(75,210,90,.06)) !important;
  animation: ds-alpha-slow-emerge-v22 7.8s ease-in-out forwards, ds-alpha-soft-breathe-v22 7.8s ease-in-out 7.8s infinite !important;
}

/* remove floor/aura */
.ds-page--hero-final .ds-alpha-final::before,
.ds-page--hero-final .ds-alpha-final::after,
.ds-page--hero-final .ds-brand-mark--hero-final::before,
.ds-page--hero-final .ds-brand-mark--hero-final::after {
  content: none !important;
  display: none !important;
}

@keyframes ds-alpha-slow-emerge-v22 {
  0% {
    filter:
      brightness(.34)
      saturate(.82)
      drop-shadow(0 0 0 rgba(80,230,100,0));
  }
  100% {
    filter:
      brightness(1.03)
      saturate(1.10)
      drop-shadow(0 0 9px rgba(100,245,115,.18))
      drop-shadow(0 0 28px rgba(80,230,100,.12))
      drop-shadow(0 0 54px rgba(80,230,100,.06));
  }
}

@keyframes ds-alpha-soft-breathe-v22 {
  0%,100% {
    filter:
      brightness(1.00)
      saturate(1.08)
      drop-shadow(0 0 8px rgba(100,245,115,.14))
      drop-shadow(0 0 24px rgba(80,230,100,.09));
  }
  50% {
    filter:
      brightness(1.08)
      saturate(1.13)
      drop-shadow(0 0 11px rgba(120,255,130,.22))
      drop-shadow(0 0 34px rgba(80,230,100,.14));
  }
}

/* Hero copy centered under alpha */
.ds-page--hero-final .ds-hero-words {
  position: relative !important;
  z-index: 5 !important;
  transform: none !important;
  text-align: center !important;
  margin: 0 auto !important;
  line-height: 1.12 !important;
}

.ds-page--hero-final .ds-hero-line {
  margin: 0 !important;
}

.ds-page--hero-final .ds-hero-line--two {
  margin-top: .12em !important;
}

/* Scroll button sits below copy with safe spacing */
.ds-page--hero-final .ds-hero-scroll-button {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 30px auto 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 10 !important;
}

/* Footer force-visible */
.ds-site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  background:
    radial-gradient(circle at 8% 20%, rgba(74,210,90,.11), transparent 26%),
    linear-gradient(180deg, #010302 0%, #000 100%) !important;
  color: rgba(247,244,231,.76) !important;
  border-top: 1px solid rgba(124,255,69,.18) !important;
  padding: 64px 0 30px !important;
  margin: 0 !important;
}

.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr 1fr !important;
  gap: clamp(36px, 6vw, 90px) !important;
  align-items: start !important;
}

.ds-footer-alpha {
  width: 76px !important;
  height: auto !important;
  margin-bottom: 16px !important;
  filter: drop-shadow(0 0 16px rgba(80,230,100,.28)) !important;
}

.ds-footer-brand strong {
  display: block !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 24px !important;
  margin-bottom: 8px !important;
}

.ds-footer-brand p,
.ds-footer-info p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

.ds-footer-nav {
  display: grid !important;
  gap: 12px !important;
}

.ds-footer-nav a,
.ds-footer-info a,
.ds-footer-bottom a {
  color: rgba(247,244,231,.82) !important;
  text-decoration: none !important;
}

.ds-footer-info a {
  color: var(--ds-green-bright) !important;
  display: inline-block !important;
  margin-top: 12px !important;
}

.ds-footer-bottom {
  margin-top: 54px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(247,244,231,.10) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  color: rgba(247,244,231,.50) !important;
}

.ds-footer-bottom small {
  color: rgba(247,244,231,.50) !important;
}

@media (max-width: 980px) {
  .ds-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .ds-footer-bottom {
    flex-direction: column !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-alpha-final,
  .ds-page--hero-final .ds-brand-mark--hero-final {
    width: 70vw !important;
    margin-bottom: 20px !important;
  }
  .ds-page--hero-final .ds-hero-wordmark-bg {
    width: 145vw !important;
    opacity: .075 !important;
  }
  .ds-page--hero-final .ds-hero-scroll-button {
    margin-top: 22px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.3
   HARD FIX:
   - Rebuilt Hero with isolated v23 classes
   - Footer inserted as visible section inside main
   ============================================================ */

/* Completely neutralize old hero stage pieces */
.ds-page--hero-final .ds-hero-v23 .ds-line-stage,
.ds-page--hero-final .ds-hero-v23 .ds-brand-mark,
.ds-page--hero-final .ds-hero-v23 .ds-scroll-cue,
.ds-page--hero-final .ds-hero-v23 .ds-alpha-final {
  display: none !important;
}

/* Hero v23 base */
.ds-page--hero-final .ds-hero-v23 {
  position: relative !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(58, 170, 78, .13), transparent 32%),
    radial-gradient(circle at 82% 60%, rgba(48, 150, 80, .10), transparent 36%),
    linear-gradient(180deg, #020806 0%, #03100b 52%, #010403 100%) !important;
  display: block !important;
}

/* Background visual stage */
.ds-page--hero-final .ds-hero-v23__stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Thin Den-show in background */
.ds-page--hero-final .ds-hero-v23__wordmark {
  position: absolute !important;
  left: 50% !important;
  top: 43% !important;
  width: min(1540px, 92vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  opacity: .105 !important;
  filter:
    brightness(.72)
    saturate(1.18)
    drop-shadow(0 0 18px rgba(80,230,100,.10)) !important;
  mix-blend-mode: screen !important;
}

/* Alpha: centered and stable */
.ds-page--hero-final .ds-hero-v23__alpha {
  position: absolute !important;
  left: 50% !important;
  top: 40% !important;
  width: min(500px, 32vw) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
  filter:
    brightness(.36)
    saturate(.84)
    drop-shadow(0 0 0 rgba(80,230,100,0)) !important;
  animation: ds-v23-alpha-emerge 7.2s ease-in-out forwards, ds-v23-alpha-breathe 8s ease-in-out 7.2s infinite !important;
}

@keyframes ds-v23-alpha-emerge {
  0% {
    opacity: .45;
    filter:
      brightness(.32)
      saturate(.80)
      drop-shadow(0 0 0 rgba(80,230,100,0));
  }
  100% {
    opacity: 1;
    filter:
      brightness(1.04)
      saturate(1.10)
      drop-shadow(0 0 8px rgba(110,255,125,.18))
      drop-shadow(0 0 26px rgba(80,230,100,.12))
      drop-shadow(0 0 50px rgba(80,230,100,.06));
  }
}

@keyframes ds-v23-alpha-breathe {
  0%,100% {
    filter:
      brightness(1.01)
      saturate(1.08)
      drop-shadow(0 0 7px rgba(110,255,125,.14))
      drop-shadow(0 0 22px rgba(80,230,100,.09));
  }
  50% {
    filter:
      brightness(1.08)
      saturate(1.13)
      drop-shadow(0 0 11px rgba(130,255,140,.22))
      drop-shadow(0 0 34px rgba(80,230,100,.14));
  }
}

/* Hero content independent from old layout */
.ds-page--hero-final .ds-hero-v23__content {
  position: absolute !important;
  left: 50% !important;
  top: 69% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 5 !important;
  width: 100% !important;
  max-width: 1180px !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Typewriter copy */
.ds-page--hero-final .ds-hero-v23 .ds-hero-words {
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  text-align: center !important;
  line-height: 1.08 !important;
}

.ds-page--hero-final .ds-hero-v23 .ds-hero-line {
  margin: 0 !important;
}

.ds-page--hero-final .ds-hero-v23 .ds-hero-line--two {
  margin-top: .08em !important;
}

/* Scroll button below copy */
.ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button {
  position: static !important;
  transform: none !important;
  margin: 28px auto 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Footer as real section */
.ds-page--hero-final .ds-footer-section {
  min-height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #000 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.ds-page--hero-final .ds-footer-section .ds-site-footer,
.ds-site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 20 !important;
  width: 100% !important;
  background:
    radial-gradient(circle at 8% 20%, rgba(74,210,90,.11), transparent 26%),
    linear-gradient(180deg, #010302 0%, #000 100%) !important;
  color: rgba(247,244,231,.76) !important;
  border-top: 1px solid rgba(124,255,69,.18) !important;
  padding: 64px 0 30px !important;
  margin: 0 !important;
}

.ds-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr .8fr 1fr !important;
  gap: clamp(36px, 6vw, 90px) !important;
  align-items: start !important;
}

.ds-footer-alpha {
  width: 76px !important;
  height: auto !important;
  margin-bottom: 16px !important;
  filter: drop-shadow(0 0 14px rgba(80,230,100,.24)) !important;
}

.ds-footer-brand strong {
  display: block !important;
  color: var(--ds-green-bright) !important;
  font-family: var(--ds-sans) !important;
  font-size: 24px !important;
  margin-bottom: 8px !important;
}

.ds-footer-brand p,
.ds-footer-info p {
  margin: 0 !important;
  line-height: 1.8 !important;
}

.ds-footer-nav {
  display: grid !important;
  gap: 12px !important;
}

.ds-footer-nav a,
.ds-footer-info a,
.ds-footer-bottom a {
  color: rgba(247,244,231,.82) !important;
  text-decoration: none !important;
}

.ds-footer-info a {
  color: var(--ds-green-bright) !important;
  display: inline-block !important;
  margin-top: 12px !important;
}

.ds-footer-bottom {
  margin-top: 54px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(247,244,231,.10) !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 24px !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  color: rgba(247,244,231,.50) !important;
}

.ds-footer-bottom small {
  color: rgba(247,244,231,.50) !important;
}

@media (max-width: 980px) {
  .ds-page--hero-final .ds-hero-v23__alpha {
    width: min(520px, 56vw) !important;
  }
  .ds-page--hero-final .ds-hero-v23__content {
    top: 70% !important;
  }
  .ds-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .ds-footer-bottom {
    flex-direction: column !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-v23__wordmark {
    width: 145vw !important;
    opacity: .075 !important;
  }
  .ds-page--hero-final .ds-hero-v23__alpha {
    width: 70vw !important;
    top: 38% !important;
  }
  .ds-page--hero-final .ds-hero-v23__content {
    top: 70% !important;
  }
  .ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button {
    margin-top: 22px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.4 FINAL
   Hero final polish:
   - Alpha restored to original brand color
   - Background Den-show color stays unchanged
   - Spacing between alpha / copy / Scroll adjusted
   ============================================================ */

/* Alpha: restore original logo color, keep only subtle glow */
.ds-page--hero-final .ds-hero-v23__alpha {
  top: 37.5% !important;
  width: min(500px, 32vw) !important;
  opacity: 1 !important;
  filter:
    brightness(1.00)
    saturate(1.08)
    drop-shadow(0 0 7px rgba(120,255,120,.14))
    drop-shadow(0 0 20px rgba(80,230,100,.08)) !important;
  animation: ds-v24-alpha-soft-in 4.8s ease-in-out forwards, ds-v24-alpha-subtle-breathe 8.5s ease-in-out 4.8s infinite !important;
}

@keyframes ds-v24-alpha-soft-in {
  0% {
    opacity: .72;
    filter:
      brightness(.78)
      saturate(.95)
      drop-shadow(0 0 0 rgba(80,230,100,0));
  }
  100% {
    opacity: 1;
    filter:
      brightness(1.00)
      saturate(1.08)
      drop-shadow(0 0 7px rgba(120,255,120,.14))
      drop-shadow(0 0 20px rgba(80,230,100,.08));
  }
}

@keyframes ds-v24-alpha-subtle-breathe {
  0%,100% {
    filter:
      brightness(1.00)
      saturate(1.08)
      drop-shadow(0 0 6px rgba(120,255,120,.12))
      drop-shadow(0 0 18px rgba(80,230,100,.07));
  }
  50% {
    filter:
      brightness(1.05)
      saturate(1.12)
      drop-shadow(0 0 9px rgba(130,255,130,.18))
      drop-shadow(0 0 26px rgba(80,230,100,.10));
  }
}

/* Keep background Den-show unchanged from current visual */
.ds-page--hero-final .ds-hero-v23__wordmark {
  opacity: .105 !important;
}

/* Copy block closer to alpha, balanced on screen */
.ds-page--hero-final .ds-hero-v23__content {
  top: 68.5% !important;
}

.ds-page--hero-final .ds-hero-v23 .ds-hero-words {
  line-height: 1.05 !important;
}

.ds-page--hero-final .ds-hero-v23 .ds-hero-line--two {
  margin-top: .04em !important;
}

/* Scroll: give a little more breathing room below second line */
.ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button {
  margin-top: 38px !important;
}

/* Disable previous v23 alpha animations if browser cascade catches older rules */
.ds-page--hero-final .ds-hero-v23__alpha {
  animation-name: ds-v24-alpha-soft-in, ds-v24-alpha-subtle-breathe !important;
}

/* Responsive final tuning */
@media (max-width: 980px) {
  .ds-page--hero-final .ds-hero-v23__alpha {
    top: 37% !important;
    width: min(520px, 56vw) !important;
  }

  .ds-page--hero-final .ds-hero-v23__content {
    top: 69% !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-v23__alpha {
    width: 70vw !important;
    top: 36.5% !important;
  }

  .ds-page--hero-final .ds-hero-v23__content {
    top: 70% !important;
  }

  .ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button {
    margin-top: 28px !important;
  }
}


/* RELEASE v2.4.1 spacing tweak */
.ds-page--hero-final .ds-hero-v23__content{
  top: 71% !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button{
  margin-top:58px !important;
}
@media (max-width:980px){
 .ds-page--hero-final .ds-hero-v23__content{top:71.5% !important;}
 .ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button{margin-top:44px !important;}
}
@media (max-width:760px){
 .ds-page--hero-final .ds-hero-v23__content{top:72% !important;}
 .ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button{margin-top:34px !important;}
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.5
   Footer spacing + mobile layout fixes.
   ============================================================ */

/* Story Continues と Footer の間を詰める */
.ds-page--hero-final .ds-ending {
  margin-bottom: 36px !important;
  padding-bottom: 0 !important;
}

.ds-page--hero-final .ds-ending span {
  display: inline-block !important;
  margin-bottom: 22px !important;
}

.ds-page--hero-final .ds-ending::after {
  content: "" !important;
  display: block !important;
  width: min(760px, 76vw) !important;
  height: 1px !important;
  margin: 24px auto 0 !important;
  background: linear-gradient(90deg, transparent, rgba(124,255,69,.22), transparent) !important;
}

/* Contact下部の余白が大きすぎる場合の調整 */
.ds-page--hero-final .ds-contact {
  padding-bottom: clamp(64px, 7vw, 96px) !important;
}

.ds-page--hero-final .ds-footer-section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ds-page--hero-final .ds-site-footer,
.ds-site-footer {
  margin-top: 0 !important;
  padding-top: 56px !important;
}

/* ============================================================
   Mobile header / menu / overflow fixes
   ============================================================ */

@media (max-width: 900px) {
  /* ヘッダー全体 */
  .ds-page--hero-final .ds-floating-nav {
    width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    top: 12px !important;
    transform: none !important;
    min-height: 54px !important;
    padding: 8px 12px !important;
    border-radius: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  /* ヘッダーロゴを縮小 */
  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-floating-nav .ds-nav-logo {
    flex: 0 0 auto !important;
    max-width: 154px !important;
    width: 154px !important;
    overflow: hidden !important;
  }

  .ds-page--hero-final .ds-nav-logo img,
  .ds-page--hero-final .ds-floating-nav .ds-nav-logo img {
    width: 154px !important;
    max-width: 154px !important;
    height: auto !important;
    display: block !important;
  }

  /* メニューを見えるように横スクロール化 */
  .ds-page--hero-final .ds-nav-links {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    padding: 8px 2px 8px 8px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ds-page--hero-final .ds-nav-links::-webkit-scrollbar {
    display: none !important;
  }

  .ds-page--hero-final .ds-nav-links a {
    flex: 0 0 auto !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    white-space: nowrap !important;
  }

  /* テキストはみ出し対策 */
  .ds-page--hero-final h1,
  .ds-page--hero-final h2,
  .ds-page--hero-final h3,
  .ds-page--hero-final p,
  .ds-page--hero-final dd,
  .ds-page--hero-final dt,
  .ds-page--hero-final em,
  .ds-page--hero-final strong {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .ds-page--hero-final .ds-title,
  .ds-page--hero-final .ds-statement {
    letter-spacing: -.045em !important;
    line-height: 1.34 !important;
  }

  .ds-page--hero-final .ds-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 760px) {
  /* スマホではヘッダーをよりコンパクトに */
  .ds-page--hero-final .ds-floating-nav {
    min-height: 50px !important;
    padding: 7px 10px !important;
    gap: 8px !important;
  }

  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-nav-logo img {
    width: 128px !important;
    max-width: 128px !important;
  }

  .ds-page--hero-final .ds-nav-links {
    gap: 12px !important;
    padding-left: 6px !important;
  }

  .ds-page--hero-final .ds-nav-links a {
    font-size: 11px !important;
    letter-spacing: .04em !important;
  }

  /* Heroの縦配置をスマホ用に調整 */
  .ds-page--hero-final .ds-hero-v23__wordmark {
    width: 150vw !important;
    opacity: .075 !important;
  }

  .ds-page--hero-final .ds-hero-v23__alpha {
    width: 66vw !important;
    top: 36.5% !important;
  }

  .ds-page--hero-final .ds-hero-v23__content {
    top: 72% !important;
    width: 100% !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
    box-sizing: border-box !important;
  }

  .ds-page--hero-final .ds-hero-v23 .ds-hero-words {
    width: 100% !important;
  }

  .ds-page--hero-final .ds-hero-v23 .ds-hero-line {
    white-space: normal !important;
  }

  .ds-page--hero-final .ds-hero-v23 .ds-hero-scroll-button {
    margin-top: 34px !important;
  }

  /* 大見出しのはみ出し防止 */
  .ds-page--hero-final .ds-title,
  .ds-page--hero-final .ds-statement,
  .ds-page--hero-final .ds-title--value-process {
    font-size: clamp(34px, 12vw, 56px) !important;
    line-height: 1.32 !important;
    letter-spacing: -.05em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .ds-page--hero-final .ds-manifesto .ds-statement {
    font-size: clamp(36px, 12vw, 58px) !important;
  }

  .ds-page--hero-final .ds-lead--no-wrap {
    white-space: normal !important;
  }

  /* Valueカード / Businessカードを1列に */
  .ds-page--hero-final .ds-contrast,
  .ds-page--hero-final .ds-network,
  .ds-page--hero-final .ds-company-grid,
  .ds-page--hero-final .ds-company-grid--single {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .ds-page--hero-final #business .ds-node,
  .ds-page--hero-final .ds-contrast-card {
    min-height: auto !important;
    padding: 28px 24px !important;
  }

  .ds-page--hero-final #business .ds-node span {
    margin-bottom: 28px !important;
  }

  .ds-page--hero-final #business .ds-node strong,
  .ds-page--hero-final .ds-contrast-card h3 {
    font-size: clamp(26px, 8vw, 36px) !important;
    line-height: 1.42 !important;
  }

  .ds-page--hero-final .ds-company-list div {
    grid-template-columns: 1fr !important;
  }

  .ds-page--hero-final .ds-company-list dt,
  .ds-page--hero-final .ds-company-list dd {
    padding: 16px 18px !important;
  }

  .ds-page--hero-final .ds-map-wide {
    height: 280px !important;
  }

  .ds-page--hero-final .ds-site-footer,
  .ds-site-footer {
    padding-top: 44px !important;
  }

  .ds-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .ds-footer-bottom {
    flex-direction: column !important;
    gap: 14px !important;
  }
}

@media (max-width: 420px) {
  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-nav-logo img {
    width: 108px !important;
    max-width: 108px !important;
  }

  .ds-page--hero-final .ds-nav-links a {
    font-size: 10px !important;
  }

  .ds-page--hero-final .ds-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.6
   Mobile hamburger menu / Manifesto title overflow fix / Message finalized.
   ============================================================ */

/* Desktop: hamburger hidden */
.ds-page--hero-final .ds-mobile-menu-toggle {
  display: none;
}

/* Message final text styling */
.ds-page--hero-final .ds-message .ds-copy strong {
  color: inherit !important;
  font-weight: 700 !important;
}

/* ============================================================
   Mobile hamburger menu
   ============================================================ */

@media (max-width: 900px) {
  .ds-page--hero-final .ds-floating-nav {
    width: calc(100vw - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    top: 12px !important;
    transform: none !important;
    min-height: 54px !important;
    padding: 8px 12px !important;
    border-radius: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-floating-nav .ds-nav-logo {
    flex: 0 0 auto !important;
    width: 142px !important;
    max-width: 142px !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 35 !important;
  }

  .ds-page--hero-final .ds-nav-logo img,
  .ds-page--hero-final .ds-floating-nav .ds-nav-logo img {
    width: 142px !important;
    max-width: 142px !important;
    height: auto !important;
    display: block !important;
  }

  .ds-page--hero-final .ds-mobile-menu-toggle {
    display: inline-flex !important;
    position: relative !important;
    z-index: 36 !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    border: 1px solid rgba(124,255,69,.30) !important;
    border-radius: 999px !important;
    background: rgba(1,9,5,.40) !important;
    padding: 0 !important;
    cursor: pointer !important;
  }

  .ds-page--hero-final .ds-mobile-menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--ds-green-bright) !important;
    transition: transform .24s ease, opacity .24s ease !important;
  }

  .ds-page--hero-final .ds-floating-nav.is-menu-open .ds-mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .ds-page--hero-final .ds-floating-nav.is-menu-open .ds-mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .ds-page--hero-final .ds-floating-nav.is-menu-open .ds-mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  /* Mobile menu panel, not horizontal scroll */
  .ds-page--hero-final .ds-nav-links {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 34 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(124,255,69,.20) !important;
    border-radius: 22px !important;
    background: rgba(1, 8, 5, .94) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.36) !important;
    overflow: hidden !important;
    white-space: normal !important;
    max-height: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: max-height .28s ease, opacity .22s ease, transform .22s ease !important;
  }

  .ds-page--hero-final .ds-floating-nav.is-menu-open .ds-nav-links {
    max-height: 520px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .ds-page--hero-final .ds-nav-links a {
    display: block !important;
    padding: 15px 16px !important;
    border-bottom: 1px solid rgba(247,244,231,.08) !important;
    color: rgba(247,244,231,.90) !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
  }

  .ds-page--hero-final .ds-nav-links a:last-child {
    border-bottom: none !important;
  }

  /* Avoid body-side overflow from any section */
  html,
  body {
    overflow-x: hidden !important;
  }

  .ds-page--hero-final,
  .ds-page--hero-final * {
    box-sizing: border-box !important;
  }
}

/* ============================================================
   Mobile overflow fixes for large Japanese headings
   ============================================================ */

@media (max-width: 760px) {
  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-nav-logo img {
    width: 124px !important;
    max-width: 124px !important;
  }

  .ds-page--hero-final .ds-mobile-menu-toggle {
    width: 40px !important;
    height: 40px !important;
  }

  .ds-page--hero-final .ds-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Manifesto title specifically */
  .ds-page--hero-final .ds-manifesto .ds-statement {
    font-size: clamp(32px, 10.2vw, 48px) !important;
    line-height: 1.38 !important;
    letter-spacing: -.06em !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  /* Other large titles */
  .ds-page--hero-final .ds-title,
  .ds-page--hero-final .ds-statement,
  .ds-page--hero-final .ds-title--value-process {
    font-size: clamp(32px, 10vw, 50px) !important;
    line-height: 1.36 !important;
    letter-spacing: -.055em !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }

  .ds-page--hero-final .ds-manifesto .ds-copy,
  .ds-page--hero-final .ds-manifesto .ds-copy p,
  .ds-page--hero-final .ds-message .ds-copy,
  .ds-page--hero-final .ds-message .ds-copy p {
    font-size: 16px !important;
    line-height: 2.0 !important;
  }

  /* Lead no-wrap override */
  .ds-page--hero-final .ds-lead--no-wrap {
    white-space: normal !important;
    max-width: 100% !important;
  }
}

@media (max-width: 420px) {
  .ds-page--hero-final .ds-nav-logo,
  .ds-page--hero-final .ds-nav-logo img {
    width: 108px !important;
    max-width: 108px !important;
  }

  .ds-page--hero-final .ds-floating-nav {
    width: calc(100vw - 18px) !important;
    left: 9px !important;
    right: 9px !important;
  }

  .ds-page--hero-final .ds-manifesto .ds-statement,
  .ds-page--hero-final .ds-title,
  .ds-page--hero-final .ds-statement,
  .ds-page--hero-final .ds-title--value-process {
    font-size: clamp(30px, 9.5vw, 42px) !important;
    line-height: 1.42 !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.7
   Print / PDF mode
   - Screen design remains unchanged.
   - PDF/print switches to readable white paper style.
   ============================================================ */

@media print {

  @page {
    size: A4 portrait;
    margin: 12mm;
  }

  html,
  body {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: #ffffff !important;
    color: #111111 !important;
    -webkit-print-color-adjust: economy !important;
    print-color-adjust: economy !important;
  }

  body * {
    animation: none !important;
    transition: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  /* Base page */
  .ds-page--hero-final,
  .ds-page--hero-final main,
  #denshow-infinity {
    background: #ffffff !important;
    color: #111111 !important;
    overflow: visible !important;
  }

  /* Hide interactive / decorative elements */
  .ds-scroll-progress,
  .ds-floating-nav,
  .ds-mobile-menu-toggle,
  .ds-hero-atmosphere,
  .ds-orb,
  .ds-grain,
  .ds-hero-v23__stage,
  .ds-line-stage,
  .ds-hero-scroll-button,
  .ds-scroll-cue,
  .ds-ending,
  .ds-map-wide,
  .ds-map-embed,
  iframe,
  .ct-header,
  .ct-footer,
  header,
  .site-header,
  .site-footer {
    display: none !important;
  }

  /* Sections */
  .ds-page--hero-final .ds-section,
  .ds-page--hero-final .ds-opening,
  .ds-page--hero-final .ds-manifesto,
  .ds-page--hero-final .ds-hospitality,
  .ds-page--hero-final .ds-connected,
  .ds-page--hero-final .ds-company,
  .ds-page--hero-final .ds-message,
  .ds-page--hero-final .ds-contact {
    min-height: auto !important;
    height: auto !important;
    padding: 18mm 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    color: #111111 !important;
    border: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .ds-page--hero-final .ds-opening {
    padding-top: 6mm !important;
    padding-bottom: 12mm !important;
    border-bottom: 1px solid #dddddd !important;
  }

  .ds-page--hero-final .ds-container,
  .ds-page--hero-final .ds-narrow {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Hero text for print */
  .ds-page--hero-final .ds-hero-v23__content,
  .ds-page--hero-final .ds-opening__inner {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: auto !important;
    padding: 0 !important;
    display: block !important;
    text-align: left !important;
  }

  .ds-page--hero-final .ds-hero-words {
    text-align: left !important;
    margin: 0 !important;
  }

  .ds-page--hero-final .ds-hero-line,
  .ds-page--hero-final .ds-hero-line span {
    display: block !important;
    color: #111111 !important;
    font-size: 28pt !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
  }

  .ds-page--hero-final .ds-type-line::after {
    display: none !important;
    content: none !important;
  }

  /* If typewriter spans are empty on print, show their data-text */
  .ds-page--hero-final .ds-type-line {
    font-size: 0 !important;
  }

  .ds-page--hero-final .ds-type-line::before {
    content: attr(data-text) !important;
    display: inline !important;
    font-size: 28pt !important;
    color: #111111 !important;
  }

  /* Typography */
  .ds-page--hero-final .ds-kicker,
  .ds-page--hero-final .ds-contrast-card span,
  .ds-page--hero-final .ds-node span,
  .ds-page--hero-final .ds-company-message__title {
    color: #16783a !important;
    font-size: 9pt !important;
    letter-spacing: .12em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  .ds-page--hero-final .ds-title,
  .ds-page--hero-final .ds-statement,
  .ds-page--hero-final .ds-title--value-process,
  .ds-page--hero-final h1,
  .ds-page--hero-final h2,
  .ds-page--hero-final h3 {
    color: #111111 !important;
    font-size: 24pt !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .ds-page--hero-final .ds-copy,
  .ds-page--hero-final .ds-copy p,
  .ds-page--hero-final .ds-lead,
  .ds-page--hero-final p,
  .ds-page--hero-final em,
  .ds-page--hero-final dd,
  .ds-page--hero-final dt {
    color: #222222 !important;
    font-size: 11pt !important;
    line-height: 1.85 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* Grids/cards */
  .ds-page--hero-final .ds-split,
  .ds-page--hero-final .ds-contrast,
  .ds-page--hero-final .ds-network,
  .ds-page--hero-final .ds-company-grid,
  .ds-page--hero-final .ds-company-grid--single,
  .ds-footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5mm !important;
    margin: 6mm 0 0 !important;
  }

  .ds-page--hero-final .ds-contrast-card,
  .ds-page--hero-final #business .ds-node,
  .ds-page--hero-final .ds-company-list,
  .ds-page--hero-final .ds-company-message,
  .ds-page--hero-final .ds-contact-box {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 8px !important;
    padding: 6mm !important;
    min-height: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .ds-page--hero-final .ds-contrast-card h3,
  .ds-page--hero-final #business .ds-node strong {
    color: #111111 !important;
    font-size: 17pt !important;
    line-height: 1.45 !important;
  }

  .ds-page--hero-final .ds-contrast-card p,
  .ds-page--hero-final #business .ds-node em {
    color: #333333 !important;
    font-size: 10.5pt !important;
    line-height: 1.75 !important;
  }

  .ds-page--hero-final #business .ds-node span::after,
  .ds-page--hero-final .ds-network-line {
    display: none !important;
  }

  /* Company table */
  .ds-page--hero-final .ds-company-list {
    display: block !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .ds-page--hero-final .ds-company-list div {
    display: grid !important;
    grid-template-columns: 34mm 1fr !important;
    border-bottom: 1px solid #dddddd !important;
  }

  .ds-page--hero-final .ds-company-list div:last-child {
    border-bottom: 0 !important;
  }

  .ds-page--hero-final .ds-company-list dt,
  .ds-page--hero-final .ds-company-list dd {
    padding: 4mm !important;
    margin: 0 !important;
  }

  .ds-page--hero-final .ds-company-list dt {
    color: #16783a !important;
    font-weight: 700 !important;
    background: #f3f6f1 !important;
  }

  .ds-page--hero-final .ds-company-list dd {
    color: #111111 !important;
    background: #ffffff !important;
  }

  /* Contact */
  .ds-page--hero-final .ds-contact-box {
    text-align: left !important;
  }

  .ds-page--hero-final .ds-contact .ds-button,
  .ds-page--hero-final .ds-contact a {
    color: #111111 !important;
    border: 1px solid #111111 !important;
    background: #ffffff !important;
  }

  /* Footer print */
  .ds-footer-section,
  .ds-site-footer {
    display: block !important;
    background: #ffffff !important;
    color: #111111 !important;
    border-top: 1px solid #dddddd !important;
    padding: 8mm 0 0 !important;
    margin: 0 !important;
    page-break-inside: avoid !important;
  }

  .ds-footer-alpha {
    display: none !important;
  }

  .ds-footer-brand strong {
    color: #111111 !important;
    font-size: 14pt !important;
  }

  .ds-footer-brand p,
  .ds-footer-info p,
  .ds-footer-nav a,
  .ds-footer-info a,
  .ds-footer-bottom,
  .ds-footer-bottom a,
  .ds-footer-bottom small {
    color: #333333 !important;
    font-size: 9pt !important;
    line-height: 1.6 !important;
  }

  .ds-footer-nav {
    display: none !important;
  }

  .ds-footer-bottom {
    display: block !important;
    border-top: 1px solid #dddddd !important;
    margin-top: 5mm !important;
    padding-top: 4mm !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v2.8
   Our Businesses finalized:
   - One-line headline
   - Lead text updated
   - Intro changed from left/right split to top/bottom structure
   - Business cards remain horizontal for future page links
   ============================================================ */

.ds-page--hero-final #business .ds-business-head {
  text-align: left !important;
  display: block !important;
  margin-bottom: clamp(48px, 5vw, 76px) !important;
}

.ds-page--hero-final #business .ds-business-head .ds-title {
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(48px, 5.6vw, 88px) !important;
  line-height: 1.16 !important;
  letter-spacing: -.045em !important;
  margin-top: 22px !important;
  margin-bottom: 28px !important;
}

.ds-page--hero-final #business .ds-business-head .ds-copy {
  max-width: 980px !important;
  transform: none !important;
  padding-top: 0 !important;
  margin: 0 !important;
}

.ds-page--hero-final #business .ds-business-head .ds-copy p {
  font-size: clamp(16px, 1.28vw, 20px) !important;
  line-height: 2.0 !important;
  margin: 0 !important;
}

/* Keep cards horizontal on desktop */
.ds-page--hero-final #business .ds-network {
  margin-top: 0 !important;
}

/* Disable older split-specific business copy positioning */
.ds-page--hero-final #business .ds-split .ds-copy {
  transform: none !important;
}

/* Print mode should also use the finalized wording/layout */
@media print {
  .ds-page--hero-final #business .ds-business-head {
    margin-bottom: 8mm !important;
  }

  .ds-page--hero-final #business .ds-business-head .ds-title {
    white-space: normal !important;
    font-size: 24pt !important;
    line-height: 1.35 !important;
    margin: 3mm 0 4mm !important;
  }

  .ds-page--hero-final #business .ds-business-head .ds-copy {
    max-width: none !important;
  }

  .ds-page--hero-final #business .ds-business-head .ds-copy p {
    font-size: 11pt !important;
    line-height: 1.8 !important;
  }
}

@media (max-width: 900px) {
  .ds-page--hero-final #business .ds-business-head .ds-title {
    white-space: normal !important;
    font-size: clamp(38px, 9vw, 64px) !important;
    line-height: 1.28 !important;
  }

  .ds-page--hero-final #business .ds-business-head {
    margin-bottom: 42px !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final #business .ds-business-head .ds-title {
    font-size: clamp(34px, 10vw, 50px) !important;
    line-height: 1.34 !important;
    overflow-wrap: anywhere !important;
  }

  .ds-page--hero-final #business .ds-business-head .ds-copy p {
    font-size: 16px !important;
    line-height: 1.9 !important;
  }
}


/* v2.9 business fixes */
.ds-page--hero-final #business .ds-business-head .ds-title{
  white-space:normal!important;
  text-wrap:balance;
  max-width:100%!important;
}
@media (min-width:1200px){
  .ds-page--hero-final #business .ds-business-head .ds-title{
    font-size:clamp(52px,5vw,84px)!important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v3.0
   Our Businesses image cards + full-card links.
   ============================================================ */

.ds-page--hero-final #business .ds-business-head {
  display: block !important;
  text-align: left !important;
  margin-bottom: clamp(42px, 5vw, 72px) !important;
}

.ds-page--hero-final #business .ds-business-head .ds-title {
  max-width: 100% !important;
  white-space: normal !important;
  text-wrap: balance !important;
  font-size: clamp(46px, 5.2vw, 82px) !important;
  line-height: 1.16 !important;
  letter-spacing: -.045em !important;
  margin: 20px 0 24px !important;
}

.ds-page--hero-final #business .ds-business-head .ds-copy {
  max-width: 1120px !important;
  margin: 0 !important;
}

.ds-page--hero-final #business .ds-business-head .ds-copy p {
  font-size: clamp(16px, 1.22vw, 19px) !important;
  line-height: 1.95 !important;
  margin: 0 !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.ds-page--hero-final #business .ds-business-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  margin-top: 0 !important;
}

.ds-page--hero-final #business .ds-business-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 570px !important;
  padding: 0 0 30px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  position: relative !important;
  border-radius: 28px !important;
  transition: transform .32s ease, border-color .32s ease, box-shadow .32s ease !important;
}

.ds-page--hero-final #business .ds-business-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(22,133,58,.38) !important;
  box-shadow: 0 30px 86px rgba(24,36,26,.13) !important;
}

.ds-page--hero-final #business .ds-business-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  margin: 0 0 26px !important;
  overflow: hidden !important;
  background: #111713 !important;
}

.ds-page--hero-final #business .ds-business-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .45s ease, filter .45s ease !important;
}

.ds-page--hero-final #business .ds-business-card:hover .ds-business-image img {
  transform: scale(1.045) !important;
  filter: saturate(1.08) contrast(1.03) !important;
}

.ds-page--hero-final #business .ds-business-card span,
.ds-page--hero-final #business .ds-business-card strong,
.ds-page--hero-final #business .ds-business-card em,
.ds-page--hero-final #business .ds-business-card .ds-card-link {
  margin-left: 28px !important;
  margin-right: 28px !important;
}

.ds-page--hero-final #business .ds-business-card span {
  display: block !important;
  padding-bottom: 14px !important;
  margin-bottom: 32px !important;
  color: #16853a !important;
  font-size: 15px !important;
  letter-spacing: .13em !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

.ds-page--hero-final #business .ds-business-card span::after {
  width: 84px !important;
  transition: width .32s ease, background .32s ease !important;
}

.ds-page--hero-final #business .ds-business-card:hover span::after {
  width: 132px !important;
  background: linear-gradient(90deg, rgba(22,133,58,.92), rgba(22,133,58,.18), rgba(22,133,58,0)) !important;
}

.ds-page--hero-final #business .ds-business-card strong {
  font-size: clamp(25px, 2vw, 34px) !important;
  line-height: 1.38 !important;
  color: #111713 !important;
  margin-bottom: 22px !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.ds-page--hero-final #business .ds-business-card em {
  display: block !important;
  font-style: normal !important;
  color: rgba(17,23,19,.70) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  margin-top: 0 !important;
  margin-bottom: 30px !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere !important;
}

.ds-page--hero-final #business .ds-business-card .ds-card-link {
  display: block !important;
  margin-top: auto !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(17,23,19,.10) !important;
  color: #16853a !important;
  font-family: var(--ds-sans) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .10em !important;
  transition: transform .32s ease !important;
}

.ds-page--hero-final #business .ds-business-card:hover .ds-card-link {
  transform: translateX(6px) !important;
}

.ds-page--hero-final #business .ds-business-card::after {
  content: "∞" !important;
  position: absolute !important;
  right: 18px !important;
  bottom: 8px !important;
  font-size: 104px !important;
  line-height: 1 !important;
  color: rgba(22,133,58,.025) !important;
  pointer-events: none !important;
  transition: color .32s ease !important;
}

.ds-page--hero-final #business .ds-business-card:hover::after {
  color: rgba(22,133,58,.065) !important;
}

@media (max-width: 1180px) {
  .ds-page--hero-final #business .ds-business-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .ds-page--hero-final #business .ds-business-head .ds-title {
    font-size: clamp(34px, 10vw, 50px) !important;
    line-height: 1.32 !important;
  }

  .ds-page--hero-final #business .ds-business-head .ds-copy p {
    font-size: 16px !important;
    line-height: 1.9 !important;
    overflow-wrap: anywhere !important;
  }

  .ds-page--hero-final #business .ds-business-cards {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .ds-page--hero-final #business .ds-business-card {
    min-height: auto !important;
    border-radius: 24px !important;
  }

  .ds-page--hero-final #business .ds-business-card span,
  .ds-page--hero-final #business .ds-business-card strong,
  .ds-page--hero-final #business .ds-business-card em,
  .ds-page--hero-final #business .ds-business-card .ds-card-link {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }

  .ds-page--hero-final #business .ds-business-image {
    margin-bottom: 24px !important;
  }
}

@media print {
  .ds-page--hero-final #business .ds-business-image {
    display: none !important;
  }

  .ds-page--hero-final #business .ds-business-card {
    color: #111111 !important;
    text-decoration: none !important;
  }

  .ds-page--hero-final #business .ds-card-link {
    display: none !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v4.1
   Copy refinements / value card typography / message spacing / footer menu spacing.
   ============================================================ */

.ds-page--hero-final .ds-contrast-card h3 {
  font-size: clamp(22px, 1.8vw, 30px) !important;
  line-height: 1.62 !important;
  letter-spacing: -.045em !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ds-page--hero-final .ds-message .ds-title {
  margin-bottom: clamp(30px, 4.2vw, 64px) !important;
}

.ds-page--hero-final .ds-message .ds-copy {
  margin-top: clamp(28px, 3.8vw, 56px) !important;
}

.ds-page--hero-final .ds-message .ds-copy p:first-child {
  margin-top: 0 !important;
}

.ds-page--hero-final .ds-footer-nav {
  gap: 6px !important;
}

.ds-page--hero-final .ds-footer-nav a {
  line-height: 1.35 !important;
  padding: 1px 0 !important;
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-contrast-card h3 {
    font-size: 23px !important;
    line-height: 1.58 !important;
  }

  .ds-page--hero-final .ds-message .ds-title {
    margin-bottom: 34px !important;
  }

  .ds-page--hero-final .ds-message .ds-copy {
    margin-top: 30px !important;
  }
}


/* ============================================================
   伝ＳＨＯＷ PROJECT ∞ / RELEASE v4.2
   Final copy punctuation / value cards left align / footer statement.
   ============================================================ */

.ds-page--hero-final .ds-contrast-card h3 {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 760px) {
  .ds-page--hero-final .ds-contrast-card h3 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.4 Place page template
   Business detail page foundation.
   ============================================================ */

.ds-page--business-detail {
  background: #f7f4ee;
  color: #1f241f;
}

.ds-business-hero {
  position: relative;
  min-height: 78vh;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #101610;
  color: #fff;
  padding: clamp(130px, 16vw, 210px) 0 clamp(74px, 8vw, 120px);
}

.ds-business-hero__image,
.ds-business-hero__overlay {
  position: absolute;
  inset: 0;
}

.ds-business-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  filter: saturate(.92) contrast(1.03) brightness(.74);
}

.ds-business-hero__overlay {
  background:
    radial-gradient(circle at 18% 35%, rgba(145, 188, 138, .26), transparent 38%),
    linear-gradient(90deg, rgba(7, 13, 9, .84), rgba(7, 13, 9, .48) 48%, rgba(7, 13, 9, .70)),
    linear-gradient(180deg, rgba(7, 13, 9, .35), rgba(7, 13, 9, .82));
  z-index: 1;
}

.ds-business-hero__content {
  position: relative;
  z-index: 2;
}

.ds-business-hero__title {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(44px, 7.2vw, 104px);
  line-height: 1.18;
  letter-spacing: -.06em;
  font-weight: 600;
}

.ds-business-hero__lead {
  max-width: 720px;
  margin: clamp(24px, 3vw, 42px) 0 0;
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 2.15;
  letter-spacing: .045em;
  color: rgba(255,255,255,.86);
}

.ds-business-section {
  padding: clamp(78px, 9vw, 140px) 0;
}

.ds-business-section:nth-of-type(odd) {
  background: #fbfaf7;
}

.ds-business-section:nth-of-type(even) {
  background: #f1eee6;
}

.ds-business-split {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: start;
}

.ds-business-section-head h2,
.ds-business-future h2 {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(34px, 4.4vw, 66px);
  line-height: 1.34;
  letter-spacing: -.055em;
  font-weight: 600;
  color: #1f241f;
}

.ds-business-section-head--center {
  max-width: 860px;
  margin: 0 auto clamp(40px, 5vw, 72px);
  text-align: center;
}

.ds-business-section-head--center h2 {
  margin-bottom: 18px;
}

.ds-business-section-head--center p:not(.ds-kicker) {
  margin: 0 auto;
  max-width: 760px;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 2;
  color: rgba(31,36,31,.72);
}

.ds-business-copy {
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 2.2;
  letter-spacing: .035em;
  color: rgba(31,36,31,.78);
}

.ds-business-copy p {
  margin: 0 0 1.35em;
}

.ds-business-copy p:last-child {
  margin-bottom: 0;
}

.ds-business-copy strong {
  color: #1f241f;
  font-weight: 700;
}

.ds-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 3vw, 34px);
}

.ds-service-card {
  position: relative;
  min-height: 100%;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(42, 55, 39, .12);
  box-shadow: 0 22px 58px rgba(31, 36, 31, .08);
  overflow: hidden;
}

.ds-service-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(120,160,108,.95), rgba(120,160,108,.08));
}

.ds-service-card__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(94, 122, 83, .12);
  color: #536d49;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 22px;
}

.ds-service-card h3 {
  margin: 0 0 16px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.45;
  letter-spacing: -.04em;
}

.ds-service-card p {
  margin: 0 0 24px;
  color: rgba(31,36,31,.72);
  line-height: 1.9;
}

.ds-service-card ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ds-service-card li {
  position: relative;
  padding-left: 20px;
  line-height: 1.75;
  color: rgba(31,36,31,.82);
}

.ds-service-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .74em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6f8f62;
}

.ds-business-why {
  background:
    radial-gradient(circle at 88% 20%, rgba(111,143,98,.14), transparent 34%),
    #fbfaf7 !important;
}

.ds-business-future {
  text-align: center;
  background: #101610 !important;
  color: #fff;
}

.ds-business-future .ds-kicker,
.ds-business-future h2,
.ds-business-future .ds-business-copy {
  color: #fff;
}

.ds-business-future .ds-business-copy {
  max-width: 760px;
  margin: clamp(28px, 4vw, 52px) auto 0;
  color: rgba(255,255,255,.78);
}

.ds-business-cta {
  background: #f7f4ee !important;
  padding-top: clamp(70px, 8vw, 120px);
}

.ds-page--business-detail .ds-contact-box {
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,255,255,.68));
  border: 1px solid rgba(42,55,39,.12);
}

@media (max-width: 900px) {
  .ds-business-hero {
    min-height: 70vh;
  }

  .ds-business-split,
  .ds-service-grid {
    grid-template-columns: 1fr;
  }

  .ds-business-section-head--center {
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 760px) {
  .ds-business-hero {
    min-height: 68vh;
    padding: 118px 0 72px;
  }

  .ds-business-hero__title {
    font-size: clamp(42px, 13vw, 62px);
    line-height: 1.22;
  }

  .ds-business-hero__lead {
    font-size: 15.5px;
    line-height: 2;
  }

  .ds-business-section {
    padding: 72px 0;
  }

  .ds-service-card {
    border-radius: 24px;
    padding: 30px 26px;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.4.3
   Place page visual rhythm + subtle brand background system.
   ============================================================ */

.denshow-standalone-page {
  margin: 0;
  background: #f7f4ee;
}

.denshow-standalone-page #wpadminbar + * {
  margin-top: 0;
}

/* Subtle background principle: visible enough to be felt, not seen. */
.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section),
.ds-page--business-detail .ds-business-section {
  overflow: hidden;
}

.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section)::after,
.ds-page--business-detail .ds-business-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .58;
  background:
    radial-gradient(circle at 85% 18%, rgba(62, 130, 72, .035), transparent 30%),
    radial-gradient(circle at 12% 82%, rgba(62, 130, 72, .028), transparent 32%),
    linear-gradient(135deg, transparent 0 22%, rgba(37, 72, 42, .018) 22% 22.35%, transparent 22.35% 100%);
}

.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section) > *,
.ds-page--business-detail .ds-business-section > * {
  position: relative;
  z-index: 1;
}

.ds-section-watermark {
  position: absolute;
  right: clamp(-40px, -2vw, 20px);
  top: clamp(30px, 7vw, 110px);
  z-index: 0;
  pointer-events: none;
  font-family: "Inter", sans-serif;
  font-size: clamp(96px, 16vw, 240px);
  line-height: 1;
  letter-spacing: -.08em;
  font-weight: 900;
  color: rgba(31, 46, 29, .035);
  white-space: nowrap;
  user-select: none;
}

.ds-page--hero-final .ds-manifesto::after {
  content: "∞";
  position: absolute;
  right: 4vw;
  bottom: 4vw;
  z-index: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(150px, 24vw, 360px);
  font-weight: 800;
  line-height: .8;
  color: rgba(120, 255, 170, .028);
  pointer-events: none;
}

.ds-page--hero-final .ds-business::after {
  content: "BUSINESSES";
  position: absolute;
  left: 2vw;
  top: 3vw;
  z-index: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(72px, 13vw, 210px);
  font-weight: 900;
  letter-spacing: -.08em;
  color: rgba(31, 46, 29, .035);
  pointer-events: none;
}

.ds-page--hero-final .ds-message::after {
  content: "POSSIBILITY";
  position: absolute;
  right: -2vw;
  bottom: 4vw;
  z-index: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(62px, 11vw, 170px);
  font-weight: 900;
  letter-spacing: -.08em;
  color: rgba(120, 255, 170, .026);
  pointer-events: none;
}

/* Place page standalone hero */
.ds-page--place .ds-business-hero {
  min-height: 82vh;
  align-items: center;
  padding: clamp(128px, 14vw, 198px) 0 clamp(82px, 9vw, 128px);
}

.ds-page--place .ds-business-hero__image img {
  transform: scale(1.04);
  object-position: center center;
  filter: saturate(.88) contrast(1.02) brightness(.68);
}

.ds-page--place .ds-business-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,13,9,.88) 0%, rgba(7,13,9,.62) 42%, rgba(7,13,9,.20) 72%, rgba(7,13,9,.36) 100%),
    linear-gradient(180deg, rgba(7,13,9,.22) 0%, rgba(7,13,9,.68) 100%),
    radial-gradient(circle at 18% 35%, rgba(145,188,138,.22), transparent 38%);
}

.ds-page--place .ds-business-hero__overlay::after {
  content: "";
  position: absolute;
  inset: -10% 30% 20% -20%;
  background: linear-gradient(115deg, rgba(255,255,255,.22), transparent 38%);
  opacity: .32;
  transform: skewX(-10deg);
  pointer-events: none;
}

.ds-page--place .ds-business-hero .ds-kicker span {
  color: rgba(255,255,255,.74);
  font-weight: 600;
  letter-spacing: .08em;
}

.ds-page--place .ds-business-hero__lead {
  max-width: 790px;
}

.ds-sp-only {
  display: none;
}

.ds-place-services {
  position: relative;
  background:
    radial-gradient(circle at 12% 22%, rgba(112, 145, 100, .075), transparent 32%),
    #fbfaf7 !important;
}

.ds-place-visual-message {
  position: relative;
  min-height: clamp(360px, 54vw, 720px);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}

.ds-place-visual-message__image,
.ds-place-visual-message__overlay {
  position: absolute;
  inset: 0;
}

.ds-place-visual-message__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(.86) contrast(1.02) brightness(.54);
  transform: scale(1.03);
}

.ds-place-visual-message__overlay {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7,13,9,.82), rgba(7,13,9,.34) 58%, rgba(7,13,9,.62)),
    radial-gradient(circle at 74% 20%, rgba(164, 210, 152, .18), transparent 30%);
}

.ds-place-visual-message__content {
  position: relative;
  z-index: 2;
}

.ds-place-visual-message__content p {
  margin: 0;
  max-width: 820px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(38px, 5vw, 82px);
  line-height: 1.35;
  letter-spacing: -.055em;
  font-weight: 600;
  text-shadow: 0 16px 48px rgba(0,0,0,.34);
}

.ds-page--place .ds-business-why {
  position: relative;
  background:
    radial-gradient(circle at 88% 20%, rgba(111,143,98,.12), transparent 34%),
    #f7f4ee !important;
}

.ds-page--place .ds-business-future {
  position: relative;
  background:
    radial-gradient(circle at 72% 22%, rgba(120,255,170,.08), transparent 32%),
    linear-gradient(180deg, #101610, #07100a) !important;
}

.ds-page--place .ds-business-future::after {
  content: "∞";
  position: absolute;
  right: 5vw;
  bottom: 2vw;
  font-family: "Inter", sans-serif;
  font-size: clamp(120px, 22vw, 340px);
  font-weight: 900;
  line-height: .8;
  color: rgba(120,255,170,.035);
  z-index: 0;
  pointer-events: none;
}

.ds-page--place .ds-business-future > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .ds-page--place .ds-business-hero__overlay {
    background:
      linear-gradient(90deg, rgba(7,13,9,.88), rgba(7,13,9,.62)),
      linear-gradient(180deg, rgba(7,13,9,.20), rgba(7,13,9,.72));
  }

  .ds-section-watermark {
    right: -24vw;
    opacity: .75;
  }
}

@media (max-width: 760px) {
  .ds-sp-only {
    display: inline;
  }

  .ds-page--place .ds-business-hero {
    min-height: 76svh;
    padding: 118px 0 74px;
  }

  .ds-page--place .ds-business-hero__title {
    font-size: clamp(43px, 12vw, 62px);
  }

  .ds-place-visual-message {
    min-height: 420px;
  }

  .ds-place-visual-message__content p {
    font-size: clamp(34px, 10vw, 52px);
  }

  .ds-page--hero-final .ds-business::after,
  .ds-page--hero-final .ds-message::after {
    opacity: .55;
    left: 4vw;
    right: auto;
    word-break: keep-all;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.4.5
   Place Experience production fixes.
   ============================================================ */

/* Brand watermark notation: Den-show */
.ds-page--hero-final .ds-manifesto::after,
.ds-page--hero-final .ds-business::after,
.ds-page--hero-final .ds-message::after,
.ds-page--place .ds-business-future::after {
  content: "Den-show" !important;
}

.ds-section-watermark {
  color: rgba(31, 46, 29, .026) !important;
  text-transform: none !important;
  letter-spacing: -.075em;
}

.ds-page--place .ds-business-hero__image img {
  filter: saturate(.94) contrast(1.02) brightness(.80) !important;
}

.ds-page--place .ds-business-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,13,9,.78) 0%, rgba(7,13,9,.54) 42%, rgba(7,13,9,.16) 72%, rgba(7,13,9,.28) 100%),
    linear-gradient(180deg, rgba(7,13,9,.16) 0%, rgba(7,13,9,.58) 100%),
    radial-gradient(circle at 18% 35%, rgba(145,188,138,.20), transparent 38%) !important;
}

.ds-page--place .ds-business-hero .ds-kicker {
  color: #8fb981;
  text-shadow: 0 4px 18px rgba(0,0,0,.28);
}

.ds-page--place .ds-business-hero .ds-kicker span {
  color: rgba(230,230,224,.84) !important;
  font-weight: 600;
}

.ds-page--place .ds-business-hero__title {
  color: #fff;
  font-weight: 700;
  text-shadow: 0 4px 18px rgba(0,0,0,.42), 0 16px 48px rgba(0,0,0,.24);
}

.ds-page--place .ds-business-hero__title::after {
  content: "";
  display: block;
  width: clamp(72px, 8vw, 128px);
  height: 2px;
  margin-top: clamp(20px, 2.5vw, 34px);
  background: linear-gradient(90deg, rgba(143,185,129,.95), rgba(143,185,129,.08));
  box-shadow: 0 0 14px rgba(143,185,129,.26);
}

.ds-page--place .ds-business-hero__lead {
  color: rgba(255,255,255,.88) !important;
  text-shadow: 0 3px 14px rgba(0,0,0,.26);
}

/* Place Flow */
.ds-place-flow {
  position: relative;
  background:
    radial-gradient(circle at 16% 10%, rgba(112, 145, 100, .07), transparent 28%),
    radial-gradient(circle at 86% 72%, rgba(112, 145, 100, .055), transparent 30%),
    #f7f4ee !important;
}

.ds-flow-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  max-width: 980px;
  margin: 0 auto clamp(28px, 4vw, 52px);
}

.ds-flow-track::before {
  content: "";
  position: absolute;
  left: 9%;
  right: 9%;
  top: 50%;
  height: 1px;
  background: linear-gradient(90deg, rgba(111,143,98,.10), rgba(111,143,98,.58), rgba(111,143,98,.10));
}

.ds-flow-track span {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  margin: 0 auto;
  border-radius: 999px;
  background: #f7f4ee;
  border: 1px solid rgba(111,143,98,.46);
  box-shadow: 0 0 0 8px rgba(111,143,98,.06);
}

.ds-flow-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.6vw, 22px);
}

.ds-flow-card {
  position: relative;
  min-height: 100%;
  padding: clamp(24px, 3vw, 34px) clamp(20px, 2.3vw, 30px);
  border-radius: 26px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(42,55,39,.11);
  box-shadow: 0 20px 48px rgba(31,36,31,.07);
  overflow: hidden;
}

.ds-flow-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(111,143,98,.08), rgba(111,143,98,.78), rgba(111,143,98,.08));
}

.ds-flow-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  margin-bottom: 18px;
  background: rgba(111,143,98,.12);
  color: #536d49;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.ds-flow-card__en {
  margin: 0 0 8px !important;
  color: rgba(83,109,73,.78) !important;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.2 !important;
}

.ds-flow-card h3 {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.35;
  letter-spacing: -.04em;
  color: #1f241f;
}

.ds-flow-card p:not(.ds-flow-card__en) {
  margin: 0 0 18px;
  color: rgba(31,36,31,.72);
  line-height: 1.85;
  font-size: 14.5px;
}

.ds-flow-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ds-flow-card li {
  position: relative;
  padding-left: 16px;
  color: rgba(31,36,31,.80);
  font-size: 14px;
  line-height: 1.65;
}

.ds-flow-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #6f8f62;
}

@media (max-width: 1100px) {
  .ds-flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ds-flow-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .ds-flow-track {
    display: none;
  }
  .ds-flow-grid {
    grid-template-columns: 1fr;
  }
  .ds-flow-card:last-child {
    grid-column: auto;
  }
  .ds-page--place .ds-business-hero__image img {
    object-position: 58% center;
  }
  .ds-page--place .ds-business-hero__overlay {
    background:
      linear-gradient(90deg, rgba(7,13,9,.82), rgba(7,13,9,.58)),
      linear-gradient(180deg, rgba(7,13,9,.18), rgba(7,13,9,.62)) !important;
  }
}

/* ============================================================
   Den-show Corporate Site / v0.4.6
   Place services expansion + facilities section.
   ============================================================ */

/* Place hero: brighter, warmer visual balance */
.ds-page--place .ds-business-hero__image img {
  filter: saturate(1.02) contrast(1.01) brightness(.94) !important;
}

.ds-page--place .ds-business-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,13,9,.70) 0%, rgba(7,13,9,.46) 42%, rgba(7,13,9,.10) 72%, rgba(7,13,9,.20) 100%),
    linear-gradient(180deg, rgba(7,13,9,.10) 0%, rgba(7,13,9,.48) 100%),
    radial-gradient(circle at 18% 35%, rgba(145,188,138,.18), transparent 38%) !important;
}

.ds-service-grid--place {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ds-service-grid--place .ds-service-card {
  padding: clamp(28px, 3vw, 42px);
}

.ds-service-grid--place .ds-service-card h3 {
  font-size: clamp(22px, 1.9vw, 30px);
}

.ds-place-facilities {
  position: relative;
  background:
    radial-gradient(circle at 15% 22%, rgba(111,143,98,.07), transparent 34%),
    #fbfaf7 !important;
}

.ds-facility-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: clamp(24px, 3.4vw, 46px);
  align-items: stretch;
}

.ds-facility-card {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(42,55,39,.12);
  box-shadow: 0 24px 62px rgba(31,36,31,.08);
}

.ds-facility-card__media {
  min-height: clamp(260px, 32vw, 430px);
  overflow: hidden;
}

.ds-facility-card__media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  filter: saturate(.95) contrast(1.02) brightness(.86);
  transform: scale(1.02);
}

.ds-facility-card__body {
  padding: clamp(28px, 3.4vw, 48px);
}

.ds-facility-card__label {
  margin: 0 0 12px !important;
  color: #6f8f62 !important;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.2 !important;
}

.ds-facility-card h3 {
  margin: 0 0 14px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(25px, 2.8vw, 42px);
  line-height: 1.35;
  letter-spacing: -.045em;
  color: #1f241f;
}

.ds-facility-card p:not(.ds-facility-card__label) {
  margin: 0 0 24px;
  color: rgba(31,36,31,.72);
  line-height: 1.9;
}

.ds-facility-card a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #536d49;
  font-weight: 700;
  text-decoration: none;
}

.ds-facility-card a::after {
  content: "→";
  transition: transform .25s ease;
}

.ds-facility-card a:hover::after {
  transform: translateX(4px);
}

.ds-facility-card--muted {
  display: grid;
  align-items: end;
  min-height: 100%;
  background:
    radial-gradient(circle at 84% 18%, rgba(111,143,98,.12), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,.72), rgba(247,244,238,.92));
}

@media (max-width: 1200px) {
  .ds-service-grid--place {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ds-facility-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ds-service-grid--place {
    grid-template-columns: 1fr;
  }

  .ds-page--place .ds-business-hero__image img {
    filter: saturate(.98) contrast(1.01) brightness(.86) !important;
  }

  .ds-page--place .ds-business-hero__overlay {
    background:
      linear-gradient(90deg, rgba(7,13,9,.78), rgba(7,13,9,.54)),
      linear-gradient(180deg, rgba(7,13,9,.12), rgba(7,13,9,.54)) !important;
  }
}

/* ============================================================
   Den-show Corporate Site / v0.4.7
   Place refinements: facility slider, 2x2 services, flow copy.
   ============================================================ */

/* Place hero: brighter visual while keeping text readability */
.ds-page--place .ds-business-hero__image img {
  filter: saturate(1.04) contrast(1.0) brightness(1.04) !important;
}

.ds-page--place .ds-business-hero__overlay {
  background:
    linear-gradient(90deg, rgba(7,13,9,.62) 0%, rgba(7,13,9,.40) 42%, rgba(7,13,9,.06) 72%, rgba(7,13,9,.14) 100%),
    linear-gradient(180deg, rgba(7,13,9,.08) 0%, rgba(7,13,9,.40) 100%),
    radial-gradient(circle at 18% 35%, rgba(145,188,138,.16), transparent 38%) !important;
}

/* Services: fixed 2 x 2 layout on desktop/tablet */
.ds-service-grid--place {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.ds-service-grid--place .ds-service-card {
  min-height: 100%;
}

/* Flow heading: requested line break and wider lead line on desktop */
.ds-place-flow .ds-business-section-head h2 br {
  display: block;
}

.ds-place-flow .ds-business-section-head p:not(.ds-kicker) {
  max-width: 1160px !important;
}

@media (min-width: 1101px) {
  .ds-place-flow .ds-business-section-head p:not(.ds-kicker) {
    white-space: nowrap;
  }
}

/* Facilities: horizontal slider for current and future facilities */
.ds-facility-slider {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(320px, 420px);
  gap: clamp(20px, 2.6vw, 34px);
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 4px 24px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(83,109,73,.45) rgba(31,36,31,.08);
}

.ds-facility-slider::after {
  content: "";
  width: 1px;
}

.ds-facility-slider .ds-facility-card {
  scroll-snap-align: start;
  min-height: 100%;
}

.ds-facility-card__placeholder {
  min-height: clamp(240px, 24vw, 340px);
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(143,185,129,.16), transparent 30%),
    linear-gradient(135deg, rgba(31,36,31,.94), rgba(83,109,73,.62));
  color: rgba(255,255,255,.82);
  font-family: "Inter", sans-serif;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.08em;
  text-transform: none;
}

.ds-facility-card--sowari .ds-facility-card__placeholder {
  background:
    radial-gradient(circle at 80% 24%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(135deg, rgba(87,69,46,.90), rgba(143,120,82,.66));
}

.ds-facility-card--dummy .ds-facility-card__placeholder {
  opacity: .92;
}

.ds-facility-card__media img {
  filter: saturate(1.02) contrast(1.01) brightness(.96) !important;
}

@media (max-width: 760px) {
  .ds-page--place .ds-business-hero__image img {
    filter: saturate(1.02) contrast(1.0) brightness(.94) !important;
  }

  .ds-page--place .ds-business-hero__overlay {
    background:
      linear-gradient(90deg, rgba(7,13,9,.74), rgba(7,13,9,.50)),
      linear-gradient(180deg, rgba(7,13,9,.10), rgba(7,13,9,.48)) !important;
  }

  .ds-service-grid--place {
    grid-template-columns: 1fr !important;
  }

  .ds-place-flow .ds-business-section-head p:not(.ds-kicker) {
    white-space: normal;
  }

  .ds-facility-slider {
    grid-auto-columns: minmax(280px, 84vw);
    padding-bottom: 18px;
  }
}

/* ============================================================
   Den-show Corporate Site / v0.4.8
   Place facility slider refinements.
   ============================================================ */

/* Facility card visuals: keep actual photos aligned with placeholder panels. */
.ds-facility-slider .ds-facility-card__media,
.ds-facility-slider .ds-facility-card__placeholder {
  height: clamp(240px, 24vw, 340px) !important;
  min-height: 0 !important;
}

.ds-facility-slider .ds-facility-card__media img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.ds-facility-card__coming-soon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(83,109,73,.78);
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ds-facility-card__coming-soon::after {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(83,109,73,.32);
}

@media (max-width: 760px) {
  .ds-facility-slider .ds-facility-card__media,
  .ds-facility-slider .ds-facility-card__placeholder {
    height: 260px !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.0
   Commerce page / brand portfolio foundation.
   ============================================================ */

.ds-page--commerce .ds-business-hero {
  min-height: 82vh;
  align-items: center;
  background: #070913;
  padding: clamp(128px, 14vw, 198px) 0 clamp(82px, 9vw, 128px);
  isolation: isolate;
}

.ds-page--commerce .ds-business-hero__image img {
  transform: scale(1.08);
  object-position: center center;
  filter: saturate(.82) contrast(1.08) brightness(.46);
}

.ds-page--commerce .ds-business-hero__overlay {
  background:
    radial-gradient(circle at 72% 24%, rgba(255, 67, 119, .20), transparent 34%),
    radial-gradient(circle at 22% 30%, rgba(42, 133, 255, .20), transparent 36%),
    linear-gradient(90deg, rgba(5,7,15,.92) 0%, rgba(5,7,15,.70) 48%, rgba(5,7,15,.45) 100%),
    linear-gradient(180deg, rgba(5,7,15,.26) 0%, rgba(5,7,15,.88) 100%);
}

.ds-page--commerce .ds-business-hero .ds-kicker span {
  color: rgba(255,255,255,.74);
  font-weight: 600;
  letter-spacing: .08em;
}

.ds-page--commerce .ds-business-hero__lead {
  max-width: 820px;
}

.ds-commerce-scanline {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.ds-commerce-scanline::before {
  content: "";
  position: absolute;
  top: 35%;
  left: -35%;
  width: 34%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), rgba(255,255,255,.18), transparent);
  box-shadow: 0 0 22px rgba(255,255,255,.42), 0 0 46px rgba(60, 135, 255, .24);
  animation: ds-commerce-light-pass 6.8s ease-in-out infinite;
  opacity: .72;
}

@keyframes ds-commerce-light-pass {
  0% { transform: translateX(0); opacity: 0; }
  12% { opacity: .85; }
  54% { opacity: .82; }
  72%, 100% { transform: translateX(430%); opacity: 0; }
}

.ds-commerce-philosophy {
  position: relative;
  background:
    radial-gradient(circle at 84% 20%, rgba(210, 162, 80, .12), transparent 32%),
    #fbfaf7 !important;
}

.ds-commerce-brands {
  position: relative;
  background:
    linear-gradient(180deg, #0a0d18 0%, #111423 54%, #fbfaf7 54%, #fbfaf7 100%) !important;
  color: #fff;
}

.ds-commerce-brands .ds-business-section-head h2,
.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  color: #fff;
}

.ds-commerce-brand-stack {
  display: grid;
  gap: clamp(28px, 4vw, 52px);
}

.ds-commerce-brand-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .95fr) minmax(320px, 1.05fr);
  min-height: 520px;
  border-radius: clamp(28px, 4vw, 46px);
  overflow: hidden;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 34px 90px rgba(0,0,0,.20);
  color: #1f241f;
}

.ds-commerce-brand-card__media {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background: #111;
}

.ds-commerce-brand-card__visual {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
}

.ds-commerce-brand-card__body {
  position: relative;
  z-index: 2;
  align-self: center;
  padding: clamp(34px, 5vw, 70px);
}

.ds-brand-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 49, 70, .12);
  color: #d71f34;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ds-brand-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(215, 31, 52, .10);
}

.ds-brand-status--available {
  background: rgba(107, 130, 77, .14);
  color: #5d723f;
}

.ds-brand-status--development {
  background: rgba(32, 36, 32, .08);
  color: rgba(32, 36, 32, .62);
}

.ds-commerce-brand-card__eyebrow {
  margin: 0 0 12px;
  font-family: "Inter", sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: rgba(31,36,31,.54);
}

.ds-commerce-brand-card h3 {
  margin: 0 0 22px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(34px, 4.2vw, 66px);
  line-height: 1.28;
  letter-spacing: -.055em;
  font-weight: 600;
  color: #1f241f;
}

.ds-commerce-brand-card p:not(.ds-commerce-brand-card__eyebrow) {
  margin: 0 0 1.2em;
  color: rgba(31,36,31,.74);
  line-height: 2;
  letter-spacing: .035em;
}

.ds-commerce-brand-card__character {
  position: absolute;
  right: -5%;
  bottom: -8%;
  width: min(48%, 360px);
  max-height: 86%;
  object-fit: contain;
  border-radius: 30px;
  box-shadow: 0 24px 64px rgba(4, 7, 15, .24);
  transform: rotate(2.4deg);
}

.ds-commerce-brand-card--akiba {
  background:
    radial-gradient(circle at 92% 14%, rgba(255, 226, 53, .22), transparent 28%),
    linear-gradient(135deg, #fff 0%, #fff 58%, #fff3f4 100%);
}

.ds-commerce-brand-card--akiba .ds-commerce-brand-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 62%, rgba(255,255,255,.88) 100%);
  pointer-events: none;
}

.ds-commerce-brand-card--bonsai {
  background:
    radial-gradient(circle at 90% 12%, rgba(120, 105, 64, .10), transparent 34%),
    #fffdf8;
}

.ds-commerce-brand-card--bonsai .ds-commerce-brand-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 58%, rgba(255,253,248,.86) 100%);
  pointer-events: none;
}

.ds-commerce-brand-card--coming {
  min-height: 320px;
  grid-template-columns: minmax(220px, .7fr) minmax(320px, 1.3fr);
  background:
    linear-gradient(135deg, rgba(255,255,255,.78), rgba(255,255,255,.95)),
    radial-gradient(circle at 15% 50%, rgba(25, 35, 48, .10), transparent 34%);
  border: 1px dashed rgba(31,36,31,.18);
  box-shadow: 0 24px 68px rgba(31,36,31,.08);
}

.ds-commerce-coming-mark {
  display: grid;
  place-items: center;
  min-height: 320px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(82px, 12vw, 180px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.08em;
  color: rgba(31,36,31,.07);
  background: rgba(31,36,31,.03);
}

.ds-commerce-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 30px;
  padding: 0;
  list-style: none;
}

.ds-commerce-tags li {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(31,36,31,.06);
  color: rgba(31,36,31,.72);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .035em;
}

.ds-button--commerce {
  margin-top: 2px;
}

.ds-commerce-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
}

.ds-commerce-value-grid .ds-service-card {
  min-height: 100%;
  padding: clamp(28px, 3vw, 42px);
}

.ds-commerce-value-grid .ds-service-card h3 {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  letter-spacing: -.04em;
  font-weight: 800;
  font-size: clamp(23px, 2vw, 31px);
}

.ds-commerce-commitment {
  background:
    radial-gradient(circle at 14% 20%, rgba(90, 112, 180, .09), transparent 34%),
    #f7f4ee !important;
}

.ds-commerce-future {
  background:
    radial-gradient(circle at 76% 18%, rgba(255, 76, 112, .12), transparent 32%),
    radial-gradient(circle at 22% 70%, rgba(78, 143, 255, .10), transparent 28%),
    linear-gradient(180deg, #0a0d18, #060811) !important;
}

@media (max-width: 1080px) {
  .ds-commerce-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ds-commerce-brand-card {
    grid-template-columns: 1fr;
  }

  .ds-commerce-brand-card--coming {
    grid-template-columns: 1fr;
  }

  .ds-commerce-brand-card__media,
  .ds-commerce-coming-mark {
    min-height: 360px;
  }

  .ds-commerce-brand-card__character {
    width: min(36%, 260px);
  }

  .ds-commerce-brand-card--akiba .ds-commerce-brand-card__media::after,
  .ds-commerce-brand-card--bonsai .ds-commerce-brand-card__media::after {
    background: linear-gradient(180deg, transparent 54%, rgba(255,255,255,.82) 100%);
  }
}

@media (max-width: 760px) {
  .ds-page--commerce .ds-business-hero {
    min-height: 68vh;
    padding: 118px 0 72px;
  }

  .ds-commerce-brands {
    background: linear-gradient(180deg, #0a0d18 0%, #111423 38%, #fbfaf7 38%, #fbfaf7 100%) !important;
  }

  .ds-commerce-brand-card {
    min-height: 0;
    border-radius: 26px;
  }

  .ds-commerce-brand-card__media {
    min-height: 270px;
  }

  .ds-commerce-brand-card__body {
    padding: 30px 24px 34px;
  }

  .ds-commerce-brand-card h3 {
    font-size: clamp(32px, 10vw, 46px);
  }

  .ds-commerce-brand-card__character {
    width: 42%;
    right: -6%;
    bottom: -10%;
    border-radius: 18px;
  }

  .ds-commerce-value-grid {
    grid-template-columns: 1fr;
  }

  .ds-commerce-coming-mark {
    min-height: 180px;
    font-size: 84px;
  }

  .ds-commerce-scanline::before {
    top: 31%;
    width: 48%;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.1
   Front hero light trails + Commerce brand area refinement.
   ============================================================ */

/* Front page HERO: multiple staggered light trails */
.ds-page--hero-final .ds-hero-v23 {
  overflow: hidden;
}

.ds-hero-light-trails {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  overflow: hidden;
  mix-blend-mode: screen;
}

.ds-hero-light-trail {
  position: absolute;
  left: -42vw;
  width: clamp(260px, 34vw, 620px);
  height: 1px;
  border-radius: 999px;
  opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.10) 20%, rgba(255,255,255,.88) 50%, rgba(255,255,255,.22) 72%, transparent 100%);
  box-shadow: 0 0 18px rgba(255,255,255,.42), 0 0 46px rgba(72,154,255,.22);
  transform: translate3d(0,0,0) rotate(-6deg);
  animation-name: ds-front-light-trail;
  animation-timing-function: cubic-bezier(.22,.72,.18,1);
  animation-iteration-count: infinite;
}

.ds-hero-light-trail::after {
  content: "";
  position: absolute;
  right: 42%;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  transform: translate(50%, -50%);
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 18px rgba(255,255,255,.85), 0 0 34px currentColor;
}

.ds-hero-light-trail--one {
  top: 31%;
  color: rgba(77,166,255,.82);
  animation-duration: 8.6s;
  animation-delay: .1s;
}

.ds-hero-light-trail--two {
  top: 42%;
  color: rgba(226,173,83,.85);
  width: clamp(320px, 42vw, 760px);
  transform: translate3d(0,0,0) rotate(-3deg);
  animation-duration: 10.8s;
  animation-delay: 1.8s;
}

.ds-hero-light-trail--three {
  top: 56%;
  color: rgba(105,183,255,.74);
  width: clamp(240px, 30vw, 560px);
  transform: translate3d(0,0,0) rotate(2deg);
  animation-duration: 9.4s;
  animation-delay: 3.6s;
}

.ds-hero-light-trail--four {
  top: 67%;
  color: rgba(226,173,83,.72);
  width: clamp(280px, 37vw, 680px);
  transform: translate3d(0,0,0) rotate(-5deg);
  animation-duration: 12.2s;
  animation-delay: 5.4s;
}

.ds-hero-light-trail--five {
  top: 23%;
  color: rgba(87,145,255,.62);
  width: clamp(210px, 26vw, 480px);
  transform: translate3d(0,0,0) rotate(4deg);
  animation-duration: 11.6s;
  animation-delay: 7.2s;
}

@keyframes ds-front-light-trail {
  0% { transform: translate3d(0,0,0) rotate(var(--trail-rotate, -4deg)); opacity: 0; }
  9% { opacity: .78; }
  42% { opacity: .82; }
  68%, 100% { transform: translate3d(158vw, -9vh, 0) rotate(var(--trail-rotate, -4deg)); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ds-hero-light-trail { animation: none !important; opacity: .24; left: 12%; width: 78%; }
}

@media (max-width: 760px) {
  .ds-hero-light-trail { width: 68vw; left: -70vw; }
  .ds-hero-light-trail--four,
  .ds-hero-light-trail--five { display: none; }
}

/* Commerce HERO: make the main title clearly readable on dark background */
.ds-page--commerce .ds-business-hero__title {
  color: #fff !important;
  text-shadow: 0 14px 46px rgba(0,0,0,.40);
}

/* Commerce Our Brands: heading stays dark; brand cards start on the white area */
.ds-commerce-brands {
  position: relative;
  overflow: hidden;
  background: #fbfaf7 !important;
  color: #1f241f;
  padding-top: clamp(94px, 9vw, 142px) !important;
}

.ds-commerce-brands::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: clamp(330px, 34vw, 440px);
  background:
    radial-gradient(circle at 78% 22%, rgba(255, 67, 119, .18), transparent 34%),
    radial-gradient(circle at 18% 32%, rgba(42, 133, 255, .18), transparent 36%),
    linear-gradient(180deg, #080b16 0%, #111423 100%);
  z-index: 0;
}

.ds-commerce-brands .ds-section-watermark,
.ds-commerce-brands .ds-container {
  position: relative;
  z-index: 1;
}

.ds-commerce-brands .ds-business-section-head {
  margin-bottom: clamp(118px, 14vw, 188px);
}

.ds-commerce-brand-stack {
  margin-top: 0;
}

.ds-commerce-brand-card {
  border-color: rgba(31,36,31,.08);
  box-shadow: 0 30px 86px rgba(31,36,31,.14);
}

/* AKIBA PARADISE card: use the new clean thumbnail as the single visual */
.ds-commerce-brand-card--akiba .ds-commerce-brand-card__media {
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 225, 74, .18), transparent 30%),
    #fff;
  display: grid;
  place-items: center;
  padding: clamp(22px, 3vw, 48px);
}

.ds-commerce-brand-card--akiba .ds-commerce-brand-card__visual {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 36px rgba(4,7,15,.12));
}

.ds-commerce-brand-card--akiba .ds-commerce-brand-card__media::after {
  display: none;
}

.ds-commerce-brand-card--akiba .ds-commerce-brand-card__character {
  display: none;
}

@media (max-width: 1080px) {
  .ds-commerce-brands::before {
    height: clamp(310px, 42vw, 420px);
  }

  .ds-commerce-brands .ds-business-section-head {
    margin-bottom: clamp(96px, 15vw, 150px);
  }
}

@media (max-width: 760px) {
  .ds-commerce-brands {
    padding-top: 86px !important;
  }

  .ds-commerce-brands::before {
    height: 360px;
  }

  .ds-commerce-brands .ds-business-section-head {
    margin-bottom: 92px;
  }

  .ds-commerce-brand-card--akiba .ds-commerce-brand-card__media {
    padding: 20px;
    min-height: 300px;
  }
}


/* ============================================================
   Den-SHOW Corporate Site / v0.5.2
   Commerce brands hero placement + horizontal front light trails.
   ============================================================ */

/* Front HERO: keep every light trail perfectly horizontal. */
.ds-hero-light-trail,
.ds-hero-light-trail--one,
.ds-hero-light-trail--two,
.ds-hero-light-trail--three,
.ds-hero-light-trail--four,
.ds-hero-light-trail--five {
  transform: translate3d(0,0,0) rotate(0deg) !important;
}

@keyframes ds-front-light-trail {
  0% { transform: translate3d(0,0,0) rotate(0deg); opacity: 0; }
  9% { opacity: .78; }
  42% { opacity: .82; }
  68%, 100% { transform: translate3d(158vw, 0, 0) rotate(0deg); opacity: 0; }
}

/* Commerce: keep “Our Brands” block inside the navy band and start cards on the white canvas. */
.ds-commerce-brands {
  position: relative;
  overflow: hidden;
  background: #fbfaf7 !important;
  color: #1f241f;
  padding-top: clamp(96px, 9vw, 132px) !important;
}

.ds-commerce-brands::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: clamp(390px, 34vw, 500px);
  background:
    radial-gradient(circle at 78% 24%, rgba(255, 49, 133, .24), transparent 34%),
    radial-gradient(circle at 18% 34%, rgba(42, 133, 255, .22), transparent 36%),
    linear-gradient(180deg, #070a14 0%, #101423 100%);
  z-index: 0;
}

.ds-commerce-brands .ds-section-watermark,
.ds-commerce-brands .ds-container {
  position: relative;
  z-index: 1;
}

.ds-commerce-brands .ds-business-section-head {
  max-width: 860px;
  margin: 0 auto clamp(116px, 10vw, 176px) !important;
  text-align: center;
}

.ds-commerce-brands .ds-business-section-head .ds-kicker {
  color: #ff4f9a !important;
}

.ds-commerce-brands .ds-business-section-head h2,
.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  color: #fff !important;
  text-shadow: 0 18px 54px rgba(0,0,0,.34);
}

.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  opacity: .92;
}

.ds-commerce-brand-stack {
  position: relative;
  z-index: 2;
  margin-top: 0 !important;
}

.ds-commerce-brand-card--akiba {
  background:
    radial-gradient(circle at 84% 20%, rgba(255, 79, 154, .20), transparent 36%),
    linear-gradient(135deg, #fff 0%, #fff 58%, #fff0f7 100%) !important;
}

.ds-commerce-brand-card--akiba .ds-brand-status,
.ds-commerce-brand-card--akiba .ds-button--commerce {
  background: linear-gradient(135deg, #ff3f88, #ff6aa7) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(255, 63, 136, .28);
}

.ds-commerce-brand-card--akiba .ds-brand-status::before {
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255,255,255,.20);
}

@media (max-width: 1080px) {
  .ds-commerce-brands::before {
    height: clamp(380px, 48vw, 500px);
  }

  .ds-commerce-brands .ds-business-section-head {
    margin-bottom: clamp(96px, 13vw, 140px) !important;
  }
}

@media (max-width: 760px) {
  .ds-commerce-brands {
    padding-top: 86px !important;
  }

  .ds-commerce-brands::before {
    height: 430px;
  }

  .ds-commerce-brands .ds-business-section-head {
    margin-bottom: 112px !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.3
   Commerce header separated from brand-card canvas.
   Brand colors are used for light trails only, not for text/background.
   ============================================================ */

/* Commerce: Our Brands header is its own navy section. */
.ds-commerce-brands {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.05), transparent 32%),
    radial-gradient(circle at 18% 32%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(90deg, #07101d 0%, #0b1220 48%, #16101b 100%) !important;
  color: #fff;
  padding: clamp(150px, 15vw, 230px) 0 clamp(78px, 8vw, 120px) !important;
}

.ds-commerce-brands::before,
.ds-commerce-brands .ds-section-watermark {
  display: none !important;
}

.ds-commerce-brands .ds-container {
  position: relative;
  z-index: 2;
}

.ds-commerce-brands .ds-business-section-head {
  max-width: 900px;
  margin: 0 auto !important;
  text-align: center;
}

.ds-commerce-brands .ds-business-section-head .ds-kicker {
  color: rgba(255,255,255,.78) !important;
  text-shadow: none !important;
}

.ds-commerce-brands .ds-business-section-head h2,
.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  color: #fff !important;
  text-shadow: 0 18px 54px rgba(0,0,0,.36);
}

.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  opacity: .92;
}

/* Commerce color system: color appears only in moving light trails. */
.ds-section-light-trails {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  mix-blend-mode: screen;
}

.ds-section-light-trails span {
  position: absolute;
  left: -42vw;
  width: clamp(260px, 36vw, 720px);
  height: 1px;
  border-radius: 999px;
  opacity: 0;
  transform: translate3d(0,0,0);
  animation: ds-section-horizontal-trail 9.8s cubic-bezier(.22,.72,.18,1) infinite;
}

.ds-section-light-trails span::after {
  content: "";
  position: absolute;
  right: 38%;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translate(50%, -50%);
  background: rgba(255,255,255,.95);
  box-shadow: 0 0 18px rgba(255,255,255,.76), 0 0 34px currentColor;
}

.ds-section-light-trails--commerce span:nth-child(1) {
  top: 38%;
  color: rgba(45, 145, 255, .86);
  background: linear-gradient(90deg, transparent, rgba(45,145,255,.10), rgba(255,255,255,.86), rgba(45,145,255,.24), transparent);
  box-shadow: 0 0 18px rgba(45,145,255,.24), 0 0 42px rgba(45,145,255,.18);
  animation-delay: .1s;
}

.ds-section-light-trails--commerce span:nth-child(2) {
  top: 52%;
  color: rgba(255, 64, 150, .88);
  width: clamp(320px, 42vw, 820px);
  background: linear-gradient(90deg, transparent, rgba(255,64,150,.10), rgba(255,255,255,.88), rgba(255,64,150,.28), transparent);
  box-shadow: 0 0 18px rgba(255,64,150,.26), 0 0 46px rgba(255,64,150,.20);
  animation-duration: 11.2s;
  animation-delay: 1.7s;
}

.ds-section-light-trails--commerce span:nth-child(3) {
  top: 65%;
  color: rgba(255, 64, 150, .72);
  width: clamp(260px, 34vw, 640px);
  background: linear-gradient(90deg, transparent, rgba(255,64,150,.08), rgba(255,255,255,.72), rgba(255,64,150,.20), transparent);
  box-shadow: 0 0 14px rgba(255,64,150,.20), 0 0 34px rgba(255,64,150,.16);
  animation-duration: 10.4s;
  animation-delay: 3.3s;
}

@keyframes ds-section-horizontal-trail {
  0% { transform: translate3d(0,0,0); opacity: 0; }
  10% { opacity: .72; }
  44% { opacity: .78; }
  70%, 100% { transform: translate3d(158vw,0,0); opacity: 0; }
}

/* Brand cards are placed in a separate white canvas section. */
.ds-commerce-brand-list {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 10%, rgba(100, 150, 100, .05), transparent 28%),
    #fbfaf7 !important;
  color: #1f241f;
  padding-top: clamp(58px, 7vw, 96px) !important;
}

.ds-commerce-brand-list .ds-section-watermark,
.ds-commerce-brand-list .ds-container {
  position: relative;
  z-index: 1;
}

.ds-commerce-brand-stack {
  margin-top: 0 !important;
}

/* Remove Commerce accent colors from card backgrounds/text/buttons; keep cards brand-neutral. */
.ds-commerce-brand-card--akiba {
  background:
    radial-gradient(circle at 86% 18%, rgba(225, 210, 170, .16), transparent 36%),
    linear-gradient(135deg, #fff 0%, #fff 62%, #fffaf4 100%) !important;
}

.ds-commerce-brand-card--akiba .ds-brand-status {
  background: rgba(31,36,31,.07) !important;
  color: rgba(31,36,31,.70) !important;
  box-shadow: none !important;
}

.ds-commerce-brand-card--akiba .ds-brand-status::before {
  background: currentColor !important;
  box-shadow: 0 0 0 4px rgba(31,36,31,.07) !important;
}

.ds-commerce-brand-card--akiba .ds-button--commerce {
  background: linear-gradient(135deg, #86cc66, #45bf63 55%, #2be185) !important;
  color: #031006 !important;
  box-shadow: 0 18px 60px rgba(73,185,95,.22) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ds-section-light-trails span {
    animation: none !important;
    opacity: .22;
    left: 10%;
    width: 78%;
  }
}

@media (max-width: 1080px) {
  .ds-commerce-brands {
    padding: clamp(132px, 17vw, 190px) 0 clamp(72px, 10vw, 108px) !important;
  }

  .ds-commerce-brand-list {
    padding-top: clamp(46px, 7vw, 76px) !important;
  }
}

@media (max-width: 760px) {
  .ds-commerce-brands {
    padding: 112px 0 72px !important;
  }

  .ds-commerce-brand-list {
    padding-top: 44px !important;
  }

  .ds-section-light-trails span {
    left: -70vw;
    width: 72vw;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.4
   Commerce copy refinements, color-scope correction, menu submenu.
   ============================================================ */

/* Business dropdown menu */
.ds-nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.ds-nav-dropdown__trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ds-nav-dropdown__trigger::after {
  content: "";
  width: 5px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  opacity: .72;
}

.ds-nav-dropdown__menu {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 180px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(3,5,4,.92);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 22px 58px rgba(0,0,0,.32);
  backdrop-filter: blur(18px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: .22s ease;
}

.ds-nav-dropdown:hover .ds-nav-dropdown__menu,
.ds-nav-dropdown:focus-within .ds-nav-dropdown__menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.ds-nav-dropdown__menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  white-space: nowrap;
}

.ds-nav-dropdown__menu a:hover {
  background: rgba(255,255,255,.08);
}

/* Front HERO: corporate trails are green only and remain horizontal. */
.ds-hero-light-trail {
  color: rgba(112, 214, 86, .78) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(112,214,86,.10) 20%, rgba(255,255,255,.86) 50%, rgba(112,214,86,.22) 72%, transparent 100%) !important;
  box-shadow: 0 0 18px rgba(112,214,86,.30), 0 0 46px rgba(112,214,86,.18) !important;
}

.ds-hero-light-trail--two,
.ds-hero-light-trail--four {
  color: rgba(144, 218, 88, .72) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(144,218,88,.10) 20%, rgba(255,255,255,.82) 50%, rgba(144,218,88,.22) 72%, transparent 100%) !important;
  box-shadow: 0 0 18px rgba(144,218,88,.26), 0 0 46px rgba(144,218,88,.16) !important;
}

/* Commerce HERO should not have flowing lines. */
.ds-commerce-scanline,
.ds-commerce-scanline::before {
  display: none !important;
}

/* Commerce: keep accent colors only on the flowing lines. */
.ds-section-light-trails--commerce span:nth-child(1),
.ds-section-light-trails--commerce span:nth-child(2),
.ds-section-light-trails--commerce span:nth-child(3) {
  color: rgba(255, 64, 150, .82) !important;
  background: linear-gradient(90deg, transparent, rgba(255,64,150,.10), rgba(255,255,255,.84), rgba(255,64,150,.24), transparent) !important;
  box-shadow: 0 0 18px rgba(255,64,150,.24), 0 0 46px rgba(255,64,150,.18) !important;
}

/* Commerce Our Brands: separate navy header from the white card canvas. */
.ds-commerce-brands {
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.05), transparent 32%),
    radial-gradient(circle at 18% 32%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(90deg, #07101d 0%, #0b1220 48%, #16101b 100%) !important;
  padding: clamp(86px, 10vw, 150px) 0 clamp(70px, 8vw, 112px) !important;
}

.ds-commerce-brands .ds-business-section-head {
  max-width: 920px;
  margin: 0 auto !important;
}

.ds-commerce-brands .ds-business-section-head .ds-kicker {
  color: var(--ds-green) !important;
  text-shadow: none !important;
}

.ds-commerce-brands .ds-business-section-head h2,
.ds-commerce-brands .ds-business-section-head p:not(.ds-kicker) {
  color: #fff !important;
}

.ds-commerce-brand-list {
  padding-top: clamp(36px, 5vw, 70px) !important;
}

.ds-commerce-brand-stack {
  gap: clamp(22px, 3vw, 42px) !important;
}

/* Brand cards: no business accent color on text, background, or buttons. */
.ds-commerce-brand-card--akiba,
.ds-commerce-brand-card--bonsai {
  background:
    radial-gradient(circle at 86% 18%, rgba(225, 210, 170, .13), transparent 36%),
    linear-gradient(135deg, #fff 0%, #fff 62%, #fffaf4 100%) !important;
}

.ds-commerce-brand-card h3 {
  font-size: clamp(30px, 3.4vw, 52px) !important;
  line-height: 1.34 !important;
  letter-spacing: -.045em !important;
}

.ds-commerce-brand-card__body {
  padding: clamp(30px, 4.3vw, 58px) !important;
}

.ds-button--disabled,
.ds-commerce-brand-card--akiba .ds-button--disabled,
.ds-commerce-brand-card--bonsai .ds-button--disabled {
  display: inline-flex;
  cursor: default;
  pointer-events: none;
  background: rgba(31,36,31,.08) !important;
  color: rgba(31,36,31,.58) !important;
  box-shadow: none !important;
}

.ds-button--disabled::after {
  display: none !important;
}

.ds-commerce-commitment {
  padding-top: clamp(70px, 8vw, 112px) !important;
}

.ds-commerce-commitment .ds-business-section-head {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}

.ds-commerce-commitment .ds-business-section-head h2 {
  white-space: nowrap;
}

.ds-no-wrap-desktop {
  white-space: nowrap;
}

@media (max-width: 1080px) {
  .ds-commerce-brands {
    padding: clamp(78px, 12vw, 126px) 0 clamp(62px, 8vw, 96px) !important;
  }

  .ds-commerce-brand-list {
    padding-top: clamp(34px, 5vw, 58px) !important;
  }
}

@media (max-width: 760px) {
  .ds-nav-dropdown {
    display: block;
  }

  .ds-nav-dropdown__trigger::after {
    display: none;
  }

  .ds-nav-dropdown__menu {
    position: static;
    transform: none !important;
    min-width: 0;
    margin-top: 6px;
    padding: 6px 0 4px 12px;
    border: 0;
    border-left: 1px solid rgba(255,255,255,.14);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .ds-nav-dropdown__menu a {
    padding: 7px 0;
  }

  .ds-commerce-brands {
    padding: 84px 0 62px !important;
  }

  .ds-commerce-brands .ds-business-section-head h2 {
    font-size: clamp(36px, 11vw, 52px) !important;
  }

  .ds-commerce-brand-list {
    padding-top: 34px !important;
  }

  .ds-commerce-brand-card h3,
  .ds-commerce-commitment .ds-business-section-head h2 {
    white-space: normal;
  }

  .ds-no-wrap-desktop {
    white-space: normal;
  }

  .ds-commerce-brand-card__body {
    padding: 28px 22px 32px !important;
  }
}


/* ============================================================
   Den-SHOW Corporate Site / v0.5.5
   Navigation usability + section spacing polish.
   ============================================================ */

/* PC navigation: improve tap/hover target, readability, and premium thickness. */
@media (min-width: 761px) {
  .ds-page--hero-final .ds-floating-nav,
  body.denshow-theme.project-infinity-hero-final .ds-floating-nav {
    height: 72px !important;
    padding: 0 30px !important;
    width: min(1260px, calc(100% - 52px)) !important;
  }

  .ds-page--hero-final .ds-floating-nav .ds-nav-logo img,
  body.denshow-theme.project-infinity-hero-final .ds-floating-nav .ds-nav-logo img {
    max-height: 42px !important;
  }

  .ds-page--hero-final .ds-nav-links,
  body.denshow-theme.project-infinity-hero-final .ds-nav-links {
    gap: 24px !important;
    height: 100% !important;
    align-items: center !important;
  }

  .ds-page--hero-final .ds-nav-links > a,
  .ds-page--hero-final .ds-nav-dropdown__trigger,
  body.denshow-theme.project-infinity-hero-final .ds-nav-links > a,
  body.denshow-theme.project-infinity-hero-final .ds-nav-dropdown__trigger {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 72px !important;
    font-size: 15.5px !important;
    line-height: 1 !important;
    letter-spacing: .075em !important;
    font-weight: 700 !important;
  }
}

/* Business dropdown: remove dead hover gap so submenu links can be selected reliably. */
.ds-nav-dropdown {
  position: relative !important;
  min-height: inherit;
}

.ds-nav-dropdown__menu {
  top: 100% !important;
  padding: 16px 10px 10px !important;
  transform: translate(-50%, 6px) !important;
  z-index: 999 !important;
}

.ds-nav-dropdown:hover .ds-nav-dropdown__menu,
.ds-nav-dropdown:focus-within .ds-nav-dropdown__menu {
  transform: translate(-50%, 0) !important;
  pointer-events: auto !important;
}

.ds-nav-dropdown__menu a {
  position: relative !important;
  z-index: 1000 !important;
  display: block !important;
  min-height: 38px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
}

/* Section spacing: establish a calmer, consistent rhythm across business pages. */
.ds-page--business-detail .ds-business-section {
  padding-top: clamp(66px, 7vw, 108px) !important;
  padding-bottom: clamp(66px, 7vw, 108px) !important;
}

.ds-page--business-detail .ds-business-section-head--center {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}

.ds-page--business-detail .ds-business-section-head h2,
.ds-page--business-detail .ds-business-future h2 {
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}

/* Commerce-specific spacing: Philosophy and brand lead sections were too airy. */
.ds-page--commerce .ds-commerce-philosophy {
  padding-top: clamp(58px, 6vw, 92px) !important;
  padding-bottom: clamp(58px, 6vw, 96px) !important;
}

.ds-page--commerce .ds-commerce-brands {
  padding-top: clamp(76px, 8vw, 118px) !important;
  padding-bottom: clamp(70px, 7vw, 104px) !important;
}

.ds-page--commerce .ds-commerce-brand-list {
  padding-top: clamp(48px, 5vw, 72px) !important;
  padding-bottom: clamp(70px, 7vw, 108px) !important;
}

.ds-page--commerce .ds-commerce-brand-stack {
  gap: clamp(26px, 3vw, 42px) !important;
}

.ds-page--commerce .ds-commerce-commitment {
  padding-top: clamp(62px, 6vw, 96px) !important;
}

.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta {
  padding-top: clamp(66px, 7vw, 104px) !important;
  padding-bottom: clamp(66px, 7vw, 104px) !important;
}

/* Mobile: keep menu usable and section rhythm compact. */
@media (max-width: 760px) {
  .ds-page--business-detail .ds-business-section {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .ds-page--commerce .ds-commerce-brands {
    padding-top: 68px !important;
    padding-bottom: 58px !important;
  }

  .ds-page--commerce .ds-commerce-brand-list {
    padding-top: 34px !important;
  }

  .ds-nav-dropdown__menu {
    padding: 6px 0 4px 12px !important;
    top: auto !important;
  }

  .ds-nav-dropdown__menu a {
    min-height: 34px !important;
    padding: 8px 0 !important;
    font-size: 14px !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.6
   Section top spacing unification across Front and Business pages.
   ============================================================ */

:root {
  --ds-section-pad-y: clamp(82px, 8vw, 118px);
  --ds-section-pad-y-compact: clamp(72px, 7vw, 104px);
  --ds-section-head-gap: clamp(34px, 4vw, 56px);
}

/* Remove page-by-page vertical rhythm drift caused by legacy min-height rules. */
.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section),
.ds-page--business-detail .ds-business-section {
  min-height: auto !important;
  padding-top: var(--ds-section-pad-y) !important;
  padding-bottom: var(--ds-section-pad-y) !important;
}

/* First content section after each HERO should begin with the same perceived top margin. */
.ds-page--hero-final .ds-manifesto,
.ds-page--commerce .ds-commerce-philosophy,
.ds-page--place .ds-business-section:first-of-type {
  padding-top: var(--ds-section-pad-y) !important;
}

/* Keep large headline sections consistent, but not excessively airy. */
.ds-page--business-detail .ds-business-section-head,
.ds-page--business-detail .ds-business-section-head--center,
.ds-page--hero-final .ds-section-head {
  margin-bottom: var(--ds-section-head-gap) !important;
}

/* Commerce: Our Brands is a separate dark header band; cards start in their own white section. */
.ds-page--commerce .ds-commerce-brands {
  padding-top: var(--ds-section-pad-y) !important;
  padding-bottom: var(--ds-section-pad-y-compact) !important;
}

.ds-page--commerce .ds-commerce-brand-list {
  padding-top: var(--ds-section-pad-y-compact) !important;
  padding-bottom: var(--ds-section-pad-y) !important;
}

/* Prevent over-large gaps before Commerce commitment/future blocks. */
.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta {
  padding-top: var(--ds-section-pad-y-compact) !important;
  padding-bottom: var(--ds-section-pad-y-compact) !important;
}

@media (max-width: 760px) {
  :root {
    --ds-section-pad-y: 64px;
    --ds-section-pad-y-compact: 56px;
    --ds-section-head-gap: 30px;
  }

  .ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section),
  .ds-page--business-detail .ds-business-section {
    padding-top: var(--ds-section-pad-y) !important;
    padding-bottom: var(--ds-section-pad-y) !important;
  }

  .ds-page--commerce .ds-commerce-brand-list,
  .ds-page--commerce .ds-commerce-commitment,
  .ds-page--commerce .ds-commerce-future,
  .ds-page--commerce .ds-business-cta {
    padding-top: var(--ds-section-pad-y-compact) !important;
    padding-bottom: var(--ds-section-pad-y-compact) !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.7
   Compact section spacing correction.
   NOTE: Previous unification matched the wider spacing; this release
   intentionally normalizes pages to the narrower visual rhythm.
   ============================================================ */

:root {
  --ds-section-pad-y: clamp(46px, 5vw, 72px);
  --ds-section-pad-y-compact: clamp(38px, 4.2vw, 58px);
  --ds-section-head-gap: clamp(24px, 3vw, 36px);
}

/* Global content sections: reduce top/bottom whitespace while keeping rhythm. */
.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section),
.ds-page--business-detail .ds-business-section {
  min-height: auto !important;
  padding-top: var(--ds-section-pad-y) !important;
  padding-bottom: var(--ds-section-pad-y) !important;
}

/* First content blocks after HERO should start compactly, not with a large empty band. */
.ds-page--hero-final .ds-manifesto,
.ds-page--commerce .ds-commerce-philosophy,
.ds-page--place .ds-business-section:first-of-type {
  padding-top: var(--ds-section-pad-y) !important;
}

/* Section headers: keep enough breathing room, but avoid excessive vertical drift. */
.ds-page--business-detail .ds-business-section-head,
.ds-page--business-detail .ds-business-section-head--center,
.ds-page--hero-final .ds-section-head {
  margin-bottom: var(--ds-section-head-gap) !important;
}

/* Commerce: Our Brands dark band should be compact and separate from the card canvas. */
.ds-page--commerce .ds-commerce-brands {
  padding-top: clamp(56px, 5.5vw, 82px) !important;
  padding-bottom: clamp(50px, 5vw, 74px) !important;
}

.ds-page--commerce .ds-commerce-brand-list {
  padding-top: clamp(34px, 4vw, 52px) !important;
  padding-bottom: var(--ds-section-pad-y) !important;
}

.ds-page--commerce .ds-commerce-brand-stack {
  gap: clamp(22px, 2.6vw, 36px) !important;
}

.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta {
  padding-top: var(--ds-section-pad-y-compact) !important;
  padding-bottom: var(--ds-section-pad-y-compact) !important;
}

/* Place detail page sections: align to the same compact rhythm. */
.ds-page--place .ds-place-flow,
.ds-page--place .ds-place-facilities,
.ds-page--place .ds-business-future,
.ds-page--place .ds-business-cta {
  padding-top: var(--ds-section-pad-y) !important;
  padding-bottom: var(--ds-section-pad-y) !important;
}

@media (max-width: 760px) {
  :root {
    --ds-section-pad-y: 46px;
    --ds-section-pad-y-compact: 40px;
    --ds-section-head-gap: 24px;
  }

  .ds-page--commerce .ds-commerce-brands {
    padding-top: 52px !important;
    padding-bottom: 44px !important;
  }

  .ds-page--commerce .ds-commerce-brand-list {
    padding-top: 30px !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.5.8
   Front-page-based compact spacing for Place and Commerce.
   Purpose: normalize Place / Commerce upper whitespace to the
   compact rhythm used on the front page, not the wider business
   page legacy rhythm.
   ============================================================ */

:root {
  --ds-front-section-pad-y: clamp(38px, 4.6vw, 66px);
  --ds-front-section-pad-y-tight: clamp(30px, 3.6vw, 52px);
  --ds-front-section-head-gap: clamp(20px, 2.6vw, 32px);
}

/* Business detail pages: use the front page's tighter section rhythm. */
.ds-page--place .ds-business-section,
.ds-page--commerce .ds-business-section {
  min-height: auto !important;
  padding-top: var(--ds-front-section-pad-y) !important;
  padding-bottom: var(--ds-front-section-pad-y) !important;
}

/* First section after HERO: remove the extra business-page lead-in gap. */
.ds-page--place .ds-place-services,
.ds-page--commerce .ds-commerce-philosophy {
  padding-top: var(--ds-front-section-pad-y) !important;
}

/* Section heading rhythm: align to front-page header spacing. */
.ds-page--place .ds-business-section-head,
.ds-page--place .ds-business-section-head--center,
.ds-page--commerce .ds-business-section-head,
.ds-page--commerce .ds-business-section-head--center {
  margin-bottom: var(--ds-front-section-head-gap) !important;
}

/* Commerce: Our Brands band remains independent, but uses compact vertical spacing. */
.ds-page--commerce .ds-commerce-brands {
  padding-top: clamp(44px, 4.8vw, 68px) !important;
  padding-bottom: clamp(42px, 4.6vw, 64px) !important;
}

/* Commerce cards should start soon after the dark band, matching the front rhythm. */
.ds-page--commerce .ds-commerce-brand-list {
  padding-top: clamp(24px, 3vw, 42px) !important;
  padding-bottom: var(--ds-front-section-pad-y) !important;
}

.ds-page--commerce .ds-commerce-brand-stack {
  gap: clamp(20px, 2.4vw, 32px) !important;
}

/* Later Commerce and Place sections should not reintroduce the old wide spacing. */
.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta,
.ds-page--place .ds-place-flow,
.ds-page--place .ds-place-facilities,
.ds-page--place .ds-business-future,
.ds-page--place .ds-business-cta {
  padding-top: var(--ds-front-section-pad-y-tight) !important;
  padding-bottom: var(--ds-front-section-pad-y-tight) !important;
}

@media (max-width: 760px) {
  :root {
    --ds-front-section-pad-y: 42px;
    --ds-front-section-pad-y-tight: 34px;
    --ds-front-section-head-gap: 22px;
  }

  .ds-page--commerce .ds-commerce-brands {
    padding-top: 42px !important;
    padding-bottom: 38px !important;
  }

  .ds-page--commerce .ds-commerce-brand-list {
    padding-top: 24px !important;
  }
}


/* ============================================================
   Den-SHOW Corporate Site / v0.5.9
   Layout normalization: front-page based vertical rhythm.
   - Page/section-specific spacing overrides are reset here.
   - Business submenu order is handled in templates.
   - Business colors are used for moving light trails only.
   ============================================================ */
:root{
  --ds-layout-section-y: clamp(34px, 3.6vw, 56px);
  --ds-layout-section-y-tight: clamp(26px, 2.8vw, 44px);
  --ds-layout-head-gap: clamp(18px, 2.2vw, 30px);
  --ds-layout-card-gap: clamp(22px, 2.4vw, 36px);
}

/* Normalize content sections to the compact front-page rhythm. */
.ds-page--hero-final .ds-section:not(.ds-opening):not(.ds-footer-section),
.ds-page--business-detail .ds-business-section{
  min-height: auto !important;
  padding-top: var(--ds-layout-section-y) !important;
  padding-bottom: var(--ds-layout-section-y) !important;
}

/* Remove legacy large first-section lead-ins on Place / Commerce. */
.ds-page--place .ds-place-services,
.ds-page--commerce .ds-commerce-philosophy{
  padding-top: var(--ds-layout-section-y) !important;
  padding-bottom: var(--ds-layout-section-y) !important;
}

/* Section headers should not create extra vertical drift. */
.ds-page--hero-final .ds-section-head,
.ds-page--business-detail .ds-business-section-head,
.ds-page--business-detail .ds-business-section-head--center{
  margin-top: 0 !important;
  margin-bottom: var(--ds-layout-head-gap) !important;
}

.ds-page--business-detail .ds-business-section-head h2,
.ds-page--business-detail .ds-business-future h2,
.ds-page--hero-final .ds-title,
.ds-page--hero-final .ds-statement{
  margin-top: 0 !important;
}

/* Business detail HERO can remain cinematic, but must not force a large gap below. */
.ds-page--place .ds-business-hero,
.ds-page--commerce .ds-business-hero{
  min-height: clamp(420px, 58vh, 620px) !important;
  padding-top: clamp(110px, 11vw, 150px) !important;
  padding-bottom: clamp(44px, 5vw, 72px) !important;
}

/* Commerce: Our Brands header is a standalone dark band; cards begin on the white canvas. */
.ds-page--commerce .ds-commerce-brands{
  min-height: auto !important;
  padding-top: clamp(54px, 5.2vw, 82px) !important;
  padding-bottom: clamp(48px, 4.8vw, 76px) !important;
  background:
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.05), transparent 32%),
    radial-gradient(circle at 18% 32%, rgba(255,255,255,.04), transparent 34%),
    linear-gradient(90deg, #07101d 0%, #0b1220 48%, #16101b 100%) !important;
}
.ds-page--commerce .ds-commerce-brands .ds-business-section-head{
  margin: 0 auto !important;
  max-width: 920px !important;
}
.ds-page--commerce .ds-commerce-brands .ds-business-section-head .ds-kicker{
  color: var(--ds-green) !important;
}
.ds-page--commerce .ds-commerce-brands .ds-business-section-head h2,
.ds-page--commerce .ds-commerce-brands .ds-business-section-head p:not(.ds-kicker){
  color: #fff !important;
}
.ds-page--commerce .ds-commerce-brand-list{
  padding-top: var(--ds-layout-card-gap) !important;
  padding-bottom: var(--ds-layout-section-y) !important;
}
.ds-page--commerce .ds-commerce-brand-stack{
  gap: var(--ds-layout-card-gap) !important;
}
.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta,
.ds-page--place .ds-place-flow,
.ds-page--place .ds-place-facilities,
.ds-page--place .ds-business-future,
.ds-page--place .ds-business-cta{
  padding-top: var(--ds-layout-section-y-tight) !important;
  padding-bottom: var(--ds-layout-section-y-tight) !important;
}

/* Keep business color usage scoped to trails; do not recolor text/background/buttons by page color. */
.ds-section-light-trails--commerce span{
  color: rgba(255,64,150,.82) !important;
  background: linear-gradient(90deg, transparent, rgba(255,64,150,.10), rgba(255,255,255,.84), rgba(255,64,150,.24), transparent) !important;
  box-shadow: 0 0 18px rgba(255,64,150,.24), 0 0 46px rgba(255,64,150,.18) !important;
}

/* Front HERO: green horizontal trails. */
.ds-hero-light-trails{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
  mix-blend-mode:screen;
}
.ds-hero-light-trail{
  position:absolute;
  left:-38vw;
  height:1px;
  width:clamp(300px, 42vw, 840px);
  border-radius:999px;
  opacity:0;
  color:rgba(112,214,86,.82) !important;
  background:linear-gradient(90deg, transparent 0%, rgba(112,214,86,.10) 20%, rgba(255,255,255,.86) 50%, rgba(112,214,86,.22) 72%, transparent 100%) !important;
  box-shadow:0 0 18px rgba(112,214,86,.30),0 0 46px rgba(112,214,86,.18) !important;
  animation:ds-hero-horizontal-trail 10.5s cubic-bezier(.22,.72,.18,1) infinite;
}
.ds-hero-light-trail::after{
  content:"";
  position:absolute;
  right:38%;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  transform:translate(50%,-50%);
  background:rgba(255,255,255,.95);
  box-shadow:0 0 18px rgba(255,255,255,.76),0 0 34px currentColor;
}
.ds-hero-light-trail--one{top:26%;animation-delay:.1s;}
.ds-hero-light-trail--two{top:34%;animation-delay:1.7s;animation-duration:11.4s;color:rgba(144,218,88,.78)!important;}
.ds-hero-light-trail--three{top:49%;animation-delay:3.1s;animation-duration:9.8s;}
.ds-hero-light-trail--four{top:61%;animation-delay:4.6s;animation-duration:12s;color:rgba(144,218,88,.74)!important;}
.ds-hero-light-trail--five{top:72%;animation-delay:6.2s;animation-duration:10.8s;}
@keyframes ds-hero-horizontal-trail{
  0%{transform:translate3d(0,0,0);opacity:0;}
  10%{opacity:.66;}
  44%{opacity:.76;}
  70%,100%{transform:translate3d(156vw,0,0);opacity:0;}
}

/* Footer menu: allow more entries without looking cramped. */
.ds-footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-content:flex-start;
}
.ds-footer-nav a{
  white-space:nowrap;
}

@media (max-width: 760px){
  :root{
    --ds-layout-section-y: 40px;
    --ds-layout-section-y-tight: 32px;
    --ds-layout-head-gap: 22px;
    --ds-layout-card-gap: 24px;
  }
  .ds-page--place .ds-business-hero,
  .ds-page--commerce .ds-business-hero{
    min-height: 420px !important;
    padding-top: 104px !important;
    padding-bottom: 48px !important;
  }
  .ds-page--commerce .ds-commerce-brands{
    padding-top: 46px !important;
    padding-bottom: 40px !important;
  }
  .ds-page--commerce .ds-commerce-brand-list{
    padding-top: 24px !important;
  }
}

/* ============================================================
   Den-SHOW Corporate Site / v0.6.0
   Final spacing + menu visibility correction.
   - Preserve HERO presence; compact only white content sections.
   - Front HERO green trails are forced visible on desktop.
   - Footer child menu hierarchy is explicit.
   - Mobile submenu text visibility is fixed.
   ============================================================ */
:root{
  --ds-content-top-gap: clamp(42px, 4vw, 64px);
  --ds-content-bottom-gap: clamp(46px, 4.6vw, 72px);
  --ds-content-head-gap: clamp(22px, 2.4vw, 34px);
}

/* Business HERO should not be shrunk to solve content spacing. */
.ds-page--place .ds-business-hero,
.ds-page--commerce .ds-business-hero{
  min-height: clamp(560px, 68vh, 760px) !important;
  padding-top: clamp(128px, 12vw, 170px) !important;
  padding-bottom: clamp(72px, 7vw, 110px) !important;
}

/* White content areas: match the compact rhythm of the front page. */
.ds-page--place .ds-business-section:not(.ds-business-hero),
.ds-page--commerce .ds-business-section:not(.ds-business-hero){
  min-height: auto !important;
  padding-top: var(--ds-content-top-gap) !important;
  padding-bottom: var(--ds-content-bottom-gap) !important;
}

/* The first white section immediately after a HERO must start quickly. */
.ds-page--place .ds-place-services,
.ds-page--commerce .ds-commerce-philosophy,
.ds-page--commerce .ds-commerce-brand-list,
.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta,
.ds-page--place .ds-place-flow,
.ds-page--place .ds-place-facilities,
.ds-page--place .ds-business-future,
.ds-page--place .ds-business-cta{
  padding-top: var(--ds-content-top-gap) !important;
  padding-bottom: var(--ds-content-bottom-gap) !important;
}

/* Header blocks inside sections should not add another wide top/bottom gap. */
.ds-page--place .ds-business-section-head,
.ds-page--place .ds-business-section-head--center,
.ds-page--commerce .ds-business-section-head,
.ds-page--commerce .ds-business-section-head--center{
  margin-top: 0 !important;
  margin-bottom: var(--ds-content-head-gap) !important;
}

/* Commerce dark “Our Brands” band is independent from the card canvas. */
.ds-page--commerce .ds-commerce-brands{
  min-height: auto !important;
  padding-top: clamp(72px, 6vw, 96px) !important;
  padding-bottom: clamp(72px, 6vw, 96px) !important;
}
.ds-page--commerce .ds-commerce-brands + .ds-commerce-brand-list{
  padding-top: var(--ds-content-top-gap) !important;
}
.ds-page--commerce .ds-commerce-brand-stack{
  gap: clamp(26px, 3vw, 42px) !important;
}

/* Keep cards visually compact enough that the next section rhythm is not broken. */
.ds-commerce-brand-card{
  min-height: clamp(420px, 42vw, 560px) !important;
}
.ds-commerce-brand-card__media{
  min-height: clamp(300px, 34vw, 440px) !important;
}
.ds-commerce-brand-card__body{
  margin-bottom: 0 !important;
}

/* Front HERO green light trails: visible on desktop, horizontal only. */
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  mix-blend-mode:screen !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail{
  display:block !important;
  position:absolute !important;
  left:-44vw !important;
  width:clamp(320px, 48vw, 900px) !important;
  height:1px !important;
  opacity:0;
  transform:translate3d(0,0,0) rotate(0deg) !important;
  color:rgba(112,214,86,.9) !important;
  background:linear-gradient(90deg, transparent 0%, rgba(112,214,86,.12) 20%, rgba(255,255,255,.96) 50%, rgba(112,214,86,.28) 72%, transparent 100%) !important;
  box-shadow:0 0 20px rgba(112,214,86,.42),0 0 54px rgba(112,214,86,.22) !important;
  animation:ds-front-green-horizontal-trail 10.5s cubic-bezier(.22,.72,.18,1) infinite !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--one{top:26% !important;animation-delay:.2s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--two{top:36% !important;animation-delay:1.6s !important;animation-duration:11.2s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--three{top:49% !important;animation-delay:3.1s !important;animation-duration:9.8s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--four{top:61% !important;animation-delay:4.8s !important;animation-duration:12s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--five{top:73% !important;animation-delay:6.3s !important;animation-duration:10.8s !important;}
@keyframes ds-front-green-horizontal-trail{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0;}
  8%{opacity:.72;}
  42%{opacity:.82;}
  68%,100%{transform:translate3d(160vw,0,0) rotate(0deg);opacity:0;}
}

/* Footer menu hierarchy. */
.ds-footer-nav{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}
.ds-footer-nav a{
  white-space:nowrap !important;
}
.ds-footer-nav__parent{
  font-weight:800 !important;
  color:rgba(255,255,255,.92) !important;
}
.ds-footer-nav__child{
  padding-left:1.2em !important;
  color:rgba(255,255,255,.68) !important;
  position:relative !important;
}
.ds-footer-nav__child::before{
  content:"—";
  position:absolute;
  left:0;
  color:rgba(83, 212, 101, .78);
}

/* Mobile menu/submenu visibility and tappable hierarchy. */
@media (max-width: 760px){
  :root{
    --ds-content-top-gap: 34px;
    --ds-content-bottom-gap: 42px;
    --ds-content-head-gap: 20px;
  }
  .ds-page--place .ds-business-hero,
  .ds-page--commerce .ds-business-hero{
    min-height: 520px !important;
    padding-top: 112px !important;
    padding-bottom: 64px !important;
  }
  .ds-page--commerce .ds-commerce-brands{
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails{
    display:none !important;
  }
  .ds-floating-nav.is-menu-open .ds-nav-links,
  .ds-nav-links.is-open{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    width:100% !important;
    padding-top:12px !important;
  }
  .ds-nav-dropdown,
  .ds-nav-dropdown__trigger,
  .ds-nav-dropdown__menu,
  .ds-nav-dropdown__menu a{
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .ds-nav-dropdown__menu{
    display:block !important;
    position:static !important;
    transform:none !important;
    min-width:0 !important;
    margin:4px 0 8px 12px !important;
    padding:4px 0 4px 14px !important;
    border:0 !important;
    border-left:1px solid rgba(83,212,101,.38) !important;
    background:transparent !important;
    box-shadow:none !important;
    pointer-events:auto !important;
  }
  .ds-nav-dropdown__menu a{
    display:block !important;
    min-height:36px !important;
    padding:9px 0 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    letter-spacing:.06em !important;
  }
  .ds-nav-links > a,
  .ds-nav-dropdown__trigger{
    color:#fff !important;
    min-height:42px !important;
  }
}


/* ============================================================
   Den-SHOW Corporate Site / v0.6.1
   Verified spacing + front trails + mobile/footer menu fix.
   ============================================================ */

/* 1) White content sections: compact like TOP. Do not solve spacing by shrinking HERO. */
.ds-page--business-detail .ds-business-section:not(.ds-commerce-brands),
.ds-page--place .ds-business-section:not(.ds-business-hero),
.ds-page--commerce .ds-business-section:not(.ds-business-hero):not(.ds-commerce-brands){
  min-height: 0 !important;
  padding-top: clamp(28px, 3.2vw, 48px) !important;
  padding-bottom: clamp(44px, 4.2vw, 64px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
}

/* First white block after dark/image HERO: start quickly. */
.ds-page--place .ds-place-services,
.ds-page--commerce .ds-commerce-philosophy,
.ds-page--commerce .ds-commerce-brand-list{
  padding-top: clamp(24px, 2.8vw, 40px) !important;
}

/* Commerce: Our Brands is the dark header band; brand cards start on the white canvas. */
.ds-page--commerce .ds-commerce-brands{
  min-height: 0 !important;
  padding-top: clamp(58px, 5.2vw, 84px) !important;
  padding-bottom: clamp(58px, 5.2vw, 84px) !important;
  margin: 0 !important;
}
.ds-page--commerce .ds-commerce-brands + .ds-commerce-brand-list{
  padding-top: clamp(24px, 2.8vw, 40px) !important;
}

/* Remove stacked gaps from section heads. */
.ds-page--business-detail .ds-business-section-head,
.ds-page--business-detail .ds-business-section-head--center,
.ds-page--place .ds-business-section-head,
.ds-page--commerce .ds-business-section-head{
  margin-top: 0 !important;
  margin-bottom: clamp(22px, 2.6vw, 34px) !important;
  transform: none !important;
}
.ds-page--place .ds-service-grid,
.ds-page--commerce .ds-commerce-brand-stack,
.ds-page--commerce .ds-commerce-value-grid{
  margin-top: 0 !important;
}

/* Watermark must not create visual top padding. */
.ds-page--business-detail .ds-section-watermark{
  top: clamp(6px, 1.4vw, 18px) !important;
}

/* 2) TOP HERO: force green horizontal trails to be visible and already in motion. */
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:absolute !important;
  inset:0 !important;
  z-index:6 !important;
  pointer-events:none !important;
  overflow:hidden !important;
  mix-blend-mode:screen !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail{
  display:block !important;
  position:absolute !important;
  left:-52vw !important;
  width:clamp(360px, 52vw, 980px) !important;
  height:1px !important;
  border-radius:999px !important;
  opacity:0;
  transform:translate3d(0,0,0) rotate(0deg) !important;
  color:rgba(105,220,92,.92) !important;
  background:linear-gradient(90deg, transparent 0%, rgba(105,220,92,.12) 18%, rgba(255,255,255,.98) 50%, rgba(105,220,92,.30) 73%, transparent 100%) !important;
  box-shadow:0 0 18px rgba(105,220,92,.45),0 0 52px rgba(105,220,92,.24) !important;
  animation-name:ds-front-visible-green-trail !important;
  animation-timing-function:cubic-bezier(.22,.72,.18,1) !important;
  animation-iteration-count:infinite !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail::after{
  content:"" !important;
  position:absolute !important;
  right:38% !important;
  top:50% !important;
  width:7px !important;
  height:7px !important;
  border-radius:50% !important;
  transform:translate(50%,-50%) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 0 18px rgba(255,255,255,.82),0 0 36px rgba(105,220,92,.78) !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--one{top:25% !important;animation-duration:10s !important;animation-delay:-7.6s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--two{top:34% !important;animation-duration:11.5s !important;animation-delay:-5.2s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--three{top:48% !important;animation-duration:9.8s !important;animation-delay:-3.4s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--four{top:61% !important;animation-duration:12.2s !important;animation-delay:-9.1s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--five{top:72% !important;animation-duration:10.8s !important;animation-delay:-1.8s !important;}
@keyframes ds-front-visible-green-trail{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0;}
  8%{opacity:.68;}
  44%{opacity:.84;}
  70%,100%{transform:translate3d(170vw,0,0) rotate(0deg);opacity:0;}
}

/* Mobile: keep subtle green light presence as pulse points/short trails. */
@media (max-width:760px){
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails{display:block !important;z-index:4 !important;}
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail{width:64vw !important;left:-70vw !important;animation-duration:9s !important;}
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--four,
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--five{display:none !important;}
}

/* 3) Footer menu hierarchy, including TOP page. */
.ds-footer-nav{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
  align-content:start !important;
}
.ds-footer-nav a{
  display:block !important;
  white-space:normal !important;
  line-height:1.45 !important;
  padding:0 !important;
}
.ds-footer-nav__parent{
  font-weight:800 !important;
  color:rgba(255,255,255,.92) !important;
}
.ds-footer-nav__child{
  position:relative !important;
  padding-left:1.45em !important;
  color:rgba(255,255,255,.68) !important;
}
.ds-footer-nav__child::before{
  content:"—" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:rgba(83,212,101,.78) !important;
}

/* 4) Mobile menu: stable panel, readable submenu, Contact visible. */
@media (max-width:900px){
  .ds-floating-nav{
    width:calc(100vw - 24px) !important;
    left:12px !important;
    right:12px !important;
    top:12px !important;
    transform:none !important;
    min-height:58px !important;
    height:auto !important;
    padding:8px 12px !important;
    border-radius:28px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
  }
  .ds-nav-logo,
  .ds-nav-logo img{
    width:142px !important;
    max-width:142px !important;
    height:auto !important;
  }
  .ds-mobile-menu-toggle{
    display:inline-flex !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    border:1px solid rgba(124,255,69,.30) !important;
    border-radius:999px !important;
    background:rgba(1,9,5,.52) !important;
    padding:0 !important;
    cursor:pointer !important;
  }
  .ds-mobile-menu-toggle span{
    display:block !important;
    width:18px !important;
    height:2px !important;
    border-radius:999px !important;
    background:var(--ds-green-bright, #64d85e) !important;
  }
  .ds-floating-nav .ds-nav-links{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:10px !important;
    max-height:0 !important;
    opacity:0 !important;
    visibility:hidden !important;
    overflow:hidden !important;
    pointer-events:none !important;
    border:1px solid rgba(124,255,69,.20) !important;
    border-radius:22px !important;
    background:rgba(1,8,5,.96) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.36) !important;
    transform:translateY(-8px) !important;
    transition:max-height .28s ease, opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  }
  .ds-floating-nav.is-menu-open .ds-nav-links{
    max-height:calc(100dvh - 92px) !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow-y:auto !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }
  .ds-nav-links > a,
  .ds-nav-dropdown__trigger{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:40px !important;
    box-sizing:border-box !important;
    padding:11px 14px !important;
    border-bottom:1px solid rgba(247,244,231,.08) !important;
    color:rgba(247,244,231,.94) !important;
    font-size:13px !important;
    line-height:1.25 !important;
    letter-spacing:.08em !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .ds-nav-dropdown{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }
  .ds-nav-dropdown__menu{
    display:block !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 0 6px 0 !important;
    padding:4px 0 4px 18px !important;
    box-sizing:border-box !important;
    transform:none !important;
    border:0 !important;
    border-left:1px solid rgba(83,212,101,.42) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .ds-nav-dropdown__menu a{
    display:block !important;
    width:100% !important;
    min-height:34px !important;
    box-sizing:border-box !important;
    padding:8px 12px !important;
    color:rgba(247,244,231,.86) !important;
    font-size:13px !important;
    line-height:1.25 !important;
    letter-spacing:.06em !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
  }
}

@media (max-width:420px){
  .ds-nav-logo,
  .ds-nav-logo img{width:124px !important;max-width:124px !important;}
  .ds-nav-links > a,
  .ds-nav-dropdown__trigger,
  .ds-nav-dropdown__menu a{font-size:12px !important;}
}

/* ============================================================
   Den-SHOW Corporate Site / v0.6.2
   Root-cause fixes: compact white sections, stable mobile submenu,
   footer hierarchy, and restored front green trails.
   ============================================================ */

/* A. White content area: remove page-specific vertical centering and legacy lead-in gaps. */
body.denshow-theme .ds-page--place .ds-business-section,
body.denshow-theme .ds-page--commerce .ds-business-section,
body.denshow-theme .ds-page--business-detail .ds-business-section{
  min-height: 0 !important;
  height: auto !important;
  padding-top: 52px !important;
  padding-bottom: 64px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  place-items: initial !important;
}
body.denshow-theme .ds-page--place .ds-business-section > .ds-container,
body.denshow-theme .ds-page--commerce .ds-business-section > .ds-container,
body.denshow-theme .ds-page--business-detail .ds-business-section > .ds-container{
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
  top: auto !important;
}
body.denshow-theme .ds-page--place .ds-place-services,
body.denshow-theme .ds-page--commerce .ds-commerce-philosophy,
body.denshow-theme .ds-page--commerce .ds-commerce-brand-list{
  padding-top: 46px !important;
}
body.denshow-theme .ds-page--commerce .ds-commerce-brands{
  padding-top: 64px !important;
  padding-bottom: 60px !important;
}
body.denshow-theme .ds-page--commerce .ds-commerce-brand-list{
  padding-bottom: 54px !important;
}
body.denshow-theme .ds-page--place .ds-business-section-head,
body.denshow-theme .ds-page--place .ds-business-section-head--center,
body.denshow-theme .ds-page--commerce .ds-business-section-head,
body.denshow-theme .ds-page--commerce .ds-business-section-head--center,
body.denshow-theme .ds-page--business-detail .ds-business-section-head,
body.denshow-theme .ds-page--business-detail .ds-business-section-head--center{
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  transform: none !important;
}
body.denshow-theme .ds-page--place .ds-service-grid,
body.denshow-theme .ds-page--commerce .ds-commerce-brand-stack,
body.denshow-theme .ds-page--commerce .ds-commerce-value-grid{
  margin-top: 0 !important;
}
body.denshow-theme .ds-page--commerce .ds-commerce-commitment,
body.denshow-theme .ds-page--commerce .ds-commerce-future,
body.denshow-theme .ds-page--commerce .ds-business-cta,
body.denshow-theme .ds-page--place .ds-place-flow,
body.denshow-theme .ds-page--place .ds-place-facilities,
body.denshow-theme .ds-page--place .ds-business-future,
body.denshow-theme .ds-page--place .ds-business-cta{
  padding-top: 46px !important;
  padding-bottom: 58px !important;
}
body.denshow-theme .ds-page--business-detail .ds-section-watermark{
  top: 10px !important;
}

/* B. Front HERO: green horizontal light trails, independent of old hidden states. */
body.denshow-theme.home .ds-hero-v23{
  isolation: isolate !important;
}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trails{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail{
  display: block !important;
  position: absolute !important;
  left: -62vw !important;
  width: clamp(460px, 62vw, 1120px) !important;
  height: 1px !important;
  border-radius: 999px !important;
  opacity: 0 !important;
  color: rgba(113, 225, 92, .95) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(113,225,92,.12) 18%, rgba(255,255,255,.96) 48%, rgba(113,225,92,.28) 72%, transparent 100%) !important;
  box-shadow: 0 0 18px rgba(113,225,92,.50), 0 0 54px rgba(113,225,92,.28) !important;
  transform: translate3d(0,0,0) rotate(0deg) !important;
  animation-name: ds-v062-front-trail !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail::after{
  content: "" !important;
  position: absolute !important;
  right: 40% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  transform: translate(50%,-50%) !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 0 18px rgba(255,255,255,.86), 0 0 38px rgba(113,225,92,.86) !important;
}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--one{top:24% !important; animation-duration:9.8s !important; animation-delay:-6.8s !important;}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--two{top:35% !important; animation-duration:11.2s !important; animation-delay:-2.4s !important;}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--three{top:47% !important; animation-duration:10.4s !important; animation-delay:-8.8s !important;}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--four{top:60% !important; animation-duration:12.0s !important; animation-delay:-4.5s !important;}
body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--five{top:72% !important; animation-duration:10.8s !important; animation-delay:-1.2s !important;}
@keyframes ds-v062-front-trail{
  0%{transform: translate3d(0,0,0) rotate(0deg); opacity:0;}
  8%{opacity:.72;}
  55%{opacity:.84;}
  82%,100%{transform: translate3d(185vw,0,0) rotate(0deg); opacity:0;}
}

/* C. Mobile menu: prevent focus/active submenu from inheriting desktop flyout transform. */
@media (max-width: 900px){
  body.denshow-theme .ds-floating-nav .ds-nav-links,
  body.denshow-theme .ds-floating-nav.is-menu-open .ds-nav-links{
    left: 0 !important;
    right: 0 !important;
    transform: translateY(0) !important;
  }
  body.denshow-theme .ds-nav-dropdown,
  body.denshow-theme .ds-nav-dropdown:focus,
  body.denshow-theme .ds-nav-dropdown:focus-within,
  body.denshow-theme .ds-nav-dropdown:hover{
    position: static !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
  }
  body.denshow-theme .ds-nav-dropdown .ds-nav-dropdown__menu,
  body.denshow-theme .ds-nav-dropdown:hover .ds-nav-dropdown__menu,
  body.denshow-theme .ds-nav-dropdown:focus-within .ds-nav-dropdown__menu,
  body.denshow-theme .ds-nav-dropdown.is-submenu-open .ds-nav-dropdown__menu{
    position: static !important;
    display: block !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    margin: 0 0 6px 0 !important;
    padding: 4px 0 4px 18px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-left: 1px solid rgba(83,212,101,.42) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body.denshow-theme .ds-nav-dropdown__trigger,
  body.denshow-theme .ds-nav-dropdown__menu a{
    transform: none !important;
    translate: none !important;
  }
}

/* D. Footer child hierarchy: remove overlap by using real padding and replacing the dash with an offset marker. */
body.denshow-theme .ds-footer-nav a.ds-footer-nav__child{
  position: relative !important;
  display: block !important;
  padding-left: 28px !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  line-height: 1.55 !important;
}
body.denshow-theme .ds-footer-nav a.ds-footer-nav__child::before{
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: .76em !important;
  width: 10px !important;
  height: 1px !important;
  background: rgba(83,212,101,.78) !important;
  transform: none !important;
}

@media (max-width: 760px){
  body.denshow-theme .ds-page--place .ds-business-section,
  body.denshow-theme .ds-page--commerce .ds-business-section,
  body.denshow-theme .ds-page--business-detail .ds-business-section{
    padding-top: 36px !important;
    padding-bottom: 48px !important;
  }
  body.denshow-theme .ds-page--place .ds-place-services,
  body.denshow-theme .ds-page--commerce .ds-commerce-philosophy,
  body.denshow-theme .ds-page--commerce .ds-commerce-brand-list{
    padding-top: 34px !important;
  }
  body.denshow-theme .ds-page--commerce .ds-commerce-brands{
    padding-top: 42px !important;
    padding-bottom: 38px !important;
  }
  body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trails{
    display:block !important;
    z-index:4 !important;
  }
  body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail{
    left:-76vw !important;
    width:76vw !important;
  }
  body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--four,
  body.denshow-theme.home .ds-hero-v23 .ds-hero-light-trail--five{
    display:none !important;
  }
}


/* ============================================================
   Den-SHOW Corporate Site / v0.6.3
   Verified hard fixes: compact white canvas, visible front trails,
   stable mobile menu, footer child indentation.
   ============================================================ */

/* 1) White canvas spacing: stop inherited large spacing and remove watermark influence. */
.ds-page--place .ds-section-watermark,
.ds-page--commerce .ds-section-watermark,
.ds-page--business-detail .ds-section-watermark {
  display: none !important;
}

.ds-page--place .ds-business-section:not(.ds-business-hero),
.ds-page--commerce .ds-business-section:not(.ds-business-hero),
.ds-page--business-detail .ds-business-section:not(.ds-business-hero) {
  min-height: 0 !important;
  height: auto !important;
  padding-top: 34px !important;
  padding-bottom: 48px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  place-items: initial !important;
}

.ds-page--place .ds-business-section:not(.ds-business-hero) > .ds-container,
.ds-page--commerce .ds-business-section:not(.ds-business-hero) > .ds-container,
.ds-page--business-detail .ds-business-section:not(.ds-business-hero) > .ds-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
  top: auto !important;
}

.ds-page--place .ds-business-section-head,
.ds-page--place .ds-business-section-head--center,
.ds-page--commerce .ds-business-section-head,
.ds-page--commerce .ds-business-section-head--center,
.ds-page--business-detail .ds-business-section-head,
.ds-page--business-detail .ds-business-section-head--center {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  padding-top: 0 !important;
  transform: none !important;
}

.ds-page--place .ds-place-services,
.ds-page--commerce .ds-commerce-philosophy,
.ds-page--commerce .ds-commerce-brand-list,
.ds-page--commerce .ds-commerce-commitment,
.ds-page--commerce .ds-commerce-future,
.ds-page--commerce .ds-business-cta,
.ds-page--place .ds-place-flow,
.ds-page--place .ds-place-facilities,
.ds-page--place .ds-business-future,
.ds-page--place .ds-business-cta {
  padding-top: 34px !important;
  padding-bottom: 48px !important;
}

.ds-page--place .ds-service-grid,
.ds-page--commerce .ds-commerce-brand-stack,
.ds-page--commerce .ds-commerce-value-grid {
  margin-top: 24px !important;
}

/* Commerce dark header section remains independent, but no extra white gap after it. */
.ds-page--commerce .ds-commerce-brands {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
  min-height: 0 !important;
}
.ds-page--commerce .ds-commerce-brands + .ds-commerce-brand-list {
  padding-top: 34px !important;
}

/* 2) Front HERO green trails: apply to the page class directly, not body.home. */
.ds-page--hero-final .ds-hero-v23 {
  isolation: isolate !important;
}
.ds-page--hero-final .ds-hero-v23::before,
.ds-page--hero-final .ds-hero-v23::after {
  content: "" !important;
  position: absolute !important;
  left: -70vw !important;
  width: 70vw !important;
  height: 1px !important;
  border-radius: 999px !important;
  z-index: 6 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, transparent, rgba(116,230,92,.18), rgba(255,255,255,.90), rgba(116,230,92,.30), transparent) !important;
  box-shadow: 0 0 18px rgba(116,230,92,.46), 0 0 48px rgba(116,230,92,.22) !important;
  animation: ds-v063-front-trail-fallback 9.5s linear infinite !important;
  opacity: .85 !important;
}
.ds-page--hero-final .ds-hero-v23::before { top: 35% !important; animation-delay: -3.2s !important; }
.ds-page--hero-final .ds-hero-v23::after { top: 58% !important; animation-delay: -7.1s !important; }

.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 6 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  mix-blend-mode: screen !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail {
  display: block !important;
  position: absolute !important;
  left: -70vw !important;
  width: clamp(420px, 70vw, 1180px) !important;
  height: 1px !important;
  border-radius: 999px !important;
  opacity: .82 !important;
  color: rgba(116,230,92,.95) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(116,230,92,.14) 18%, rgba(255,255,255,.92) 48%, rgba(116,230,92,.30) 72%, transparent 100%) !important;
  box-shadow: 0 0 18px rgba(116,230,92,.46), 0 0 54px rgba(116,230,92,.24) !important;
  transform: translate3d(0,0,0) rotate(0deg) !important;
  animation-name: ds-v063-front-trail !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail::after {
  content: "" !important;
  position: absolute !important;
  right: 42% !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  transform: translate(50%,-50%) !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 0 18px rgba(255,255,255,.84), 0 0 38px rgba(116,230,92,.86) !important;
}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--one{top:24% !important; animation-duration:9.4s !important; animation-delay:-6.4s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--two{top:34% !important; animation-duration:10.8s !important; animation-delay:-2.1s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--three{top:47% !important; animation-duration:10.1s !important; animation-delay:-8.0s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--four{top:60% !important; animation-duration:11.8s !important; animation-delay:-4.3s !important;}
.ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--five{top:72% !important; animation-duration:10.5s !important; animation-delay:-1.0s !important;}
@keyframes ds-v063-front-trail {
  from { transform: translate3d(0,0,0) rotate(0deg); }
  to { transform: translate3d(185vw,0,0) rotate(0deg); }
}
@keyframes ds-v063-front-trail-fallback {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(185vw,0,0); }
}

/* 3) Mobile menu: stable open state and submenu, no desktop flyout transform. */
@media (max-width: 900px) {
  .ds-floating-nav.is-menu-open .ds-nav-links,
  .ds-nav-links.is-open {
    display: flex !important;
    position: static !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 12px 0 4px !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .ds-floating-nav .ds-nav-links > a,
  .ds-nav-dropdown__trigger,
  .ds-nav-dropdown__menu a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    padding: 10px 14px !important;
    transform: none !important;
    translate: none !important;
    white-space: nowrap !important;
  }
  .ds-nav-dropdown,
  .ds-nav-dropdown:hover,
  .ds-nav-dropdown:focus,
  .ds-nav-dropdown:focus-within,
  .ds-nav-dropdown.is-submenu-open {
    position: static !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
  }
  .ds-nav-dropdown .ds-nav-dropdown__menu,
  .ds-nav-dropdown:hover .ds-nav-dropdown__menu,
  .ds-nav-dropdown:focus-within .ds-nav-dropdown__menu,
  .ds-nav-dropdown.is-submenu-open .ds-nav-dropdown__menu {
    display: block !important;
    position: static !important;
    transform: none !important;
    translate: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    padding: 2px 0 2px 18px !important;
    border: 0 !important;
    border-left: 1px solid rgba(83,212,101,.44) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .ds-nav-dropdown__menu a {
    color: rgba(247,244,231,.86) !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    letter-spacing: .06em !important;
    padding: 8px 12px !important;
  }
}
@media (max-width: 760px) {
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trails { display:block !important; }
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail { left:-78vw !important; width:78vw !important; }
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--four,
  .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail--five { display:none !important; }
  .ds-page--place .ds-business-section:not(.ds-business-hero),
  .ds-page--commerce .ds-business-section:not(.ds-business-hero),
  .ds-page--business-detail .ds-business-section:not(.ds-business-hero) {
    padding-top: 26px !important;
    padding-bottom: 40px !important;
  }
  .ds-page--commerce .ds-commerce-brands { padding-top: 36px !important; padding-bottom: 36px !important; }
}

/* 4) Footer child hierarchy: marker and text must never overlap. */
.ds-footer-nav a.ds-footer-nav__child {
  position: relative !important;
  display: block !important;
  padding-left: 34px !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  line-height: 1.6 !important;
}
.ds-footer-nav a.ds-footer-nav__child::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: .78em !important;
  width: 12px !important;
  height: 1px !important;
  background: rgba(83,212,101,.78) !important;
}
