:root {
  --orange: #ff5c00;
  --orange-bright: #ff7a00;
  --ink: #0b0b0b;
  --paper: #f2f0eb;
  --line: rgba(11,11,11,.18);
  --muted: #6f6d68;
  --display: "Space Grotesk", sans-serif;
  --body: "Manrope", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { display: block; max-width: 100%; }
.site-header { height: 84px; position: fixed; inset: 0 0 auto; z-index: 50; padding: 0 4.3vw; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); color: white; transition: background .3s, color .3s, height .3s; }
.site-header.scrolled { height: 72px; background: rgba(10,10,10,.94); backdrop-filter: blur(14px); }
.brand { width: 48px; height: 48px; flex: 0 0 auto; }
.brand img { width: 100%; height: 100%; object-fit: contain; }
.desktop-nav { margin-left: auto; display: flex; gap: 2.35rem; align-items: center; }
.desktop-nav a { font-size: .73rem; letter-spacing: .04em; position: relative; }
.desktop-nav a::after { content:""; height: 1px; width: 0; background: var(--orange); position: absolute; left: 0; bottom: -7px; transition: width .25s; }
.desktop-nav a:hover::after { width: 100%; }
.header-actions { display: flex; align-items: center; margin-left: 2.4rem; gap: 1.3rem; }
.language { border: 0; background: none; font-size: .7rem; cursor: pointer; }
.language span { color: var(--orange); }
.contact-link { border: 1px solid rgba(255,255,255,.5); padding: .78rem 1.15rem; font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; }
.contact-link span { color: var(--orange); margin-left: .8rem; }
.menu-toggle { display:none; width:40px; height:40px; border:0; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:24px; height:1px; background:white; margin:7px auto; transition:.3s; }
.mobile-nav { display:none; }
.hero { position: relative; min-height: 100svh; height: 820px; color: white; overflow: hidden; background: #111; }
.hero-media { position:absolute; inset:0; background: url("assets/project-concert-hall-v2.jpg") center/cover no-repeat; transform: scale(1.03); transition: opacity .35s, transform 1s cubic-bezier(.2,.7,.2,1); }
.hero-media.changing { opacity:.2; transform:scale(1.08); }
.hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.83) 0%, rgba(0,0,0,.56) 40%, rgba(0,0,0,.07) 78%), linear-gradient(0deg, rgba(0,0,0,.48), transparent 44%); }
.hero-content { position:absolute; left: 9.5vw; top:50%; transform:translateY(-44%); width:min(660px, 67vw); }
.eyebrow { display:flex; align-items:center; gap:.75rem; text-transform:uppercase; letter-spacing:.17em; font-size:.62rem; font-weight:700; margin-bottom:2rem; }
.eyebrow span { display:block; width:28px; height:2px; background:var(--orange); }
.eyebrow.light { color:rgba(255,255,255,.7); }
.hero h1, h2 { font-family:var(--display); letter-spacing:-.045em; font-weight:500; margin:0; }
.hero h1 { font-size:clamp(4rem,7.6vw,7.6rem); line-height:.84; }
em { color:var(--orange); font-style:normal; }
.hero-content > p { width:min(520px,100%); margin:2.5rem 0; color:rgba(255,255,255,.78); line-height:1.75; font-size:.91rem; }
.hero-cta-row { display:flex; align-items:center; gap:2rem; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:2rem; min-width:188px; padding:1rem 1.25rem; text-transform:uppercase; letter-spacing:.1em; font-size:.63rem; font-weight:700; transition:.25s; }
.button-orange { background:var(--orange); color:white; }
.button-orange:hover { background:#ff762b; transform:translateY(-2px); }
.hero-meta { padding-left:1.8rem; border-left:1px solid rgba(255,255,255,.3); display:flex; flex-direction:column; gap:.25rem; }
.hero-meta span { font-family:var(--display); font-size:.9rem; }
.hero-meta small { color:rgba(255,255,255,.55); font-size:.58rem; text-transform:uppercase; letter-spacing:.1em; }
.hero-rail { position:absolute; top:50%; right:3.2vw; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:1rem; font-size:.55rem; color:rgba(255,255,255,.55); }
.hero-rail i { width:1px; height:120px; background:linear-gradient(var(--orange) 32%,rgba(255,255,255,.3) 32%); }
.hero-controls { position:absolute; right:4.3vw; bottom:3.3rem; display:flex; align-items:center; gap:1rem; }
.hero-arrow { width:42px; height:42px; border:1px solid rgba(255,255,255,.35); background:transparent; color:white; cursor:pointer; transition:.2s; }
.hero-arrow:hover { background:white; color:black; }
.hero-dots { display:flex; gap:.5rem; }
.hero-dot { width:20px; height:2px; padding:0; border:0; background:rgba(255,255,255,.35); cursor:pointer; transition:.3s; }
.hero-dot.active { width:40px; background:var(--orange); }
.scroll-cue { position:absolute; left:4.3vw; bottom:3.1rem; display:flex; align-items:center; gap:1rem; text-transform:uppercase; letter-spacing:.12em; font-size:.55rem; color:rgba(255,255,255,.6); }
.scroll-cue i { width:34px; height:34px; border:1px solid rgba(255,255,255,.3); border-radius:50%; font-style:normal; display:grid; place-items:center; }
.section { padding:8rem 8.5vw; }
.intro { background:var(--paper); }
.intro-grid { display:grid; grid-template-columns:1.12fr .68fr; gap:10vw; align-items:end; }
h2 { font-size:clamp(2.9rem,5.3vw,5.5rem); line-height:1.02; }
.intro-copy p { margin:0 0 2rem; line-height:1.85; color:#55534e; font-size:.9rem; }
.text-link { display:inline-flex; align-items:center; gap:2rem; padding-bottom:.55rem; border-bottom:1px solid var(--ink); text-transform:uppercase; letter-spacing:.1em; font-size:.64rem; font-weight:700; }
.text-link span { color:var(--orange); }
.stats { display:grid; grid-template-columns:repeat(4,1fr); margin-top:7rem; border-top:1px solid var(--line); }
.stats div { padding:2rem 1.5rem 0 0; display:flex; flex-direction:column; border-right:1px solid var(--line); }
.stats div:not(:first-child) { padding-left:2rem; }
.stats strong { font-family:var(--display); font-weight:500; font-size:3rem; letter-spacing:-.05em; }
.stats span { color:var(--muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; margin-top:.4rem; }
.light-experience { height:280vh; position:relative; background:#050505; --cool-opacity:1; --warm-opacity:0; --rgb-opacity:0; --scene-brightness:.72; }
.light-experience-sticky { position:sticky; top:0; height:100svh; min-height:650px; overflow:hidden; background:#050505; color:white; }
.light-scene,.light-scene > * { position:absolute; inset:0; }
.light-scene img { width:100%; height:100%; object-fit:cover; object-position:center; filter:brightness(var(--scene-brightness)) contrast(1.1); transform:scale(1.015); }
.light-cool-wash { background:radial-gradient(ellipse at 50% 52%,rgba(117,190,255,.48),transparent 49%),linear-gradient(110deg,rgba(32,104,174,.2),transparent 55%); mix-blend-mode:screen; opacity:var(--cool-opacity); }
.light-warm-wash { background:radial-gradient(ellipse at 50% 55%,rgba(255,142,42,.52),transparent 51%),linear-gradient(110deg,rgba(244,76,12,.18),transparent 57%); mix-blend-mode:screen; opacity:var(--warm-opacity); }
.light-rgb-wash { background:radial-gradient(circle at 27% 50%,rgba(255,23,71,.65),transparent 26%),radial-gradient(circle at 50% 47%,rgba(69,84,255,.67),transparent 28%),radial-gradient(circle at 74% 51%,rgba(0,221,180,.56),transparent 27%); mix-blend-mode:screen; opacity:var(--rgb-opacity); }
.light-beams { pointer-events:none; mix-blend-mode:screen; }
.light-beams i { position:absolute; top:8%; width:15%; height:67%; clip-path:polygon(45% 0,55% 0,100% 100%,0 100%); filter:blur(10px); transform-origin:50% 0; }
.light-beams i:nth-child(1) { left:18%; transform:rotate(7deg); }
.light-beams i:nth-child(2) { left:42.5%; width:17%; }
.light-beams i:nth-child(3) { right:18%; transform:rotate(-7deg); }
.light-beams-cool { opacity:calc(var(--cool-opacity) * .72); }
.light-beams-cool i { background:linear-gradient(rgba(210,239,255,.3),rgba(108,188,255,.1) 62%,transparent); }
.light-beams-warm { opacity:calc(var(--warm-opacity) * .82); }
.light-beams-warm i { background:linear-gradient(rgba(255,239,190,.34),rgba(255,132,28,.11) 62%,transparent); }
.light-beams-rgb { opacity:calc(var(--rgb-opacity) * .92); }
.light-beams-rgb i:nth-child(1) { background:linear-gradient(rgba(255,38,75,.43),rgba(255,21,60,.1) 65%,transparent); }
.light-beams-rgb i:nth-child(2) { background:linear-gradient(rgba(92,82,255,.45),rgba(70,49,255,.1) 65%,transparent); }
.light-beams-rgb i:nth-child(3) { background:linear-gradient(rgba(0,238,195,.4),rgba(0,210,181,.1) 65%,transparent); }
.light-scene-vignette { background:linear-gradient(90deg,rgba(0,0,0,.72),transparent 37%,transparent 70%,rgba(0,0,0,.33)),linear-gradient(0deg,rgba(0,0,0,.72),transparent 42%,rgba(0,0,0,.22)); }
.light-demo-copy { position:absolute; z-index:3; left:8.5vw; top:20%; width:min(560px,42vw); }
.light-demo-copy h2 { font-size:clamp(3.8rem,6.5vw,7rem); line-height:.89; }
.light-demo-copy p { width:min(430px,100%); color:rgba(255,255,255,.7); line-height:1.75; font-size:.8rem; margin:1.7rem 0 0; }
.light-readout { position:absolute; z-index:3; top:19%; right:4.3vw; text-align:right; display:flex; flex-direction:column; gap:.45rem; }
.light-readout-index { color:var(--orange); font:500 2.1rem/1 var(--display); }
.light-readout output { text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; color:rgba(255,255,255,.72); }
.light-controller { position:absolute; z-index:4; left:8.5vw; right:8.5vw; bottom:5.5rem; }
.light-controller label { display:block; margin-bottom:1.15rem; text-transform:uppercase; letter-spacing:.15em; font-size:.55rem; color:rgba(255,255,255,.6); }
.light-controller input { width:100%; height:20px; margin:0; appearance:none; background:transparent; cursor:ew-resize; }
.light-controller input:focus { outline:none; }
.light-controller input:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 5px rgba(255,92,0,.38); }
.light-controller input::-webkit-slider-runnable-track { height:2px; background:linear-gradient(90deg,#a9dfff 0%,#f9f5e9 27%,#ff9c47 51%,#ff284f 72%,#635cff 86%,#00e2bd 100%); }
.light-controller input::-webkit-slider-thumb { appearance:none; width:20px; height:20px; border:2px solid white; border-radius:50%; background:#0a0a0a; margin-top:-9px; box-shadow:0 0 0 5px rgba(255,255,255,.13); }
.light-controller input::-moz-range-track { height:2px; background:linear-gradient(90deg,#a9dfff,#ff9c47 51%,#ff284f 72%,#635cff 86%,#00e2bd); }
.light-controller input::-moz-range-thumb { width:16px; height:16px; border:2px solid white; border-radius:50%; background:#0a0a0a; }
.light-scale { display:flex; justify-content:space-between; margin-top:.75rem; text-transform:uppercase; letter-spacing:.13em; font-size:.5rem; color:rgba(255,255,255,.45); }
.light-scroll-note { position:absolute; z-index:3; right:4.3vw; bottom:9.7rem; display:flex; align-items:center; gap:.65rem; text-transform:uppercase; letter-spacing:.14em; font-size:.5rem; color:rgba(255,255,255,.55); }
.light-scroll-note i { display:block; width:28px; height:1px; background:var(--orange); animation:light-scroll-pulse 1.8s ease-in-out infinite; }
@keyframes light-scroll-pulse { 50% { width:48px; } }
.projects { background:#dedcd6; }
.section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; margin-bottom:4.5rem; }
.circle-link { width:120px; height:120px; border:1px solid rgba(0,0,0,.35); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.4rem; text-transform:uppercase; font-size:.55rem; letter-spacing:.08em; transition:.3s; }
.circle-link b { color:var(--orange); font-size:1rem; }
.circle-link:hover { background:var(--ink); color:white; transform:rotate(5deg); }
.project-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:300px 300px; gap:1rem; }
.project-card { position:relative; overflow:hidden; color:white; }
.project-featured { grid-row:1/3; }
.project-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.project-card:hover img { transform:scale(1.045); }
.project-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.77),transparent 65%); }
.project-index { position:absolute; top:1.4rem; left:1.5rem; font-size:.6rem; letter-spacing:.14em; }
.project-info { position:absolute; left:1.7rem; right:1.7rem; bottom:1.6rem; }
.project-info span { color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.12em; font-size:.55rem; }
.project-info h3 { font-family:var(--display); font-size:1.8rem; font-weight:500; margin:.35rem 0 0; }
.project-info a { position:absolute; right:0; bottom:.2rem; font-size:.56rem; text-transform:uppercase; letter-spacing:.1em; opacity:0; transform:translateX(-10px); transition:.3s; }
.project-card:hover .project-info a { opacity:1; transform:none; }
.products { min-height:760px; display:grid; grid-template-columns:1.1fr .9fr; background:#090909; color:white; overflow:hidden; }
.product-visual { min-height:760px; position:relative; display:grid; place-items:center; border-right:1px solid rgba(255,255,255,.12); }
.product-glow { position:absolute; width:60%; height:45%; background:#9e2d00; filter:blur(120px); opacity:.34; border-radius:50%; }
.active-product-image { position:relative; width:min(520px,75%); mix-blend-mode:screen; filter:drop-shadow(0 30px 60px #000); z-index:2; transition:opacity .3s, transform .4s; }
.active-product-image.changing { opacity:0; transform:scale(.94) rotate(-2deg); }
.product-number { position:absolute; top:3.2rem; left:4vw; color:rgba(255,255,255,.45); font-size:.6rem; letter-spacing:.12em; }
.technical-ring { position:absolute; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.ring-one { width:68%; aspect-ratio:1; }
.ring-two { width:42%; aspect-ratio:1; border-style:dashed; }
.product-copy { padding:6rem 6vw; display:flex; flex-direction:column; }
.product-tabs { display:flex; gap:1.7rem; border-bottom:1px solid rgba(255,255,255,.17); margin-bottom:4.5rem; }
.product-tab { border:0; background:none; padding:0 0 1rem; color:rgba(255,255,255,.42); font-size:.6rem; text-transform:uppercase; letter-spacing:.1em; position:relative; cursor:pointer; }
.product-tab.active { color:white; }
.product-tab.active::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--orange); }
.product-kicker { color:var(--orange); text-transform:uppercase; letter-spacing:.13em; font-size:.61rem; margin:0 0 1rem; }
.product-title { font-size:clamp(3rem,4.8vw,5.2rem); line-height:.93; }
.product-description { max-width:480px; color:rgba(255,255,255,.6); line-height:1.75; font-size:.82rem; margin:1.8rem 0; }
.product-specs { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0; margin:0 0 2.2rem; border-top:1px solid rgba(255,255,255,.15); }
.product-specs li { padding:1rem .7rem 0 0; font-size:.6rem; text-transform:uppercase; letter-spacing:.07em; }
.product-specs li + li { padding-left:.8rem; border-left:1px solid rgba(255,255,255,.15); }
.product-specs span { display:block; color:var(--orange); margin-bottom:.45rem; }
.button-outline { border:1px solid rgba(255,255,255,.45); align-self:flex-start; }
.button-outline:hover { background:white; color:black; }
.categories { background:var(--paper); }
.section-head.compact { align-items:flex-end; }
.section-head.compact > p { width:350px; color:var(--muted); line-height:1.7; font-size:.8rem; }
.category-list { border-top:1px solid var(--line); }
.category-item { min-height:130px; display:grid; grid-template-columns:50px 90px 1fr 1fr 50px; gap:2rem; align-items:center; border-bottom:1px solid var(--line); transition:.25s; }
.category-item:hover { padding-left:1.2rem; background:#e8e5df; }
.category-num { color:var(--orange); font-size:.58rem; }
.category-thumb { width:76px; height:76px; background:black; border-radius:50%; overflow:hidden; }
.category-thumb img { width:100%; height:100%; object-fit:cover; }
.category-item h3 { font-family:var(--display); font-size:1.8rem; font-weight:500; margin:0; }
.category-item p { color:var(--muted); text-transform:uppercase; letter-spacing:.09em; font-size:.57rem; }
.category-item b { font-size:1rem; font-weight:400; }
.expertise { height:760px; position:relative; color:white; overflow:hidden; }
.expertise > img { width:100%; height:100%; object-fit:cover; }
.expertise-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.22) 70%); }
.expertise-content { position:absolute; left:8.5vw; top:50%; transform:translateY(-50%); max-width:690px; }
.expertise-content p { max-width:500px; line-height:1.8; color:rgba(255,255,255,.72); font-size:.84rem; margin:2rem 0; }
.button-light { background:white; color:black; }
.button-light:hover { background:var(--orange); color:white; }
.expertise-tags { position:absolute; right:4.5vw; bottom:3rem; display:flex; gap:.6rem; }
.expertise-tags span { padding:.7rem 1rem; border:1px solid rgba(255,255,255,.35); border-radius:2rem; font-size:.55rem; text-transform:uppercase; letter-spacing:.1em; }
.cta { position:relative; min-height:580px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; overflow:hidden; }
.cta .eyebrow { margin-bottom:1.4rem; }
.cta h2 { font-size:clamp(4rem,8vw,8.2rem); line-height:.86; position:relative; }
.cta .button { margin-top:3rem; }
.button-dark { background:var(--ink); color:white; }
.button-dark:hover { background:var(--orange); }
.cta-mark { position:absolute; font-family:var(--display); font-weight:600; font-size:34vw; letter-spacing:-.1em; color:rgba(0,0,0,.025); transform:translateX(-2vw); }
footer { background:#090909; color:white; padding:5rem 6vw 2rem; }
.footer-top { display:grid; grid-template-columns:100px 1fr 1fr; align-items:start; gap:4rem; padding-bottom:4rem; border-bottom:1px solid rgba(255,255,255,.16); }
.footer-brand { width:64px; height:64px; }
.footer-top > p { font-family:var(--display); font-size:1.5rem; line-height:1.4; margin:0; }
.footer-contact { display:flex; flex-direction:column; align-items:flex-end; gap:.5rem; }
.footer-contact small,.footer-links small { color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.12em; font-size:.55rem; margin-bottom:.7rem; }
.footer-contact a { font-size:.76rem; }
.footer-links { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; padding:4rem 0; }
.footer-links div { display:flex; flex-direction:column; gap:.75rem; }
.footer-links a { color:rgba(255,255,255,.72); font-size:.7rem; }
.footer-links a:hover { color:var(--orange); }
.footer-bottom { display:flex; justify-content:space-between; gap:2rem; color:rgba(255,255,255,.35); font-size:.52rem; text-transform:uppercase; letter-spacing:.08em; border-top:1px solid rgba(255,255,255,.11); padding-top:1.6rem; }
@media (max-width: 980px) {
  .desktop-nav,.language,.contact-link { display:none; }
  .header-actions { margin-left:auto; }
  .menu-toggle { display:block; }
  .mobile-nav { display:flex; position:fixed; inset:84px 0 auto; height:calc(100svh - 84px); background:#0a0a0a; padding:4rem 8vw; flex-direction:column; gap:1.4rem; transform:translateX(100%); transition:.35s; }
  .mobile-nav a { font-family:var(--display); font-size:2.2rem; border-bottom:1px solid rgba(255,255,255,.15); padding-bottom:1rem; }
  .site-header.menu-open .mobile-nav { transform:none; }
  .site-header.menu-open .menu-toggle span:first-child { transform:translateY(4px) rotate(45deg); }
  .site-header.menu-open .menu-toggle span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .intro-grid { grid-template-columns:1fr; gap:3rem; }
  .stats { grid-template-columns:repeat(2,1fr); row-gap:2rem; }
  .products { grid-template-columns:1fr; }
  .product-visual { min-height:570px; }
  .product-copy { padding:5rem 8vw; }
  .section-head.compact { align-items:flex-start; }
}
@media (max-width: 700px) {
  .site-header { height:70px; padding:0 1.2rem; }
  .brand { width:42px; height:42px; }
  .mobile-nav { inset:70px 0 auto; height:calc(100svh - 70px); }
  .hero { height:760px; }
  .hero-shade { background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.08) 85%); }
  .hero-content { left:1.4rem; right:1.4rem; top:auto; bottom:8rem; transform:none; width:auto; }
  .hero h1 { font-size:3.8rem; }
  .hero-content > p { font-size:.76rem; margin:1.6rem 0; }
  .hero-cta-row { flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .hero-meta { display:none; }
  .hero-rail,.scroll-cue { display:none; }
  .hero-controls { left:1.4rem; right:auto; bottom:2rem; }
  .section { padding:5.5rem 1.4rem; }
  .eyebrow { margin-bottom:1.3rem; }
  h2 { font-size:2.75rem; }
  .stats { margin-top:4rem; }
  .stats strong { font-size:2.2rem; }
  .stats div,.stats div:not(:first-child) { padding:1.2rem .7rem 0; }
  .light-experience { height:240vh; }
  .light-experience-sticky { min-height:600px; }
  .light-scene img { object-position:51% center; }
  .light-demo-copy { left:1.4rem; right:1.4rem; top:17%; width:auto; }
  .light-demo-copy h2 { font-size:3.7rem; }
  .light-demo-copy p { max-width:330px; font-size:.72rem; }
  .light-readout { top:auto; right:1.4rem; bottom:9rem; }
  .light-readout-index { font-size:1.5rem; }
  .light-controller { left:1.4rem; right:1.4rem; bottom:3.3rem; }
  .light-scroll-note { display:none; }
  .light-beams i { width:22%; }
  .light-beams i:nth-child(1) { left:6%; }
  .light-beams i:nth-child(2) { left:39%; width:22%; }
  .light-beams i:nth-child(3) { right:6%; }
  .section-head { align-items:flex-start; margin-bottom:2.7rem; }
  .circle-link { width:70px; height:70px; flex:none; }
  .circle-link span { display:none; }
  .project-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:1rem; }
  .project-card,.project-featured { min-width:82vw; height:430px; scroll-snap-align:start; }
  .product-visual { min-height:440px; }
  .active-product-image { width:78%; }
  .product-copy { padding:4.5rem 1.4rem; }
  .product-tabs { gap:1.1rem; overflow-x:auto; margin-bottom:3rem; }
  .product-specs { grid-template-columns:1fr; }
  .product-specs li,.product-specs li+li { padding:1rem 0; border-left:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .section-head.compact { display:block; }
  .section-head.compact > p { width:auto; margin-top:1.5rem; }
  .category-item { grid-template-columns:30px 58px 1fr 22px; gap:1rem; min-height:105px; }
  .category-thumb { width:54px; height:54px; }
  .category-item p { display:none; }
  .category-item h3 { font-size:1.25rem; }
  .expertise { height:680px; }
  .expertise-content { left:1.4rem; right:1.4rem; }
  .expertise-tags { left:1.4rem; right:auto; overflow:hidden; max-width:calc(100% - 2.8rem); }
  .expertise-tags span { white-space:nowrap; }
  .cta { min-height:500px; }
  .cta h2 { font-size:4rem; }
  footer { padding:4rem 1.4rem 1.5rem; }
  .footer-top { grid-template-columns:1fr; gap:2rem; }
  .footer-contact { align-items:flex-start; }
  .footer-links { grid-template-columns:repeat(2,1fr); }
  .footer-bottom { flex-direction:column; gap:.7rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* Interior pages */
.inner-body { background:#f2f0eb; }
.inner-header { background:#0a0a0a; }
.page-hero { min-height:520px; padding:10.5rem 8.5vw 5rem; color:white; background:#0a0a0a; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.page-hero::after { content:""; position:absolute; width:55vw; height:55vw; border:1px solid rgba(255,92,0,.22); border-radius:50%; right:-15vw; top:-28vw; }
.page-hero.product-hero { min-height:0; height:360px; padding:7.25rem 8.5vw 2.25rem; background:radial-gradient(circle at 75% 45%,#391307 0,transparent 35%),#090909; }
.product-hero .page-hero-content { width:100%; max-width:none; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr); grid-template-rows:auto auto; column-gap:8vw; align-items:end; }
.product-hero .breadcrumb { display:none; }
.product-hero .eyebrow { margin-bottom:.7rem; }
.product-hero h1 { grid-column:1; grid-row:2; font-size:clamp(3.2rem,4.3vw,4.5rem); line-height:.9; }
.product-hero p { grid-column:2; grid-row:2; margin:0 0 .25rem; }
.page-hero.project-page-hero { background:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.25)),url('/assets/project-concert-hall.jpg') center/cover; }
.page-hero-content { position:relative; z-index:2; max-width:960px; }
.page-hero h1 { font-family:var(--display); font-size:clamp(4rem,8vw,8.5rem); letter-spacing:-.06em; font-weight:500; line-height:.86; margin:0; }
.page-hero p { width:min(620px,100%); color:rgba(255,255,255,.68); line-height:1.8; font-size:.85rem; margin:2rem 0 0; }
.breadcrumb { position:absolute; z-index:2; top:7rem; left:8.5vw; display:flex; gap:.7rem; color:rgba(255,255,255,.48); text-transform:uppercase; letter-spacing:.1em; font-size:.55rem; }
.breadcrumb a:hover { color:var(--orange); }
.page-main { padding:6rem 8.5vw 8rem; }
.page-intro { display:grid; grid-template-columns:1fr 1fr; gap:8vw; margin-bottom:5rem; align-items:start; }
.page-intro h2 { font-size:clamp(2.8rem,5vw,5.2rem); }
.page-intro p { color:#5f5d58; line-height:1.85; font-size:.86rem; margin:0; }
.product-hero + .page-main { padding-top:3.75rem; }
.product-hero + .page-main .page-intro { margin-bottom:3.25rem; align-items:end; }
.product-hero + .page-main .page-intro h2 { font-size:clamp(2.6rem,4vw,4.2rem); }
.filter-bar { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:2.5rem; }
.filter-button { border:1px solid var(--line); background:transparent; padding:.78rem 1.1rem; cursor:pointer; text-transform:uppercase; letter-spacing:.09em; font-size:.56rem; transition:.2s; }
.filter-button:hover,.filter-button.active { background:var(--ink); color:white; border-color:var(--ink); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.catalog-card { background:#fff; min-height:480px; position:relative; display:flex; flex-direction:column; overflow:hidden; }
.catalog-card[hidden] { display:none; }
.catalog-image { height:310px; background:#0a0a0a; overflow:hidden; display:grid; place-items:center; position:relative; }
.catalog-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.catalog-card.product-card .catalog-image img { width:auto; height:auto; max-width:78%; max-height:78%; object-fit:contain; object-position:center; }
.catalog-card:hover .catalog-image img { transform:scale(1.04); }
.catalog-label { position:absolute; top:1rem; left:1rem; padding:.42rem .6rem; background:var(--orange); color:white; text-transform:uppercase; letter-spacing:.09em; font-size:.48rem; z-index:2; }
.catalog-body { padding:1.6rem; display:flex; flex:1; flex-direction:column; }
.catalog-body small { color:var(--orange); text-transform:uppercase; letter-spacing:.11em; font-size:.52rem; }
.catalog-body h2,.catalog-body h3 { font-family:var(--display); font-size:1.65rem; line-height:1.1; font-weight:500; margin:.65rem 0; letter-spacing:-.035em; }
.catalog-body p { color:var(--muted); font-size:.7rem; line-height:1.65; margin:0 0 1.4rem; }
.catalog-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--line); margin-top:auto; padding-top:1rem; text-transform:uppercase; letter-spacing:.1em; font-size:.56rem; }
.catalog-link b { color:var(--orange); font-size:1rem; font-weight:400; }
.detail-hero { min-height:760px; display:grid; grid-template-columns:1fr 1fr; background:#090909; color:white; padding-top:84px; }
.detail-visual { position:relative; min-height:676px; display:grid; place-items:center; background:radial-gradient(circle,#3a1508 0,transparent 48%); border-right:1px solid rgba(255,255,255,.1); overflow:hidden; }
.detail-visual img { width:min(620px,78%); max-height:610px; object-fit:contain; position:relative; z-index:2; }
.detail-content { padding:7rem 6vw; display:flex; flex-direction:column; justify-content:center; }
.detail-content h1 { font-family:var(--display); font-size:clamp(3.8rem,6vw,7rem); line-height:.86; letter-spacing:-.06em; font-weight:500; margin:0 0 2rem; }
.detail-content > p { color:rgba(255,255,255,.65); line-height:1.8; font-size:.82rem; max-width:570px; }
.feature-pills { display:flex; flex-wrap:wrap; gap:.5rem; padding:0; list-style:none; margin:2rem 0; }
.feature-pills li { border:1px solid rgba(255,255,255,.25); border-radius:2rem; padding:.7rem .9rem; font-size:.53rem; letter-spacing:.08em; text-transform:uppercase; }
.spec-section { padding:7rem 8.5vw; }
.spec-layout { display:grid; grid-template-columns:.65fr 1.35fr; gap:8vw; align-items:start; }
.spec-sticky { position:sticky; top:110px; }
.spec-sticky h2 { font-size:clamp(3rem,5vw,5rem); }
.spec-table { border-top:1px solid var(--line); }
.spec-group { margin-bottom:3.5rem; }
.spec-group h3 { font-family:var(--display); font-size:1.55rem; font-weight:500; margin:0 0 1.1rem; }
.spec-row { display:grid; grid-template-columns:1fr 1.35fr; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.72rem; }
.spec-row span:first-child { color:var(--muted); }
.download-list { border-top:1px solid var(--line); }
.download-row { display:grid; grid-template-columns:50px 1fr auto; align-items:center; gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }
.download-row i { font-style:normal; color:var(--orange); font-size:.58rem; }
.download-row strong { font-family:var(--display); font-weight:500; }
.download-row a { text-transform:uppercase; letter-spacing:.09em; font-size:.55rem; border:1px solid var(--line); padding:.7rem .9rem; }
.download-row a:hover { background:var(--ink); color:white; }
.case-hero { height:760px; position:relative; color:white; display:flex; align-items:flex-end; padding:0 8.5vw 6rem; overflow:hidden; }
.case-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.case-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 65%); }
.case-hero-content { position:relative; z-index:2; }
.case-hero h1 { font-family:var(--display); font-size:clamp(4rem,8vw,8rem); line-height:.9; letter-spacing:-.06em; font-weight:500; margin:.5rem 0 0; }
.case-story { padding:7rem 14vw; background:var(--paper); }
.case-lead { font-family:var(--display); font-size:clamp(1.8rem,3.5vw,3.7rem); line-height:1.25; letter-spacing:-.035em; margin:0 0 5rem; }
.story-grid { display:grid; grid-template-columns:220px 1fr; gap:5vw; padding:2.5rem 0; border-top:1px solid var(--line); }
.story-grid h2 { font-size:1.3rem; letter-spacing:-.02em; }
.story-grid p { color:#55534f; line-height:1.9; font-size:.83rem; margin:0 0 1rem; }
.story-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); margin:5rem 0 0; }
.story-metrics div { background:#dedbd5; padding:2rem; }
.story-metrics strong { font-family:var(--display); display:block; font-size:2rem; font-weight:500; }
.story-metrics span { font-size:.52rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.company-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:5rem; }
.company-grid article { background:var(--paper); padding:2.4rem; min-height:260px; }
.company-grid span { color:var(--orange); font-size:.6rem; }
.company-grid h3 { font-family:var(--display); font-size:1.6rem; font-weight:500; }
.company-grid p { color:var(--muted); font-size:.74rem; line-height:1.75; }
.contact-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; }
.contact-details h2,.form-card h2 { font-size:clamp(2.7rem,4vw,4.4rem); }
.contact-block { margin:2.7rem 0; }
.contact-block small { display:block; color:var(--orange); text-transform:uppercase; letter-spacing:.12em; font-size:.54rem; margin-bottom:.6rem; }
.contact-block p,.contact-block a { color:#55534f; font-size:.8rem; line-height:1.8; }
.form-card { background:#dedbd5; padding:3.5rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:flex; flex-direction:column; gap:.5rem; }
.field.full { grid-column:1/-1; }
.field label { font-size:.54rem; text-transform:uppercase; letter-spacing:.1em; }
.field input,.field textarea,.field select { border:0; border-bottom:1px solid #aaa7a0; background:transparent; padding:.8rem 0; border-radius:0; font:inherit; font-size:.78rem; }
.field textarea { min-height:120px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { outline:0; border-color:var(--orange); }
.form-card button { border:0; margin-top:1.5rem; cursor:pointer; }
.form-status { margin-top:1.2rem; color:#3f6338; font-size:.72rem; line-height:1.6; }
.local-note { padding:.9rem 1rem; border-left:2px solid var(--orange); background:rgba(255,92,0,.08); font-size:.67rem; line-height:1.6; margin-bottom:2rem; }
.language { display:inline-flex; align-items:center; }
.simple-news { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.news-card { border-top:1px solid var(--line); padding-top:1.3rem; }
.news-card time { color:var(--orange); font-size:.53rem; letter-spacing:.1em; text-transform:uppercase; }
.news-card h2 { font-size:1.6rem; margin:1rem 0; }
.news-card p { color:var(--muted); font-size:.72rem; line-height:1.7; }

@media(max-width:980px){
  .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .detail-hero { grid-template-columns:1fr; padding-top:70px; }
  .detail-visual { min-height:560px; }
  .detail-content { padding:5rem 8vw; }
  .spec-layout,.contact-layout { grid-template-columns:1fr; }
  .spec-sticky { position:static; }
  .story-metrics { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:700px){
  .page-hero { min-height:470px; padding:9rem 1.4rem 4rem; }
  .page-hero h1 { font-size:4rem; }
  .page-hero.product-hero { height:auto; min-height:330px; padding:6.5rem 1.4rem 2rem; }
  .product-hero .page-hero-content { display:block; }
  .product-hero h1 { font-size:2.8rem; }
  .product-hero p { margin-top:1rem; font-size:.74rem; line-height:1.65; }
  .breadcrumb { top:6.3rem; left:1.4rem; }
  .product-hero .breadcrumb { top:5.4rem; }
  .page-main,.spec-section { padding:4.5rem 1.4rem; }
  .product-hero + .page-main { padding-top:3rem; }
  .page-intro { grid-template-columns:1fr; gap:2rem; }
  .catalog-grid { grid-template-columns:1fr; }
  .catalog-card { min-height:430px; }
  .detail-visual { min-height:430px; }
  .detail-content { padding:4.5rem 1.4rem; }
  .detail-content h1 { font-size:3.8rem; }
  .spec-row { grid-template-columns:1fr; gap:.35rem; }
  .case-hero { height:650px; padding:0 1.4rem 4rem; }
  .case-story { padding:4.5rem 1.4rem; }
  .story-grid { grid-template-columns:1fr; gap:1rem; }
  .story-metrics,.company-grid,.simple-news { grid-template-columns:1fr; }
  .form-card { padding:2rem 1.3rem; }
  .form-grid { grid-template-columns:1fr; }
  .download-row { grid-template-columns:35px 1fr; }
  .download-row a { grid-column:2; justify-self:start; }
}
