/* CODUS MONO V6 — scoped corrections for hero, pointer interactions and case layout. */

/* Keep the headline wide and the decorative art in a separate, quiet right layer.
   V5 accidentally changed .mono-hero__art to position:relative, shrinking the text. */
.mono-hero{
  --hero-x:70%;--hero-y:48%;
  min-height:clamp(620px,calc(100svh - var(--mono-header)),820px);
  background:linear-gradient(115deg,#020202 0%,#080808 66%,#111 100%);
}
.mono-hero__inner{min-height:620px;height:clamp(620px,calc(100svh - var(--mono-header)),820px);display:flex;align-items:center}
.mono-hero__copy{position:relative;z-index:3;flex:0 0 auto;width:min(78%,1050px);padding:72px 0 65px;transform:none}
.mono-hero__title{font-size:clamp(46px,5vw,86px);line-height:1.02;letter-spacing:-.057em;max-width:1000px;overflow-wrap:normal;word-break:normal}
.mono-hero__bottom{margin-top:clamp(28px,3vw,46px);gap:24px 36px;align-items:center;flex-wrap:wrap}
.mono-hero__bottom p{max-width:350px;font-size:clamp(15px,1.2vw,19px);line-height:1.6}
.mono-hero__bottom .mono-btn{min-height:58px;min-width:230px;flex-shrink:0}
.mono-hero::before{opacity:.38;background:radial-gradient(circle 300px at var(--hero-x) var(--hero-y),rgba(255,255,255,.09),transparent 68%);filter:none}
.mono-hero__ambient{inset:0;width:auto;height:auto;right:0;top:0;opacity:.7;background:radial-gradient(ellipse at var(--hero-x) var(--hero-y),rgba(255,255,255,.045),transparent 38%)}

/* Abstract architectural frame rather than large rings/orbits. The scene is purely decorative. */
.mono-hero .mono-hero__art--architecture{position:absolute;z-index:1;inset:auto -2% 8% auto;top:10%;width:min(42%,600px);height:80%;opacity:.68;perspective:850px;transform-style:preserve-3d;pointer-events:none;transition:opacity .4s ease}
.mono-hero__art--architecture::before{content:"";position:absolute;inset:9%;border:1px solid #ffffff13;transform:rotate(-7deg);border-radius:0;box-shadow:0 0 0 30px #ffffff02,0 0 60px #ffffff08}
.mono-hero__art--architecture::after{content:"";position:absolute;inset:9%;background:radial-gradient(circle,#ffffff28 1px,transparent 1.3px);background-size:17px 17px;mask-image:linear-gradient(95deg,transparent 2%,black 45%,transparent 98%);transform:skewY(-8deg);opacity:.45}
.mono-hero__wire-grid{position:absolute;inset:2%;border:1px solid #ffffff1c;background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:40px 40px;transform:perspective(850px) rotateY(-16deg) rotateX(8deg) rotate(-10deg);mask-image:linear-gradient(95deg,transparent,black 25%,black 65%,transparent)}
.mono-hero__architecture{position:absolute;border:1px solid #ffffff35;background:linear-gradient(135deg,#ffffff12,#ffffff03 58%,transparent);box-shadow:0 28px 70px #0008,inset 0 0 25px #ffffff08;transform:perspective(900px) rotateY(-19deg) rotateX(10deg) rotate(-9deg)}
.mono-hero__architecture--rear{inset:18% 6% 23% 27%;opacity:.36}
.mono-hero__architecture--front{inset:30% 25% 8% 4%;opacity:.7}
.mono-hero__architecture-core{position:absolute;inset:39% 17% 24% 38%;border:1px solid #fff4;background:linear-gradient(150deg,#ffffff20,#1b1b1bb0 65%,#090909a0);box-shadow:0 18px 70px #000c,0 0 70px #ffffff12;transform:perspective(900px) rotateY(-15deg) rotateX(8deg) rotate(-9deg);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;padding:14px}
.mono-hero__architecture-core span{border:1px solid #ffffff26;background:linear-gradient(135deg,#ffffff0e,transparent)}
.mono-hero__architecture-core span:last-child{background:linear-gradient(135deg,#ffffff28,transparent)}

/* Make hover unmistakable, and preserve a smooth glowing circle under pointer. */
.mono-service,.mono-product{position:relative;isolation:isolate}
.mono-service::before,.mono-product::before{
  background:radial-gradient(circle 190px at var(--hover-x,50%) var(--hover-y,50%),color-mix(in srgb,var(--visual-accent,var(--product-color)) 55%,transparent),transparent 78%),radial-gradient(ellipse at 80% 100%,color-mix(in srgb,var(--visual-accent,var(--product-color)) 13%,transparent),transparent 65%);
  filter:none;opacity:0;transition:opacity .25s ease;
}
.mono-service:is(:hover,:focus-visible)::before,.mono-product:is(:hover,:focus-visible)::before{opacity:.75}
.mono-service:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--visual-accent) 70%,#444);background:#111!important}
.mono-product:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--product-color) 70%,#444);background:#111!important}
.mono-service::after,.mono-product::after{background:conic-gradient(transparent 0deg,var(--visual-accent,var(--product-color)) 55deg,transparent 115deg,transparent 220deg,var(--visual-accent,var(--product-color)) 275deg,transparent 335deg);background-color:transparent}
.mono-product{--visual-accent:var(--product-color)}
.mono-service__top,.mono-service>div:last-child,.mono-product__top,.mono-product__body{position:relative;z-index:1}

/* One built-in kicker per card — remove the extra section header and its blank rail. */
.mono-case-detail__story{padding:12px 0 75px}
.mono-case-detail__story .mono-story-block{display:block;grid-template-columns:none!important;gap:0!important;padding:28px 0!important;border-top:0}
.mono-case-detail__story .mono-story-block__panel{min-height:0;padding:clamp(24px,3vw,44px);border:1px solid #303030}
.mono-case-detail__story .mono-story-block__panel-head{margin-bottom:12px}
.mono-case-detail__story .mono-story-block h2{font-size:clamp(38px,4.2vw,72px);margin-bottom:20px;max-width:1100px}
.mono-case-detail__story .mono-story-block .mono-richtext{max-width:950px}
.mono-case-detail__story .mono-story-block__panel-head::after{opacity:.38}

@media(max-width:1050px){
  .mono-hero__copy{width:min(83%,850px)}
  .mono-hero__title{font-size:clamp(45px,5.4vw,70px)}
  .mono-hero .mono-hero__art--architecture{width:43%;opacity:.3;right:-12%}
}
@media(max-width:700px){
  .mono-hero{min-height:610px}
  .mono-hero__inner{min-height:610px;height:auto}
  .mono-hero__copy{width:100%;padding:90px 0 75px}
  .mono-hero__title{font-size:clamp(41px,9.2vw,62px);letter-spacing:-.05em;line-height:1.02}
  .mono-hero__bottom{align-items:flex-start;flex-direction:column;gap:24px}
  .mono-hero .mono-hero__art--architecture{top:12%;height:75%;width:75%;right:-43%;opacity:.17}
  .mono-case-detail__story .mono-story-block{padding:16px 0!important}
  .mono-case-detail__story .mono-story-block__panel{padding:22px 19px}
}
@media(prefers-reduced-motion:reduce){
 .mono-hero__copy,.mono-hero__art--architecture{transition:none!important}
 .mono-service::after,.mono-product::after{animation:none!important}
}
/* Transformed frame layers must never enlarge page scroll width. */
.mono-hero{overflow:clip}
.mono-hero .mono-hero__art--architecture{overflow:hidden;clip-path:inset(0)}
@media(min-width:1051px){.mono-hero .mono-hero__art--architecture{right:7%;width:min(37%,520px)}}
/* Contain decorative footer lighting from previous versions. */
.mono-footer{overflow:clip}
/* Undo legacy pseudo-element dimensions: full subtle texture, no coloured left strip. */
.mono-case-detail__story .mono-story-block__panel::after{width:auto;height:auto;right:0;bottom:0;left:0;top:0;transform:none;box-shadow:none;opacity:.22}
@media(max-width:700px){
 .mono-hero__inner{align-items:flex-start}
 .mono-hero__copy{padding-top:128px;padding-bottom:90px}
}
.mono-case-detail__story .mono-story-block__panel::before{opacity:.50}
