:root {
  --ink: #101513;
  --muted: #69706c;
  --lime: #c8df00;
  --lime-dark: #a9bf00;
  --paper: #f6f7f3;
  --white: #ffffff;
  --line: #e4e7df;
  --shadow: 0 20px 60px rgba(16, 21, 19, .10);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.announcement {
  background: var(--ink);
  color: #fff;
  text-align: center;
  padding: 9px 16px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 82px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(246,247,243,.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(228,231,223,.8);
}

.brand { display: flex; align-items: center; gap: 10px; }
.brand strong { display: block; font-family: Manrope, sans-serif; font-size: 20px; letter-spacing: .14em; line-height: 1; }
.brand small { display: block; margin-top: 4px; font-size: 7px; letter-spacing: .23em; font-weight: 700; }
.brand-mark {
  width: 38px; height: 38px; display: grid; place-items: center;
  background: var(--lime); color: var(--ink); border-radius: 50% 50% 50% 5px;
  font-weight: 800; font-family: Manrope, sans-serif; font-size: 20px;
}
.nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 600; }
.nav a:hover { color: var(--lime-dark); }
.cart-button {
  border: 0; background: var(--ink); color: #fff; padding: 12px 17px;
  border-radius: 999px; cursor: pointer; font-weight: 700;
}
.cart-button span {
  display: inline-grid; place-items: center; width: 22px; height: 22px;
  margin-left: 5px; border-radius: 50%; background: var(--lime); color: var(--ink);
}
.menu-toggle { display: none; border: 0; background: transparent; font-size: 26px; }

.hero {
  min-height: 700px; padding: 75px 7vw 85px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center;
  overflow: hidden;
}
.eyebrow { margin: 0 0 15px; color: #748000; font-size: 12px; font-weight: 800; letter-spacing: .17em; }
.hero h1, h2 { font-family: Manrope, sans-serif; letter-spacing: -.045em; line-height: 1.02; }
.hero h1 { font-size: clamp(50px, 6vw, 88px); margin: 0; max-width: 800px; }
.hero h1 span { color: #758200; }
.hero-text { max-width: 600px; margin: 28px 0; color: var(--muted); font-size: 18px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 21px; border: 0; border-radius: 999px;
  cursor: pointer; font-weight: 700; transition: .2s ease;
}
.btn-primary { background: var(--lime); color: var(--ink); }
.btn-primary:hover { background: var(--lime-dark); transform: translateY(-2px); }
.btn-ghost { border: 1px solid var(--ink); background: transparent; }
.btn-ghost:hover { background: var(--ink); color: #fff; }
.hero-points { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 32px; color: var(--muted); font-size: 13px; font-weight: 600; }

.hero-visual { position: relative; }
.hero-photo-wrap {
  position: relative; overflow: hidden; border-radius: 32px;
  box-shadow: var(--shadow); transform: rotate(1deg);
  background: #ddd;
}
.hero-photo-wrap img { display: block; width: 100%; height: 600px; object-fit: cover; object-position: center 58%; }
.photo-tag {
  position: absolute; left: 20px; bottom: 20px; padding: 9px 13px;
  background: rgba(255,255,255,.92); border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .13em;
}
.floating-card {
  position: absolute; left: -45px; bottom: 40px; display: flex; gap: 12px; align-items: center;
  background: #fff; padding: 16px 19px; border-radius: 18px; box-shadow: var(--shadow);
}
.floating-icon { width: 36px; height: 36px; display: grid; place-items: center; background: var(--lime); border-radius: 50%; }
.floating-card strong, .floating-card small { display: block; }
.floating-card small { color: var(--muted); font-size: 11px; }

.trust-strip {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--line); border-block: 1px solid var(--line);
}
.trust-strip div { padding: 27px 5vw; background: #fff; display: flex; gap: 14px; align-items: center; }
.trust-strip strong { color: #839000; font-size: 12px; }
.trust-strip span { font-size: 13px; font-weight: 600; }

.section { padding: 110px 7vw; }
.section-head { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 45px; }
.section h2, .feature-copy h2, .project-copy h2, .contact-section h2 { margin: 0; font-size: clamp(36px, 4vw, 58px); }
.section-intro { max-width: 450px; color: var(--muted); }

.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.product {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; transition: .25s ease;
}
.product:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.product-image {
  height: 270px; position: relative; overflow: hidden;
  background: linear-gradient(145deg, #e9ece7, #bfc5bc);
}
.product-image.photo img { width: 100%; height: 100%; object-fit: cover; }
.product-image::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.3), transparent 55%);
}
.product-label { position: absolute; top: 15px; left: 15px; z-index: 2; background: var(--lime); padding: 6px 10px; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.fake-surface { width: 70%; height: 70%; position: absolute; left: 15%; top: 15%; border-radius: 7px; transform: perspective(450px) rotateX(54deg) rotateZ(-4deg); box-shadow: 10px 18px 28px rgba(0,0,0,.17); background: #f0eee7; }
.fake-surface.dark { background: #383c3a; }
.fake-surface.sand { background: #d5c6a9; }
.fake-surface.stone { background: #c5c7c2; }
.product-info { padding: 21px; }
.product-info h3 { margin: 0 0 7px; font-family: Manrope, sans-serif; font-size: 19px; }
.product-info p { margin: 0 0 17px; color: var(--muted); font-size: 13px; min-height: 42px; }
.product-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.price { font-size: 12px; color: var(--muted); font-weight: 600; }
.add-btn { border: 0; padding: 10px 13px; border-radius: 10px; background: var(--ink); color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; }
.add-btn:hover { background: #2b312e; }

.feature-section {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 680px;
  background: #e9ebe6;
}
.feature-image { min-height: 550px; }
.feature-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.feature-copy { padding: 100px 8vw; display: flex; flex-direction: column; justify-content: center; }
.feature-copy > p:not(.eyebrow) { color: var(--muted); max-width: 540px; margin: 25px 0; }
.stats { display: grid; gap: 14px; margin: 10px 0 28px; }
.stats div { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
.stats strong { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--lime); }
.text-link { font-weight: 800; }

.project-section { padding: 110px 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.project-copy > p:not(.eyebrow) { max-width: 580px; color: var(--muted); margin: 25px 0 30px; }
.project-card {
  min-height: 400px; border-radius: 30px; padding: 35px;
  display: flex; flex-direction: column; justify-content: end;
  background: linear-gradient(160deg, #d9dfd8, #727b75);
  color: #fff; box-shadow: var(--shadow);
}
.project-card span { color: var(--lime); font-size: 11px; letter-spacing: .16em; font-weight: 800; }
.project-card strong { font: 800 40px/1 Manrope, sans-serif; margin: 8px 0; }
.project-card small { max-width: 300px; opacity: .85; }

.contact-section {
  background: var(--ink); color: #fff; padding: 100px 7vw;
  display: grid; grid-template-columns: 1fr 1fr; gap: 90px;
}
.contact-section h2 { max-width: 650px; }
.contact-section > div > p:not(.eyebrow) { color: #aeb5b0; max-width: 550px; margin: 25px 0; }
.contact-details { display: grid; gap: 18px; margin-top: 35px; }
.contact-details > div { display: flex; gap: 13px; align-items: center; }
.contact-details > div > span { width: 38px; height: 38px; display: grid; place-items: center; background: #252b27; border-radius: 50%; }
.contact-details small, .contact-details strong { display: block; }
.contact-details small { color: #9da59f; font-size: 11px; }
.contact-details strong { font-size: 14px; }
.contact-form { background: #fff; color: var(--ink); padding: 30px; border-radius: 25px; display: grid; gap: 15px; }
.contact-form label { display: grid; gap: 7px; font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form textarea {
  width: 100%; border: 1px solid #dde1da; background: #f7f8f5;
  border-radius: 12px; padding: 13px 14px; outline: none;
}
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--lime-dark); }
.form-note { margin: 0; color: #65705f; font-size: 12px; }

footer { padding: 45px 7vw; display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center; background: #fff; }
.footer-brand p { color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.footer-links { display: flex; gap: 20px; font-size: 13px; font-weight: 700; }
.copyright { text-align: right; color: var(--muted); font-size: 11px; }

.overlay { position: fixed; inset: 0; background: rgba(0,0,0,.42); z-index: 80; display: none; }
.overlay.open { display: block; }
.cart-panel {
  position: fixed; z-index: 90; top: 0; right: 0; width: min(450px, 100%);
  height: 100vh; background: #fff; transform: translateX(100%);
  transition: transform .3s ease; display: flex; flex-direction: column;
  box-shadow: -20px 0 60px rgba(0,0,0,.15);
}
.cart-panel.open { transform: translateX(0); }
.cart-head { padding: 24px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.cart-head h2 { font-size: 27px; margin: 0; }
.cart-head button { border: 0; background: transparent; font-size: 30px; cursor: pointer; }
.cart-items { padding: 18px 24px; overflow: auto; flex: 1; }
.cart-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-row strong, .cart-row small { display: block; }
.cart-row small { color: var(--muted); }
.qty { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.qty button { border: 1px solid var(--line); background: #fff; width: 25px; height: 25px; border-radius: 7px; cursor: pointer; }
.remove { color: #a13d3d; border: 0; background: transparent; cursor: pointer; font-size: 11px; margin-top: 7px; }
.cart-empty { padding: 30px 24px; color: var(--muted); }
.cart-footer { padding: 20px 24px; border-top: 1px solid var(--line); }
.cart-total { display: flex; justify-content: space-between; }
.cart-footer p { color: var(--muted); font-size: 11px; }
.full { width: 100%; }

@media (max-width: 1050px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .hero { grid-template-columns: 1fr; }
  .hero-visual { max-width: 700px; width: 100%; margin: 0 auto; }
  .hero-photo-wrap img { height: 520px; }
  .floating-card { left: 15px; }
  .section-head { display: block; }
  .section-intro { margin-top: 20px; }
}
@media (max-width: 780px) {
  .header { height: 72px; }
  .nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #fff; padding: 20px; flex-direction: column; align-items: stretch; border-bottom: 1px solid var(--line); }
  .nav.open { display: flex; }
  .menu-toggle { display: block; }
  .hero { padding: 55px 6vw 70px; }
  .hero h1 { font-size: 48px; }
  .hero-photo-wrap img { height: 430px; }
  .trust-strip { grid-template-columns: 1fr 1fr; }
  .trust-strip div { padding: 20px; }
  .section { padding: 75px 6vw; }
  .product-grid { grid-template-columns: 1fr; }
  .feature-section, .project-section, .contact-section { grid-template-columns: 1fr; }
  .feature-copy { padding: 70px 6vw; }
  .project-section { gap: 35px; }
  .contact-section { gap: 45px; padding: 75px 6vw; }
  footer { grid-template-columns: 1fr; }
  .footer-links { order: 2; }
  .copyright { text-align: left; }
}
/* Nexa 2026 upgrade */
.profile-button{border:1px solid #d9d2c7;background:#fff;padding:10px 14px;border-radius:999px;font:inherit;font-weight:700;color:#153e63;cursor:pointer}.product-kicker{font-size:.72rem!important;text-transform:uppercase;letter-spacing:.12em;color:#d39b12!important;font-weight:800}.size-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.size-row label,.modal-card label{display:grid;gap:6px;font-size:.78rem;font-weight:700;color:#153e63}.size-row select,.modal-card input,.modal-card select{width:100%;padding:12px;border:1px solid #ddd5ca;border-radius:10px;background:#fff;font:inherit;color:#183b5b}.viewer360{cursor:ew-resize;overflow:hidden;touch-action:pan-y}.viewer360 img,.interactive-tilt img{transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}.viewer360:active img{transition:none}.view-badge{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:#153e63}.contact-card{background:#f7f3ed;border:1px solid #e8e0d5;border-radius:22px;padding:34px;align-self:center}.contact-card>span{color:#d39b12;font-weight:800;letter-spacing:.16em}.contact-card h3{font-size:1.65rem;color:#153e63;margin:12px 0}.contact-details a{color:inherit;text-decoration:none}.modal{position:fixed;inset:0;background:rgba(9,25,39,.55);display:none;place-items:center;z-index:120;padding:20px;backdrop-filter:blur(8px)}.modal.open{display:grid}.modal-card{position:relative;background:#fff;width:min(470px,100%);border-radius:24px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.25);animation:modalIn .35s ease}.modal-card h2{color:#153e63;margin:5px 0 8px}.modal-card form{display:grid;gap:14px;margin-top:22px}.modal-close{position:absolute;right:18px;top:16px;border:0;background:#f1eee9;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes modalIn{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:800px){.profile-button{width:100%}.size-row{grid-template-columns:1fr 1fr}.view-badge{font-size:.65rem}}

/* Nexa product gallery + 360 presentation */
.hero-photo-wrap img{object-position:center center}
.product-image.photo{height:300px;background:#f0eee8}
.product-image.photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.product:hover .product-image.photo img{transform:scale(1.025)}
.video360-btn{position:absolute;z-index:4;right:14px;bottom:14px;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.55);background:rgba(16,21,19,.88);color:#fff;border-radius:16px;padding:9px 12px;cursor:pointer;backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(16,21,19,.18);transition:.22s ease}
.video360-btn:hover{transform:translateY(-2px);background:var(--ink)}.video360-btn strong,.video360-btn small{display:block;text-align:left;line-height:1.15}.video360-btn strong{font-size:11px}.video360-btn small{font-size:9px;color:#dfe8a0;margin-top:3px}.play360{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:10px;padding-left:2px}
.product-video-modal{z-index:150}.video-modal-card{position:relative;width:min(960px,96vw);background:var(--paper);border-radius:28px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.34);animation:modalIn .35s ease}.video-modal-head{padding:4px 48px 20px 4px}.video-modal-head h2{margin:2px 0 8px;font-size:clamp(28px,4vw,46px)}.video-modal-head p:last-child{margin:0;color:var(--muted)}.video-stage{position:relative;overflow:hidden;border-radius:20px;background:var(--ink);box-shadow:inset 0 0 0 1px rgba(200,223,0,.18)}.video-stage video{display:block;width:100%;max-height:68vh;background:var(--ink);filter:saturate(.82) contrast(1.04)}.video-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(200,223,0,.075),transparent 38%,rgba(16,21,19,.06));mix-blend-mode:color}
@media(max-width:800px){.video-modal-card{padding:16px;border-radius:20px}.video-modal-head{padding:6px 42px 14px 2px}.product-image.photo{height:285px}}

/* Installation partner — compact, styled and close to ordering */
.install-section{padding:0 6vw 72px;background:var(--paper)}
.install-card{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:22px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(16,21,19,.06)}
.install-logo{width:92px;height:92px;object-fit:cover;border-radius:18px;border:1px solid var(--line);box-shadow:0 8px 20px rgba(16,21,19,.08)}
.install-copy .eyebrow{margin:0 0 5px}.install-copy h2{font-size:clamp(20px,2.2vw,28px);margin:0 0 5px;color:var(--ink)}.install-copy p:last-child{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}.install-btn{white-space:nowrap}
@media(max-width:800px){.install-section{padding:0 6vw 55px}.install-card{grid-template-columns:68px 1fr;gap:14px;padding:16px}.install-logo{width:68px;height:68px;border-radius:14px}.install-btn{grid-column:1/-1;width:100%}.install-copy h2{font-size:20px}.install-copy p:last-child{font-size:.85rem}}

/* V6 — premium 360 viewer polish */
.video-stage{isolation:isolate;background:radial-gradient(circle at 50% 34%,#244f72 0%,#153e63 42%,#0b2235 100%);padding:clamp(8px,1.4vw,16px);box-shadow:0 26px 70px rgba(7,25,40,.28),inset 0 0 0 1px rgba(255,255,255,.07)}
.video-stage::before{content:"";position:absolute;left:12%;right:12%;bottom:4%;height:18%;background:radial-gradient(ellipse at center,rgba(0,0,0,.32),transparent 68%);filter:blur(15px);z-index:0;pointer-events:none}
.stage-glow{position:absolute;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(circle at 72% 25%,rgba(211,155,18,.16),transparent 24%),radial-gradient(circle at 28% 35%,rgba(255,255,255,.09),transparent 30%);filter:blur(8px)}
.video-stage video{position:relative;z-index:1;border-radius:14px;object-fit:contain;filter:contrast(1.06) saturate(.92) brightness(1.015);box-shadow:0 22px 55px rgba(0,0,0,.22)}
.video-tint{z-index:2;background:linear-gradient(135deg,rgba(21,62,99,.10),transparent 42%,rgba(211,155,18,.055));mix-blend-mode:soft-light}
.video-modal-card{background:linear-gradient(180deg,#fbfaf7 0%,#f4f0e9 100%);border:1px solid rgba(21,62,99,.08)}
.video-modal-head .eyebrow{color:#d39b12}.video-modal-head h2{color:#153e63}
@media(max-width:800px){.video-stage{padding:7px}.video-stage video{border-radius:11px}}
/* V7 PREMIUM REFINEMENT */
:root{--v7-navy:#071a2e;--v7-blue:#0b5c88;--v7-gold:#d6aa55;--v7-cream:#f7f5f0}
body{background:#fbfbfa}.premium-hero{min-height:78vh;position:relative;overflow:hidden;display:flex;align-items:center;padding-top:80px}.premium-hero .hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,36,.86) 0%,rgba(5,20,36,.58) 42%,rgba(5,20,36,.08) 72%),url('assets/nexa-hero-bathroom.jpeg') center/cover no-repeat;transform:scale(1.02);animation:heroBreath 12s ease-in-out infinite alternate}.premium-hero .hero-copy{position:relative;z-index:2;max-width:700px;color:#fff;margin-left:max(6vw,28px)}.premium-hero h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.98;letter-spacing:-.055em;margin:.2em 0}.premium-hero h1 span{color:#d9e9f2}.premium-hero .hero-text{max-width:590px;color:rgba(255,255,255,.82);font-size:1.08rem}.premium-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}.hero-caption{position:absolute;right:4vw;bottom:30px;color:#fff;font-size:.72rem;letter-spacing:.2em;opacity:.7}.benefit-bar{max-width:1180px;margin:-28px auto 70px;position:relative;z-index:3;background:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(6,30,52,.12);display:grid;grid-template-columns:repeat(4,1fr);padding:22px 28px}.benefit-bar div{display:flex;align-items:center;gap:13px;padding:8px 18px;border-right:1px solid #e7ebee}.benefit-bar div:last-child{border:0}.benefit-bar b{color:var(--v7-gold);font-size:1.15rem}.benefit-bar span{font-weight:600;color:#23394b}.products-section{padding-top:45px}.product{border:1px solid rgba(10,55,85,.08)!important;box-shadow:0 14px 45px rgba(6,30,52,.07)!important;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s!important;overflow:hidden}.product:hover{transform:translateY(-7px);box-shadow:0 24px 65px rgba(6,30,52,.13)!important}.product-image{position:relative;overflow:hidden;background:#f4f6f7;aspect-ratio:4/3}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.product:hover .product-image img{transform:scale(1.03)}.badge360{position:absolute;right:16px;bottom:16px;width:62px;height:62px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(5,28,48,.86);color:#fff;font-weight:800;letter-spacing:.03em;backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;animation:pulse360 2.6s ease-in-out infinite}.product-actions{display:flex;gap:22px;margin:10px 0 16px}.link-btn{border:0;background:none;padding:0;color:#0b5c88;font:inherit;font-weight:700;cursor:pointer}.link-btn:hover{text-decoration:underline}.product-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.product-details p{overflow:hidden;margin:0}.details-open .product-details{grid-template-rows:1fr}.details-open .product-details p{margin:0 0 16px}.price{transition:transform .2s ease}.size-row select:focus+.price{transform:scale(1.03)}.add-btn,.btn{transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.add-btn:hover,.btn:hover{transform:translateY(-2px)}.feature-section{background:var(--v7-navy);color:#fff;border-radius:32px;max-width:1240px;margin:70px auto;padding:34px;gap:60px}.feature-section .feature-image{border-radius:22px;overflow:hidden}.feature-section .feature-copy p{color:#c9d5df}.feature-section .stats div{border-color:rgba(255,255,255,.13)}.feature-section .text-link{color:#fff}.install-card{border:1px solid rgba(8,62,95,.09);box-shadow:0 18px 55px rgba(6,30,52,.08);background:linear-gradient(135deg,#fff,#f7f9fa)}.install-logo{width:94px!important;height:94px!important;object-fit:cover;border-radius:16px}.contact-section{background:linear-gradient(135deg,#f3f6f7,#fff)}footer{background:#06192b!important;color:#dbe5eb!important;padding-top:55px!important}.footer-col{max-width:440px}.footer-col strong{display:block;color:#fff;margin-bottom:8px}.footer-col span{font-size:.88rem;line-height:1.6;color:#9fb0bd}.product-video-modal{background:rgba(2,10,18,.92);backdrop-filter:blur(16px)}.video-modal-card{max-width:1180px!important;background:#06192b!important;color:#fff!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 35px 100px rgba(0,0,0,.55)!important}.video-stage{position:relative;border-radius:22px;overflow:hidden;background:#061421;box-shadow:inset 0 0 70px rgba(0,0,0,.35)}.video-stage video{width:100%;max-height:72vh;display:block;object-fit:contain}.stage-glow{position:absolute;width:55%;height:45%;left:22%;bottom:-18%;background:radial-gradient(ellipse,rgba(214,170,85,.2),transparent 68%);filter:blur(18px);z-index:2;pointer-events:none}.viewer-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:4;background:rgba(4,21,37,.7);border:1px solid rgba(255,255,255,.16);padding:8px 14px;border-radius:99px;color:#dfe9ef;font-size:.78rem;backdrop-filter:blur(10px)}.modal-close{z-index:8}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroBreath{to{transform:scale(1.055)}}@keyframes pulse360{50%{box-shadow:0 8px 30px rgba(11,92,136,.42);transform:scale(1.035)}}
@media(max-width:800px){.premium-hero{min-height:72vh;padding:110px 22px 55px}.premium-hero .hero-bg{background-position:62% center}.premium-hero .hero-copy{margin-left:0}.premium-hero h1{font-size:clamp(2.7rem,13vw,4.2rem)}.benefit-bar{margin:-20px 16px 48px;grid-template-columns:1fr 1fr;padding:14px}.benefit-bar div{border-right:0;border-bottom:1px solid #e7ebee;padding:14px 10px}.benefit-bar div:nth-last-child(-n+2){border-bottom:0}.feature-section{margin:45px 14px;border-radius:24px;padding:20px}.viewer-hint{white-space:nowrap}.install-logo{width:76px!important;height:76px!important}.cart-footer{position:sticky;bottom:0;background:#fff}.product-meta{position:sticky;bottom:0;background:#fff;padding-top:10px}.hero-caption{display:none}}

/* V9 refinements */
.badge360{width:auto!important;height:auto!important;min-height:46px!important;border-radius:999px!important;padding:8px 13px!important;display:flex!important;align-items:center;gap:8px;animation:none!important;background:rgba(6,25,43,.92)!important;box-shadow:0 10px 28px rgba(6,25,43,.22)!important}
.badge360-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:.72rem}.badge360 span:last-child{font-size:.78rem;letter-spacing:.04em}.badge360:hover{transform:translateY(-2px);background:#0b3554!important}
/* Quality section: warm premium neutral instead of dark blue */
.feature-section{background:linear-gradient(135deg,#f1ebe2 0%,#faf7f2 58%,#e7ded2 100%)!important;color:#153e63!important;border:1px solid #ded3c5!important;box-shadow:0 20px 60px rgba(49,39,27,.08)}
.feature-section .feature-copy p{color:#665f56!important}.feature-section .stats div{border-color:rgba(21,62,99,.13)!important}.feature-section .text-link{color:#153e63!important}.feature-section .feature-image img{width:100%;height:100%;object-fit:cover;display:block}
/* Footer readability */
footer{grid-template-columns:1.05fr 1fr 1.15fr auto!important;align-items:start!important}.footer-brand p,.copyright{color:#c7d4dc!important}.footer-links{flex-direction:column;gap:9px!important}.footer-links a,.footer-contact a{color:#fff!important;text-decoration:none;font-weight:700}.footer-contact{display:grid;gap:9px;min-width:280px}.footer-contact strong{color:#d9b66f;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.footer-contact a{font-size:.9rem;line-height:1.35}.footer-contact a:hover,.footer-links a:hover{text-decoration:underline}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:8px;width:100%}
.install-followup-card{text-align:center;max-width:520px!important}.followup-logo{width:74px;height:74px;object-fit:cover;border-radius:18px;border:1px solid var(--line);margin:0 auto 15px;display:block}.install-followup-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.followup-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;flex-wrap:wrap}
@media(max-width:900px){footer{grid-template-columns:1fr 1fr!important}.copyright{grid-column:1/-1}.footer-contact{min-width:0}}@media(max-width:600px){footer{grid-template-columns:1fr!important}.copyright{grid-column:auto}.footer-contact a{overflow-wrap:anywhere}.badge360{right:10px!important;bottom:10px!important}.followup-actions .btn{width:100%}}

/* V10 — clearer 360 CTA + premium readable contact/footer */
.badge360{
  right:16px!important;bottom:16px!important;
  min-height:50px!important;padding:9px 15px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  background:linear-gradient(135deg,#0b3d32,#176b54)!important;
  color:#fff!important;box-shadow:0 12px 30px rgba(6,42,34,.28)!important;
  cursor:pointer!important;z-index:8!important;
}
.badge360:hover{background:linear-gradient(135deg,#0e4d3f,#1d7a61)!important;transform:translateY(-2px) scale(1.01)!important}
.badge360:focus-visible{outline:3px solid #b8d94a;outline-offset:3px}
.badge360-icon{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.65)!important}
/* The image badge is the only 360 CTA; avoid a duplicate action below the product image. */
.product-actions .link-btn:last-child{display:none!important}

/* Contact area: light, high-contrast and deliberately readable. */
.contact-section{
  background:linear-gradient(145deg,#f8f5ee 0%,#ffffff 58%,#edf4ef 100%)!important;
  color:#102a23!important;
}
.contact-section h2{color:#102a23!important}
.contact-section > div > p:not(.eyebrow){color:#465b53!important}
.contact-details{gap:14px!important}
.contact-details>div{
  background:#fff;border:1px solid #dfe8e2;border-radius:16px;padding:14px 16px;
  box-shadow:0 10px 30px rgba(16,55,44,.06)
}
.contact-details>div>span{background:#eaf3ed!important;color:#176b54!important}
.contact-details small{color:#667a72!important}
.contact-details strong,.contact-details a{color:#176b54!important;font-weight:800!important}
.contact-card{background:#fff!important;border-color:#dfe8e2!important;box-shadow:0 16px 42px rgba(16,55,44,.08)}
.contact-card h3{color:#153e63!important}.contact-card p{color:#52655e!important}

footer{
  background:linear-gradient(135deg,#102a23 0%,#173b31 52%,#102d27 100%)!important;
  color:#fff!important;border-top:4px solid #91b93f;
}
footer .brand strong,footer .brand small,.footer-col strong,.footer-contact strong{color:#fff!important}
.footer-brand p,.footer-col span,.copyright{color:#e2ebe6!important}
.footer-contact{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:18px 20px}
.footer-contact strong{color:#b8d94a!important;font-size:.8rem!important}
.footer-contact a{color:#b8d94a!important;font-size:1rem!important;font-weight:800!important;text-decoration:none!important}
.footer-contact a:hover{color:#d5ed84!important;text-decoration:underline!important}
.footer-links a{color:#fff!important}.copyright{border-top-color:rgba(255,255,255,.18)!important}
@media(max-width:600px){
  .contact-section{padding-bottom:58px!important}.contact-details>div{align-items:flex-start}.contact-details strong{font-size:.9rem!important;overflow-wrap:anywhere}
  footer{padding:42px 6vw!important}.footer-contact{padding:16px}.footer-contact a{font-size:.93rem!important;overflow-wrap:anywhere}
  .badge360{min-height:46px!important;padding:7px 11px!important}.badge360 span:last-child{font-size:.72rem!important}
}


/* V11 — cinematic Nexa first-visit intro */
.nexa-intro{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:linear-gradient(145deg,#f8f5ee 0%,#fff 55%,#edf4ef 100%);opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease;overflow:hidden}
.nexa-intro::before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 50% 52%,rgba(23,107,84,.10),transparent 34%);transform:scale(.75);animation:introGlow 2.7s ease forwards}
.nexa-intro-inner{position:relative;display:grid;justify-items:center;gap:20px;transform:translateY(6px)}
.nexa-intro-brand{display:flex;align-items:center;gap:14px;color:#153e63;opacity:0;transform:scale(.94);animation:introLogo 1s cubic-bezier(.2,.8,.2,1) .25s forwards}
.nexa-intro-mark{display:grid;place-items:center;width:70px;height:70px;border-radius:18px;background:linear-gradient(145deg,#153e63,#176b54);color:#fff;font-family:Manrope,sans-serif;font-size:2.55rem;font-weight:800;box-shadow:0 18px 42px rgba(21,62,99,.18)}
.nexa-intro-brand div{display:grid;line-height:1}.nexa-intro-brand strong{font-family:Manrope,sans-serif;font-size:2.1rem;letter-spacing:.12em}.nexa-intro-brand small{margin-top:8px;font-size:.67rem;letter-spacing:.30em;color:#176b54;font-weight:700}
.nexa-intro-line{width:0;height:2px;border-radius:99px;background:linear-gradient(90deg,transparent,#176b54,#b8d94a,#176b54,transparent);box-shadow:0 0 16px rgba(184,217,74,.35);animation:introLine 1.35s ease .75s forwards}
.nexa-intro.intro-out{opacity:0;visibility:hidden;pointer-events:none}
body.intro-active{overflow:hidden}.hero.intro-hero-reveal .hero-photo-wrap{animation:introHeroPhoto 1.15s cubic-bezier(.2,.8,.2,1) both}.hero.intro-hero-reveal .hero-copy{animation:introHeroCopy .85s ease .18s both}
@keyframes introLogo{to{opacity:1;transform:scale(1)}}@keyframes introLine{to{width:210px}}@keyframes introGlow{to{transform:scale(1.15)}}@keyframes introHeroPhoto{from{opacity:.15;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes introHeroCopy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:600px){.nexa-intro-mark{width:58px;height:58px;border-radius:15px;font-size:2.05rem}.nexa-intro-brand strong{font-size:1.65rem}.nexa-intro-brand small{font-size:.56rem}.nexa-intro-line{animation-duration:1.05s}}
@media(prefers-reduced-motion:reduce){.nexa-intro,.nexa-intro *{animation:none!important;transition:none!important}.nexa-intro-brand{opacity:1;transform:none}}
