/* RC final responsive unification - 2026-07-16 */
:root{--rc-header-h:74px;--rc-shell:1180px}
html{overflow-x:hidden}
body{overflow-x:clip}
.shell{width:min(var(--rc-shell),calc(100% - 48px));margin-inline:auto}
.site-header{height:var(--rc-header-h);min-height:var(--rc-header-h);z-index:1000}
.site-header .header-inner{height:var(--rc-header-h);min-height:var(--rc-header-h);display:flex;align-items:center;gap:22px}
.site-header .brand{flex:0 0 auto;display:flex;align-items:center}
.site-header .brand-logo{display:block;width:auto;max-width:190px;height:46px;object-fit:contain}
.site-header .main-nav{min-width:0;display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,28px);margin-left:auto}
.site-header .main-nav a{white-space:nowrap}
.site-header .language-switch{flex:0 0 auto;white-space:nowrap}
.site-header .header-cta{flex:0 0 auto;white-space:nowrap}

/* Every internal hero follows one visual frame */
.premium-inner-hero,.about-hero,.webdesign-hero,.contact-hero,.solutions-hero,.project-hero{position:relative;isolation:isolate;overflow:hidden;padding-top:calc(var(--rc-header-h) + 54px)!important;padding-bottom:72px!important;min-height:clamp(530px,64vh,690px);display:flex;align-items:center}
.premium-inner-hero>.shell,.about-hero>.shell,.webdesign-hero>.shell,.contact-hero>.shell,.solutions-hero>.shell,.project-hero>.shell{position:relative;z-index:3;width:min(var(--rc-shell),calc(100% - 48px));margin-inline:auto}
.hero-breadcrumb{margin-bottom:20px!important}
.premium-inner-hero h1,.about-hero h1,.webdesign-hero h1,.contact-hero h1,.solutions-hero h1,.project-hero h1{font-size:clamp(2.55rem,4.7vw,5rem)!important;line-height:.98!important;letter-spacing:-.045em;max-width:900px}
.premium-inner-hero p,.about-hero p,.webdesign-hero p,.contact-hero p,.solutions-hero-copy>p,.project-hero p{font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65}

/* Sprint 3 layers never influence layout */
.ai-sprint3-hero>.hero-ai-network,.ai-sprint3-hero>.hero-ai-halo,.ai-sprint3-hero>.hero-ambient-code,.ai-sprint3-hero>.hero-scanline{position:absolute!important;inset:0;pointer-events:none;z-index:1}
.ai-sprint3-hero>.hero-ambient-code{z-index:2}
.ai-sprint3-hero>.hero-scanline{z-index:2}

/* Solutions uses same hero proportions without losing its ecosystem map */
.solutions-hero-layout{width:100%;display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr)!important;align-items:center!important;gap:clamp(42px,6vw,92px)!important}
.solutions-hero-copy{min-width:0;max-width:680px}
.solutions-map{position:relative!important;width:min(100%,560px)!important;min-height:420px!important;margin-inline:auto!important;transform:none!important}
.solutions-map .map-core{max-width:230px}
.solutions-quick-nav{top:var(--rc-header-h)!important}

/* Prevent content overflow globally */
img,svg,video,canvas{max-width:100%}
.hero-actions,.solutions-cta-actions{gap:12px;flex-wrap:wrap}
.btn{max-width:100%}

@media (max-width:1100px){
  :root{--rc-header-h:68px}
  .shell,.premium-inner-hero>.shell,.about-hero>.shell,.webdesign-hero>.shell,.contact-hero>.shell,.solutions-hero>.shell,.project-hero>.shell{width:min(var(--rc-shell),calc(100% - 36px))}
  .site-header .header-inner{gap:14px}
  .site-header .brand-logo{max-width:165px;height:40px}
  .site-header .main-nav{gap:14px}
  .site-header .main-nav a{font-size:.88rem}
  .site-header .header-cta{padding-inline:14px}
  .solutions-hero-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.88fr)!important;gap:36px!important}
  .solutions-map{min-height:390px!important}
}

@media (max-width:900px){
  :root{--rc-header-h:66px}
  .site-header .header-inner{position:relative}
  .site-header .brand-logo{max-width:155px;height:38px}
  .site-header .menu-toggle{display:flex!important;margin-left:auto;position:relative;z-index:1002}
  .site-header .main-nav{position:fixed!important;left:16px!important;right:16px!important;top:calc(var(--rc-header-h) + 10px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important;padding:16px!important;margin:0!important;border-radius:18px;background:rgba(5,14,26,.98);border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.38);transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;max-height:calc(100vh - 100px);overflow:auto;transition:.22s ease}
  .site-header .main-nav.is-open,.site-header .main-nav.open,.site-header.menu-open .main-nav,body.menu-open .site-header .main-nav{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .site-header .main-nav a{width:100%;padding:13px 14px;border-radius:10px;font-size:.96rem}
  .site-header .language-switch{margin-left:8px}
  .site-header .header-cta{display:none!important}
  .premium-inner-hero,.about-hero,.webdesign-hero,.contact-hero,.solutions-hero,.project-hero{padding-top:calc(var(--rc-header-h) + 42px)!important;padding-bottom:58px!important;min-height:auto}
  .premium-inner-hero h1,.about-hero h1,.webdesign-hero h1,.contact-hero h1,.solutions-hero h1,.project-hero h1{font-size:clamp(2.35rem,7.4vw,4rem)!important;line-height:1.01!important}
  .solutions-hero-layout{grid-template-columns:1fr!important;gap:34px!important}
  .solutions-hero-copy{max-width:760px}
  .solutions-map{width:min(100%,620px)!important;min-height:390px!important}
  .solutions-quick-nav{top:var(--rc-header-h)!important}
}

@media (max-width:640px){
  :root{--rc-header-h:62px}
  .shell,.premium-inner-hero>.shell,.about-hero>.shell,.webdesign-hero>.shell,.contact-hero>.shell,.solutions-hero>.shell,.project-hero>.shell{width:calc(100% - 28px)}
  .site-header .brand-logo{max-width:138px;height:34px}
  .site-header .language-switch{font-size:.76rem}
  .premium-inner-hero,.about-hero,.webdesign-hero,.contact-hero,.solutions-hero,.project-hero{padding-top:calc(var(--rc-header-h) + 34px)!important;padding-bottom:44px!important}
  .hero-breadcrumb{margin-bottom:14px!important;font-size:.78rem}
  .premium-inner-hero h1,.about-hero h1,.webdesign-hero h1,.contact-hero h1,.solutions-hero h1,.project-hero h1{font-size:clamp(2.05rem,10.2vw,3.15rem)!important;letter-spacing:-.035em}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .hero-actions .btn{width:100%;justify-content:center;text-align:center}
  .solutions-map{min-height:330px!important;transform:scale(.93)!important;transform-origin:center center!important;margin-block:-12px!important}
  .solutions-map .map-node{font-size:.72rem!important}
  .solutions-map .map-core{max-width:190px!important}
  .solutions-quick-nav__inner{width:calc(100% - 20px)!important}
  .solutions-quick-nav__links{overscroll-behavior-inline:contain}
  .hero-ambient-code{display:none!important}
}

@media (max-width:390px){
  .solutions-map{transform:scale(.84)!important;margin-inline:-7%!important;width:114%!important}
  .site-header .language-switch span{display:none}
}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.site-header .main-nav{transition:none!important}}

/* FIX 2026-07-16: Sprint 3 overlays the original Solutions visual, never creates a second visual block */
.solutions-map.ai-sprint3-visual{position:relative!important;isolation:isolate;overflow:hidden}
.solutions-map.ai-sprint3-visual>.hero-ai-network,
.solutions-map.ai-sprint3-visual>.hero-ai-halo,
.solutions-map.ai-sprint3-visual>.hero-ambient-code,
.solutions-map.ai-sprint3-visual>.hero-scanline{position:absolute!important;inset:0!important;pointer-events:none!important;margin:0!important}
.solutions-map.ai-sprint3-visual>.hero-ai-network{z-index:0!important;opacity:.36!important;mask-image:radial-gradient(circle at 50% 50%,#000 25%,rgba(0,0,0,.7) 68%,transparent 100%)}
.solutions-map.ai-sprint3-visual>.hero-ai-halo{z-index:1!important;width:220px!important;height:220px!important;inset:auto!important;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.42!important}
.solutions-map.ai-sprint3-visual>.hero-ambient-code{z-index:1!important;color:rgba(156,239,255,.14)!important}
.solutions-map.ai-sprint3-visual>.hero-scanline{z-index:2!important;left:3%!important;right:3%!important;width:auto!important}
.solutions-map.ai-sprint3-visual>*:not(.hero-ai-network):not(.hero-ai-halo):not(.hero-ambient-code):not(.hero-scanline){position:relative;z-index:3}
@media(max-width:900px){.solutions-map.ai-sprint3-visual>.hero-ai-network,.solutions-map.ai-sprint3-visual>.hero-ai-halo,.solutions-map.ai-sprint3-visual>.hero-ambient-code,.solutions-map.ai-sprint3-visual>.hero-scanline{display:none!important}}
