
:root{
  --black:#000;
  --black-soft:#090909;
  --surface:#111113;
  --surface-2:#171719;
  --white:#fff;
  --paper:#f5f5f7;
  --paper-2:#fbfbfd;
  --text:#1d1d1f;
  --muted:#6e6e73;
  --muted-light:#a1a1a6;
  --orange:#d4a63a;
  --orange-light:#f1cd72;
  --blue:#d4a63a;
  --line-dark:rgba(255,255,255,.13);
  --line:rgba(0,0,0,.12);
  --nav-height:88px;
  --max:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{
  min-width:320px;
  overflow-x:hidden;
  color:var(--text);
  background:var(--white);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img,svg{display:block;max-width:100%}
::selection{color:#1d1d1f;background:#f4e2b6}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.site-header{
  position:fixed;
  z-index:1000;
  inset:0 0 auto;
  height:var(--nav-height);
  border-bottom:1px solid var(--line-dark);
  color:#f5f5f7;
  background:rgba(0,0,0,.82);
  backdrop-filter:saturate(180%) blur(22px);
  -webkit-backdrop-filter:saturate(180%) blur(22px);
  transition:background .25s ease,box-shadow .25s ease;
}
.site-header.scrolled{
  background:rgba(0,0,0,.92);
  box-shadow:0 12px 40px rgba(0,0,0,.16);
}
.nav-shell{
  display:flex;
  width:min(calc(100% - 48px),1380px);
  height:100%;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  margin-inline:auto;
}
.site-logo{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:11px;
  font-size:19px;
  font-weight:700;
  letter-spacing:.12em;
}
.logo-symbol{
  position:relative;
  width:34px;
  height:34px;
  border:2px solid currentColor;
  border-radius:50%;
}
.logo-symbol::before{
  position:absolute;
  inset:7px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  content:"";
}
.logo-symbol::after{
  position:absolute;
  top:50%;
  right:-6px;
  width:18px;
  height:2px;
  border-radius:2px;
  background:var(--orange);
  box-shadow:0 0 12px rgba(255,159,10,.85);
  transform:translateY(-50%);
  content:"";
}
.main-nav{height:100%}
.nav-list{
  display:flex;
  height:100%;
  align-items:center;
  gap:clamp(22px,2.45vw,43px);
  list-style:none;
}
.nav-list a{
  position:relative;
  display:flex;
  height:100%;
  align-items:center;
  color:#e5e5e7;
  font-size:15px;
  font-weight:650;
  letter-spacing:-.01em;
  white-space:nowrap;
  transition:color .22s ease;
}
.nav-list a::after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:2px;
  background:var(--orange);
  opacity:0;
  transform:scaleX(.35);
  content:"";
  transition:opacity .22s ease,transform .22s ease;
}
.nav-list a:hover,.nav-list a[aria-current="page"]{color:#fff}
.nav-list a:hover::after,.nav-list a[aria-current="page"]::after{opacity:1;transform:scaleX(1)}
.header-cta{
  display:inline-flex;
  min-height:40px;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
  padding:0 18px;
  border-radius:999px;
  color:#17110a;
  background:var(--orange);
  font-size:13px;
  font-weight:700;
  transition:background .22s ease,transform .22s ease;
}
.header-cta:hover{background:var(--orange-light);transform:translateY(-2px)}
.header-cta svg{width:15px}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line-dark);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}
.menu-toggle span,.menu-toggle span::before{
  display:block;
  width:19px;
  height:1px;
  background:currentColor;
  transition:transform .25s ease;
}
.menu-toggle span{position:relative;transform:translateY(-3px)}
.menu-toggle span::before{position:absolute;left:0;content:"";transform:translateY(6px)}
.menu-toggle.active span{transform:rotate(45deg)}
.menu-toggle.active span::before{transform:rotate(-90deg)}
.mobile-nav{
  position:fixed;
  z-index:990;
  inset:var(--nav-height) 0 0;
  display:flex;
  flex-direction:column;
  padding:36px 28px 50px;
  color:#fff;
  background:rgba(0,0,0,.985);
  opacity:0;
  visibility:hidden;
  transform:translateY(-14px);
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
}
.mobile-nav.open{opacity:1;visibility:visible;transform:none}
.mobile-nav a{
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
  font-size:clamp(26px,8vw,38px);
  font-weight:700;
  letter-spacing:-.045em;
}
.mobile-nav a[aria-current="page"]{color:var(--orange-light)}
.mobile-nav .mobile-contact{
  display:inline-flex;
  width:max-content;
  margin-top:25px;
  padding:11px 18px;
  border:0;
  border-radius:999px;
  color:#17110a;
  background:var(--orange);
  font-size:17px;
  font-weight:700;
}

/* Shared type & buttons */
.eyebrow{
  color:var(--orange);
  font-size:15px;
  font-weight:700;
  letter-spacing:.02em;
}
.display-title{
  font-size:clamp(53px,8.5vw,112px);
  font-weight:750;
  letter-spacing:-.07em;
  line-height:.88;
}
.section-title{
  font-size:clamp(43px,6.2vw,76px);
  font-weight:730;
  letter-spacing:-.06em;
  line-height:.98;
}
.body-large{
  color:var(--muted);
  font-size:clamp(19px,2vw,25px);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.4;
}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}
.button{
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 23px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:16px;
  font-weight:650;
  transition:transform .25s ease,background .25s ease,border-color .25s ease,color .25s ease;
}
.button:hover{transform:translateY(-2px)}
.button-primary{color:#17110a;background:var(--orange)}
.button-primary:hover{background:var(--orange-light)}
.button-dark{color:#fff;background:#1d1d1f}
.button-dark:hover{background:#343438}
.button-outline{border-color:rgba(255,255,255,.28);color:#fff}
.button-outline:hover{border-color:var(--orange);color:var(--orange-light)}
.button-light-outline{border-color:rgba(0,0,0,.18);color:var(--text)}
.button-light-outline:hover{border-color:#1d1d1f}
.text-link{color:#648f36;font-size:18px}
.text-link::after{margin-left:.28em;content:"›";font-size:1.2em}
.text-link:hover{text-decoration:underline}

/* Homepage */
.home-hero{
  position:relative;
  min-height:980px;
  overflow:hidden;
  padding:calc(var(--nav-height) + 88px) 24px 0;
  color:#f5f5f7;
  background:
    radial-gradient(circle at 50% 56%,rgba(255,159,10,.17),transparent 18%),
    radial-gradient(circle at 50% 77%,rgba(255,117,0,.11),transparent 34%),
    #000;
  text-align:center;
  isolation:isolate;
}
.home-hero-copy{position:relative;z-index:4;width:min(100%,1060px);margin-inline:auto}
.home-hero .eyebrow{font-size:clamp(18px,1.6vw,22px)}
.home-hero h1{margin-top:12px}
.gradient-text{
  display:block;
  color:transparent;
  background:linear-gradient(90deg,#fff 8%,#ffe8bc 43%,#d4a63a 72%,#fff4dc 100%);
  -webkit-background-clip:text;
  background-clip:text;
}
.home-hero-sub{
  max-width:780px;
  margin:27px auto 0;
  color:#d2d2d7;
  font-size:clamp(21px,2.4vw,31px);
  letter-spacing:-.03em;
  line-height:1.18;
}
.home-hero .actions{justify-content:center}
.hero-light{
  position:absolute;
  z-index:1;
  right:50%;
  bottom:-64px;
  width:min(1080px,108vw);
  aspect-ratio:1.45;
  transform:translate3d(50%,var(--hero-y,0),0) scale(var(--hero-scale,1));
  will-change:transform;
  pointer-events:none;
}
.hero-light svg{width:100%;height:100%}
.hero-orbit{
  position:absolute;
  top:17%;
  left:50%;
  width:67%;
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  transform:translateX(-50%) rotate(-12deg);
}
.hero-orbit::before{
  position:absolute;
  top:11%;
  left:13%;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 18px rgba(255,255,255,.9);
  content:"";
}
.hero-floor{
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  height:150px;
  background:linear-gradient(to bottom,transparent,#000 88%);
}
.home-intro{padding:145px 24px;background:#fff}
.home-intro-inner{width:min(100%,1010px);margin-inline:auto}
.home-intro h2{margin-top:16px}
.home-intro h2 span{color:#86868b}
.home-intro-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:76px;
  margin-top:56px;
}
.intro-points{display:grid;gap:20px}
.intro-point{padding-top:17px;border-top:1px solid #d2d2d7}
.intro-point strong{display:block;font-size:19px;letter-spacing:-.025em}
.intro-point span{display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.4}
.showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  padding:0 12px 12px;
  background:#fff;
}
.showcase-card{
  position:relative;
  min-height:700px;
  overflow:hidden;
  padding:70px 28px 0;
  text-align:center;
  isolation:isolate;
}
.showcase-card.wide{grid-column:span 2;min-height:790px}
.showcase-card.dark{color:#f5f5f7;background:#000}
.showcase-card.light{color:var(--text);background:#f5f5f7}
.showcase-card.blue{color:#f5f5f7;background:linear-gradient(180deg,#06080d,#0b1423)}
.showcase-copy{position:relative;z-index:3;width:min(100%,850px);margin-inline:auto}
.showcase-card h3{font-size:clamp(42px,5vw,68px);font-weight:730;letter-spacing:-.06em;line-height:.98}
.showcase-card p{margin-top:14px;color:#a1a1a6;font-size:clamp(19px,2vw,26px);letter-spacing:-.03em}
.showcase-card.light p{color:#424245}
.showcase-card .actions{justify-content:center;margin-top:22px}
.showcase-art{
  position:absolute;
  right:50%;
  bottom:-2%;
  width:min(760px,94%);
  height:62%;
  transform:translateX(50%);
}
.showcase-card.wide .showcase-art{width:min(1200px,100%);height:58%}
.showcase-art svg{width:100%;height:100%}
.home-purpose{
  position:relative;
  display:grid;
  min-height:760px;
  place-items:center;
  overflow:hidden;
  padding:110px 24px;
  color:#f5f5f7;
  background:
    radial-gradient(circle at 50% 72%,rgba(255,159,10,.2),transparent 24%),
    #000;
  text-align:center;
}
.home-purpose-copy{position:relative;z-index:3;width:min(100%,950px)}
.home-purpose h2 span{display:block;color:transparent;background:linear-gradient(90deg,#fff,#ffce7a,#d4a63a);-webkit-background-clip:text;background-clip:text}
.home-purpose p{max-width:740px;margin:23px auto 0;color:#a1a1a6;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.03em;line-height:1.32}
.purpose-ring{
  position:absolute;
  left:50%;
  bottom:-395px;
  width:min(850px,96vw);
  aspect-ratio:1;
  border:78px solid #171719;
  border-radius:50%;
  box-shadow:inset 0 0 0 6px #454549,inset 0 0 48px rgba(255,255,255,.12),0 -12px 70px rgba(255,159,10,.22);
  transform:translateX(-50%);
}
.purpose-ring::before{
  position:absolute;
  inset:45px;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0%,#fff3d2 23%,#ffc76e 48%,#d4a63a 71%,#2d481c 100%);
  box-shadow:0 0 95px rgba(255,159,10,.43);
  content:"";
}
.product-lineup{padding:120px 0 125px;overflow:hidden;background:#f5f5f7}
.lineup-head{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.lineup-head p{max-width:720px;margin-top:18px}
.card-scroller{
  display:flex;
  gap:20px;
  overflow-x:auto;
  margin-top:50px;
  padding:0 max(24px,calc((100vw - var(--max))/2)) 28px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.card-scroller::-webkit-scrollbar{display:none}
.product-tile{
  position:relative;
  flex:0 0 min(410px,calc(100vw - 48px));
  min-height:560px;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 8px 30px rgba(0,0,0,.08);
  scroll-snap-align:start;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.product-tile:hover{transform:scale(1.012);box-shadow:0 20px 50px rgba(0,0,0,.14)}
.product-tile.dark{color:#f5f5f7;background:#000}
.product-tile.light{background:#fff}
.product-tile.warm{background:linear-gradient(160deg,#f8f3ef,#dfd0c6)}
.product-tile.blue{color:#f5f5f7;background:linear-gradient(160deg,#08101d,#122b52)}
.tile-copy{position:relative;z-index:3;padding:33px 33px 0}
.tile-copy small{display:block;margin-bottom:8px;color:#5d8d30;font-size:14px;font-weight:700}
.product-tile.dark small,.product-tile.blue small{color:#9ed15f}
.tile-copy h3{font-size:clamp(31px,3.2vw,42px);font-weight:730;letter-spacing:-.05em;line-height:1}
.tile-copy p{max-width:310px;margin-top:10px;color:var(--muted);font-size:17px;line-height:1.32}
.product-tile.dark p,.product-tile.blue p{color:#a1a1a6}
.tile-copy .text-link{display:inline-flex;margin-top:17px;font-size:17px}
.tile-art{position:absolute;right:0;bottom:0;left:0;height:58%}
.tile-art svg{width:100%;height:100%}
.home-projects{padding:120px 0 12px;background:#fff}
.projects-head{width:min(calc(100% - 48px),var(--max));margin:0 auto 50px}
.projects-head p{max-width:700px;margin-top:18px}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px}
.project-card{
  position:relative;
  min-height:610px;
  overflow:hidden;
  color:#fff;
  background:#101113;
  isolation:isolate;
}
.project-card.wide{grid-column:span 2;min-height:690px}
.scene{position:absolute;inset:0;transition:transform .8s var(--ease)}
.project-card:hover .scene{transform:scale(1.035)}
.scene-hospitality{
  background:
    linear-gradient(to top,rgba(0,0,0,.92),transparent 47%),
    radial-gradient(circle at 50% 28%,rgba(255,197,102,.42),transparent 12%),
    linear-gradient(120deg,#0e0f12 0 18%,#2a241e 18% 34%,#17181b 34% 62%,#3c2c20 62% 74%,#111216 74%);
}
.scene-hospitality::before{
  position:absolute;top:12%;left:50%;width:160px;height:330px;border-radius:50%;
  background:linear-gradient(180deg,#2e251c,#0f1012);
  box-shadow:-260px 40px 0 -20px #17181a,260px 40px 0 -20px #17181a,0 0 90px rgba(255,170,40,.22);
  transform:translateX(-50%);content:"";
}
.scene-office{background:linear-gradient(to top,rgba(0,0,0,.88),transparent 50%),linear-gradient(135deg,#11151b,#202631 45%,#0d1015)}
.scene-office::before{
  position:absolute;top:13%;left:8%;width:84%;height:16px;border-radius:999px;background:#dff5ff;
  box-shadow:0 74px 0 #dff5ff,0 148px 0 #dff5ff,0 0 34px rgba(105,201,255,.55),0 74px 34px rgba(105,201,255,.4),0 148px 34px rgba(105,201,255,.3);
  content:"";transform:perspective(500px) rotateX(55deg);
}
.scene-outdoor{background:linear-gradient(to top,rgba(0,0,0,.92),transparent 55%),radial-gradient(circle at 78% 17%,rgba(141,189,255,.25),transparent 13%),linear-gradient(180deg,#06111f,#0a1827 45%,#111)}
.scene-outdoor::before{
  position:absolute;right:12%;bottom:18%;width:44px;height:240px;border-radius:18px;
  background:linear-gradient(90deg,#0b0c0d,#5a6067,#0a0b0c);
  box-shadow:-240px 80px 0 -8px #17191b,-450px 40px 0 -12px #17191b;content:"";
}
.scene-outdoor::after{
  position:absolute;right:calc(12% + 7px);bottom:42%;width:30px;height:86px;border-radius:9px;background:#ffd58f;
  box-shadow:-240px 80px 35px rgba(255,159,10,.25),-450px 40px 35px rgba(255,159,10,.2),0 0 42px rgba(255,159,10,.45);content:"";
}
.project-copy{position:absolute;z-index:3;right:32px;bottom:31px;left:32px}
.project-copy small{color:#9ed15f;font-size:14px;font-weight:700}
.project-copy h3{margin-top:8px;font-size:clamp(34px,4vw,54px);font-weight:730;letter-spacing:-.05em;line-height:1}
.project-copy p{max-width:540px;margin-top:10px;color:#d2d2d7;font-size:17px;line-height:1.4}
.home-closing{
  position:relative;
  display:grid;
  min-height:720px;
  place-items:center;
  overflow:hidden;
  padding:110px 24px;
  background:radial-gradient(circle at 50% 68%,rgba(255,159,10,.24),transparent 24%),linear-gradient(180deg,#fff,#f4eee9);
  text-align:center;
  isolation:isolate;
}
.home-closing-copy{position:relative;z-index:3;width:min(100%,870px)}
.home-closing p{max-width:660px;margin:20px auto 0}
.home-closing .actions{justify-content:center}
.closing-orb{
  position:absolute;right:50%;bottom:-250px;width:min(700px,88vw);aspect-ratio:1;border:46px solid #171719;border-radius:50%;
  box-shadow:inset 0 0 0 5px #4b4b4e,inset 0 0 32px rgba(255,255,255,.12),0 -10px 62px rgba(255,159,10,.2);
  transform:translateX(50%);
}
.closing-orb::after{
  position:absolute;inset:38px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#fff4d4 25%,#ffc66f 50%,#d4a63a 72%,#2d481c 100%);
  box-shadow:0 0 90px rgba(255,159,10,.4);content:"";
}

/* Inner pages */
.page-hero{
  position:relative;
  display:grid;
  min-height:700px;
  place-items:center;
  overflow:hidden;
  padding:calc(var(--nav-height) + 70px) 24px 70px;
  color:#f5f5f7;
  background:#000;
  text-align:center;
  isolation:isolate;
}
.page-hero::before{
  position:absolute;
  inset:-20%;
  z-index:-2;
  background:radial-gradient(circle at 50% 50%,rgba(255,159,10,.18),transparent 26%);
  content:"";
}
.page-hero-content{width:min(100%,1020px)}
.page-hero .display-title{margin-top:15px}
.page-hero p{max-width:760px;margin:26px auto 0;color:#a1a1a6;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.03em;line-height:1.32}
.page-hero .actions{justify-content:center}
.page-orb{
  position:absolute;
  right:50%;
  bottom:-470px;
  width:min(850px,100vw);
  aspect-ratio:1;
  border:76px solid #171719;
  border-radius:50%;
  box-shadow:inset 0 0 0 5px #4a4a4d,0 -8px 60px rgba(255,159,10,.2);
  transform:translateX(50%);
}
.page-orb::after{
  position:absolute;
  inset:42px;
  border-radius:50%;
  background:radial-gradient(circle,#fff,#ffe1a9 40%,#d4a63a 70%,#2d481c);
  box-shadow:0 0 90px rgba(255,159,10,.4);
  content:"";
}
.content-section{padding:120px 24px;background:#fff}
.content-section.soft{background:#f5f5f7}
.content-section.dark{color:#f5f5f7;background:#000}
.section-head{width:min(100%,1000px);margin-inline:auto;text-align:center}
.section-head .section-title{margin-top:14px}
.section-head .body-large{max-width:760px;margin:22px auto 0}
.section-head.dark .body-large{color:#a1a1a6}
.split{
  display:grid;
  width:min(100%,var(--max));
  grid-template-columns:repeat(2,1fr);
  align-items:center;
  gap:72px;
  margin:64px auto 0;
}
.split.reverse .split-media{order:2}
.split-copy h3{font-size:clamp(35px,4.5vw,58px);font-weight:730;letter-spacing:-.055em;line-height:1}
.split-copy p{margin-top:20px;color:var(--muted);font-size:19px;line-height:1.5}
.dark .split-copy p{color:#a1a1a6}
.split-media{
  position:relative;
  min-height:500px;
  overflow:hidden;
  border-radius:28px;
  background:#111113;
  box-shadow:0 20px 60px rgba(0,0,0,.12);
}
.split-media.light{background:#fff}
.split-media .media-center{position:absolute;inset:10%;display:grid;place-items:center}
.split-media svg{width:100%;height:100%}
.value-grid,.tech-grid,.purpose-grid{
  display:grid;
  width:min(100%,var(--max));
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:62px auto 0;
}
.value-card,.tech-card,.purpose-card{
  min-height:310px;
  padding:32px;
  border-radius:26px;
  background:#fff;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
}
.dark .value-card,.dark .tech-card,.dark .purpose-card{background:#161617}
.card-number{color:var(--orange);font-size:14px;font-weight:700}
.card-icon{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  margin-top:38px;
  border-radius:50%;
  color:#111;
  background:var(--paper);
}
.card-icon svg{width:23px}
.value-card h3,.tech-card h3,.purpose-card h3{margin-top:23px;font-size:22px;letter-spacing:-.03em}
.value-card p,.tech-card p,.purpose-card p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.45}
.dark .value-card p,.dark .tech-card p,.dark .purpose-card p{color:#a1a1a6}
.stats-band{padding:90px 24px;color:#f5f5f7;background:#000}
.stats-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(3,1fr);margin-inline:auto}
.stat{padding:30px;border-right:1px solid var(--line-dark);text-align:center}
.stat:last-child{border-right:0}
.stat strong{display:block;color:transparent;background:linear-gradient(90deg,#fff,#ffca75);-webkit-background-clip:text;background-clip:text;font-size:clamp(52px,7vw,86px);font-weight:750;letter-spacing:-.07em;line-height:1}
.stat span{display:block;margin-top:10px;color:#a1a1a6;font-size:15px}

/* Products page */
.filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:9px;
  margin-top:38px;
}
.filter-btn{
  min-height:42px;
  padding:0 18px;
  border:1px solid #d2d2d7;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  font-size:14px;
  font-weight:650;
  transition:.22s ease;
}
.filter-btn:hover,.filter-btn.active{border-color:#1d1d1f;color:#fff;background:#1d1d1f}
.catalog-grid{
  display:grid;
  width:min(100%,var(--max));
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:54px auto 0;
}
.catalog-card{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.07);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.catalog-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(0,0,0,.13)}
.catalog-card.hidden{display:none}
.catalog-art{display:grid;height:330px;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(255,159,10,.12),transparent 30%),#101113}
.catalog-art svg{width:78%;height:78%}
.catalog-info{padding:24px}
.catalog-info small{color:#5d8d30;font-size:13px;font-weight:700}
.catalog-info h3{margin-top:6px;font-size:23px;letter-spacing:-.035em}
.catalog-info p{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.45}

/* Projects page */
.projects-list{
  display:grid;
  width:min(100%,var(--max));
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin:60px auto 0;
}
.project-list-card{
  position:relative;
  min-height:540px;
  overflow:hidden;
  border-radius:28px;
  color:#fff;
  background:#111;
}
.project-list-card.large{grid-column:span 2;min-height:650px}
.project-list-card:hover .scene{transform:scale(1.04)}
.project-list-copy{position:absolute;z-index:3;right:30px;bottom:28px;left:30px}
.project-list-copy small{color:#9ed15f;font-weight:700}
.project-list-copy h3{margin-top:8px;font-size:clamp(34px,4vw,56px);font-weight:730;letter-spacing:-.05em}
.project-list-copy p{max-width:560px;margin-top:10px;color:#d2d2d7;font-size:16px;line-height:1.45}

/* Contact page */
.contact-layout{
  display:grid;
  width:min(100%,var(--max));
  grid-template-columns:.85fr 1.15fr;
  gap:62px;
  margin:65px auto 0;
}
.contact-details{display:grid;align-content:start;gap:14px}
.contact-card{
  padding:26px;
  border-radius:22px;
  background:#f5f5f7;
}
.contact-card small{color:var(--muted);font-size:13px;font-weight:650}
.contact-card strong,.contact-card a{display:block;margin-top:6px;font-size:20px;letter-spacing:-.025em}
.contact-form{
  display:grid;
  gap:16px;
  padding:34px;
  border-radius:28px;
  background:#f5f5f7;
}
.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:grid;gap:8px}
.field label{font-size:13px;font-weight:650}
.field input,.field textarea,.field select{
  width:100%;
  border:1px solid #d2d2d7;
  border-radius:14px;
  outline:none;
  background:#fff;
  padding:14px 15px;
  font-size:16px;
  transition:border .2s ease,box-shadow .2s ease;
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#6ea238;box-shadow:0 0 0 4px rgba(0,113,227,.12)}
.form-status{display:none;padding:13px 15px;border-radius:12px;color:#174d27;background:#e9f7ed;font-size:14px}
.form-status.show{display:block}

/* Footer */
.site-footer{color:#a1a1a6;background:#050505}
.footer-cta{
  padding:94px 24px;
  border-bottom:1px solid var(--line-dark);
  background:
    radial-gradient(circle at 82% 50%,rgba(255,159,10,.14),transparent 23%),
    #090909;
}
.footer-cta-inner{
  display:flex;
  width:min(100%,var(--max));
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-inline:auto;
}
.footer-cta h2{max-width:740px;color:#f5f5f7;font-size:clamp(40px,5.7vw,70px);font-weight:730;letter-spacing:-.06em;line-height:.98}
.footer-cta p{max-width:530px;margin-top:18px;font-size:17px;line-height:1.5}
.footer-main{
  display:grid;
  width:min(calc(100% - 48px),var(--max));
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:54px;
  margin-inline:auto;
  padding:70px 0 56px;
}
.footer-brand .site-logo{color:#fff}
.footer-brand p{max-width:360px;margin-top:22px;font-size:14px;line-height:1.55}
.newsletter{display:flex;max-width:370px;margin-top:24px;border-bottom:1px solid rgba(255,255,255,.25)}
.newsletter input{min-width:0;flex:1;border:0;outline:none;color:#fff;background:transparent;padding:12px 0;font-size:14px}
.newsletter input::placeholder{color:#7d7d82}
.newsletter button{border:0;background:transparent;color:#fff;cursor:pointer;padding:0 5px}
.newsletter button svg{width:19px}
.footer-col h3{margin-bottom:18px;color:#f5f5f7;font-size:13px}
.footer-col ul{display:grid;gap:11px;list-style:none}
.footer-col a{font-size:14px;transition:color .2s ease}
.footer-col a:hover{color:var(--orange-light)}
.footer-contact{display:grid;gap:8px;margin-top:19px}
.footer-bottom{
  display:flex;
  width:min(calc(100% - 48px),var(--max));
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-inline:auto;
  padding:24px 0;
  border-top:1px solid var(--line-dark);
  font-size:12px;
}
.footer-legal{display:flex;flex-wrap:wrap;gap:18px}
.footer-legal a:hover{color:#fff}

/* Animation */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.hero-in{animation:heroIn 1s var(--ease) both}
.hero-in.delay-1{animation-delay:.12s}
.hero-in.delay-2{animation-delay:.23s}
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Responsive */
@media(max-width:1180px){
  .nav-list{gap:22px}
  .nav-list a{font-size:14px}
  .header-cta{display:none}
}
@media(max-width:960px){
  :root{--nav-height:76px}
  .main-nav{display:none}
  .header-cta{display:none}
  .menu-toggle{display:inline-flex}
  .home-intro-grid,.split,.contact-layout{grid-template-columns:1fr}
  .split.reverse .split-media{order:0}
  .value-grid,.tech-grid,.purpose-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1.3fr 1fr 1fr}
  .footer-brand{grid-column:span 3}
}
@media(max-width:760px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .site-logo{font-size:17px}
  .logo-symbol{width:30px;height:30px}
  .home-hero{min-height:850px;padding-top:145px}
  .home-hero h1{font-size:58px}
  .hero-light{width:850px;bottom:-5px}
  .showcase-grid,.project-grid,.application-grid{grid-template-columns:1fr;padding-inline:10px;gap:10px}
  .showcase-card,.showcase-card.wide{grid-column:auto;min-height:660px}
  .showcase-art,.showcase-card.wide .showcase-art{width:690px;height:58%}
  .project-card,.project-card.wide{grid-column:auto;min-height:560px}
  .value-grid,.tech-grid,.purpose-grid,.catalog-grid,.projects-list{grid-template-columns:1fr}
  .project-list-card.large{grid-column:auto}
  .stats-grid{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line-dark)}
  .stat:last-child{border-bottom:0}
  .footer-cta-inner{align-items:flex-start;flex-direction:column}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:span 2}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:540px){
  .nav-shell{width:calc(100% - 28px)}
  .site-logo{letter-spacing:.07em}
  .home-hero{min-height:790px;padding-inline:14px;padding-top:132px}
  .home-hero h1{font-size:51px}
  .home-hero-sub{font-size:20px}
  .hero-light{width:680px;bottom:-4px}
  .home-intro,.content-section{padding:96px 22px}
  .section-title{font-size:43px}
  .display-title{font-size:53px}
  .showcase-card,.showcase-card.wide{min-height:620px;padding:58px 18px 0}
  .showcase-card h3{font-size:42px}
  .showcase-card p{font-size:19px}
  .purpose-ring{bottom:-280px;border-width:50px}
  .product-lineup{padding:95px 0 100px}
  .lineup-head,.projects-head,.applications-head{width:calc(100% - 44px)}
  .card-scroller{gap:14px;padding-inline:22px}
  .product-tile{min-height:530px;border-radius:22px}
  .project-card,.project-card.wide{min-height:520px}
  .page-hero{min-height:640px;padding-top:130px}
  .page-hero p{font-size:20px}
  .split{gap:38px;margin-top:45px}
  .split-media{min-height:400px}
  .value-grid,.tech-grid,.purpose-grid,.catalog-grid{grid-template-columns:1fr}
  .contact-form{padding:24px}
  .footer-main{grid-template-columns:1fr 1fr;gap:38px 25px}
  .footer-brand{grid-column:span 2}
  .footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

/* =========================================================
   Alignment, overlap and responsive QA fixes — July 2026
   ========================================================= */

/* Keep the logo, navigation and CTA optically centred. */
.nav-shell{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);
  align-items:center;
  gap:24px;
}
.site-logo{justify-self:start;min-width:0}
.main-nav{justify-self:center;min-width:0}
.header-cta{justify-self:end}
.nav-list{justify-content:center}

/* Prevent long hero titles and decorative artwork from colliding. */
.page-hero{
  min-height:700px;
  padding-top:calc(var(--nav-height) + 86px);
  padding-bottom:118px;
}
.page-hero-content{
  position:relative;
  z-index:3;
  width:min(100%,1120px);
  margin-inline:auto;
}
.page-hero .display-title{
  max-width:1120px;
  margin-inline:auto;
  font-size:clamp(50px,6.6vw,92px);
  line-height:.94;
  text-wrap:balance;
}
.page-hero p{
  position:relative;
  z-index:3;
  text-wrap:balance;
}
.page-orb{
  z-index:1;
  bottom:-650px;
  width:min(760px,78vw);
  border-width:62px;
  opacity:.78;
  pointer-events:none;
}
.page-orb::after{inset:36px}

/* Give the homepage copy its own clear first viewport. */
.home-hero-copy{z-index:5}
.home-hero .display-title{
  font-size:clamp(58px,8vw,104px);
  text-wrap:balance;
}
.home-hero-sub{text-wrap:balance}
.hero-light{
  bottom:-270px;
  width:min(980px,92vw);
}
.hero-floor{height:115px}

/* More stable repeated section alignments. */
.section-head{width:min(100%,1040px)}
.section-head .section-title{text-wrap:balance}
.split>*{min-width:0}
.showcase-copy,.home-purpose-copy,.home-closing-copy{min-width:0}
.project-copy,.project-list-copy{max-width:760px}
.catalog-info{min-height:150px}

/* Footer alignment and spacing. */
.footer-cta{position:relative;overflow:hidden}
.footer-cta::after{
  position:absolute;
  top:50%;
  right:-170px;
  width:390px;
  aspect-ratio:1;
  border:1px solid rgba(255,159,10,.18);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(255,159,10,.025),0 0 0 116px rgba(255,159,10,.018);
  transform:translateY(-50%);
  content:"";
  pointer-events:none;
}
.footer-cta-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
}
.footer-cta h2{max-width:780px;text-wrap:balance}
.footer-cta p{max-width:600px}
.footer-main{align-items:start}
.footer-brand,.footer-col{min-width:0}
.footer-col h3{letter-spacing:.01em}

/* Switch to the mobile header before tablet navigation becomes cramped. */
@media(max-width:1080px){
  :root{--nav-height:76px}
  .nav-shell{
    display:flex;
    width:min(calc(100% - 32px),var(--max));
  }
  .main-nav,.header-cta{display:none}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .mobile-nav{padding-top:30px}
}

@media(max-width:760px){
  .home-hero{
    min-height:830px;
    padding-top:132px;
  }
  .home-hero .display-title{font-size:clamp(50px,14.5vw,66px)}
  .home-hero-sub{max-width:570px}
  .hero-light{
    width:760px;
    bottom:-125px;
  }
  .hero-orbit{display:none}

  .page-hero{
    min-height:650px;
    padding-top:125px;
    padding-bottom:105px;
  }
  .page-hero .display-title{
    max-width:720px;
    font-size:clamp(45px,11vw,66px);
    line-height:.96;
  }
  .page-hero p{max-width:620px}
  .page-orb{
    bottom:-505px;
    width:min(590px,130vw);
    border-width:46px;
  }
  .page-orb::after{inset:28px}

  .footer-cta-inner{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
  }
  .footer-cta::after{right:-260px;opacity:.75}
  .footer-main{padding-top:58px}
}

@media(max-width:540px){
  .home-hero{
    min-height:790px;
    padding-top:123px;
  }
  .home-hero .display-title{font-size:50px}
  .home-hero-sub{font-size:19px;line-height:1.27}
  .home-hero .actions{
    width:min(100%,330px);
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    margin-inline:auto;
  }
  .home-hero .button{width:100%}
  .hero-light{
    width:650px;
    bottom:-105px;
  }

  .page-hero{min-height:620px;padding-inline:20px}
  .page-hero .display-title{font-size:45px}
  .page-hero p{font-size:19px;line-height:1.36}
  .page-hero .actions{
    width:min(100%,330px);
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    margin-inline:auto;
  }
  .page-hero .button{width:100%}
  .page-orb{bottom:-455px;width:540px;border-width:40px}

  .showcase-card,.showcase-card.wide{min-height:590px}
  .showcase-art,.showcase-card.wide .showcase-art{width:610px;height:55%}
  .project-card,.project-card.wide{min-height:500px}
  .project-copy,.project-list-copy{right:24px;bottom:24px;left:24px}

  .footer-cta{padding:74px 22px}
  .footer-cta h2{font-size:40px}
  .footer-cta .button{width:100%}
  .footer-main{
    grid-template-columns:1fr;
    gap:34px;
    width:calc(100% - 44px);
  }
  .footer-brand{grid-column:auto}
  .footer-brand p{max-width:none}
  .newsletter{max-width:none}
  .footer-col ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}
  .footer-contact{grid-template-columns:1fr!important}
  .footer-bottom{width:calc(100% - 44px)}
}


/* ===== Official Ostroluxx brand system ===== */
:root{
  --brand-brown:#79513a;
  --brand-brown-dark:#684936;
  --brand-brown-deep:#1e1612;
  --brand-green:#d4a63a;
  --brand-green-dark:#5f8d31;
  --brand-green-light:#f1cd72;
  --brand-cream:#f6f0ec;
  --black:#1e1612;
  --black-soft:#251a15;
  --surface:#2c201a;
  --surface-2:#36281f;
  --paper:#f6f0ec;
  --paper-2:#fbf8f6;
  --text:#2d211b;
  --muted:#776b65;
  --muted-light:#bcb1aa;
  --orange:var(--brand-green);
  --orange-light:var(--brand-green-light);
  --blue:var(--brand-green);
  --line-dark:rgba(255,255,255,.14);
  --line:rgba(70,48,37,.14);
}
body{background:var(--paper-2)}
.site-header{background:rgba(30,22,18,.86);border-bottom-color:rgba(255,255,255,.12)}
.site-header.scrolled{background:rgba(30,22,18,.96);box-shadow:0 14px 44px rgba(37,25,19,.22)}
.nav-shell{gap:25px}
.site-logo{height:54px;min-width:194px;overflow:hidden;border-radius:10px}
.brand-logo{display:block;width:194px;height:54px;object-fit:contain;transition:transform .4s var(--ease),filter .4s var(--ease)}
.site-logo:hover .brand-logo{transform:scale(1.025);filter:drop-shadow(0 0 12px rgba(127,185,64,.2))}
.nav-list a::after{height:3px;border-radius:3px 3px 0 0;background:var(--brand-green)}
.header-cta,.mobile-nav .mobile-contact,.button-primary{color:#17200e;background:var(--brand-green);box-shadow:0 10px 30px rgba(127,185,64,.18)}
.header-cta:hover,.button-primary:hover{background:var(--brand-green-light)}
.mobile-nav{background:rgba(30,22,18,.99)}
.mobile-nav a[aria-current="page"]{color:var(--brand-green-light)}
.eyebrow{color:var(--brand-green-dark)}
.dark .eyebrow,.page-hero .eyebrow,.home-hero .eyebrow,.products-hero .eyebrow,.footer-cta .eyebrow{color:var(--brand-green-light)}
.text-link{color:var(--brand-green-dark)}
.home-hero{background:radial-gradient(circle at 50% 56%,rgba(127,185,64,.13),transparent 19%),radial-gradient(circle at 50% 78%,rgba(147,107,84,.24),transparent 34%),var(--brand-brown-deep)}
.gradient-text{background:linear-gradient(90deg,#fff 9%,#efe7e1 43%,#f1cd72 71%,#fff 100%);-webkit-background-clip:text;background-clip:text}
.home-intro,.content-section{background:var(--paper-2)}
.content-section.soft,.product-lineup,.lineup,.collection{background:var(--brand-cream)}
.showcase-card.dark,.content-section.dark,.compare,.stats-band,.experience{background:var(--brand-brown-deep)}
.showcase-card.blue{background:linear-gradient(180deg,#1d1713,#3d2b22)}
.home-purpose{background:radial-gradient(circle at 50% 72%,rgba(127,185,64,.18),transparent 24%),var(--brand-brown-deep)}
.home-purpose h2 span{background:linear-gradient(90deg,#fff,#b7dc8c,#d4a63a);-webkit-background-clip:text;background-clip:text}
.page-hero{background:radial-gradient(circle at 50% 50%,rgba(127,185,64,.12),transparent 24%),var(--brand-brown-deep)}
.page-hero::before{background:radial-gradient(circle at 50% 50%,rgba(147,107,84,.28),transparent 30%)}
.footer-cta{background:radial-gradient(circle at 82% 50%,rgba(127,185,64,.12),transparent 23%),#251a15}
.site-footer{background:#17100d}
.footer-main .site-logo{height:68px;min-width:245px}
.footer-main .brand-logo{width:245px;height:68px}
.footer-bottom{border-top-color:rgba(255,255,255,.13)}
.project-card,.project-list-card{background:#2a1f19}

/* ambient motion and interaction */
.site-header::after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--brand-green),transparent);opacity:.5;content:"";transform:scaleX(var(--scroll-progress,0));transform-origin:left;transition:transform .1s linear}
.hero-light{animation:brandFloat 7s ease-in-out infinite alternate}
.hero-orbit{animation:orbitSpin 24s linear infinite}
.hero-orbit::before{background:var(--brand-green-light);box-shadow:0 0 20px rgba(127,185,64,.85)}
.showcase-card::before,.product-tile::before,.catalog-card::before{position:absolute;z-index:2;top:-45%;left:-75%;width:55%;height:190%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);content:"";transform:rotate(18deg);transition:left .8s var(--ease);pointer-events:none}
.showcase-card:hover::before,.product-tile:hover::before,.catalog-card:hover::before{left:130%}
.showcase-art svg,.tile-art svg,.catalog-art svg{transition:transform .75s var(--ease),filter .75s var(--ease)}
.showcase-card:hover .showcase-art svg,.product-tile:hover .tile-art svg,.catalog-card:hover .catalog-art svg{transform:translateY(-8px) scale(1.035);filter:drop-shadow(0 18px 25px rgba(127,185,64,.16))}
.scene{will-change:transform}
.reveal{filter:blur(7px);transform:translateY(34px) scale(.985)}
.reveal.visible{filter:none;transform:none}
.interactive-tilt{transform-style:preserve-3d;will-change:transform}
.cursor-aura{position:fixed;z-index:1500;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(127,185,64,.1),transparent 68%);pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity .25s ease;mix-blend-mode:screen}
@keyframes brandFloat{from{transform:translate3d(50%,var(--hero-y,0),0) scale(var(--hero-scale,1))}to{transform:translate3d(50%,calc(var(--hero-y,0) - 13px),0) scale(var(--hero-scale,1))}}
@keyframes orbitSpin{to{transform:translateX(-50%) rotate(348deg)}}
@media(prefers-reduced-motion:reduce){.hero-light,.hero-orbit{animation:none}.reveal{filter:none}}

/* ===== Detailed products page ===== */
.products-hero{position:relative;min-height:850px;overflow:hidden;padding:calc(var(--nav-height) + 92px) 24px 80px;color:#fff;background:radial-gradient(circle at 73% 48%,rgba(127,185,64,.18),transparent 20%),linear-gradient(135deg,#1e1612 0%,#422f25 58%,#211713 100%);isolation:isolate}
.products-hero-content{position:relative;z-index:4;width:min(100%,960px);margin-left:max(0px,calc((100vw - var(--max))/2));padding-top:50px}
.products-hero h1{max-width:900px;font-size:clamp(60px,8vw,108px)}
.products-hero p{max-width:720px;margin-top:27px;color:#d9d0ca;font-size:clamp(20px,2.2vw,28px);letter-spacing:-.03em;line-height:1.28}
.products-hero-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.products-hero-bg span{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;animation:productOrbit 18s linear infinite}
.products-hero-bg span:nth-child(1){top:12%;right:7%;width:580px;height:580px}.products-hero-bg span:nth-child(2){top:24%;right:17%;width:360px;height:360px;animation-direction:reverse;animation-duration:13s}.products-hero-bg span:nth-child(3){right:-6%;bottom:-34%;width:700px;height:700px;animation-duration:25s}
.product-hero-object{position:absolute;z-index:2;right:max(30px,calc((100vw - 1400px)/2));bottom:58px;width:min(39vw,540px);height:520px;transform:rotate(-12deg);animation:productObjectFloat 6s ease-in-out infinite alternate}
.product-hero-stem{position:absolute;top:25px;left:52%;width:28px;height:230px;border-radius:18px;background:linear-gradient(90deg,#17110e,#b49381 42%,#3a2a22 70%,#16100d);transform:translateX(-50%)}
.product-hero-head{position:absolute;top:190px;left:50%;width:260px;height:235px;border-radius:64px 64px 105px 105px;background:linear-gradient(120deg,#17110e,#9c7b68 38%,#33231c 70%,#120c0a);box-shadow:0 42px 65px rgba(0,0,0,.5);transform:translateX(-50%)}
.product-hero-head::after{position:absolute;right:26px;bottom:22px;left:26px;height:80px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#e9f5df 32%,#f1cd72 65%,#35551f 100%);box-shadow:0 0 50px rgba(127,185,64,.38);content:""}
.product-hero-head i{position:absolute;inset:17px;border:1px solid rgba(255,255,255,.13);border-radius:52px 52px 92px 92px}
.product-hero-beam{position:absolute;z-index:-1;left:50%;bottom:-120px;width:440px;height:360px;background:linear-gradient(to bottom,rgba(169,216,111,.22),transparent 80%);clip-path:polygon(37% 0,63% 0,100% 100%,0 100%);filter:blur(12px);transform:translateX(-50%)}
@keyframes productOrbit{to{transform:rotate(360deg)}}
@keyframes productObjectFloat{to{transform:rotate(-9deg) translateY(-15px)}}
.portfolio-summary{position:relative;z-index:5;margin-top:-1px;padding:0 24px 70px;background:var(--paper-2)}
.portfolio-summary-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(4,1fr);margin-inline:auto;border:1px solid rgba(70,48,37,.12);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(73,48,36,.1);transform:translateY(-42px)}
.portfolio-stat{padding:34px;text-align:center;border-right:1px solid rgba(70,48,37,.1)}
.portfolio-stat:last-child{border-right:0}.portfolio-stat strong{display:block;color:var(--brand-brown);font-size:clamp(42px,5vw,64px);font-weight:760;letter-spacing:-.06em;line-height:1}.portfolio-stat span{display:block;margin-top:9px;color:var(--muted);font-size:14px}
.category-overview{padding:50px 0 116px;background:var(--paper-2)}
.category-rail{display:flex;gap:16px;overflow-x:auto;margin-top:48px;padding:0 max(24px,calc((100vw - var(--max))/2)) 20px;scroll-snap-type:x mandatory;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}
.category-card{position:relative;flex:0 0 290px;min-height:245px;overflow:hidden;padding:27px;border:1px solid rgba(70,48,37,.11);border-radius:24px;background:#fff;box-shadow:0 8px 30px rgba(64,42,31,.06);scroll-snap-align:start;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border .35s ease}
.category-card:hover{transform:translateY(-7px);border-color:rgba(127,185,64,.55);box-shadow:0 20px 45px rgba(64,42,31,.12)}
.category-card::after{position:absolute;right:-55px;bottom:-70px;width:180px;height:180px;border:28px solid rgba(127,185,64,.12);border-radius:50%;content:"";transition:transform .5s var(--ease)}.category-card:hover::after{transform:scale(1.18)}
.category-card span{color:var(--brand-green-dark);font-size:14px;font-weight:750}.category-card h3{max-width:220px;margin-top:27px;color:var(--brand-brown-dark);font-size:25px;letter-spacing:-.04em;line-height:1.05}.category-card p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.4}.category-card strong{position:absolute;right:24px;top:22px;color:#d6c9c1;font-size:34px;letter-spacing:-.06em}
.product-explorer{padding:116px 24px 130px;background:var(--brand-cream)}
.explorer-shell{width:min(100%,var(--max));margin-inline:auto}.explorer-head{display:flex;align-items:end;justify-content:space-between;gap:55px}.explorer-head>div{max-width:760px}.explorer-head>p{max-width:420px;color:var(--muted);font-size:15px;line-height:1.5}
.product-toolbar{display:grid;grid-template-columns:1fr 220px;gap:13px;margin-top:48px}.product-search{display:flex;min-height:58px;align-items:center;gap:12px;padding:0 18px;border:1px solid rgba(70,48,37,.14);border-radius:17px;background:#fff;box-shadow:0 8px 26px rgba(64,42,31,.04)}.product-search svg{width:21px;color:var(--brand-green-dark)}.product-search input{width:100%;border:0;outline:0;background:transparent;font-size:16px}.product-sort select{width:100%;height:58px;border:1px solid rgba(70,48,37,.14);border-radius:17px;outline:0;background:#fff;padding:0 16px;color:var(--text);font-weight:650}
.product-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.product-filter{min-height:40px;padding:0 15px;border:1px solid rgba(70,48,37,.15);border-radius:999px;background:rgba(255,255,255,.62);cursor:pointer;font-size:13px;font-weight:700;transition:.22s ease}.product-filter:hover,.product-filter.active{border-color:var(--brand-green);color:#203213;background:var(--brand-green-light)}
.product-result-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 20px;color:var(--muted);font-size:14px}.product-result-meta strong{color:var(--text);font-size:16px}
.detailed-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detailed-product-card{position:relative;overflow:hidden;border:1px solid rgba(70,48,37,.11);border-radius:24px;background:#fff;box-shadow:0 8px 28px rgba(64,42,31,.06);cursor:pointer;transition:transform .38s var(--ease),box-shadow .38s var(--ease),border-color .38s ease}.detailed-product-card:hover{transform:translateY(-7px);border-color:rgba(127,185,64,.55);box-shadow:0 22px 50px rgba(64,42,31,.13)}
.product-card-art{position:relative;display:grid;height:280px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 52%,rgba(127,185,64,.15),transparent 30%),linear-gradient(145deg,#2d211b,#17100d)}.product-card-art::before{position:absolute;left:50%;bottom:-60px;width:230px;height:210px;background:linear-gradient(to bottom,rgba(169,216,111,.18),transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);content:"";transform:translateX(-50%)}.product-card-art svg{position:relative;z-index:2;width:72%;height:72%;transition:transform .55s var(--ease)}.detailed-product-card:hover .product-card-art svg{transform:translateY(-8px) scale(1.05)}
.product-card-content{padding:23px}.product-card-category{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--brand-green-dark);font-size:12px;font-weight:750}.product-card-category span:last-child{color:#9e928b}.product-card-content h3{margin-top:12px;font-size:23px;letter-spacing:-.04em;line-height:1.08}.product-code{display:block;overflow:hidden;margin-top:8px;color:#796d67;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.product-card-content p{min-height:42px;margin-top:11px;color:var(--muted);font-size:14px;line-height:1.45}.product-card-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:18px}.product-card-specs div{padding:10px;border-radius:11px;background:var(--brand-cream)}.product-card-specs span{display:block;color:#887b74;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.product-card-specs strong{display:block;overflow:hidden;margin-top:3px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.product-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid rgba(70,48,37,.1)}.product-card-footer span{color:var(--brand-green-dark);font-size:13px;font-weight:750}.product-card-footer svg{width:18px;color:var(--brand-green-dark);transition:transform .25s ease}.detailed-product-card:hover .product-card-footer svg{transform:translateX(4px)}
.product-load-wrap{display:flex;justify-content:center;margin-top:36px}.product-load-wrap[hidden]{display:none}.no-product-results{grid-column:1/-1;padding:70px 24px;border:1px dashed rgba(70,48,37,.2);border-radius:24px;color:var(--muted);background:rgba(255,255,255,.5);text-align:center}.no-product-results strong{display:block;color:var(--text);font-size:24px;margin-bottom:8px}
.specification-band{padding:95px 24px;color:#fff;background:radial-gradient(circle at 85% 50%,rgba(127,185,64,.16),transparent 24%),var(--brand-brown-deep)}.specification-inner{display:flex;width:min(100%,var(--max));align-items:end;justify-content:space-between;gap:55px;margin-inline:auto}.specification-inner h2{max-width:800px;margin-top:12px;font-size:clamp(42px,5.5vw,70px);letter-spacing:-.06em;line-height:.98}.specification-inner p{max-width:620px;margin-top:17px;color:#c4b9b2;font-size:17px;line-height:1.5}
.product-dialog{width:min(1120px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:0;border:0;border-radius:30px;background:#fff;box-shadow:0 45px 120px rgba(24,16,12,.45)}.product-dialog::backdrop{background:rgba(25,17,13,.78);backdrop-filter:blur(10px)}.dialog-close{position:sticky;z-index:5;top:18px;float:right;display:grid;width:44px;height:44px;place-items:center;margin:18px 18px -62px 0;border:1px solid rgba(70,48,37,.13);border-radius:50%;background:rgba(255,255,255,.9);cursor:pointer}.dialog-close svg{width:20px}.dialog-layout{display:grid;grid-template-columns:.92fr 1.08fr;min-height:650px}.dialog-visual{position:relative;display:grid;min-height:650px;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(127,185,64,.2),transparent 28%),linear-gradient(145deg,#35271f,#17100d)}.dialog-visual::after{position:absolute;left:50%;bottom:-70px;width:360px;height:330px;background:linear-gradient(to bottom,rgba(169,216,111,.2),transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);content:"";transform:translateX(-50%)}.dialog-visual svg{position:relative;z-index:2;width:68%;height:68%;animation:dialogProductFloat 4.5s ease-in-out infinite alternate}.dialog-content{padding:72px 55px 48px}.dialog-category{color:var(--brand-green-dark);font-size:14px;font-weight:750}.dialog-content h2{margin-top:10px;font-size:clamp(37px,4.5vw,58px);letter-spacing:-.055em;line-height:1}.dialog-content code{display:inline-block;margin-top:16px;padding:8px 11px;border-radius:8px;color:var(--brand-brown-dark);background:var(--brand-cream);font-size:13px}.dialog-content>p{margin-top:22px;color:var(--muted);font-size:17px;line-height:1.5}.dialog-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:29px}.dialog-specs div{padding:17px;border:1px solid rgba(70,48,37,.11);border-radius:15px;background:#fff}.dialog-specs span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dialog-specs strong{display:block;margin-top:6px;font-size:14px;line-height:1.3}.dialog-disclaimer{padding:15px;border-left:3px solid var(--brand-green);background:var(--brand-cream);font-size:13px!important}.dialog-content .actions{align-items:stretch}.dialog-content .button{font-size:14px}.dialog-content .button-light-outline{background:#fff}@keyframes dialogProductFloat{to{transform:translateY(-12px) scale(1.02)}}
@media(max-width:1040px){.products-hero-content{margin-left:0}.product-hero-object{right:-100px;opacity:.56}.detailed-product-grid{grid-template-columns:repeat(2,1fr)}.portfolio-summary-grid{grid-template-columns:repeat(2,1fr)}.portfolio-stat:nth-child(2){border-right:0}.portfolio-stat:nth-child(-n+2){border-bottom:1px solid rgba(70,48,37,.1)}.explorer-head{align-items:flex-start;flex-direction:column;gap:22px}.dialog-layout{grid-template-columns:1fr}.dialog-visual{min-height:410px}.dialog-content{padding:45px}}
@media(max-width:760px){.site-logo{height:46px;min-width:165px}.brand-logo{width:165px;height:46px}.products-hero{min-height:760px;padding-top:130px}.products-hero h1{font-size:56px}.products-hero p{font-size:20px}.product-hero-object{right:-150px;bottom:-25px;width:460px;opacity:.38}.portfolio-summary-grid{transform:translateY(-30px)}.product-toolbar{grid-template-columns:1fr}.detailed-product-grid{grid-template-columns:1fr}.product-card-art{height:310px}.specification-inner{align-items:flex-start;flex-direction:column}.dialog-layout{display:block}.dialog-visual{min-height:330px}.dialog-content{padding:38px 24px 30px}.dialog-specs{grid-template-columns:1fr}.dialog-content .actions{flex-direction:column}.dialog-content .button{width:100%}}
@media(max-width:520px){.products-hero{min-height:720px;padding-inline:18px}.products-hero h1{font-size:49px}.portfolio-summary{padding-inline:14px}.portfolio-summary-grid{grid-template-columns:1fr}.portfolio-stat{border-right:0;border-bottom:1px solid rgba(70,48,37,.1)}.portfolio-stat:last-child{border-bottom:0}.category-overview{padding-top:20px}.product-explorer{padding:92px 16px}.product-result-meta{align-items:flex-start;flex-direction:column;gap:5px}.product-card-specs{grid-template-columns:1fr}.footer-main .site-logo{height:58px;min-width:210px}.footer-main .brand-logo{width:210px;height:58px}}


/* ===== V3 expanded homepage, product imagery and resources ===== */
.rapidbizz-credit{color:#d5eac4;font-weight:650;white-space:nowrap}.rapidbizz-credit:hover{color:var(--green-light)!important}
.featured-products-section{padding:120px 24px;background:#f7f4f0}.featured-products-head{display:grid;width:min(100%,var(--max));grid-template-columns:1fr .75fr;align-items:end;gap:50px;margin-inline:auto}.featured-products-head p{justify-self:end}.featured-product-grid{display:grid;width:min(100%,var(--max));grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,360px);gap:16px;margin:54px auto 0}.featured-product-card{position:relative;overflow:hidden;border-radius:30px;background:#fff;box-shadow:0 12px 40px rgba(78,55,43,.1);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.featured-product-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(78,55,43,.16)}.featured-product-card.fp-large{grid-row:span 2;background:linear-gradient(155deg,#0d0b0a,#30221b);color:#fff}.featured-product-card img{position:absolute;right:-5%;bottom:-5%;width:72%;height:72%;object-fit:contain;transition:transform .7s var(--ease)}.featured-product-card:not(.fp-large) img{right:-6%;bottom:-18%;width:62%;height:72%}.featured-product-card:hover img{transform:scale(1.06) rotate(-2deg)}.fp-copy{position:relative;z-index:2;max-width:60%;padding:36px}.fp-copy small{color:var(--green);font-size:14px;font-weight:750}.fp-copy h3{margin-top:10px;font-size:clamp(30px,3.5vw,52px);letter-spacing:-.05em;line-height:1}.featured-product-card:not(.fp-large) .fp-copy h3{font-size:32px}.fp-copy p{margin-top:12px;color:#72706f;font-size:16px;line-height:1.45}.fp-large .fp-copy p{color:#bbb5b0}.fp-copy span{display:inline-block;margin-top:20px;color:var(--green-light);font-weight:700}
.light-lab-section{display:grid;grid-template-columns:.82fr 1.18fr;min-height:760px;overflow:hidden;background:#0a0908;color:#fff}.light-lab-copy{display:flex;flex-direction:column;justify-content:center;padding:90px max(32px,calc((100vw - var(--max))/2)) 90px 6vw}.light-lab-copy .section-title{margin-top:15px}.light-lab-copy .body-large{margin-top:24px;color:#aaa4a0}.lab-control{margin:42px 0 28px}.lab-control label{display:block;margin-bottom:16px;font-size:14px;font-weight:700}.lab-control input{width:100%;accent-color:var(--green)}.lab-scale{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;color:#8f8985;font-size:12px}.lab-scale strong{color:#fff;font-size:17px}.light-lab-scene{position:relative;overflow:hidden;background:var(--lab-light,#ffc98a);transition:background .25s linear}.lab-wall{position:absolute;inset:18% 10% 12%;background:linear-gradient(120deg,rgba(255,255,255,.5),rgba(255,255,255,.1)),#d5cec5;box-shadow:0 35px 80px rgba(0,0,0,.35)}.lab-art{position:absolute;top:18%;left:12%;width:34%;height:42%;border:18px solid #382b24;background:linear-gradient(135deg,#8e6b54,#d4a63a)}.lab-console{position:absolute;right:11%;bottom:7%;width:62%;height:18%;border-radius:8px;background:#4f3a2e;box-shadow:0 12px 24px rgba(0,0,0,.25)}.lab-ceiling{position:absolute;z-index:3;top:8%;left:18%;right:18%;display:flex;justify-content:space-between}.lab-ceiling i{width:55px;height:30px;border-radius:50%;background:#12100f;box-shadow:inset 0 -8px 12px rgba(255,255,255,.08)}.lab-beam{position:absolute;z-index:2;top:11%;width:28%;height:72%;clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);background:linear-gradient(to bottom,var(--lab-light,#ffc98a),transparent 75%);opacity:.25;filter:blur(3px);animation:lightBreath 3.4s ease-in-out infinite}.lab-beam-one{left:5%}.lab-beam-two{left:36%;animation-delay:.8s}.lab-beam-three{right:3%;animation-delay:1.5s}@keyframes lightBreath{50%{opacity:.38;transform:scaleX(1.05)}}
.why-ostroluxx-section{padding:120px 24px;background:#fff}.why-ostroluxx-head{width:min(100%,900px);margin-inline:auto;text-align:center}.why-ostroluxx-head .section-title{margin-top:14px}.why-ostroluxx-head .body-large{margin-top:20px}.why-ostroluxx-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(4,1fr);gap:14px;margin:55px auto 0}.why-ostroluxx-card{min-height:300px;padding:31px;border:1px solid #e7e1dc;border-radius:25px;background:#fbfaf8;transition:.35s var(--ease)}.why-ostroluxx-card:hover{border-color:var(--green);transform:translateY(-6px)}.why-ostroluxx-card span{color:var(--green);font-weight:750}.why-ostroluxx-card h3{margin-top:70px;font-size:23px;letter-spacing:-.035em}.why-ostroluxx-card p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.48}
.project-process-section{padding:120px 24px;background:#f4efe9}.project-process-head{width:min(100%,var(--max));margin-inline:auto}.project-process-head .section-title{max-width:800px;margin-top:13px}.project-process-track{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(4,1fr);margin:58px auto 0;border-top:1px solid #cfc4bb}.process-step{position:relative;padding:32px 28px 0 0}.process-step::before{position:absolute;top:-7px;left:0;width:13px;height:13px;border:3px solid #f4efe9;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green);content:""}.process-step b{color:var(--brown-light);font-size:13px}.process-step h3{margin-top:26px;font-size:22px}.process-step p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.48}
.home-resources-section{padding:120px 24px;background:#0a0908;color:#fff}.home-resources-head{width:min(100%,var(--max));margin-inline:auto}.home-resources-head .section-title{max-width:780px;margin-top:13px}.resource-card-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(2,1fr);gap:14px;margin:55px auto 0}.resource-card{min-height:310px;padding:35px;border:1px solid rgba(255,255,255,.11);border-radius:27px;background:linear-gradient(145deg,#151210,#0c0b0a);transition:.4s var(--ease)}.resource-card:hover{border-color:var(--green);transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.25)}.resource-card span{color:var(--green-light);font-size:14px;font-weight:750}.resource-card h3{max-width:470px;margin-top:50px;font-size:clamp(27px,3vw,39px);letter-spacing:-.045em;line-height:1}.resource-card p{max-width:480px;margin-top:14px;color:#aaa4a0;line-height:1.45}.resource-card b{display:block;margin-top:20px;color:#fff}
.product-image-showcase{padding:120px 24px;background:#f4efe9}.product-image-mosaic{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(5,1fr);gap:12px;margin:55px auto 0}.image-mosaic-card{position:relative;min-height:340px;overflow:hidden;border:0;border-radius:25px;background:#fff;cursor:pointer;box-shadow:0 10px 30px rgba(75,52,41,.08);transition:.35s var(--ease)}.image-mosaic-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(75,52,41,.15)}.image-mosaic-card img{width:100%;height:265px;object-fit:contain;padding:18px}.image-mosaic-card span{position:absolute;right:0;bottom:0;left:0;padding:19px;color:#fff;background:linear-gradient(to top,rgba(12,9,8,.94),transparent);font-size:15px;font-weight:750;text-align:left}
.product-card-art{height:270px!important;padding:16px!important;background:radial-gradient(circle at 50% 55%,rgba(127,185,64,.16),transparent 34%),linear-gradient(150deg,#f9f7f4,#eee8e1)!important}.product-card-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 18px rgba(47,31,23,.18));transition:transform .5s var(--ease)}.detailed-product-card:hover .product-card-art img{transform:scale(1.06) translateY(-4px)}.product-image-badge{position:absolute;top:16px;left:16px;padding:7px 10px;border-radius:999px;color:#fff;background:rgba(38,28,23,.84);font-size:11px;font-weight:700;backdrop-filter:blur(8px)}
.dialog-layout-detailed{grid-template-columns:minmax(350px,.9fr) minmax(500px,1.1fr)!important;max-width:1240px}.dialog-visual-panel{display:flex;flex-direction:column;background:linear-gradient(155deg,#f7f3ef,#e8dfd7)}.dialog-visual{min-height:460px!important;padding:35px!important;background:transparent!important}.dialog-visual img{width:100%;height:100%;max-height:440px;object-fit:contain;filter:drop-shadow(0 35px 25px rgba(55,36,27,.2))}.dialog-visual-note{padding:0 28px 18px;color:#716a65;font-size:11px;line-height:1.4}.dialog-gallery{display:flex;gap:8px;padding:0 25px 25px}.dialog-gallery button{width:72px;height:58px;padding:4px;border:1px solid #d8cec6;border-radius:10px;background:#fff;cursor:pointer}.dialog-gallery button.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(127,185,64,.18)}.dialog-gallery img{width:100%;height:100%;object-fit:contain}.dialog-lead{font-size:17px!important}.dialog-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.dialog-badges span{padding:7px 10px;border-radius:999px;background:#eef5e8;color:#38531e;font-size:11px;font-weight:700}.dialog-tab-list{display:flex;gap:6px;margin-top:24px;border-bottom:1px solid #e3ddd8}.dialog-tab{padding:11px 12px;border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer;color:#77706b;font-size:13px;font-weight:700}.dialog-tab.active{border-color:var(--green);color:#1d1d1f}.dialog-tab-panel{display:none;padding-top:20px}.dialog-tab-panel.active{display:block}.dialog-benefit-list,.dialog-application-list,.dialog-document-list{display:grid;gap:10px}.dialog-benefit-list div,.dialog-application-list div,.dialog-document-list div{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:12px;background:#f7f5f2;font-size:13px;line-height:1.4}.dialog-benefit-list i,.dialog-application-list i,.dialog-document-list i{display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-style:normal;font-size:11px}.dialog-specs-expanded{grid-template-columns:repeat(2,1fr)!important}.dialog-specs-expanded div{min-height:95px}.dialog-subtitle{margin:20px 0 10px;font-size:15px}.dialog-related{margin-top:22px;padding-top:18px;border-top:1px solid #e3ddd8}.dialog-related h3{font-size:15px}.dialog-related>div{display:flex;gap:8px;margin-top:11px}.dialog-related button{flex:1;padding:10px;border:1px solid #ded7d1;border-radius:10px;background:#fff;cursor:pointer;font-size:11px;text-align:left}.product-shortlist{position:fixed;z-index:900;right:24px;bottom:24px;display:flex;align-items:center;gap:16px;padding:13px 15px;border:1px solid rgba(255,255,255,.16);border-radius:20px;color:#fff;background:rgba(18,14,12,.94);box-shadow:0 18px 55px rgba(0,0,0,.3);backdrop-filter:blur(18px)}.product-shortlist[hidden]{display:none}.product-shortlist span{display:block;color:#aaa4a0;font-size:11px}.product-shortlist strong{display:block;margin-top:2px;font-size:14px}.product-shortlist>button{border:0;color:#aaa4a0;background:transparent;cursor:pointer}.product-shortlist .button{min-height:38px;padding:0 14px;font-size:12px}
.resource-page-hero .display-title{max-width:1020px;margin-inline:auto}.download-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(2,1fr);gap:16px;margin:58px auto 0}.download-card{position:relative;min-height:510px;overflow:hidden;padding:33px;border-radius:28px;background:#fff;box-shadow:0 12px 35px rgba(73,50,39,.08);transition:.4s var(--ease)}.download-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(73,50,39,.15)}.download-card img{position:absolute;right:-3%;bottom:-11%;width:58%;height:62%;object-fit:contain}.download-card span{color:var(--green);font-size:13px;font-weight:750}.download-card h3{max-width:55%;margin-top:45px;font-size:36px;letter-spacing:-.045em;line-height:1}.download-card p{max-width:50%;margin-top:15px;color:var(--muted);line-height:1.45}.download-card b{display:block;margin-top:18px;color:var(--brown)}.resource-list{width:min(100%,1000px);margin:58px auto 0}.resource-list-item{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:25px;padding:28px 0;border-top:1px solid #ded8d3}.resource-list-item:last-child{border-bottom:1px solid #ded8d3}.resource-list-item>span{color:var(--green);font-weight:750}.resource-list-item h3{font-size:24px}.resource-list-item p{margin-top:5px;color:var(--muted)}.resource-list-item a{color:var(--brown);font-weight:700}.guide-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(2,1fr);gap:15px;margin-inline:auto}.guide-card{min-height:350px;padding:35px;border-radius:27px;background:#fff;box-shadow:0 10px 32px rgba(73,50,39,.07)}.guide-card>span{color:var(--green);font-weight:750}.guide-card h2{margin-top:60px;font-size:34px;letter-spacing:-.045em}.guide-card p{margin-top:15px;color:var(--muted);font-size:17px;line-height:1.5}.temperature-bar{height:17px;margin-top:32px;border-radius:999px;background:linear-gradient(90deg,#ff9b3c,#ffe7b5,#f7fbff,#b9ddff)}.support-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(3,1fr);gap:15px;margin-inline:auto}.support-card{min-height:420px;padding:34px;border:1px solid #e1dbd6;border-radius:27px;background:#fbfaf8}.support-card span{color:var(--green);font-weight:750}.support-card h2{margin-top:80px;font-size:36px;letter-spacing:-.045em;line-height:1}.support-card p{margin-top:16px;color:var(--muted);line-height:1.5}.support-card .text-link{display:inline-block;margin-top:22px}
.light-particle-field{position:fixed;z-index:2;inset:0;pointer-events:none;overflow:hidden}.light-particle{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--green-light);box-shadow:0 0 12px var(--green);opacity:0;animation:floatLight var(--duration) linear infinite;animation-delay:var(--delay)}@keyframes floatLight{0%{opacity:0;transform:translate3d(0,30px,0) scale(.5)}15%{opacity:.55}80%{opacity:.15}100%{opacity:0;transform:translate3d(var(--drift),-110vh,0) scale(1.4)}}
@media(max-width:1000px){.featured-products-head{grid-template-columns:1fr}.featured-products-head p{justify-self:start}.featured-product-grid{grid-template-columns:1fr;grid-template-rows:570px 350px 350px}.featured-product-card.fp-large{grid-row:auto}.light-lab-section{grid-template-columns:1fr}.light-lab-copy{padding:90px 8vw}.light-lab-scene{min-height:620px}.why-ostroluxx-grid,.project-process-track{grid-template-columns:repeat(2,1fr);gap:15px}.product-image-mosaic{grid-template-columns:repeat(3,1fr)}.dialog-layout-detailed{grid-template-columns:1fr!important}.dialog-visual{min-height:360px!important}.download-grid,.guide-grid{grid-template-columns:1fr}.support-grid{grid-template-columns:1fr}.support-card{min-height:300px}.support-card h2{margin-top:45px}}
@media(max-width:680px){.featured-products-section,.why-ostroluxx-section,.project-process-section,.home-resources-section,.product-image-showcase{padding:90px 20px}.featured-product-grid{grid-template-rows:520px 340px 340px}.fp-copy{max-width:88%;padding:28px}.featured-product-card img{right:-15%;width:85%;height:62%}.featured-product-card:not(.fp-large) img{right:-18%;width:78%}.light-lab-copy{padding:80px 22px}.light-lab-scene{min-height:480px}.lab-wall{inset:20% 5% 10%}.why-ostroluxx-grid,.project-process-track,.resource-card-grid{grid-template-columns:1fr}.project-process-track{border-top:0}.process-step{padding:25px;border-top:1px solid #cfc4bb}.process-step::before{display:none}.product-image-mosaic{grid-template-columns:repeat(2,1fr)}.image-mosaic-card{min-height:270px}.image-mosaic-card img{height:220px}.dialog-layout-detailed{display:block!important}.dialog-visual-panel{min-height:330px}.dialog-visual{min-height:280px!important}.dialog-specs-expanded{grid-template-columns:1fr!important}.dialog-related>div{flex-direction:column}.product-shortlist{right:10px;bottom:10px;left:10px;justify-content:space-between}.product-shortlist .button{max-width:145px}.download-card{min-height:490px;padding:27px}.download-card h3,.download-card p{max-width:80%}.download-card img{right:-15%;width:75%;height:55%}.resource-list-item{grid-template-columns:40px 1fr}.resource-list-item>a{grid-column:2}.guide-grid{grid-template-columns:1fr}.rapidbizz-credit{order:3;width:100%}}


/* ===== V4 carousel controls, individual product renders, legal pages and deeper 3D lighting ===== */
.lineup-head{position:relative}.lineup-head .scroll-rail-controls{margin-top:28px}.scroll-rail-controls{display:flex;align-items:center;gap:12px}.scroll-arrow{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(74,52,41,.18);border-radius:50%;color:var(--brand-brown-dark);background:rgba(255,255,255,.86);box-shadow:0 8px 22px rgba(65,42,31,.08);cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,opacity .25s ease}.scroll-arrow svg{width:21px}.scroll-arrow:hover:not(:disabled){color:#fff;background:var(--brand-green);transform:translateY(-2px)}.scroll-arrow:disabled{cursor:not-allowed;opacity:.35}.scroll-rail-meter{position:relative;width:120px;height:3px;overflow:hidden;border-radius:999px;background:rgba(74,52,41,.13)}.scroll-rail-meter i{position:absolute;inset:0;background:linear-gradient(90deg,var(--brand-brown),var(--brand-green));transform:scaleX(.08);transform-origin:left;transition:transform .15s linear}.category-rail-controls{width:min(calc(100% - 48px),var(--max));justify-content:flex-end;margin:36px auto -25px}.card-scroller,.category-rail{scroll-behavior:smooth;overscroll-behavior-inline:contain}

.immersive-3d-section{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:60px;min-height:820px;padding:120px max(24px,calc((100vw - var(--max))/2));overflow:hidden;color:#f7f3ef;background:radial-gradient(circle at 78% 55%,rgba(127,185,64,.2),transparent 25%),linear-gradient(145deg,#19110e,#302117 52%,#111)}.immersive-3d-copy{position:relative;z-index:3}.immersive-3d-copy .section-title{margin-top:14px}.immersive-3d-copy .body-large{margin-top:22px;color:#c8c0ba}.immersive-3d-copy .button-light-outline{border-color:rgba(255,255,255,.25);color:#fff;background:transparent}.immersive-3d-stage{--stage-rx:0deg;--stage-ry:0deg;--stage-x:0px;--stage-y:0px;position:relative;min-height:600px;perspective:1200px;transform-style:preserve-3d}.stage-grid{position:absolute;inset:8% 2%;border:1px solid rgba(255,255,255,.08);border-radius:40px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;transform:rotateX(67deg) translateY(155px) scale(.9);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 70%,transparent)}.stage-halo{position:absolute;top:20%;left:50%;width:64%;aspect-ratio:1;border-radius:50%;background:rgba(127,185,64,.18);filter:blur(65px);transform:translateX(-50%)}.stage-orbit{position:absolute;top:10%;left:50%;width:76%;aspect-ratio:1;border:1px solid rgba(255,255,255,.11);border-radius:50%;transform-style:preserve-3d}.stage-orbit-a{animation:stageOrbitA 14s linear infinite;transform:translateX(-50%) rotateX(68deg) rotateZ(0)}.stage-orbit-b{width:55%;top:20%;animation:stageOrbitB 11s linear infinite reverse;transform:translateX(-50%) rotateY(62deg) rotateZ(0)}.stage-product{position:absolute;width:45%;aspect-ratio:4/3;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.07);box-shadow:0 35px 80px rgba(0,0,0,.38);backdrop-filter:blur(15px);transform-style:preserve-3d;transition:transform .25s ease;animation:stageFloat 5.5s ease-in-out infinite alternate}.stage-product img{width:100%;height:100%;border-radius:27px;object-fit:cover}.stage-product-a{z-index:3;top:17%;left:28%;transform:translate3d(var(--stage-x),var(--stage-y),120px) rotateX(var(--stage-rx)) rotateY(var(--stage-ry)) rotateZ(-5deg)}.stage-product-b{z-index:2;top:47%;left:3%;width:38%;animation-delay:-2.1s;transform:translate3d(calc(var(--stage-x)*-.45),calc(var(--stage-y)*-.3),30px) rotateX(var(--stage-rx)) rotateY(var(--stage-ry)) rotateZ(9deg)}.stage-product-c{z-index:2;top:49%;right:0;width:37%;animation-delay:-3.3s;transform:translate3d(calc(var(--stage-x)*.5),calc(var(--stage-y)*-.35),45px) rotateX(var(--stage-rx)) rotateY(var(--stage-ry)) rotateZ(-8deg)}.stage-light-beam{position:absolute;z-index:1;top:22%;left:50%;width:240px;height:490px;background:linear-gradient(to bottom,rgba(190,226,151,.3),rgba(127,185,64,0));clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);filter:blur(4px);transform:translateX(-50%);animation:beamBreathe 3.6s ease-in-out infinite alternate}.stage-caption{position:absolute;right:3%;bottom:1%;color:#a8a09b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}@keyframes stageOrbitA{to{transform:translateX(-50%) rotateX(68deg) rotateZ(360deg)}}@keyframes stageOrbitB{to{transform:translateX(-50%) rotateY(62deg) rotateZ(360deg)}}@keyframes stageFloat{to{translate:0 -12px}}@keyframes beamBreathe{to{opacity:.45;transform:translateX(-50%) scaleX(1.18)}}

.product-card-art{perspective:900px;isolation:isolate}.product-card-art::after{position:absolute;inset:auto 10% 8%;height:16%;border-radius:50%;background:rgba(127,185,64,.16);filter:blur(22px);content:""}.product-card-art img{position:relative;z-index:2;transition:transform .65s var(--ease),filter .65s var(--ease);transform-style:preserve-3d}.detailed-product-card:hover .product-card-art img{filter:drop-shadow(0 35px 28px rgba(57,37,28,.24));transform:perspective(850px) rotateX(4deg) rotateY(-8deg) translateY(-9px) scale(1.045)}.dialog-product-turntable{display:grid;width:100%;height:100%;place-items:center;perspective:1000px}.dialog-product-turntable img{transform:rotateX(var(--turn-x,0deg)) rotateY(var(--turn-y,0deg));transition:transform .18s ease;animation:dialogTurntableFloat 4.8s ease-in-out infinite alternate}@keyframes dialogTurntableFloat{to{translate:0 -10px}}.dialog-overview-copy{padding:16px;border-radius:15px;background:linear-gradient(135deg,#f7f3ef,#eef5e8);color:#5f5651;font-size:14px;line-height:1.55}.dialog-overview-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.dialog-overview-tags span{padding:6px 9px;border-radius:999px;color:#3f5b25;background:#fff;font-size:11px;font-weight:700}.dialog-performance-grid div{min-height:105px}.dialog-spec-wide{grid-column:span 2}.dialog-specification-notes{display:grid;gap:9px}.dialog-specification-notes div{display:flex;gap:9px;padding:11px 12px;border-radius:11px;background:#f7f5f2;font-size:13px;line-height:1.45}.dialog-specification-notes i{display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-style:normal;font-size:11px}.dialog-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.dialog-care-grid>div{padding:14px;border:1px solid #e1d9d3;border-radius:13px}.dialog-care-grid span{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.dialog-care-grid p{margin-top:7px;color:#716a65;font-size:12px;line-height:1.5}.dialog-document-request{display:grid!important;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:12px 13px;border-radius:12px;color:inherit;background:#f7f5f2;font-size:13px;line-height:1.4}.dialog-document-request i{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:var(--green);font-style:normal}.dialog-document-request b{color:var(--brand-green-dark);font-size:11px}.dialog-related button{display:flex!important;align-items:center;gap:8px}.dialog-related button img{width:46px;height:42px;object-fit:cover;border-radius:7px}.dialog-related button span{min-width:0}.dialog-related button code{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.legal-hero{padding:170px 24px 90px;color:#f7f3ef;background:radial-gradient(circle at 80% 45%,rgba(127,185,64,.17),transparent 25%),linear-gradient(145deg,#17100d,#36251c)}.legal-hero-inner{width:min(100%,1000px);margin:auto}.legal-hero .display-title{max-width:890px;margin-top:14px;font-size:clamp(54px,8vw,100px)}.legal-hero p{max-width:760px;margin-top:24px;color:#c8c0ba;font-size:clamp(19px,2vw,25px);line-height:1.42}.legal-date{display:inline-flex;margin-top:28px;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#d5cec9;font-size:12px}.legal-content{padding:90px 24px 130px;background:var(--brand-cream)}.legal-layout{display:grid;width:min(100%,1120px);grid-template-columns:260px 1fr;align-items:start;gap:70px;margin:auto}.legal-toc{position:sticky;top:120px;display:grid;gap:5px;padding:22px;border:1px solid rgba(74,52,41,.1);border-radius:20px;background:rgba(255,255,255,.75)}.legal-toc strong{margin-bottom:9px;color:var(--brand-brown-dark);font-size:13px}.legal-toc a{padding:7px 8px;border-radius:8px;color:#6f625b;font-size:12px;line-height:1.3}.legal-toc a:hover{color:#fff;background:var(--brand-green)}.legal-article{display:grid;gap:18px}.legal-notice{padding:22px;border-left:4px solid var(--brand-green);border-radius:0 16px 16px 0;background:#fff}.legal-notice strong{font-size:17px}.legal-notice p{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.55}.legal-section{padding:30px 32px;border:1px solid rgba(74,52,41,.09);border-radius:20px;background:#fff;scroll-margin-top:110px}.legal-section h2{color:var(--brand-brown-dark);font-size:23px;letter-spacing:-.025em}.legal-section p{margin-top:12px;color:#665c56;font-size:15px;line-height:1.72}

@media(max-width:1000px){.immersive-3d-section{grid-template-columns:1fr;padding-block:95px}.immersive-3d-stage{min-height:620px}.legal-layout{grid-template-columns:1fr}.legal-toc{position:relative;top:auto;grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.lineup-head .scroll-rail-controls{margin-top:22px}.scroll-arrow{width:44px;height:44px;flex-basis:44px}.scroll-rail-meter{width:90px}.category-rail-controls{width:calc(100% - 40px);margin-top:28px}.immersive-3d-section{padding:85px 20px}.immersive-3d-stage{min-height:500px}.stage-product-a{top:17%;left:20%;width:60%}.stage-product-b{top:53%;left:0;width:47%}.stage-product-c{top:54%;right:-2%;width:46%}.stage-grid{inset:8% -20%}.stage-caption{display:none}.dialog-tab-list{overflow-x:auto;white-space:nowrap}.dialog-spec-wide{grid-column:auto}.dialog-care-grid{grid-template-columns:1fr}.legal-hero{padding:135px 22px 75px}.legal-content{padding:70px 20px 100px}.legal-toc{grid-template-columns:1fr}.legal-section{padding:24px 21px}.legal-section h2{font-size:20px}}


/* =========================================================
   V5 — enhanced product intelligence, functional contact UX,
   SEO product pages and performance refinements
   ========================================================= */
:root{--focus-ring:0 0 0 4px rgba(127,185,64,.24);--success:#327a38;--error:#a12f2f}
:focus-visible{outline:2px solid var(--brand-green,#d4a63a);outline-offset:3px}
main>section:not(.home-hero):not(.page-hero):not(.products-hero):not(.contact-hero){content-visibility:auto;contain-intrinsic-size:800px}
img{height:auto}
.site-header::after{will-change:transform}

/* Product modal V5 */
.product-dialog-v5{width:min(1280px,calc(100% - 24px));height:min(920px,calc(100vh - 24px));max-height:none;overflow:hidden;border-radius:28px}
.product-dialog-v5::backdrop{background:rgba(20,13,10,.84);backdrop-filter:blur(13px)}
.dialog-topbar{position:relative;z-index:8;display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 18px 0 24px;border-bottom:1px solid rgba(74,52,41,.1);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.dialog-breadcrumb{display:flex;align-items:center;gap:10px;color:#786b64;font-size:12px}.dialog-breadcrumb b{color:#b5aaa4}.dialog-top-actions{display:flex;gap:7px}.dialog-icon-button{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(74,52,41,.12);border-radius:50%;color:var(--brand-brown-dark);background:#fff;cursor:pointer;transition:.2s ease}.dialog-icon-button:hover{color:#fff;background:var(--brand-green);transform:translateY(-1px)}.dialog-icon-button svg{width:18px}.dialog-icon-button.confirmed::after{position:absolute;content:'Link copied';transform:translateY(37px);padding:5px 8px;border-radius:7px;color:#fff;background:#2b211d;font-size:10px;white-space:nowrap}
.dialog-layout-v5{grid-template-columns:minmax(390px,.88fr) minmax(520px,1.12fr);height:calc(100% - 64px);min-height:0}
.dialog-visual-panel{display:flex;min-height:0;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,#35271f,#17100d)}
.dialog-visual-panel .dialog-visual{flex:1;min-height:410px;background:radial-gradient(circle at 50% 46%,rgba(127,185,64,.24),transparent 28%),linear-gradient(145deg,#35271f,#17100d)}
.dialog-visual{--dialog-zoom:1}.dialog-visual .dialog-product-turntable{transform:scale(var(--dialog-zoom));transition:transform .25s ease}.dialog-visual.auto-rotate .dialog-product-turntable img{animation:productAutoRotate 5s linear infinite}.dialog-visual img{width:76%;height:76%;object-fit:contain;filter:drop-shadow(0 30px 28px rgba(0,0,0,.35))}@keyframes productAutoRotate{0%{transform:rotateY(0deg) translateY(0)}50%{transform:rotateY(180deg) translateY(-8px)}100%{transform:rotateY(360deg) translateY(0)}}
.dialog-view-controls{display:flex;justify-content:center;gap:7px;padding:12px 15px;border-top:1px solid rgba(255,255,255,.09)}.dialog-view-controls button{min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#e9e3df;background:rgba(255,255,255,.07);cursor:pointer;font-size:11px}.dialog-view-controls button:hover{border-color:var(--brand-green);background:rgba(127,185,64,.18)}
.dialog-visual-panel .dialog-gallery{display:flex;gap:8px;overflow-x:auto;padding:11px 16px}.dialog-gallery button{flex:0 0 68px;height:58px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.06);cursor:pointer}.dialog-gallery button.active{border-color:var(--brand-green);box-shadow:0 0 0 2px rgba(127,185,64,.18)}.dialog-gallery img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.dialog-visual-note{padding:0 18px 16px!important;color:#afa5a0!important;font-size:10px!important;line-height:1.45!important}
.dialog-content{min-height:0;overflow-y:auto;padding:34px 42px 120px}.dialog-content h2{font-size:clamp(36px,4vw,56px)}.dialog-code-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px}.dialog-code-row code{margin:0}.dialog-code-row span{padding:7px 10px;border-radius:999px;color:#3f5d26;background:#edf5e6;font-size:11px;font-weight:750}.dialog-lead{margin-top:17px!important}.dialog-quick-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}.dialog-quick-specs div{min-width:0;padding:13px;border:1px solid #e8e0da;border-radius:12px;background:#fbfaf8}.dialog-quick-specs span{display:block;color:#897c75;font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.dialog-quick-specs strong{display:block;overflow:hidden;margin-top:5px;font-size:12px;line-height:1.35;text-overflow:ellipsis}
.dialog-tab-list{position:sticky;z-index:5;top:-34px;display:flex;gap:4px;overflow-x:auto;margin:26px -4px 0;padding:9px 4px;border-bottom:1px solid #e9e1db;background:rgba(255,255,255,.95);backdrop-filter:blur(14px)}.dialog-tab{flex:0 0 auto;min-height:38px;padding:0 13px;border:0;border-radius:999px;color:#6f625b;background:transparent;cursor:pointer;font-size:12px;font-weight:700}.dialog-tab.active{color:#fff;background:var(--brand-brown-dark)}.dialog-tab-panel{padding-top:22px}.dialog-tab-panel[hidden]{display:none!important}.dialog-status-card{margin-top:18px;padding:16px;border-left:4px solid var(--brand-green);border-radius:0 13px 13px 0;background:#f3f7ef}.dialog-status-card strong{font-size:12px}.dialog-status-card p{margin-top:5px;color:#675f5a;font-size:12px;line-height:1.48}.dialog-specs{margin-top:0}.dialog-specs div{background:#fbfaf8}.dialog-action-bar{position:sticky;z-index:6;bottom:-120px;display:grid;grid-template-columns:repeat(2,auto) 1fr auto;gap:8px;margin:30px -42px -120px;padding:14px 42px;border-top:1px solid #e8e0da;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.dialog-action-bar .button{min-height:43px;padding-inline:15px;white-space:nowrap}
.product-configurator{padding:20px;border:1px solid #e5ddd7;border-radius:17px;background:linear-gradient(145deg,#fbfaf8,#f1f7ec)}.configurator-intro strong{font-size:18px}.configurator-intro p{margin-top:6px;color:#746a65;font-size:13px;line-height:1.45}.configurator-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.configurator-grid label,.configurator-notes{display:grid;gap:7px;color:#574c46;font-size:11px;font-weight:750}.configurator-grid input,.configurator-grid select,.configurator-notes textarea{width:100%;border:1px solid #d8cec7;border-radius:11px;outline:none;background:#fff;padding:11px 12px;font-size:13px;font-weight:500}.configurator-grid input:focus,.configurator-grid select:focus,.configurator-notes textarea:focus{border-color:var(--brand-green);box-shadow:var(--focus-ring)}.configurator-notes{margin-top:12px}.configurator-notes textarea{min-height:90px;resize:vertical}.product-configurator .button{margin-top:15px}
.product-card-seo-link{position:absolute;right:14px;bottom:14px;z-index:3;padding:6px 9px;border-radius:999px;color:#4e6740;background:rgba(255,255,255,.88);font-size:9px;font-weight:750;opacity:0;transition:opacity .2s ease}.detailed-product-card:hover .product-card-seo-link,.product-card-seo-link:focus-visible{opacity:1}

/* Contact V5 */
.contact-hero{position:relative;display:grid;min-height:720px;place-items:center;overflow:hidden;padding:calc(var(--nav-height) + 85px) 24px 80px;color:#f7f3ef;background:radial-gradient(circle at 79% 45%,rgba(127,185,64,.18),transparent 25%),linear-gradient(145deg,#17100d,#34231a);isolation:isolate}.contact-hero-copy{position:relative;z-index:3;width:min(100%,1030px);margin-right:auto;margin-left:max(24px,calc((100vw - var(--max))/2));text-align:left}.contact-hero h1{max-width:950px;margin-top:16px;font-size:clamp(54px,8vw,102px)}.contact-hero p{max-width:750px;margin-top:26px;color:#c9c0ba;font-size:clamp(20px,2.1vw,27px);line-height:1.38}.contact-response-strip{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.contact-response-strip span{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#d8d0cb;font-size:12px}.contact-response-strip b{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;color:#fff;background:var(--brand-green);font-size:9px}.contact-light-object{position:absolute;right:4%;bottom:-11%;width:min(540px,47vw);aspect-ratio:1}.contact-light-object i{position:absolute;inset:12%;border:58px solid rgba(147,107,84,.75);border-radius:50%;box-shadow:inset 0 0 0 7px rgba(255,255,255,.16),0 0 90px rgba(127,185,64,.16);animation:contactOrbit 16s linear infinite}.contact-light-object span{position:absolute;inset:29%;border-radius:50%;background:radial-gradient(circle,#fff,#dcefc9 26%,#d4a63a 62%,#21320f);box-shadow:0 0 90px rgba(127,185,64,.45);animation:lightPulse 3s ease-in-out infinite alternate}@keyframes contactOrbit{to{transform:rotate(360deg)}}
.contact-workspace{padding:115px 24px;background:var(--brand-cream,#f4efe9)}.contact-workspace-grid{display:grid;width:min(100%,var(--max));grid-template-columns:.72fr 1.28fr;align-items:start;gap:55px;margin:auto}.contact-sidebar{position:sticky;top:115px}.contact-sidebar h2{max-width:480px;margin-top:13px;font-size:clamp(36px,4.4vw,56px);letter-spacing:-.055em;line-height:1}.contact-route{display:block;margin-top:12px;padding:21px;border:1px solid rgba(74,52,41,.1);border-radius:18px;background:rgba(255,255,255,.82);transition:.25s ease}.contact-route:hover{border-color:rgba(127,185,64,.45);transform:translateY(-2px)}.contact-route span{display:block;color:var(--brand-green-dark);font-size:11px;font-weight:750;text-transform:uppercase}.contact-route strong{display:block;margin-top:6px;font-size:17px}.contact-route small{display:block;margin-top:6px;color:#776b65;font-size:12px;line-height:1.4}.contact-service-note{margin-top:18px;padding:22px;border-radius:18px;color:#eee7e1;background:var(--brand-brown-dark)}.contact-service-note strong{font-size:15px}.contact-service-note ul{display:grid;gap:8px;margin:13px 0 0 18px;color:#cfc5bf;font-size:13px}.contact-privacy-note{margin-top:17px;color:#71665f;font-size:12px;line-height:1.5}.contact-privacy-note a{color:var(--brand-green-dark);text-decoration:underline}
.contact-form-shell{overflow:hidden;border:1px solid rgba(74,52,41,.1);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(71,46,35,.11)}.contact-form-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:32px 36px 24px}.contact-form-heading span{color:var(--brand-green-dark);font-size:12px;font-weight:750}.contact-form-heading h2{margin-top:7px;font-size:clamp(29px,3.5vw,44px);letter-spacing:-.045em}.form-completion{text-align:right}.form-completion strong{display:block;color:var(--brand-brown-dark);font-size:23px}.form-completion span{color:#8a7f78;font-size:10px;text-transform:uppercase}.form-progress-track{height:4px;background:#eee8e4}.form-progress-track i{display:block;width:33%;height:100%;background:linear-gradient(90deg,var(--brand-brown),var(--brand-green));transition:width .3s ease}.contact-form-pro{position:relative;padding:31px 36px 36px}.form-honeypot{position:absolute!important;left:-9999px!important}.form-step{animation:formStepIn .35s ease}.form-step[hidden]{display:none}.form-step-head{margin-bottom:25px}.form-step-head>span{color:var(--brand-green-dark);font-size:11px;font-weight:750;text-transform:uppercase}.form-step-head h3{margin-top:7px;font-size:26px;letter-spacing:-.035em}.form-step-head p{margin-top:7px;color:#7c716b;font-size:13px}.contact-form-pro .field{gap:7px}.contact-form-pro .field>span{font-size:12px;font-weight:700}.contact-form-pro input,.contact-form-pro textarea,.contact-form-pro select{width:100%;border:1px solid #d8cec8;border-radius:12px;outline:none;background:#fbfaf8;padding:13px 14px;font-size:14px;transition:.2s ease}.contact-form-pro textarea{min-height:118px;resize:vertical}.contact-form-pro input:focus,.contact-form-pro textarea:focus,.contact-form-pro select:focus{border-color:var(--brand-green);background:#fff;box-shadow:var(--focus-ring)}.contact-form-pro [aria-invalid="true"]{border-color:var(--error);box-shadow:0 0 0 3px rgba(161,47,47,.12)}.field-error{min-height:15px;color:var(--error);font-size:10px}.file-drop{display:grid;min-height:150px;place-items:center;margin-top:16px;padding:22px;border:1px dashed #c6b9b1;border-radius:16px;background:#fbfaf8;text-align:center;cursor:pointer;transition:.2s ease}.file-drop:hover{border-color:var(--brand-green);background:#f5f9f1}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:var(--brand-green);font-size:21px}.file-drop strong{margin-top:10px;font-size:14px}.file-drop small{margin-top:5px;color:#877b74;font-size:11px}.consent-field{display:flex;align-items:flex-start;gap:10px;margin-top:17px;color:#675e59;font-size:12px;line-height:1.45}.consent-field input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--brand-green)}.consent-field a{color:var(--brand-green-dark);text-decoration:underline}.consent-field.optional{margin-top:10px}.form-navigation{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.submit-button{min-width:170px}.submit-button i{display:none;width:16px;height:16px;border:2px solid rgba(0,0,0,.22);border-top-color:#18220f;border-radius:50%;animation:spin .75s linear infinite}.submit-button.is-loading i{display:block}.form-status{margin-top:18px}.form-status.error{color:#7b2020;background:#faeaea}.form-status.success{color:#205d27;background:#e9f7ed}.contact-success{padding:70px 42px;text-align:center}.success-icon{display:grid;width:72px;height:72px;place-items:center;margin:auto;border-radius:50%;color:#fff;background:var(--brand-green);font-size:34px;box-shadow:0 15px 35px rgba(127,185,64,.25)}.contact-success h2{max-width:660px;margin:25px auto 0;font-size:clamp(34px,4.5vw,54px);letter-spacing:-.05em}.contact-success p{max-width:610px;margin:16px auto 0;color:#766b65;font-size:16px;line-height:1.5}.contact-success .actions{justify-content:center}.contact-assurance{padding:0 24px 110px;background:var(--brand-cream)}.contact-assurance-grid{display:grid;width:min(100%,var(--max));grid-template-columns:repeat(3,1fr);gap:14px;margin:auto}.contact-assurance article{padding:29px;border-radius:20px;background:#fff}.contact-assurance article>span{color:var(--brand-green-dark);font-size:12px;font-weight:750}.contact-assurance h3{margin-top:28px;font-size:21px}.contact-assurance p{margin-top:9px;color:#766b65;font-size:14px;line-height:1.48}@keyframes formStepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}

/* SEO product detail pages */
.product-page-hero{padding:calc(var(--nav-height) + 65px) 24px 70px;background:linear-gradient(145deg,#f8f4ef,#edf5e8)}.product-page-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;width:min(100%,var(--max));margin:0 auto 36px;color:#776a63;font-size:12px}.product-page-breadcrumb a:hover{color:var(--brand-green-dark)}.product-page-grid{display:grid;width:min(100%,var(--max));grid-template-columns:1fr 1fr;align-items:center;gap:65px;margin:auto}.product-page-visual{position:relative;display:grid;min-height:580px;place-items:center;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 50% 50%,rgba(127,185,64,.22),transparent 30%),linear-gradient(145deg,#35271f,#17100d)}.product-page-visual img{position:relative;z-index:2;width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 40px 32px rgba(0,0,0,.34));animation:dialogProductFloat 4.8s ease-in-out infinite alternate}.product-page-visual::after{position:absolute;left:50%;bottom:-80px;width:420px;height:390px;background:linear-gradient(to bottom,rgba(169,216,111,.22),transparent);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);content:"";transform:translateX(-50%)}.product-page-copy .eyebrow{font-size:13px}.product-page-copy h1{margin-top:12px;font-size:clamp(45px,6vw,78px);font-weight:750;letter-spacing:-.065em;line-height:.96}.product-page-code{display:inline-flex;margin-top:17px;padding:8px 11px;border-radius:8px;color:var(--brand-brown-dark);background:#fff;font-size:13px}.product-page-copy>p{margin-top:22px;color:#6f655f;font-size:19px;line-height:1.5}.product-page-quick{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:25px}.product-page-quick div{padding:15px;border:1px solid rgba(74,52,41,.1);border-radius:13px;background:rgba(255,255,255,.75)}.product-page-quick span{display:block;color:#8b7f78;font-size:10px;font-weight:750;text-transform:uppercase}.product-page-quick strong{display:block;margin-top:6px;font-size:13px;line-height:1.35}.product-page-sections{padding:105px 24px;background:#fff}.product-page-section-inner{width:min(100%,var(--max));margin:auto}.product-page-section-head{max-width:850px}.product-page-section-head h2{font-size:clamp(40px,5.4vw,66px);letter-spacing:-.055em}.product-page-section-head p{margin-top:17px;color:#706660;font-size:18px;line-height:1.5}.product-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:43px}.product-feature-grid article{padding:28px;border-radius:20px;background:#f7f3ef}.product-feature-grid span{color:var(--brand-green-dark);font-size:11px;font-weight:750}.product-feature-grid h3{margin-top:25px;font-size:21px}.product-feature-grid p{margin-top:8px;color:#716760;font-size:14px;line-height:1.48}.product-tech-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;margin-top:50px}.product-tech-table{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.product-tech-table div{padding:18px;border:1px solid #e4dcd6;border-radius:14px}.product-tech-table span{display:block;color:#897d76;font-size:10px;text-transform:uppercase}.product-tech-table strong{display:block;margin-top:7px;font-size:14px;line-height:1.4}.product-page-enquiry{padding:34px;border-radius:24px;color:#eee7e2;background:var(--brand-brown-dark)}.product-page-enquiry h3{font-size:29px;letter-spacing:-.04em}.product-page-enquiry p{margin-top:12px;color:#cfc4bd;font-size:14px;line-height:1.5}.product-page-enquiry .button{margin-top:20px}.product-page-apps{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.product-page-apps span{padding:9px 12px;border-radius:999px;color:#3e572b;background:#edf5e7;font-size:12px;font-weight:700}.related-product-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px}.related-product-page{overflow:hidden;border:1px solid #e3dad4;border-radius:18px;background:#fff}.related-product-page img{width:100%;height:210px;object-fit:cover;background:#221813}.related-product-page div{padding:18px}.related-product-page small{color:var(--brand-green-dark);font-weight:700}.related-product-page h3{margin-top:6px;font-size:18px}.related-product-page code{display:block;margin-top:7px;color:#7b6f68;font-size:10px}

@media(max-width:1080px){.dialog-layout-v5{grid-template-columns:.82fr 1.18fr}.dialog-content{padding-inline:30px}.dialog-action-bar{margin-inline:-30px;padding-inline:30px}.dialog-quick-specs{grid-template-columns:repeat(2,1fr)}.contact-workspace-grid{grid-template-columns:1fr}.contact-sidebar{position:relative;top:auto}.product-page-grid{grid-template-columns:1fr}.product-page-visual{min-height:500px}.product-tech-layout{grid-template-columns:1fr}}
@media(max-width:760px){.product-dialog-v5{width:100%;height:100%;max-height:100%;border-radius:0}.dialog-topbar{height:58px;padding-inline:15px}.dialog-layout-v5{display:block;height:calc(100% - 58px);overflow-y:auto}.dialog-visual-panel{min-height:480px}.dialog-visual-panel .dialog-visual{min-height:350px}.dialog-content{overflow:visible;padding:28px 20px 100px}.dialog-action-bar{grid-template-columns:1fr 1fr;bottom:-100px;margin:25px -20px -100px;padding:12px 20px}.dialog-tab-list{top:0}.configurator-grid{grid-template-columns:1fr}.contact-hero{min-height:670px;padding-top:135px}.contact-hero-copy{margin-left:0}.contact-hero h1{font-size:52px}.contact-light-object{right:-20%;bottom:-5%;width:500px;opacity:.45}.contact-workspace{padding:80px 18px}.contact-form-heading{padding:26px 22px 19px}.contact-form-pro{padding:25px 22px 28px}.form-row{grid-template-columns:1fr}.contact-assurance-grid{grid-template-columns:1fr}.product-page-hero{padding-inline:18px}.product-page-visual{min-height:420px}.product-feature-grid,.related-product-pages{grid-template-columns:1fr}.product-tech-table{grid-template-columns:1fr}}
@media(max-width:520px){.dialog-breadcrumb{display:none}.dialog-topbar{justify-content:flex-end}.dialog-visual-panel{min-height:430px}.dialog-visual-panel .dialog-visual{min-height:300px}.dialog-quick-specs{grid-template-columns:1fr 1fr}.dialog-action-bar{grid-template-columns:1fr}.contact-response-strip{align-items:flex-start;flex-direction:column}.contact-form-heading{align-items:flex-start;flex-direction:column}.form-completion{text-align:left}.form-navigation{display:grid;grid-template-columns:1fr}.form-navigation .button{width:100%}.product-page-copy h1{font-size:44px}.product-page-quick{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dialog-visual.auto-rotate .dialog-product-turntable img,.product-page-visual img{animation:none}.contact-light-object i,.contact-light-object span{animation:none}}

/* V5.1 form delivery diagnostics */
.form-status.error strong{display:block;margin-bottom:7px}
.form-email-fallback{display:inline-flex;margin-top:5px;color:#7b2d22;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.form-email-fallback:hover{color:#3a1712}


/* ===== V6 premium product cards and footer social links ===== */
.detailed-product-grid{
  gap:24px;
  align-items:stretch;
}
.detailed-product-card{
  position:relative;
  display:flex;
  min-width:0;
  min-height:660px;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(79,112,42,.16);
  border-radius:30px;
  background:linear-gradient(180deg,#fff 0%,#fff 68%,#fbfaf8 100%);
  box-shadow:0 12px 34px rgba(62,42,32,.075);
  cursor:default;
  isolation:isolate;
  transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .3s ease;
}
.detailed-product-card::before{
  position:absolute;
  z-index:4;
  top:0;
  right:18%;
  left:18%;
  height:3px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(90deg,transparent,var(--green),transparent);
  opacity:0;
  content:"";
  transform:scaleX(.55);
  transition:opacity .3s ease,transform .4s var(--ease);
}
.detailed-product-card:hover{
  border-color:rgba(127,185,64,.58);
  box-shadow:0 28px 70px rgba(62,42,32,.16);
  transform:translateY(-9px);
}
.detailed-product-card:hover::before{opacity:1;transform:scaleX(1)}
.product-card-art{
  position:relative;
  display:grid;
  width:100%;
  height:315px!important;
  flex:0 0 auto;
  place-items:center;
  overflow:hidden;
  border:0;
  border-bottom:1px solid rgba(77,58,48,.08);
  border-radius:0;
  outline:none;
  background:
    radial-gradient(circle at 77% 23%,rgba(127,185,64,.13),transparent 27%),
    radial-gradient(circle at 16% 82%,rgba(147,107,84,.10),transparent 28%),
    linear-gradient(145deg,#fbf9f6 0%,#f1ece6 100%)!important;
  cursor:pointer;
  isolation:isolate;
}
.product-card-art::before{
  position:absolute;
  top:9%;
  right:7%;
  width:35%;
  aspect-ratio:1;
  border:1px solid rgba(127,185,64,.2);
  border-radius:50%;
  background:rgba(127,185,64,.045);
  clip-path:none;
  content:"";
  transform:none;
}
.product-card-art::after{
  position:absolute;
  right:18%;
  bottom:5%;
  left:18%;
  height:13%;
  border-radius:50%;
  background:rgba(63,47,39,.17);
  filter:blur(22px);
  content:"";
}
.product-card-art:focus-visible{
  box-shadow:inset 0 0 0 4px rgba(127,185,64,.65);
}
.product-card-art img{
  position:relative;
  z-index:2;
  width:91%;
  height:91%;
  object-fit:contain;
  filter:drop-shadow(0 25px 20px rgba(45,31,24,.19));
  transform-origin:center 58%;
  transition:transform .62s var(--ease),filter .62s var(--ease);
}
.detailed-product-card:hover .product-card-art img{
  filter:drop-shadow(0 35px 26px rgba(45,31,24,.24));
  transform:perspective(900px) rotateX(3deg) rotateY(-6deg) translateY(-8px) scale(1.045);
}
.product-card-visual-meta{
  position:absolute;
  z-index:4;
  top:16px;
  right:16px;
  left:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  pointer-events:none;
}
.product-image-badge{
  position:static;
  max-width:72%;
  overflow:hidden;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:999px;
  color:#4e6740;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 18px rgba(50,34,27,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(12px);
}
.product-card-index{
  display:inline-grid;
  min-width:38px;
  height:29px;
  place-items:center;
  border-radius:999px;
  color:#766960;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 18px rgba(50,34,27,.07);
  font-size:11px;
  font-weight:800;
  backdrop-filter:blur(12px);
}
.product-card-image-action{
  position:absolute;
  z-index:4;
  right:50%;
  bottom:16px;
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:8px;
  padding:0 15px;
  border-radius:999px;
  color:#fff;
  background:rgba(39,28,23,.88);
  box-shadow:0 10px 30px rgba(37,25,20,.18);
  font-size:12px;
  font-weight:750;
  opacity:0;
  transform:translate(50%,12px);
  transition:opacity .3s ease,transform .35s var(--ease),background .25s ease;
  backdrop-filter:blur(12px);
}
.product-card-image-action svg{width:17px}
.product-card-art:hover .product-card-image-action,.product-card-art:focus-visible .product-card-image-action{
  opacity:1;
  transform:translate(50%,0);
}
.product-card-shortlist-toggle{
  position:absolute;
  z-index:7;
  top:58px;
  right:17px;
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid rgba(255,255,255,.76);
  border-radius:50%;
  color:#624d42;
  background:rgba(255,255,255,.84);
  box-shadow:0 8px 25px rgba(48,32,25,.11);
  cursor:pointer;
  transition:color .25s ease,background .25s ease,transform .25s ease,border-color .25s ease;
  backdrop-filter:blur(12px);
}
.product-card-shortlist-toggle svg{width:18px}
.product-card-shortlist-toggle:hover{color:var(--green);transform:scale(1.08)}
.product-card-shortlist-toggle.active{
  border-color:var(--green);
  color:#fff;
  background:var(--green);
}
.product-card-shortlist-toggle.active svg{fill:currentColor}
.product-card-content{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  padding:27px 28px 25px;
}
.product-card-category{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--brand-green-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.product-card-category span:first-child{
  padding:6px 9px;
  border-radius:999px;
  background:#eef6e8;
}
.product-card-category span:last-child{
  max-width:44%;
  overflow:hidden;
  color:#998c84;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.product-card-content h3{
  margin-top:18px;
  color:#2e211b;
  font-size:29px;
  font-weight:750;
  letter-spacing:-.05em;
  line-height:1.04;
}
.product-code{
  display:block;
  max-width:100%;
  overflow:hidden;
  margin-top:11px;
  color:#82756d;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.product-card-content>p{
  min-height:44px;
  margin-top:13px;
  color:#756b65;
  font-size:15px;
  line-height:1.48;
}
.product-card-specs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}
.product-card-specs div{
  min-width:0;
  padding:12px 10px;
  border:1px solid rgba(93,72,61,.08);
  border-radius:13px;
  background:linear-gradient(145deg,#f8f4f0,#f2eee9);
}
.product-card-specs span{
  display:block;
  color:#92857d;
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.product-card-specs strong{
  display:block;
  overflow:hidden;
  margin-top:5px;
  color:#392b24;
  font-size:11px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.product-card-installation{
  display:flex;
  min-width:0;
  align-items:center;
  gap:8px;
  margin-top:13px;
  color:#71675f;
  font-size:12px;
}
.product-card-installation svg{width:17px;flex:0 0 17px;color:var(--green)}
.product-card-installation span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-card-footer{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
  margin-top:auto;
  padding-top:22px;
  border-top:1px solid rgba(78,57,47,.10);
}
.product-card-details{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:#2f231d;
  cursor:pointer;
  font-size:13px;
  font-weight:750;
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.product-card-details svg{width:17px;transition:transform .25s ease}
.product-card-details:hover{
  background:var(--brand-green-dark);
  box-shadow:0 10px 24px rgba(68,99,36,.18);
  transform:translateY(-1px);
}
.product-card-details:hover svg{transform:translateX(3px)}
.product-card-page{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  gap:6px;
  padding:0 8px;
  color:#5d514a;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.product-card-page:hover{color:var(--brand-green-dark);text-decoration:underline;text-underline-offset:4px}
.product-card-seo-link{display:none!important}

.footer-social-block{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:25px;
}
.footer-social-block>span{
  color:#d8d0ca;
  font-size:12px;
  font-weight:700;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.footer-socials{display:flex;align-items:center;gap:9px}
.footer-socials a{
  display:grid;
  width:39px;
  height:39px;
  place-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  color:#ded7d2;
  background:rgba(255,255,255,.035);
  transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.footer-socials a svg{width:18px;height:18px}
.footer-socials a:hover{
  border-color:var(--green);
  color:#fff;
  background:var(--green);
  box-shadow:0 9px 24px rgba(127,185,64,.18);
  transform:translateY(-3px);
}
.footer-socials a:focus-visible{outline:3px solid rgba(127,185,64,.45);outline-offset:3px}

@media(max-width:1180px){
  .detailed-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .detailed-product-grid{grid-template-columns:1fr;gap:18px}
  .detailed-product-card{min-height:0;border-radius:25px}
  .product-card-art{height:300px!important}
  .product-card-content{padding:24px 22px 22px}
  .product-card-content h3{font-size:27px}
  .product-card-image-action{opacity:1;transform:translate(50%,0)}
  .footer-social-block{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:430px){
  .product-card-art{height:270px!important}
  .product-card-specs{grid-template-columns:1fr 1fr}
  .product-card-specs div:last-child{grid-column:span 2}
  .product-card-footer{grid-template-columns:1fr}
  .product-card-page{justify-content:center}
}


/* ==========================================================
   OSTROLUXX V7 — BROWN + GOLD LIGHTING THEME
   ========================================================== */
:root{
  --black:#1b100b;
  --black-soft:#24160f;
  --surface:#2b1b14;
  --surface-2:#38251b;
  --white:#ffffff;
  --paper:#f7f0e6;
  --paper-2:#fcf8f1;
  --text:#302019;
  --muted:#79685e;
  --muted-light:#b5a69b;
  --orange:#d4a63a;
  --orange-light:#f1cd72;
  --blue:#b98622;
  --line-dark:rgba(255,244,222,.16);
  --line:rgba(73,46,32,.14);
}

/* Main surfaces */
body{
  color:var(--text);
  background:#fcf8f1;
}
::selection{
  color:#2c1c14;
  background:#f2d88d;
}
.site-header{
  border-bottom-color:rgba(255,226,166,.13);
  background:rgba(42,26,18,.88);
}
.site-header.scrolled{
  background:rgba(35,21,14,.96);
  box-shadow:0 14px 42px rgba(46,27,17,.2);
}
.mobile-nav{
  background:rgba(34,20,13,.99);
}
.nav-list a::after{
  background:linear-gradient(90deg,#b77a1f,#f1cd72);
}
.header-cta,
.mobile-nav .mobile-contact,
.button-primary{
  color:#2a1b13;
  background:linear-gradient(135deg,#e7bc55,#c99128);
  box-shadow:0 12px 32px rgba(184,126,30,.24);
}
.header-cta:hover,
.mobile-nav .mobile-contact:hover,
.button-primary:hover{
  background:linear-gradient(135deg,#f3d47f,#d9a73f);
}
.button-dark{
  background:#3b271d;
}
.button-dark:hover{
  background:#503526;
}
.button-light-outline{
  border-color:rgba(79,51,36,.25);
}

/* Dark cinematic areas */
.home-hero{
  background:
    radial-gradient(circle at 50% 55%,rgba(224,174,66,.21),transparent 19%),
    radial-gradient(circle at 50% 78%,rgba(139,88,36,.22),transparent 37%),
    linear-gradient(180deg,#24150e 0%,#130b08 100%);
}
.home-purpose,
.page-hero,
.content-section.dark,
.stats-band,
.compare{
  background:
    radial-gradient(circle at 50% 68%,rgba(212,166,58,.15),transparent 28%),
    linear-gradient(180deg,#26170f 0%,#160d09 100%);
}
.gradient-text{
  background:linear-gradient(90deg,#fff9ec 4%,#f4d98c 42%,#d4a63a 73%,#fff3cf 100%);
  -webkit-background-clip:text;
  background-clip:text;
}
.home-purpose h2 span,
.metric strong,
.stat strong{
  background:linear-gradient(90deg,#fff7e7,#efc867,#b87d21);
  -webkit-background-clip:text;
  background-clip:text;
}
.hero-floor{
  background:linear-gradient(to bottom,transparent,#130b08 88%);
}

/* Light sections */
.home-intro,
.content-section,
.home-projects,
.applications{
  background:#fffdf9;
}
.content-section.soft,
.product-lineup,
.lineup,
.collection{
  background:#f7f0e6;
}
.value-card,
.tech-card,
.purpose-card,
.catalog-card,
.contact-card,
.contact-form,
.product-tile.light,
.product-card.light{
  background:#fffaf3;
}
.split-media.light{
  background:#fffaf3;
}

/* Product catalogue */
.catalog-card,
.product-card{
  border-color:rgba(145,96,51,.18);
  box-shadow:0 10px 30px rgba(78,47,29,.09);
}
.catalog-card:hover,
.product-card:hover{
  box-shadow:0 22px 54px rgba(88,52,28,.17);
}
.catalog-art,
.product-card-media,
.product-visual{
  background:
    radial-gradient(circle at 50% 48%,rgba(226,181,72,.17),transparent 33%),
    linear-gradient(145deg,#fbf3e6,#f1e3cf);
}
.filter-btn{
  border-color:#d8c5ad;
  color:#553a2a;
  background:#fffaf3;
}
.filter-btn:hover,
.filter-btn.active{
  border-color:#8f6028;
  color:#fffaf0;
  background:linear-gradient(135deg,#8a5a27,#bc862b);
}
.tile-copy small,
.catalog-info small,
.card-number,
.eyebrow,
.project-copy small,
.application-copy small,
.project-list-copy small{
  color:#a36f1f;
}
.text-link{
  color:#9b681c;
}
.text-link:hover{
  color:#6f4717;
}
.product-tile.warm{
  background:linear-gradient(160deg,#fff8e9,#ecd4a7);
}
.product-tile.blue,
.product-card.blue{
  background:linear-gradient(160deg,#352217,#68491d);
}

/* Forms */
.field input,
.field textarea,
.field select{
  border-color:#d8c8b8;
  background:#fffdf9;
}
.field input:focus,
.field textarea:focus,
.field select:focus{
  border-color:#b67d24;
  box-shadow:0 0 0 4px rgba(212,166,58,.18);
}
.form-status{
  color:#6a4818;
  background:#fbefc7;
}

/* Footer */
.site-footer{
  color:#c8b8ac;
  background:#1b100b;
}
.footer-cta{
  border-bottom-color:rgba(255,234,193,.13);
  background:
    radial-gradient(circle at 82% 50%,rgba(212,166,58,.18),transparent 25%),
    linear-gradient(135deg,#2a1a12,#1a100b);
}
.footer-main,
.footer-bottom{
  border-color:rgba(255,235,198,.13);
}
.footer-col a:hover,
.footer-legal a:hover{
  color:#f1cd72;
}
.newsletter{
  border-bottom-color:rgba(241,205,114,.34);
}

/* Decorative glows and logo accent */
.logo-symbol::after{
  background:#d4a63a;
  box-shadow:0 0 14px rgba(212,166,58,.85);
}
.purpose-ring,
.closing-orb,
.page-orb{
  box-shadow:
    inset 0 0 0 5px rgba(154,104,47,.65),
    inset 0 0 34px rgba(255,242,208,.13),
    0 -12px 70px rgba(212,166,58,.23);
}
.purpose-ring::before,
.closing-orb::after,
.page-orb::after{
  background:radial-gradient(circle,#fffdf7 0%,#fff0c9 25%,#efc867 52%,#c28a29 74%,#4c2d17 100%);
  box-shadow:0 0 95px rgba(212,166,58,.4);
}

/* Social icon polish */
.social-link,
.footer-social a{
  border-color:rgba(241,205,114,.25);
  color:#f4dfb0;
  background:rgba(212,166,58,.07);
}
.social-link:hover,
.footer-social a:hover{
  color:#2b1b13;
  border-color:#f1cd72;
  background:#f1cd72;
  box-shadow:0 10px 28px rgba(212,166,58,.22);
}


/* ==========================================================
   OSTROLUXX V8 — DETAILED CONTENT + LIGHTING MOTION SYSTEM
   ========================================================== */
.v8-section{
  position:relative;
  overflow:hidden;
  padding:clamp(92px,10vw,150px) 24px;
  color:var(--text);
  background:#fffdf9;
  isolation:isolate;
}
.v8-section.v8-soft{background:#f7f0e6}
.v8-section.v8-dark{
  color:#fff8eb;
  background:
    radial-gradient(circle at 78% 18%,rgba(212,166,58,.13),transparent 25%),
    linear-gradient(180deg,#25170f,#160d09);
}
.v8-section::before{
  position:absolute;
  z-index:-1;
  top:-180px;
  right:-180px;
  width:480px;
  height:480px;
  border:1px solid rgba(212,166,58,.13);
  border-radius:50%;
  box-shadow:0 0 0 68px rgba(212,166,58,.025),0 0 0 136px rgba(212,166,58,.018);
  content:"";
  animation:v8-orbit-breathe 8s ease-in-out infinite;
}
.v8-section-inner{width:min(100%,var(--max));margin-inline:auto}
.v8-section-head{max-width:900px}
.v8-section-head.center{margin-inline:auto;text-align:center}
.v8-section-head .section-title{margin-top:14px}
.v8-section-head .body-large{margin-top:20px}
.v8-section-head.center .body-large{max-width:760px;margin-inline:auto}
.v8-dark .body-large,.v8-dark .v8-card p,.v8-dark .v8-timeline p{color:#b9aaa0}
.v8-kicker{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#a56f1e;
  font-size:14px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.v8-kicker::before{width:30px;height:1px;background:currentColor;content:""}
.v8-dark .v8-kicker{color:#efc867}
.v8-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:54px;
}
.v8-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.v8-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.v8-card{
  position:relative;
  overflow:hidden;
  min-height:285px;
  padding:30px;
  border:1px solid rgba(115,72,39,.13);
  border-radius:26px;
  background:rgba(255,250,243,.9);
  box-shadow:0 12px 35px rgba(74,42,24,.07);
  transition:transform .45s var(--ease),border-color .35s ease,box-shadow .45s var(--ease);
}
.v8-dark .v8-card{
  border-color:rgba(241,205,114,.13);
  background:rgba(255,255,255,.045);
  box-shadow:none;
}
.v8-card::after{
  position:absolute;
  right:-55px;
  bottom:-75px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(241,205,114,.23),transparent 68%);
  opacity:0;
  transform:scale(.7);
  content:"";
  transition:.45s var(--ease);
}
.v8-card:hover{
  border-color:rgba(180,124,36,.36);
  box-shadow:0 24px 55px rgba(80,45,23,.13);
  transform:translateY(-8px);
}
.v8-dark .v8-card:hover{box-shadow:0 22px 60px rgba(0,0,0,.25)}
.v8-card:hover::after{opacity:1;transform:scale(1)}
.v8-card-number{
  color:#b57a20;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.v8-card-icon{
  display:grid;
  width:50px;
  height:50px;
  place-items:center;
  margin-top:34px;
  border-radius:50%;
  color:#3a2519;
  background:linear-gradient(135deg,#f5df9d,#c89531);
  box-shadow:0 9px 25px rgba(181,122,32,.2);
}
.v8-card-icon svg{width:23px}
.v8-card h3{margin-top:22px;font-size:22px;letter-spacing:-.035em;line-height:1.1}
.v8-card p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.48}
.v8-card ul{display:grid;gap:8px;margin-top:16px;padding-left:18px;color:var(--muted);font-size:14px;line-height:1.45}
.v8-dark .v8-card ul{color:#b9aaa0}

/* Animated lighting layers */
.v8-lighting-layers{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  align-items:center;
  gap:76px;
  margin-top:62px;
}
.v8-room-stage{
  position:relative;
  min-height:570px;
  overflow:hidden;
  border-radius:34px;
  background:
    linear-gradient(90deg,rgba(45,29,20,.94) 0 9%,transparent 9% 91%,rgba(45,29,20,.94) 91%),
    linear-gradient(180deg,#3b291e 0 62%,#24170f 62%);
  box-shadow:0 30px 80px rgba(65,38,21,.18);
  perspective:1000px;
}
.v8-room-stage::before{
  position:absolute;
  top:12%;
  right:10%;
  bottom:25%;
  left:10%;
  border:1px solid rgba(255,237,197,.11);
  background:linear-gradient(145deg,#2d2018,#493426);
  content:"";
}
.v8-room-floor{
  position:absolute;
  right:0;bottom:0;left:0;height:39%;
  background:linear-gradient(165deg,#3d2b1f,#1f140e);
  clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);
}
.v8-room-object{
  position:absolute;
  z-index:3;
  right:23%;
  bottom:18%;
  width:32%;
  height:25%;
  border-radius:14px 14px 6px 6px;
  background:linear-gradient(145deg,#8f6b4d,#4f3525);
  box-shadow:0 18px 35px rgba(0,0,0,.3);
}
.v8-room-object::before{
  position:absolute;right:12%;bottom:100%;width:76%;height:68%;
  border-radius:50% 50% 10px 10px;background:#715039;content:"";
}
.v8-beam{
  position:absolute;
  z-index:2;
  top:5%;
  left:50%;
  width:230px;
  height:430px;
  clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(255,246,211,.57),rgba(239,190,88,.06));
  filter:blur(1px);
  opacity:.12;
  transform:translateX(-50%);
  transition:opacity .5s ease,transform .6s var(--ease);
}
.v8-beam.active{opacity:.7}
.v8-beam.task{left:67%;width:150px;transform:translateX(-50%) rotate(-7deg)}
.v8-beam.accent{left:28%;width:120px;transform:translateX(-50%) rotate(10deg)}
.v8-ambient-glow{
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 44%,rgba(255,214,132,.32),transparent 46%);
  opacity:.2;transition:opacity .5s ease;
}
.v8-ambient-glow.active{opacity:1}
.v8-layer-controls{display:grid;gap:12px}
.v8-layer-button{
  display:grid;
  grid-template-columns:54px 1fr auto;
  align-items:center;
  gap:17px;
  padding:18px;
  border:1px solid rgba(107,67,37,.14);
  border-radius:20px;
  background:#fffaf3;
  cursor:pointer;
  text-align:left;
  transition:.3s ease;
}
.v8-layer-button:hover,.v8-layer-button.active{
  border-color:#c08b30;
  background:#fff4dc;
  transform:translateX(7px);
}
.v8-layer-button .dot{
  display:grid;width:45px;height:45px;place-items:center;border-radius:50%;
  color:#342116;background:linear-gradient(135deg,#f2d887,#c7902e);
}
.v8-layer-button strong{display:block;font-size:17px}
.v8-layer-button small{display:block;margin-top:3px;color:var(--muted);font-size:13px}
.v8-layer-button .arrow{color:#a56f1e;font-size:24px}

/* Metrics */
.v8-metric-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:54px;
  border-block:1px solid rgba(241,205,114,.15);
}
.v8-metric{
  min-height:190px;
  padding:30px;
  border-right:1px solid rgba(241,205,114,.15);
}
.v8-metric:last-child{border-right:0}
.v8-metric strong{
  display:block;
  color:transparent;
  background:linear-gradient(90deg,#fff8e9,#efc867);
  -webkit-background-clip:text;background-clip:text;
  font-size:clamp(42px,5vw,67px);
  font-weight:780;letter-spacing:-.06em;line-height:1;
}
.v8-metric span{display:block;margin-top:12px;color:#b9aaa0;font-size:14px;line-height:1.4}

/* Timeline */
.v8-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:62px;
}
.v8-timeline::before{
  position:absolute;top:18px;right:8%;left:8%;height:2px;
  background:rgba(163,111,31,.18);content:"";
}
.v8-timeline::after{
  position:absolute;top:18px;left:8%;width:var(--timeline-progress,0%);height:2px;
  background:linear-gradient(90deg,#9a641d,#efc867);content:"";
  transition:width 1.6s var(--ease);
}
.v8-timeline.is-visible{--timeline-progress:84%}
.v8-timeline article{position:relative;padding:0 24px}
.v8-timeline .node{
  position:relative;z-index:2;display:grid;width:38px;height:38px;place-items:center;
  border:5px solid #fffdf9;border-radius:50%;color:#2c1c13;
  background:linear-gradient(135deg,#efcf78,#bd8126);
  box-shadow:0 6px 22px rgba(167,110,29,.22);
}
.v8-soft .v8-timeline .node{border-color:#f7f0e6}
.v8-dark .v8-timeline .node{border-color:#24160f}
.v8-timeline h3{margin-top:25px;font-size:19px;letter-spacing:-.03em}
.v8-timeline p{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.48}

/* Tables, matrices and chips */
.v8-table-wrap{
  overflow:auto;
  margin-top:50px;
  border:1px solid rgba(105,65,35,.13);
  border-radius:24px;
  background:#fffaf3;
  box-shadow:0 14px 40px rgba(69,38,20,.06);
}
.v8-table{width:100%;min-width:760px;border-collapse:collapse}
.v8-table th,.v8-table td{padding:18px 20px;border-bottom:1px solid rgba(105,65,35,.1);text-align:left}
.v8-table th{color:#7f531d;background:#f2e6d5;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.v8-table td{color:#5f4d42;font-size:14px;line-height:1.4}
.v8-table tr:last-child td{border-bottom:0}
.v8-check{color:#a56f1e;font-weight:800}
.v8-chip-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.v8-chip{
  display:inline-flex;align-items:center;gap:7px;padding:9px 13px;
  border:1px solid rgba(160,103,31,.2);border-radius:999px;
  color:#66431b;background:rgba(255,247,230,.82);font-size:13px;font-weight:650;
}
.v8-dark .v8-chip{color:#efddba;border-color:rgba(241,205,114,.2);background:rgba(255,255,255,.05)}

/* Beam simulator */
.v8-lab{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:50px;
  align-items:stretch;
  margin-top:58px;
}
.v8-lab-stage{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border-radius:30px;
  background:
    linear-gradient(180deg,#2c1c14 0 62%,#1a100b 62%),
    #21140e;
  box-shadow:0 30px 75px rgba(54,31,18,.2);
}
.v8-lab-wall{position:absolute;inset:7% 7% 29%;border:1px solid rgba(255,245,216,.1);background:#3b291e}
.v8-lab-art{position:absolute;right:29%;bottom:27%;width:42%;height:34%;border-radius:8px;background:linear-gradient(135deg,#77563d,#2d2018);box-shadow:0 13px 25px rgba(0,0,0,.26)}
.v8-lab-beam{
  position:absolute;z-index:2;top:4%;left:50%;
  width:var(--beam-width,210px);height:430px;
  clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,var(--beam-color,rgba(255,228,169,.75)),rgba(255,196,79,.03));
  opacity:.74;filter:blur(1px);transform:translateX(-50%);
  transition:width .35s ease,background .35s ease;
}
.v8-lab-controls{
  display:grid;align-content:center;gap:24px;padding:35px;border-radius:30px;background:#fffaf3;
}
.v8-control label{display:flex;justify-content:space-between;gap:20px;font-weight:700}
.v8-control output{color:#a36c1b}
.v8-control input[type="range"]{width:100%;margin-top:13px;accent-color:#b77a20}
.v8-control-note{padding:16px;border-radius:16px;color:#68564b;background:#f3e7d5;font-size:14px;line-height:1.5}

/* Accordions */
.v8-faq{display:grid;gap:10px;max-width:930px;margin:52px auto 0}
.v8-faq-item{
  border:1px solid rgba(112,69,37,.14);
  border-radius:18px;background:#fffaf3;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.v8-faq-item[open]{border-color:rgba(173,113,29,.42);box-shadow:0 13px 32px rgba(70,40,22,.08)}
.v8-faq-item summary{
  position:relative;padding:21px 55px 21px 22px;cursor:pointer;
  font-size:17px;font-weight:730;letter-spacing:-.02em;list-style:none;
}
.v8-faq-item summary::-webkit-details-marker{display:none}
.v8-faq-item summary::after{
  position:absolute;top:50%;right:21px;width:25px;height:25px;
  display:grid;place-items:center;border-radius:50%;color:#fff7e8;background:#7c5020;
  content:"+";transform:translateY(-50%);transition:transform .25s ease;
}
.v8-faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.v8-faq-item p{padding:0 22px 22px;color:var(--muted);font-size:15px;line-height:1.55}

/* Product-page expansion */
.v8-product-story{padding:105px 24px;background:#f7f0e6}
.v8-product-story-inner{width:min(100%,var(--max));margin-inline:auto}
.v8-product-effect{
  display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:65px;margin-top:52px;
}
.v8-product-effect-stage{
  position:relative;min-height:500px;overflow:hidden;border-radius:30px;
  background:linear-gradient(180deg,#322119 0 64%,#1c110c 64%);
  box-shadow:0 28px 70px rgba(67,39,22,.16);
}
.v8-product-effect-stage img{
  position:absolute;z-index:3;top:6%;left:50%;width:62%;height:55%;object-fit:contain;
  filter:drop-shadow(0 25px 25px rgba(0,0,0,.35));
  transform:translateX(-50%);
  animation:v8-product-float 5.5s ease-in-out infinite;
}
.v8-product-effect-beam{
  position:absolute;z-index:2;top:37%;left:50%;width:58%;height:58%;
  clip-path:polygon(36% 0,64% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,rgba(255,232,178,.62),rgba(212,166,58,.05));
  transform:translateX(-50%);
  animation:v8-beam-breathe 4s ease-in-out infinite;
}
.v8-product-effect-copy h2{font-size:clamp(38px,5vw,62px);font-weight:750;letter-spacing:-.06em;line-height:.98}
.v8-product-effect-copy>p{margin-top:19px;color:var(--muted);font-size:18px;line-height:1.5}
.v8-spec-decisions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:60px}
.v8-decision{
  padding:24px;border:1px solid rgba(112,69,37,.13);border-radius:20px;background:#fffaf3;
}
.v8-decision small{color:#a56f1e;font-weight:750}
.v8-decision h3{margin-top:10px;font-size:18px}
.v8-decision p{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.45}
.v8-installation-notes{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:55px;
}
.v8-installation-notes article{padding:28px;border-radius:22px;color:#f5e8d5;background:#2b1a12}
.v8-installation-notes h3{font-size:19px}
.v8-installation-notes p{margin-top:9px;color:#beada1;font-size:14px;line-height:1.5}

/* Moving details */
.v8-marquee{
  overflow:hidden;padding:17px 0;border-block:1px solid rgba(145,93,31,.15);background:#f2e5d2;
}
.v8-marquee-track{
  display:flex;width:max-content;gap:44px;animation:v8-marquee 27s linear infinite;
}
.v8-marquee span{display:inline-flex;align-items:center;gap:12px;color:#604118;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.v8-marquee span::before{width:7px;height:7px;border-radius:50%;background:#c18b31;box-shadow:0 0 10px rgba(193,139,49,.5);content:""}
.v8-light-sweep{
  position:absolute;z-index:1;top:-20%;left:-30%;width:24%;height:140%;
  background:linear-gradient(90deg,transparent,rgba(255,240,197,.13),transparent);
  transform:skewX(-14deg);pointer-events:none;
  animation:v8-sweep 9s ease-in-out infinite;
}
.v8-reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.v8-reveal.is-visible{opacity:1;transform:none}
.v8-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
.v8-stagger.is-visible>*{opacity:1;transform:none}
.v8-stagger.is-visible>*:nth-child(2){transition-delay:.08s}
.v8-stagger.is-visible>*:nth-child(3){transition-delay:.16s}
.v8-stagger.is-visible>*:nth-child(4){transition-delay:.24s}
.v8-stagger.is-visible>*:nth-child(5){transition-delay:.32s}
.v8-stagger.is-visible>*:nth-child(6){transition-delay:.40s}
.v8-tilt{transform-style:preserve-3d;will-change:transform}
.v8-tilt>*{transform:translateZ(18px)}
.v8-count{font-variant-numeric:tabular-nums}

/* Keyframes */
@keyframes v8-orbit-breathe{0%,100%{transform:scale(.95);opacity:.65}50%{transform:scale(1.06);opacity:1}}
@keyframes v8-product-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(-1deg)}50%{transform:translateX(-50%) translateY(-13px) rotate(1deg)}}
@keyframes v8-beam-breathe{0%,100%{opacity:.42;filter:blur(2px)}50%{opacity:.78;filter:blur(0)}}
@keyframes v8-marquee{to{transform:translateX(-50%)}}
@keyframes v8-sweep{0%,20%{transform:translateX(-160%) skewX(-14deg)}55%,100%{transform:translateX(650%) skewX(-14deg)}}

@media(max-width:1000px){
  .v8-grid.four,.v8-metric-row,.v8-spec-decisions{grid-template-columns:repeat(2,1fr)}
  .v8-lighting-layers,.v8-lab,.v8-product-effect{grid-template-columns:1fr}
  .v8-room-stage,.v8-lab-stage,.v8-product-effect-stage{min-height:500px}
  .v8-timeline{grid-template-columns:repeat(2,1fr);gap:45px 0}
  .v8-timeline::before,.v8-timeline::after{display:none}
  .v8-installation-notes{grid-template-columns:1fr}
}
@media(max-width:760px){
  .v8-section{padding:88px 20px}
  .v8-grid,.v8-grid.two,.v8-grid.four,.v8-metric-row,.v8-spec-decisions{grid-template-columns:1fr}
  .v8-card{min-height:auto}
  .v8-metric{min-height:auto;border-right:0;border-bottom:1px solid rgba(241,205,114,.15)}
  .v8-metric:last-child{border-bottom:0}
  .v8-timeline{grid-template-columns:1fr;gap:36px}
  .v8-timeline article{padding:0}
  .v8-room-stage,.v8-lab-stage,.v8-product-effect-stage{min-height:430px}
  .v8-layer-button{grid-template-columns:47px 1fr auto}
}
@media(prefers-reduced-motion:reduce){
  .v8-section::before,.v8-product-effect-stage img,.v8-product-effect-beam,.v8-marquee-track,.v8-light-sweep{animation:none!important}
  .v8-reveal,.v8-stagger>*{opacity:1!important;transform:none!important}
}


/* ==========================================================
   OSTROLUXX V9 — PURPOSE GRID FIX + LIGHT CURSOR
   ========================================================== */

/* Corrected responsible-specification section */
.v8-purpose-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:56px;
  border:0;
}
.v8-purpose-metrics .v8-metric{
  position:relative;
  min-width:0;
  min-height:285px;
  overflow:hidden;
  padding:31px;
  border:1px solid rgba(241,205,114,.17);
  border-radius:25px;
  background:
    radial-gradient(circle at 100% 0,rgba(241,205,114,.10),transparent 38%),
    rgba(255,255,255,.045);
  transition:
    transform .42s var(--ease),
    border-color .32s ease,
    background .32s ease,
    box-shadow .42s var(--ease);
}
.v8-purpose-metrics .v8-metric:last-child{
  border-right:1px solid rgba(241,205,114,.17);
}
.v8-purpose-metrics .v8-metric::after{
  position:absolute;
  right:-52px;
  bottom:-70px;
  width:175px;
  height:175px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(241,205,114,.20),transparent 68%);
  opacity:0;
  transform:scale(.7);
  content:"";
  transition:opacity .4s ease,transform .4s var(--ease);
}
.v8-purpose-metrics .v8-metric:hover{
  z-index:2;
  border-color:rgba(241,205,114,.38);
  background:
    radial-gradient(circle at 100% 0,rgba(241,205,114,.16),transparent 42%),
    rgba(255,255,255,.065);
  box-shadow:0 22px 58px rgba(0,0,0,.24);
  transform:translateY(-7px);
}
.v8-purpose-metrics .v8-metric:hover::after{
  opacity:1;
  transform:scale(1);
}
.v8-purpose-index{
  display:inline-flex;
  min-width:36px;
  min-height:25px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(241,205,114,.24);
  border-radius:999px;
  color:#efc867;
  background:rgba(241,205,114,.07);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.v8-purpose-metrics .v8-metric strong{
  position:relative;
  z-index:1;
  display:block;
  max-width:100%;
  margin-top:36px;
  color:transparent;
  background:linear-gradient(100deg,#fff8e9 2%,#f3d787 55%,#d4a63a 100%);
  -webkit-background-clip:text;
  background-clip:text;
  font-size:clamp(37px,3.2vw,54px);
  font-weight:760;
  letter-spacing:-.06em;
  line-height:.96;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
}
.v8-purpose-metrics .v8-metric span:not(.v8-purpose-index){
  position:relative;
  z-index:1;
  display:block;
  max-width:320px;
  margin-top:24px;
  color:#c3b5aa;
  font-size:15px;
  line-height:1.52;
}

/* Custom light cursor. Only enabled for precise mouse devices. */
.ostro-light-cursor{
  position:fixed;
  z-index:2147483646;
  top:0;
  left:0;
  width:0;
  height:0;
  pointer-events:none;
  opacity:0;
  transform:translate3d(var(--cursor-x,-100px),var(--cursor-y,-100px),0);
  transition:opacity .22s ease;
  will-change:transform;
}
.ostro-light-cursor.is-visible{opacity:1}
.ostro-cursor-halo,
.ostro-cursor-ring,
.ostro-cursor-core,
.ostro-cursor-beam{
  position:absolute;
  top:0;
  left:0;
  pointer-events:none;
}
.ostro-cursor-halo{
  width:58px;
  height:58px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(255,248,222,.55) 0,
    rgba(241,205,114,.28) 24%,
    rgba(212,166,58,.12) 48%,
    transparent 72%
  );
  filter:blur(2px);
  transform:translate(-50%,-50%) scale(var(--cursor-halo-scale,1));
  transition:transform .28s var(--ease),opacity .25s ease;
}
.ostro-cursor-ring{
  width:30px;
  height:30px;
  border:1px solid rgba(212,166,58,.72);
  border-radius:50%;
  box-shadow:
    inset 0 0 12px rgba(241,205,114,.15),
    0 0 18px rgba(212,166,58,.18);
  transform:translate(-50%,-50%) scale(var(--cursor-ring-scale,1));
  transition:
    width .25s var(--ease),
    height .25s var(--ease),
    border-color .25s ease,
    transform .25s var(--ease);
}
.ostro-cursor-core{
  width:8px;
  height:8px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:#efc867;
  box-shadow:
    0 0 8px #fff7d9,
    0 0 18px rgba(241,205,114,.92),
    0 0 35px rgba(212,166,58,.58);
  transform:translate(-50%,-50%);
}
.ostro-cursor-beam{
  width:22px;
  height:72px;
  clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);
  background:linear-gradient(
    180deg,
    rgba(255,249,222,.38),
    rgba(241,205,114,.12) 48%,
    transparent 100%
  );
  filter:blur(1px);
  opacity:.45;
  transform:
    translate(-50%,5px)
    rotate(var(--cursor-beam-angle,-18deg))
    scaleY(var(--cursor-beam-scale,1));
  transform-origin:50% 0;
  transition:opacity .25s ease,transform .28s var(--ease);
}
.ostro-light-cursor.is-interactive{
  --cursor-halo-scale:1.55;
  --cursor-ring-scale:1.45;
  --cursor-beam-scale:1.25;
}
.ostro-light-cursor.is-interactive .ostro-cursor-ring{
  width:35px;
  height:35px;
  border-color:rgba(241,205,114,.96);
}
.ostro-light-cursor.is-interactive .ostro-cursor-beam{opacity:.72}
.ostro-light-cursor.is-text .ostro-cursor-ring{
  width:12px;
  height:28px;
  border-radius:5px;
}
.ostro-light-cursor.is-pressed{
  --cursor-halo-scale:.76;
  --cursor-ring-scale:.72;
}
.ostro-light-cursor.is-hidden{opacity:0!important}

/* A small page glow follows the cursor and makes the effect feel integrated. */
.ostro-page-light{
  position:fixed;
  z-index:2147483645;
  top:0;
  left:0;
  width:240px;
  height:240px;
  border-radius:50%;
  background:radial-gradient(
    circle,
    rgba(241,205,114,.085),
    rgba(212,166,58,.025) 40%,
    transparent 70%
  );
  pointer-events:none;
  opacity:0;
  transform:translate3d(
    calc(var(--page-light-x,-300px) - 50%),
    calc(var(--page-light-y,-300px) - 50%),
    0
  );
  transition:opacity .25s ease;
  mix-blend-mode:screen;
  will-change:transform;
}
.ostro-page-light.is-visible{opacity:1}

@media (hover:hover) and (pointer:fine){
  html.ostro-custom-cursor,
  html.ostro-custom-cursor body,
  html.ostro-custom-cursor a,
  html.ostro-custom-cursor button,
  html.ostro-custom-cursor input,
  html.ostro-custom-cursor textarea,
  html.ostro-custom-cursor select,
  html.ostro-custom-cursor summary,
  html.ostro-custom-cursor [role="button"]{
    cursor:none!important;
  }
}

@media(max-width:1200px){
  .v8-purpose-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:680px){
  .v8-purpose-metrics{
    grid-template-columns:1fr;
  }
  .v8-purpose-metrics .v8-metric{
    min-height:245px;
  }
  .v8-purpose-metrics .v8-metric strong{
    font-size:clamp(39px,12vw,52px);
  }
}
@media (hover:none),(pointer:coarse){
  .ostro-light-cursor,
  .ostro-page-light{
    display:none!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .ostro-cursor-beam{
    display:none;
  }
  .ostro-light-cursor,
  .ostro-page-light{
    transition:none!important;
  }
}


/* ==========================================================
   OSTROLUXX V11 — PRODUCT SHARE + PRINT EXPERIENCE
   ========================================================== */
.dialog-top-actions{position:relative}
.dialog-icon-button{position:relative}
.dialog-icon-button[aria-expanded="true"]{
  color:#2d1c13;
  border-color:#d4a63a;
  background:#efc867;
  box-shadow:0 9px 26px rgba(181,122,32,.22);
}
.product-share-popover{
  position:absolute;
  z-index:35;
  top:50px;
  right:88px;
  width:min(310px,calc(100vw - 34px));
  overflow:hidden;
  border:1px solid rgba(92,57,34,.16);
  border-radius:20px;
  color:#342117;
  background:rgba(255,251,245,.98);
  box-shadow:0 25px 70px rgba(54,30,16,.24);
  backdrop-filter:blur(18px);
  transform-origin:top right;
  animation:ostroShareIn .22s var(--ease) both;
}
.product-share-popover[hidden]{display:none!important}
.product-share-popover-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:18px 19px 14px;
  border-bottom:1px solid rgba(92,57,34,.1);
}
.product-share-popover-header strong{font-size:16px;letter-spacing:-.025em}
.product-share-popover-header span{display:block;margin-top:3px;color:#7c6a5f;font-size:12px;line-height:1.35}
.product-share-list{display:grid;padding:8px}
.product-share-list :is(a,button){
  display:grid;
  grid-template-columns:38px 1fr auto;
  align-items:center;
  gap:11px;
  width:100%;
  min-height:52px;
  padding:7px 10px;
  border:0;
  border-radius:13px;
  color:#3a281e;
  background:transparent;
  cursor:pointer;
  text-align:left;
  font-size:14px;
  font-weight:680;
  transition:background .2s ease,transform .2s ease,color .2s ease;
}
.product-share-list :is(a,button):hover{
  color:#6d4618;
  background:#f5ead8;
  transform:translateX(3px);
}
.product-share-icon{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:50%;
  color:#fff9ec;
  background:linear-gradient(135deg,#9a651f,#d4a63a);
}
.product-share-icon svg{width:17px;height:17px}
.product-share-list small{color:#a19186;font-size:17px;font-weight:500}
.product-action-toast{
  position:fixed;
  z-index:2147483647;
  right:24px;
  bottom:24px;
  display:flex;
  max-width:min(430px,calc(100vw - 36px));
  align-items:flex-start;
  gap:11px;
  padding:14px 17px;
  border:1px solid rgba(241,205,114,.36);
  border-radius:15px;
  color:#fff4dd;
  background:rgba(42,26,18,.96);
  box-shadow:0 20px 55px rgba(31,17,9,.32);
  opacity:0;
  pointer-events:none;
  transform:translateY(18px);
  transition:opacity .25s ease,transform .25s var(--ease);
}
.product-action-toast.show{opacity:1;transform:none}
.product-action-toast.error{border-color:rgba(210,90,70,.45);background:rgba(79,28,22,.96)}
.product-action-toast::before{content:'✓';display:grid;flex:0 0 auto;width:22px;height:22px;place-items:center;border-radius:50%;color:#332113;background:#efc867;font-size:12px;font-weight:900}
.product-action-toast.error::before{content:'!';color:#fff;background:#c95040}
.product-action-toast span{font-size:13px;line-height:1.45}
@keyframes ostroShareIn{from{opacity:0;transform:translateY(-7px) scale(.97)}to{opacity:1;transform:none}}

/* Print/share buttons remain readable in the popup top bar. */
#shareProduct::after,#printProduct::after{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  z-index:5;
  padding:5px 8px;
  border-radius:7px;
  color:#fff7e8;
  background:#2b1b13;
  font-size:10px;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-3px);
  transition:.18s ease;
}
#shareProduct::after{content:'Share'}
#printProduct::after{content:'Print / PDF'}
#shareProduct:hover::after,#printProduct:hover::after{opacity:1;transform:translate(-50%,0)}

/* Native dialog top-layer cursor support, without dark mode. */
.product-dialog > .ostro-light-cursor{z-index:2147483647}
.product-dialog > .ostro-page-light{z-index:2147483646}

@media(max-width:760px){
  .product-share-popover{position:fixed;top:70px;right:14px;left:14px;width:auto}
  .product-action-toast{right:18px;bottom:18px;left:18px;max-width:none}
}
@media print{
  .product-share-popover,.product-action-toast{display:none!important}
}


/* ==========================================================
   OSTROLUXX V12 — SITE ALIGNMENT + PRODUCT DIALOG + PRINT UI
   ========================================================== */
html,body{max-width:100%;overflow-x:clip}
main,main>section,.site-footer,.footer-cta{max-width:100%}
:is(
  .section-head,.lineup-head,.projects-head,.applications-head,.v8-section-head,
  .home-hero-copy,.page-hero-content,.product-page-copy,.contact-hero-copy
){min-width:0}
:is(
  .display-title,.section-title,.section-head h1,.section-head h2,
  .lineup-head h2,.projects-head h2,.applications-head h2,
  .product-page-copy h1,.dialog-content h2,.v8-card h3
){max-width:100%;overflow-wrap:break-word;text-wrap:balance}
:is(
  .body-large,.section-head p,.lineup-head p,.projects-head p,
  .applications-head p,.split-copy p,.v8-section-head p
){max-width:72ch}
:is(
  .showcase-grid,.project-grid,.application-grid,.value-grid,.tech-grid,
  .purpose-grid,.catalog-grid,.projects-list,.v8-grid,.v8-metric-row,
  .footer-main,.footer-grid,.contact-layout,.contact-workspace-grid
)>*{min-width:0}
.button,.header-cta,.filter-btn,.dialog-icon-button{line-height:1.15}

/* Product dialog shell */
.product-dialog-v5{
  inset:0;
  width:min(1280px,calc(100vw - 28px));
  height:min(920px,calc(100dvh - 28px));
  max-width:none;
  max-height:none;
  margin:auto;
  overflow:hidden;
  border-radius:28px;
}
.product-dialog-v5[open]{display:block}
.dialog-topbar{
  position:relative;
  z-index:40;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  min-height:72px;
  height:auto;
  align-items:center;
  gap:20px;
  padding:11px 16px 11px 20px;
  border-bottom:1px solid rgba(74,52,41,.11);
  background:rgba(255,253,249,.97);
  backdrop-filter:blur(20px);
}
.dialog-topbar-identity{
  display:flex;
  min-width:0;
  align-items:center;
  gap:12px;
}
.dialog-mini-mark{
  position:relative;
  display:block;
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:2px solid #79513a;
  border-radius:50%;
  box-shadow:inset 0 0 0 6px #fff,0 0 0 1px rgba(121,81,58,.08);
}
.dialog-mini-mark::before{
  position:absolute;
  inset:9px;
  border-radius:50%;
  background:#d4a63a;
  box-shadow:0 0 13px rgba(212,166,58,.55);
  content:'';
}
.dialog-mini-mark::after{
  position:absolute;
  top:50%;
  right:-5px;
  width:15px;
  height:2px;
  border-radius:2px;
  background:#d4a63a;
  transform:translateY(-50%);
  content:'';
}
.dialog-topbar-identity>div{min-width:0}
.dialog-topbar-identity strong{
  display:block;
  color:#332118;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}
.dialog-breadcrumb{
  min-width:0;
  margin-top:4px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.dialog-breadcrumb span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
}
.dialog-top-actions{
  position:relative;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.dialog-topbar .dialog-icon-button,
.dialog-topbar .dialog-close{
  position:relative;
  inset:auto;
  top:auto;
  right:auto;
  bottom:auto;
  left:auto;
  float:none;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
  flex:0 0 44px;
  place-items:center;
  border:1px solid rgba(87,57,40,.14);
  border-radius:50%;
  color:#68452f;
  background:#fffdfa;
  box-shadow:0 5px 16px rgba(70,42,25,.045);
}
.dialog-topbar .dialog-icon-button:hover,
.dialog-topbar .dialog-close:hover{
  color:#2b1c13;
  border-color:#d4a63a;
  background:#efc867;
  box-shadow:0 10px 25px rgba(181,122,32,.18);
  transform:translateY(-2px);
}
.dialog-topbar .dialog-close{
  margin-left:4px;
  border-color:rgba(121,81,58,.23);
}
.dialog-topbar .dialog-close svg{width:20px;height:20px}
.dialog-layout-v5{
  grid-template-columns:minmax(360px,.88fr) minmax(0,1.12fr);
  height:calc(100% - 72px);
}
.dialog-layout-v5>*{min-width:0}
.dialog-content{
  min-width:0;
  max-width:100%;
  overflow-x:hidden;
  padding:36px clamp(25px,3.3vw,48px) 120px;
}
.dialog-content h2{
  margin-right:0;
  font-size:clamp(38px,4vw,58px);
  line-height:.98;
  overflow-wrap:anywhere;
}
.dialog-code-row>*{min-width:0}
.dialog-code-row code{max-width:100%;overflow-wrap:anywhere}
.dialog-quick-specs>div,.dialog-specs>div{min-width:0}
.dialog-quick-specs strong,.dialog-specs strong{overflow-wrap:anywhere}
.dialog-tab-list{max-width:100%;scrollbar-width:thin}
.dialog-action-bar{
  grid-template-columns:repeat(2,minmax(0,auto)) minmax(0,1fr) auto;
  align-items:center;
}
.product-share-popover{
  top:calc(100% + 10px);
  right:0;
  width:min(320px,calc(100vw - 32px));
}
#shareProduct::after,#printProduct::after{top:calc(100% + 9px)}

@media(max-width:900px){
  .dialog-layout-v5{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)}
  .dialog-content{padding-inline:26px}
}
@media(max-width:760px){
  .product-dialog-v5{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
  .dialog-topbar{position:sticky;top:0;min-height:64px;padding:9px 12px 9px 15px}
  .dialog-layout-v5{height:calc(100% - 64px)}
  .dialog-topbar .dialog-icon-button,.dialog-topbar .dialog-close{width:42px;height:42px;flex-basis:42px}
  .dialog-topbar-identity strong{font-size:12px}
  .dialog-mini-mark{width:32px;height:32px}
  .dialog-content{padding:30px 20px 100px}
  .dialog-content h2{font-size:clamp(37px,10vw,50px)}
  .dialog-action-bar{grid-template-columns:1fr 1fr;margin-inline:-20px;padding-inline:20px}
  .product-share-popover{position:fixed;top:68px;right:14px;left:14px;width:auto}
}
@media(max-width:520px){
  .dialog-topbar{grid-template-columns:minmax(0,1fr) auto;gap:9px}
  .dialog-topbar-identity{gap:8px}
  .dialog-breadcrumb{display:block;max-width:120px;font-size:10px}
  .dialog-breadcrumb span:first-child,.dialog-breadcrumb b{display:none}
  .dialog-topbar .dialog-icon-button,.dialog-topbar .dialog-close{width:39px;height:39px;flex-basis:39px}
  .dialog-top-actions{gap:5px}
  .dialog-content h2{font-size:clamp(34px,11.5vw,46px)}
}

/* Print is produced in a separate branded A4 document. */
@media print{
  .product-dialog,.product-action-toast,.product-share-popover{display:none!important}
}

/* V12.1 mobile native-dialog viewport correction */
@media(max-width:760px){
  .product-dialog-v5{
    inset:0;
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100vw;
    max-width:100vw;
    height:100dvh;
    min-height:100dvh;
    margin:0;
  }
}


/* ==========================================================
   OSTROLUXX V13 — RESPONSIVE ALIGNMENT + CROSS-SCREEN OPTIMIZATION
   ========================================================== */

/* Reduce visual obstruction from the custom light cursor */
.ostro-cursor-halo{
  width:42px;
  height:42px;
  background:radial-gradient(circle,rgba(255,246,216,.4) 0,rgba(241,205,114,.18) 34%,rgba(212,166,58,.08) 56%,transparent 74%);
  filter:blur(1px);
}
.ostro-cursor-ring{
  width:24px;
  height:24px;
  box-shadow:inset 0 0 10px rgba(241,205,114,.12),0 0 12px rgba(212,166,58,.12);
}
.ostro-cursor-core{
  width:7px;
  height:7px;
  box-shadow:0 0 7px #fff7d9,0 0 15px rgba(241,205,114,.72),0 0 22px rgba(212,166,58,.34);
}
.ostro-cursor-beam{
  width:16px;
  height:52px;
  opacity:.28;
  background:linear-gradient(180deg,rgba(255,249,222,.22),rgba(241,205,114,.08) 52%,transparent 100%);
}
.ostro-light-cursor.is-interactive{
  --cursor-halo-scale:1.2;
  --cursor-ring-scale:1.14;
  --cursor-beam-scale:1.08;
}
.ostro-light-cursor.is-interactive .ostro-cursor-ring{width:28px;height:28px}
.ostro-light-cursor.is-interactive .ostro-cursor-beam{opacity:.42}
.ostro-page-light{
  width:160px;
  height:160px;
  background:radial-gradient(circle,rgba(241,205,114,.05),rgba(212,166,58,.018) 42%,transparent 72%);
  opacity:.75;
}

/* Global text and media stability */
img,svg,video,canvas{max-width:100%}
:is(h1,h2,h3,h4,p,li,a,button,span,strong,small,code){overflow-wrap:break-word}

/* Home hero */
.home-hero{
  display:grid;
  align-content:start;
  justify-items:center;
  min-height:clamp(760px,100svh,980px);
  padding:calc(var(--nav-height) + 72px) 24px 300px;
}
.home-hero-copy{
  width:min(100%,940px);
}
.home-hero .display-title{
  font-size:clamp(54px,8vw,104px);
  line-height:.92;
  text-wrap:balance;
}
.home-hero-sub{
  max-width:760px;
  line-height:1.28;
  text-wrap:balance;
}
.hero-light{
  bottom:-28px;
  width:min(1040px,100vw);
}
.hero-floor{height:180px}

/* Home closing CTA section */
.home-closing{
  min-height:auto;
  align-content:start;
  padding:110px 24px 340px;
}
.home-closing-copy{
  width:min(100%,980px);
}
.home-closing .section-title{
  max-width:12ch;
  margin-inline:auto;
  font-size:clamp(48px,7vw,92px);
  text-wrap:balance;
}
.home-closing p{
  max-width:760px;
  line-height:1.35;
  text-wrap:balance;
}
.closing-orb{
  bottom:-240px;
  width:min(780px,88vw);
}

/* Contact hero keeps text clear of the decorative ring */
.contact-hero{
  min-height:760px;
  align-items:start;
  padding:calc(var(--nav-height) + 82px) 24px 110px;
}
.contact-hero-copy{
  width:min(100%,1160px);
  max-width:760px;
  padding-right:min(42vw,470px);
}
.contact-hero h1{
  max-width:11ch;
  font-size:clamp(52px,7vw,96px);
  line-height:.95;
  text-wrap:balance;
}
.contact-hero p{
  max-width:680px;
  line-height:1.42;
}
.contact-light-object{
  right:max(-36px,2vw);
  bottom:-120px;
  width:min(480px,38vw);
}

/* Product cards and quick view pill */
.product-card-art{overflow:hidden}
.product-card-image-action{
  right:auto;
  left:50%;
  bottom:18px;
  max-width:calc(100% - 26px);
  padding:0 16px;
  font-size:12px;
  transform:translate(-50%,12px);
}
.product-card-art:hover .product-card-image-action,
.product-card-art:focus-visible .product-card-image-action{
  transform:translate(-50%,0);
}

/* Product dialog header and footer actions */
.dialog-topbar{
  gap:14px;
}
.dialog-topbar-identity strong,
.dialog-breadcrumb{
  text-wrap:balance;
}
.dialog-top-actions{flex-wrap:nowrap}
.dialog-action-bar{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.dialog-action-bar .button{
  width:100%;
  min-height:48px;
  padding:10px 16px;
  white-space:normal;
  text-align:center;
  line-height:1.25;
}

/* Footer social alignment */
.footer-social-block{
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px 18px;
}
.footer-social-block>span{
  flex:0 0 auto;
}
.footer-socials{
  flex-wrap:wrap;
  gap:12px;
}
.footer-socials a{
  width:44px;
  height:44px;
}

/* Purpose metrics readability */
.v8-purpose-metrics{
  align-items:stretch;
}
.v8-purpose-metrics .v8-metric{
  min-height:320px;
  padding:28px 28px 32px;
}
.v8-purpose-index{margin-bottom:8px}
.v8-purpose-metrics .v8-metric strong{
  margin-top:28px;
  font-size:clamp(34px,3vw,48px);
  line-height:1.02;
}
.v8-purpose-metrics .v8-metric span:not(.v8-purpose-index){
  margin-top:18px;
  max-width:34ch;
}

/* Medium screens */
@media (max-width:1180px){
  .home-hero{
    min-height:860px;
    padding-bottom:280px;
  }
  .hero-light{width:min(920px,100vw)}
  .contact-hero-copy{padding-right:min(34vw,340px)}
  .contact-light-object{width:min(420px,34vw)}
  .dialog-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Tablet */
@media (max-width:960px){
  .home-hero{
    min-height:800px;
    padding-top:calc(var(--nav-height) + 62px);
    padding-bottom:250px;
  }
  .home-hero .display-title{font-size:clamp(48px,10vw,82px)}
  .hero-light{width:min(820px,110vw)}
  .home-closing{
    padding:92px 22px 300px;
  }
  .home-closing .section-title{max-width:13ch;font-size:clamp(44px,8vw,74px)}
  .closing-orb{width:min(680px,96vw);bottom:-220px}
  .contact-hero{
    min-height:700px;
    padding-top:calc(var(--nav-height) + 56px);
    padding-bottom:90px;
  }
  .contact-hero-copy{
    max-width:100%;
    padding-right:0;
  }
  .contact-hero h1{max-width:12ch;font-size:clamp(44px,8vw,70px)}
  .contact-light-object{
    right:-12%;
    bottom:-30px;
    width:min(420px,62vw);
    opacity:.24;
  }
  .dialog-topbar{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
  }
  .dialog-top-actions{gap:6px}
  .v8-purpose-metrics .v8-metric{min-height:290px}
}

/* Mobile */
@media (max-width:760px){
  .home-hero{
    min-height:auto;
    padding:calc(var(--nav-height) + 44px) 18px 220px;
  }
  .home-hero-copy{width:min(100%,620px)}
  .home-hero .display-title{font-size:clamp(42px,13vw,64px)}
  .home-hero-sub{font-size:clamp(18px,4.8vw,22px);line-height:1.34}
  .hero-light{width:min(640px,122vw);bottom:-14px}
  .hero-floor{height:120px}
  .home-closing{
    padding:78px 18px 230px;
  }
  .home-closing .section-title{
    max-width:100%;
    font-size:clamp(38px,11vw,56px);
  }
  .home-closing p{
    font-size:clamp(17px,4.8vw,21px);
  }
  .closing-orb{
    width:min(560px,132vw);
    bottom:-175px;
  }
  .contact-hero{
    min-height:auto;
    padding:calc(var(--nav-height) + 42px) 18px 70px;
  }
  .contact-hero h1{
    max-width:100%;
    font-size:clamp(38px,12vw,54px);
  }
  .contact-hero p{font-size:clamp(17px,4.8vw,22px)}
  .contact-light-object{
    right:-28%;
    bottom:-36px;
    width:min(360px,88vw);
    opacity:.16;
  }
  .dialog-action-bar{
    grid-template-columns:1fr 1fr;
  }
  .footer-social-block{
    align-items:flex-start;
    flex-direction:column;
  }
  .v8-purpose-metrics{grid-template-columns:1fr}
  .v8-purpose-metrics .v8-metric{min-height:260px}
}

@media (max-width:520px){
  .dialog-topbar{
    padding:10px 12px;
  }
  .dialog-topbar-identity{gap:7px}
  .dialog-mini-mark{width:30px;height:30px}
  .dialog-breadcrumb{max-width:100px;font-size:10px}
  .dialog-top-actions{gap:4px}
  .dialog-topbar .dialog-icon-button,
  .dialog-topbar .dialog-close{width:38px;height:38px;flex-basis:38px}
  .dialog-action-bar{grid-template-columns:1fr}
  .dialog-action-bar .button{min-height:46px}
  .product-share-popover{top:64px;right:10px;left:10px}
  .product-card-image-action{min-height:36px;padding-inline:14px;font-size:11px}
}


/* ==========================================================
   OSTROLUXX V14 — FULL-SITE RESPONSIVE QA FIXES
   ========================================================== */

/* Prevent intrinsic content from forcing cards or grids wider than their tracks. */
:where(
  .featured-product-card,.fp-copy,.featured-products-head>*,.featured-product-grid>*,
  .detailed-product-card,.product-card-content,.product-card-category>*,
  .dialog-layout-v5>*,.dialog-content,.dialog-action-bar>*,.dialog-tab-list>*,
  .footer-main>*,.footer-social-block>*,.v8-grid>*,.v8-purpose-metrics>*,
  .download-grid>*,.guide-grid>*,.support-grid>*,.legal-layout>*,
  .contact-workspace-grid>*,.project-grid>*,.showcase-grid>*
){min-width:0}

/* Featured cards: keep product renders inside the card bounds at every width. */
.featured-product-card{
  overflow:clip;
  contain:layout paint;
}
.featured-product-card img{
  right:0;
  bottom:0;
  width:min(70%,560px);
  max-width:70%;
  height:72%;
}
.featured-product-card:not(.fp-large) img{
  right:0;
  bottom:-8%;
  width:min(58%,340px);
  max-width:58%;
}
.fp-copy{
  max-width:58%;
}
.fp-copy :is(h3,p,span){max-width:100%;overflow-wrap:anywhere}

/* Stable counters: meaningful values remain visible before animation starts. */
[data-counter]{font-variant-numeric:tabular-nums}
[data-counter].counter-ready{animation:ostroCounterReady .45s var(--ease) both}
@keyframes ostroCounterReady{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}

/* Product modal: aligned actions and fully visible navigation tabs. */
.dialog-content{container-type:inline-size}
.dialog-action-bar{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.dialog-action-bar .button{
  min-width:0;
  white-space:normal;
  text-wrap:balance;
}
@media(max-width:1100px){
  .dialog-tab-list{
    flex-wrap:wrap;
    overflow:visible;
    white-space:normal;
    gap:7px;
  }
  .dialog-tab{
    flex:1 1 150px;
    text-align:center;
  }
}
@media(max-width:760px){
  .dialog-tab-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .dialog-tab{width:100%;padding-inline:8px}
  .dialog-tab:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:520px){
  .dialog-action-bar{grid-template-columns:1fr}
  .dialog-tab{font-size:11px}
}

/* Product card utility controls. */
.product-card-image-action{
  max-width:calc(100% - 32px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.product-card-category{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
.product-card-category>*{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.product-code{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Stronger page-title and section-title wrapping. */
:where(
  .page-hero .display-title,.resource-page-hero .display-title,.legal-hero .display-title,
  .products-hero h1,.contact-hero h1,.section-title,.featured-products-head h2,
  .explorer-head h2,.v8-section-head h2,.home-closing h2
){text-wrap:balance;overflow-wrap:anywhere}

/* Generic card copy alignment. */
:where(
  .value-card,.tech-card,.purpose-card,.v8-card,.guide-card,.support-card,
  .download-card,.contact-route,.contact-card,.legal-section
){height:100%}
:where(.value-card,.tech-card,.purpose-card,.v8-card,.guide-card,.support-card) p{
  max-width:48ch;
}

/* Footer alignment across pages. */
.footer-main{align-items:start}
.footer-brand,.footer-col{min-width:0}
.footer-col a,.footer-contact a{overflow-wrap:anywhere}
.footer-social-block{max-width:430px}

/* Tablet: simplify heavy animation and stabilize layouts. */
@media(max-width:1024px){
  .reveal,.v8-reveal,.v8-stagger>*{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .featured-product-card img{right:-2%;max-width:76%;width:76%}
  .featured-product-card:not(.fp-large) img{right:-2%;max-width:64%;width:64%}
  .fp-copy{max-width:65%}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-brand{grid-column:1/-1}
  .resource-list-item{grid-template-columns:48px minmax(0,1fr) auto}
}

/* Mobile: one-column reading flow with reliable touch targets. */
@media(max-width:680px){
  .featured-product-card img{
    right:-3%;
    bottom:-2%;
    width:82%;
    max-width:82%;
    height:58%;
  }
  .featured-product-card:not(.fp-large) img{
    right:-4%;
    bottom:-8%;
    width:72%;
    max-width:72%;
    height:62%;
  }
  .fp-copy{max-width:92%;padding:27px}
  .fp-copy h3{font-size:clamp(28px,9vw,38px)}
  .footer-main{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-col{width:100%}
  .resource-list-item{grid-template-columns:38px minmax(0,1fr)}
  .resource-list-item>a{grid-column:2;justify-self:start}
  .legal-section,.legal-notice{overflow-wrap:anywhere}
  .contact-route,.contact-card,.support-card,.guide-card,.download-card{min-width:0}
  .actions{align-items:stretch}
  :where(.page-hero,.resource-page-hero,.legal-hero,.contact-hero,.home-closing) .actions .button{
    width:100%;
  }
  .button,.filter-btn,.scroll-arrow,.dialog-icon-button,.dialog-close{min-height:44px}
}

@media(max-width:420px){
  .section-title{font-size:clamp(36px,11vw,48px)}
  .page-hero .display-title,.resource-page-hero .display-title,.legal-hero .display-title{
    font-size:clamp(40px,12vw,54px);
  }
  .products-hero h1,.contact-hero h1{font-size:clamp(40px,12vw,52px)}
  .footer-socials{gap:9px}
  .footer-socials a{width:42px;height:42px}
}


/* OSTROLUXX V14.1 — final mobile containment corrections */
@media(max-width:680px){
  .featured-product-card img{
    right:0;
    width:78%;
    max-width:78%;
  }
  .featured-product-card:not(.fp-large) img{
    right:0;
    width:68%;
    max-width:68%;
  }
  .download-card img{
    right:0;
    bottom:-5%;
    width:62%;
    max-width:62%;
    height:54%;
  }
}


/* ==========================================================
   OSTROLUXX V15 — CLEAN URL CONTACT HERO REPAIR
   ========================================================== */
.contact-hero{
  display:grid;
  grid-template-columns:minmax(0,700px) minmax(320px,1fr);
  align-items:center;
  column-gap:clamp(48px,7vw,128px);
  min-height:760px;
  padding:
    calc(var(--nav-height) + 74px)
    max(24px,calc((100vw - var(--max))/2))
    88px;
}
.contact-hero-copy{
  width:100%;
  max-width:700px;
  margin:0;
  padding:0;
  text-align:left;
}
.contact-hero h1{
  max-width:10.5ch;
  margin-top:16px;
  font-size:clamp(58px,6.2vw,94px);
  line-height:.94;
  letter-spacing:-.065em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.contact-hero p{
  max-width:640px;
  margin-top:25px;
  font-size:clamp(19px,1.65vw,25px);
  line-height:1.42;
}
.contact-response-strip{
  max-width:650px;
}
.contact-light-object{
  position:relative;
  right:auto;
  bottom:auto;
  align-self:center;
  justify-self:end;
  width:min(470px,36vw);
  margin:0;
  opacity:1;
}
@media(max-width:1100px){
  .contact-hero{
    grid-template-columns:minmax(0,1fr) minmax(280px,38vw);
    column-gap:42px;
  }
  .contact-hero h1{font-size:clamp(50px,7vw,76px)}
  .contact-light-object{width:min(410px,38vw)}
}
@media(max-width:820px){
  .contact-hero{
    grid-template-columns:1fr;
    min-height:auto;
    padding:
      calc(var(--nav-height) + 54px)
      22px
      92px;
  }
  .contact-hero-copy{
    max-width:680px;
  }
  .contact-hero h1{
    max-width:11ch;
    font-size:clamp(44px,9vw,68px);
  }
  .contact-light-object{
    position:absolute;
    right:-12%;
    bottom:-28%;
    width:min(460px,68vw);
    opacity:.2;
    pointer-events:none;
  }
}
@media(max-width:520px){
  .contact-hero{
    padding:
      calc(var(--nav-height) + 40px)
      18px
      72px;
  }
  .contact-hero h1{
    max-width:100%;
    font-size:clamp(39px,12vw,54px);
    line-height:.98;
  }
  .contact-hero p{
    font-size:18px;
    line-height:1.45;
  }
  .contact-response-strip{
    display:grid;
    grid-template-columns:1fr;
    max-width:320px;
  }
  .contact-light-object{
    right:-30%;
    bottom:-20%;
    width:360px;
    opacity:.12;
  }
}
