:root{
  --bg:#fbfaf7;
  --bg-card:#ffffff;
  --bg-alt:#f1efe9;
  --bg-deep:#0d1410;
  --bg-darker:#06090a;
  --text:#0d1410;
  --text-muted:#5b615e;
  --text-subtle:#8a8f8c;
  --line:#e3dfd5;
  --accent:#5e8462;        /* sage green per brand */
  --accent-light:#88a98c;  /* lighter sage */
  --accent-deep:#3d5e41;   /* deeper sage */
  --warm:#c08842;
  --radius:20px;
  --radius-lg:32px;
  --shadow-sm:0 2px 8px rgba(13,20,16,0.04);
  --shadow:0 18px 48px rgba(13,20,16,0.08);
  --shadow-lg:0 30px 80px rgba(13,20,16,0.14);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
html{scroll-behavior:smooth;}
body{
  font-family:'Satoshi','SF Pro Text',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  font-size:17px;line-height:1.55;
  color:var(--text);background:var(--bg);
  letter-spacing:-0.005em;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.display{font-family:'Cabinet Grotesk','Satoshi',serif;letter-spacing:-0.025em;}
.mono{font-family:'JetBrains Mono',monospace;letter-spacing:0;}

/* ---------- FLOATING NAV ---------- */
.nav-wrap{
  position:fixed;top:18px;left:0;right:0;
  z-index:1000;display:flex;justify-content:center;
  pointer-events:none;
  padding:0 16px;
}
.nav{
  pointer-events:auto;
  width:100%;max-width:1180px;
  background:rgba(13,20,16,0.92);
  backdrop-filter:saturate(180%) blur(24px);
  -webkit-backdrop-filter:saturate(180%) blur(24px);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:4px;
  padding:10px 14px 10px 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
  box-shadow:0 12px 40px rgba(6,9,10,0.18),0 2px 6px rgba(6,9,10,0.08);
  transition:all 0.3s ease;
}
.brand{
  font-family:'Cabinet Grotesk',serif;font-weight:800;
  font-size:21px;letter-spacing:-0.025em;color:#fff;
  display:flex;align-items:center;gap:10px;
}
.brand-logo{
  height:42px;width:auto;display:block;
  max-width:none;
}
@media(max-width:920px){
  .brand-logo{height:34px;}
}
.brand-mark{
  width:30px;height:30px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#34d399,var(--accent),var(--accent-deep));
  position:relative;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(34,197,94,0.15),inset 0 1px 2px rgba(255,255,255,0.4);
}
.brand-mark::after{
  content:"";position:absolute;inset:6px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(255,255,255,0.6),transparent 65%);
}
.nav-links{display:flex;gap:6px;list-style:none;}
.nav-links a{
  font-size:14px;color:rgba(255,255,255,0.78);
  padding:9px 14px;border-radius:4px;
  font-weight:500;
  transition:all 0.2s;
}
.nav-links a:hover, .nav-links a.active{color:#fff;background:rgba(255,255,255,0.08);}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-cta{
  font-size:14px;font-weight:600;
  background:#fff;color:var(--bg-deep);
  padding:11px 22px;border-radius:4px;
  display:inline-flex;align-items:center;gap:8px;
  transition:transform 0.2s,background 0.2s;
}
.nav-cta:hover{background:var(--accent-light);transform:scale(1.04);}
.nav-cta-arrow{width:14px;height:14px;}
.nav-toggle{display:none;color:#fff;font-size:22px;padding:8px;}
@media(max-width:920px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .nav{padding:10px 10px 10px 18px;height:58px;}
  .brand{font-size:18px;}
}

/* ---------- HERO ---------- */
.hero{
  padding:160px 22px 100px;
  text-align:center;
  background:
    radial-gradient(ellipse 1000px 600px at 50% 0%,rgba(34,197,94,0.12),transparent 60%),
    radial-gradient(ellipse 600px 400px at 90% 60%,rgba(217,119,6,0.06),transparent 60%),
    var(--bg);
  position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(13,20,16,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,20,16,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 30%,transparent 80%);
  pointer-events:none;opacity:0.6;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(10px);
  border:1px solid var(--line);
  padding:7px 14px 7px 8px;border-radius:100px;
  font-size:13px;font-weight:500;color:var(--text);
  margin-bottom:32px;
  box-shadow:var(--shadow-sm);
  position:relative;
}
.hero-pill .badge{
  background:var(--accent);color:#fff;
  padding:3px 9px;border-radius:100px;font-size:11px;font-weight:700;
  letter-spacing:0.04em;text-transform:uppercase;
}
.hero h1{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(48px,8vw,108px);
  font-weight:800;letter-spacing:-0.04em;line-height:0.95;
  max-width:1100px;margin:0 auto 32px;
  position:relative;
}
.hero h1 .accent{
  background:linear-gradient(120deg,#34d399 0%,var(--accent) 50%,var(--accent-deep) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  font-style:italic;
  font-weight:900;
  display:inline-block;
  padding-right:0.2em;
}
.hero h1 .underline{position:relative;display:inline-block;}
.hero h1 .underline::after{
  content:"";position:absolute;left:0;right:0;bottom:0.05em;height:0.18em;
  background:rgba(34,197,94,0.22);
  z-index:-1;border-radius:4px;
}
.hero-sub{
  font-size:clamp(18px,1.6vw,22px);
  color:var(--text-muted);
  max-width:640px;margin:0 auto 48px;
  font-weight:400;line-height:1.5;
  position:relative;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;position:relative;}
.btn{
  font-size:15px;font-weight:600;
  padding:16px 28px;border-radius:100px;
  display:inline-flex;align-items:center;gap:8px;
  transition:all 0.25s;letter-spacing:-0.01em;
}
.btn-primary{background:var(--bg-deep);color:#fff;}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 12px 30px rgba(6,64,42,0.3);}
.btn-secondary{background:#fff;color:var(--text);border:1px solid var(--line);}
.btn-secondary:hover{border-color:var(--text);transform:translateY(-2px);}
.btn-ghost{color:var(--accent);font-weight:600;padding:16px 12px;}
.btn-ghost::after{content:"→";font-size:18px;transition:transform 0.2s;}
.btn-ghost:hover::after{transform:translateX(5px);}

.hero-meta{
  margin-top:64px;
  display:flex;justify-content:center;gap:48px;flex-wrap:wrap;
  color:var(--text-muted);font-size:14px;
  position:relative;
}
.hero-meta-item{display:flex;align-items:center;gap:10px;}
.hero-meta-icon{
  width:20px;height:20px;border-radius:50%;
  background:var(--accent);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;flex-shrink:0;
}

/* Page hero (smaller, for inner pages) */
.page-hero{
  padding:160px 22px 80px;
  text-align:center;
  background:
    radial-gradient(ellipse 800px 500px at 50% 0%,rgba(34,197,94,0.10),transparent 60%),
    var(--bg);
  position:relative;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(13,20,16,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,20,16,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%);
  pointer-events:none;opacity:0.5;
}
.page-hero h1{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(44px,6.5vw,84px);
  font-weight:800;letter-spacing:-0.035em;line-height:1.0;
  max-width:900px;margin:0 auto 24px;
  position:relative;
}
.page-hero h1 em{font-style:italic;color:var(--accent);}
.page-hero p{
  font-size:clamp(18px,1.5vw,21px);
  color:var(--text-muted);max-width:640px;margin:0 auto;
  position:relative;
}
.page-hero .eyebrow{display:inline-flex;margin-bottom:24px;position:relative;}

/* ---------- MARQUEE ---------- */
.marquee-section{
  padding:48px 0 60px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--bg);
  position:relative;
}
.marquee-label{
  text-align:center;
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.16em;
  color:var(--text-subtle);margin-bottom:32px;
}
.marquee{
  display:flex;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);
}
.marquee-track{
  display:flex;gap:64px;flex-shrink:0;
  animation:marquee 40s linear infinite;
  padding-right:64px;
}
@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-100%);}
}
.marquee:hover .marquee-track{animation-play-state:paused;}
.partner{
  display:flex;align-items:center;gap:10px;
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:24px;
  color:var(--text);opacity:0.55;
  white-space:nowrap;letter-spacing:-0.02em;
  transition:opacity 0.3s;
}
.partner:hover{opacity:1;}
.partner-mark{
  width:30px;height:30px;border-radius:8px;
  background:var(--text);color:var(--bg);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;
  flex-shrink:0;
}
.partner.green .partner-mark{background:var(--accent);color:#fff;}
.partner.amber .partner-mark{background:var(--warm);color:#fff;}

/* ---------- SECTIONS ---------- */
.section{padding:160px 22px;}
.section-tight{padding:120px 22px;}
.section-narrow{padding:80px 22px;}
.section-alt{background:var(--bg-alt);}
.section-dark{background:var(--bg-deep);color:#fff;}
.container{max-width:1180px;margin:0 auto;}
.container-wide{max-width:1320px;margin:0 auto;}
.container-narrow{max-width:880px;margin:0 auto;}
.section-head{margin-bottom:80px;}
.section-head.center{text-align:center;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;
  color:var(--accent);
  letter-spacing:0.16em;text-transform:uppercase;
  margin-bottom:20px;
}
.eyebrow::before{
  content:"";width:24px;height:1px;background:var(--accent);
}
.section-dark .eyebrow{color:var(--accent-light);}
.section-dark .eyebrow::before{background:var(--accent-light);}
.section-head h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(40px,5.5vw,72px);
  font-weight:800;letter-spacing:-0.03em;line-height:1.02;
  max-width:880px;
  margin-bottom:24px;
}
.section-head h2 em{font-style:italic;color:var(--accent);}
.section-head.center h2{margin-left:auto;margin-right:auto;}
.section-head p{
  font-size:20px;color:var(--text-muted);
  max-width:600px;line-height:1.5;
}
.section-head.center p{margin:0 auto;}
.section-dark .section-head p{color:rgba(255,255,255,0.7);}

/* ---------- FEATURED ---------- */
.featured{
  background:var(--bg-deep);color:#fff;
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:grid;grid-template-columns:1.05fr 1fr;
  align-items:stretch;
  min-height:640px;
  position:relative;
  box-shadow:var(--shadow-lg);
}
.featured::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(34,197,94,0.15),transparent 50%);
  pointer-events:none;
}
.featured-content{padding:80px 64px;position:relative;z-index:2;}
.featured-content h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(38px,4.5vw,60px);
  font-weight:800;letter-spacing:-0.03em;line-height:1.02;
  margin-bottom:24px;
}
.featured-content h2 em{font-style:italic;color:var(--accent-light);}
.featured-content p{
  font-size:18px;color:rgba(255,255,255,0.7);
  margin-bottom:40px;line-height:1.55;max-width:480px;
}
.featured-specs{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;
  margin-bottom:44px;
}
.spec{padding-left:16px;border-left:2px solid var(--accent-light);}
.spec-label{font-size:11px;text-transform:uppercase;letter-spacing:0.14em;color:rgba(255,255,255,0.5);margin-bottom:6px;font-weight:600;}
.spec-value{font-family:'Cabinet Grotesk',serif;font-size:24px;font-weight:700;letter-spacing:-0.02em;}
.featured-visual{
  position:relative;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(34,197,94,0.2),transparent 60%),
    linear-gradient(135deg,#06090a 0%,#0d1410 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.featured-visual::before{
  content:"270";position:absolute;
  font-family:'Cabinet Grotesk',serif;
  font-size:380px;font-weight:900;letter-spacing:-0.06em;
  color:rgba(94,132,98,0.06);
  pointer-events:none;user-select:none;
  line-height:1;
}
.heat-unit{
  position:relative;width:220px;height:300px;border-radius:28px;
  background:linear-gradient(165deg,#fafafa 0%,#d8d8db 100%);
  box-shadow:
    0 40px 80px rgba(0,0,0,0.4),
    0 12px 24px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.95);
  z-index:2;
}
.heat-unit::before{
  content:"";position:absolute;top:22px;left:22px;right:22px;height:110px;border-radius:16px;
  background:radial-gradient(ellipse at 50% 50%,#1d1d1f 0%,#06090a 100%);
}
.heat-unit::after{
  content:"";position:absolute;top:60px;left:50%;transform:translateX(-50%);
  width:42px;height:42px;border-radius:50%;
  background:conic-gradient(from 0deg,#34d399,var(--accent),#34d399,var(--accent));
  box-shadow:0 0 0 4px rgba(255,255,255,0.04),inset 0 0 14px rgba(0,0,0,0.5);
  animation:spin 8s linear infinite;
}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg);}}

.featured-badge{
  position:absolute;top:32px;right:32px;
  background:rgba(34,197,94,0.95);
  color:#fff;font-size:11px;font-weight:700;
  padding:6px 12px;border-radius:100px;
  text-transform:uppercase;letter-spacing:0.1em;
  z-index:3;
  box-shadow:0 8px 20px rgba(34,197,94,0.3);
}

@media(max-width:920px){
  .featured{grid-template-columns:1fr;min-height:auto;}
  .featured-content{padding:56px 32px;}
  .featured-visual{min-height:420px;}
  .featured-specs{grid-template-columns:1fr 1fr;gap:18px;}
  .featured-content h2{font-size:36px;}
}

/* ---------- PRODUCT GRID ---------- */
.product-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  align-items:stretch;
}
.product-card-wrap{
  display:flex;flex-direction:column;gap:24px;
}
.product-card-action{
  display:flex;
}
.product-card-action.align-left{justify-content:flex-start;}
.product-card-action.align-right{justify-content:flex-end;}
.product-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:56px 48px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:all 0.5s cubic-bezier(0.16,1,0.3,1);
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.product-card.dark{background:#101715;color:#fff;border-color:rgba(255,255,255,0.08);}
.product-card.dark .product-tag{color:var(--accent-light);}
.product-card.dark .product-sub{color:rgba(255,255,255,0.65);}
.product-card.dark .product-feat{color:rgba(255,255,255,0.55);border-color:rgba(255,255,255,0.1);}
.product-card.dark .product-link{color:var(--accent-light);}

.product-tag{
  font-size:12px;font-weight:700;
  color:var(--accent);
  text-transform:uppercase;letter-spacing:0.14em;
  margin-bottom:14px;
}
.product-card h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(30px,3.2vw,44px);
  font-weight:800;letter-spacing:-0.025em;line-height:1.05;
  margin-bottom:18px;
}
.product-sub{font-size:18px;color:var(--text-muted);max-width:420px;line-height:1.5;margin-bottom:24px;}
.product-feats{
  display:flex;flex-wrap:wrap;gap:8px;
}
.product-feat{
  font-size:12px;font-weight:600;
  color:var(--text-muted);
  border:1px solid var(--line);
  padding:6px 12px;border-radius:100px;
  letter-spacing:0.02em;
}
.product-link{
  margin-top:24px;
  display:inline-flex;align-items:center;gap:8px;
  color:var(--accent);font-weight:600;font-size:15px;
}
.product-link::after{content:"→";font-size:18px;transition:transform 0.2s;}
.product-card:hover .product-link::after{transform:translateX(5px);}

.product-illust{
  align-self:center;margin:24px 0;
  width:200px;height:240px;
  border-radius:18px;
  background:linear-gradient(165deg,#fff,#e0e0e3);
  position:relative;
  box-shadow:0 24px 48px rgba(0,0,0,0.12);
}
.product-illust.heat::before{
  content:"";position:absolute;top:18px;left:18px;right:18px;height:80px;border-radius:12px;
  background:linear-gradient(135deg,#1d1d1f,#06090a);
}
.product-illust.heat::after{
  content:"";position:absolute;top:42px;left:50%;transform:translateX(-50%);
  width:34px;height:34px;border-radius:50%;
  background:conic-gradient(from 0deg,#34d399,var(--accent),#34d399,var(--accent));
  animation:spin 8s linear infinite;
}
.product-illust.ac{
  width:300px;height:120px;border-radius:14px;
  background:linear-gradient(180deg,#fafafa,#cfcfd2);
}
.product-illust.ac::before{
  content:"";position:absolute;inset:auto 16px 16px;height:10px;border-radius:5px;
  background:repeating-linear-gradient(90deg,#1d1d1f 0,#1d1d1f 30px,transparent 30px,transparent 34px);
}
.product-illust.ac::after{
  content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:80px;height:6px;border-radius:3px;
  background:rgba(0,0,0,0.1);
}

@media(max-width:880px){
  .product-grid{grid-template-columns:1fr;}
  .product-card{padding:48px 32px;min-height:auto;}
}

/* ---------- MODEL LIST (heat pumps / AC list pages) ---------- */
.model-list{display:flex;flex-direction:column;gap:24px;}
.model-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:56px;
  display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center;
  position:relative;overflow:hidden;
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
}
.model-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent);}
.model-card.dark{background:#101715;color:#fff;border-color:rgba(255,255,255,0.08);}
.model-card.dark .model-name{color:#fff;}
.model-card.dark .model-tag{color:var(--accent-light);}
.model-card.dark .model-desc{color:rgba(255,255,255,0.7);}
.model-card.dark .model-spec{border-color:rgba(255,255,255,0.1);}
.model-card.dark .model-spec-label{color:rgba(255,255,255,0.55);}
.model-card.dark .model-link{color:var(--accent-light);}

.model-visual{
  aspect-ratio:1/1;
  border-radius:24px;
  background:linear-gradient(165deg,#1a201d 0%,#0a0f0d 100%);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.model-visual img{filter:drop-shadow(0 30px 50px rgba(0,0,0,0.45));}
.model-card.dark .model-visual{
  background:linear-gradient(165deg,#06090a 0%,#000 100%);
}
.model-visual-tag{
  position:absolute;top:18px;left:18px;
  background:rgba(255,255,255,0.95);
  font-size:11px;font-weight:700;
  padding:5px 11px;border-radius:100px;
  text-transform:uppercase;letter-spacing:0.08em;
  color:var(--accent-deep);
  z-index:2;
}
.model-card.dark .model-visual-tag{background:rgba(34,197,94,0.95);color:#fff;}

.model-tag{font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:0.14em;margin-bottom:10px;}
.model-name{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(28px,3vw,42px);
  font-weight:800;letter-spacing:-0.025em;line-height:1.05;
  margin-bottom:14px;
}
.model-desc{font-size:17px;color:var(--text-muted);line-height:1.55;margin-bottom:28px;}
.model-specs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin-bottom:32px;
}
.model-spec{
  padding-top:16px;border-top:2px solid var(--line);
}
.model-spec-label{font-size:10px;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-subtle);margin-bottom:6px;font-weight:600;}
.model-spec-value{font-family:'Cabinet Grotesk',serif;font-size:18px;font-weight:700;letter-spacing:-0.01em;}
.model-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:600;font-size:15px;}
.model-link::after{content:"→";font-size:18px;transition:transform 0.2s;}
.model-card:hover .model-link::after{transform:translateX(5px);}

.heat-illust{
  width:170px;height:230px;border-radius:24px;
  background:linear-gradient(165deg,#fff 0%,#d8d8db 100%);
  position:relative;
  box-shadow:0 30px 60px rgba(0,0,0,0.2);
}
.heat-illust::before{
  content:"";position:absolute;top:18px;left:18px;right:18px;height:88px;border-radius:14px;
  background:radial-gradient(ellipse at 50% 50%,#1d1d1f 0%,#06090a 100%);
}
.heat-illust::after{
  content:"";position:absolute;top:48px;left:50%;transform:translateX(-50%);
  width:36px;height:36px;border-radius:50%;
  background:conic-gradient(from 0deg,#34d399,var(--accent),#34d399,var(--accent));
  animation:spin 8s linear infinite;
}

.ac-illust{
  width:260px;height:90px;border-radius:14px;
  background:linear-gradient(180deg,#fafafa,#cfcfd2);
  position:relative;
  box-shadow:0 30px 60px rgba(0,0,0,0.2);
}
.ac-illust::before{
  content:"";position:absolute;inset:auto 14px 14px;height:8px;border-radius:4px;
  background:repeating-linear-gradient(90deg,#1d1d1f 0,#1d1d1f 26px,transparent 26px,transparent 30px);
}
.ac-illust::after{
  content:"";position:absolute;top:12px;left:50%;transform:translateX(-50%);
  width:64px;height:5px;border-radius:3px;
  background:rgba(0,0,0,0.1);
}

@media(max-width:920px){
  .model-card{grid-template-columns:1fr;padding:36px;gap:32px;}
  .model-specs{grid-template-columns:1fr 1fr;}
}

/* ---------- STATS ---------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
}
.stat{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:36px 28px;
  position:relative;overflow:hidden;
}
.stat-num{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(48px,6vw,80px);
  font-weight:900;letter-spacing:-0.04em;line-height:1;
  background:linear-gradient(140deg,var(--accent-light),var(--accent),var(--accent-deep));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-bottom:12px;
}
.stat-label{font-size:14px;color:var(--text-muted);font-weight:500;line-height:1.4;}
.stat-icon{
  position:absolute;top:24px;right:24px;
  width:36px;height:36px;border-radius:50%;
  background:rgba(34,197,94,0.1);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:16px;
}
@media(max-width:880px){.stats{grid-template-columns:1fr 1fr;}}

/* ---------- VALUES (3 cards) ---------- */
.values{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.value-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:48px 40px;
  position:relative;
  transition:all 0.3s;
}
.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.value-icon{
  width:56px;height:56px;border-radius:16px;
  background:linear-gradient(135deg,var(--accent-light),var(--accent-deep));
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:700;
  margin-bottom:24px;
}
.value-card h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:24px;font-weight:800;letter-spacing:-0.02em;
  margin-bottom:12px;
}
.value-card p{font-size:16px;color:var(--text-muted);line-height:1.55;}
@media(max-width:880px){.values{grid-template-columns:1fr;}}

/* ---------- SERVICES (4 grid) ---------- */
.services-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.service-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:48px;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:all 0.3s;
}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent);}
.service-num{
  font-family:'Cabinet Grotesk',serif;font-style:italic;
  font-size:14px;font-weight:700;color:var(--accent);
  letter-spacing:-0.01em;margin-bottom:14px;
}
.service-card h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:28px;font-weight:800;letter-spacing:-0.02em;line-height:1.1;
  margin-bottom:16px;
}
.service-card p{font-size:16px;color:var(--text-muted);line-height:1.55;margin-bottom:24px;flex:1;}
@media(max-width:760px){.services-grid{grid-template-columns:1fr;}}

/* ---------- REBATES ---------- */
.rebate-band{
  background:linear-gradient(135deg,#04211a 0%,#06402a 50%,#0a8b5b 100%);
  color:#fff;
  border-radius:var(--radius-lg);
  padding:80px 64px;
  display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.rebate-band::before{
  content:"";position:absolute;top:-30%;right:-10%;
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(34,197,94,0.3),transparent 70%);
  pointer-events:none;
}
.rebate-band::after{
  content:"";position:absolute;bottom:-20%;left:-10%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(217,119,6,0.12),transparent 70%);
  pointer-events:none;
}
.rebate-band h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(36px,4.5vw,60px);
  font-weight:800;letter-spacing:-0.03em;line-height:1.02;
  margin-bottom:24px;
}
.rebate-band h2 em{font-style:italic;color:#fcd34d;}
.rebate-band p{
  font-size:19px;color:rgba(255,255,255,0.78);
  margin-bottom:36px;line-height:1.5;max-width:480px;
}
.rebate-list{list-style:none;display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;}
.rebate-list li{
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;
  padding:20px 24px;
  display:flex;justify-content:space-between;align-items:center;
  backdrop-filter:blur(10px);
  transition:transform 0.2s;
}
.rebate-list li:hover{transform:translateX(4px);background:rgba(255,255,255,0.08);}
.rebate-name{font-weight:500;font-size:15px;}
.rebate-amt{
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:19px;
  color:#fcd34d;letter-spacing:-0.01em;
}
@media(max-width:880px){
  .rebate-band{grid-template-columns:1fr;padding:56px 32px;gap:32px;}
}

/* ---------- FOUNDER ---------- */
.founder{
  display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center;
}
.founder-photo{
  position:relative;
  aspect-ratio:4/5;
  border-radius:var(--radius-lg);
  background:
    radial-gradient(ellipse at 30% 30%,rgba(255,255,255,0.4),transparent 50%),
    linear-gradient(165deg,#1a2820 0%,#0d1410 100%);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  display:flex;align-items:flex-end;justify-content:center;
}
.founder-photo .real-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 25%;
  display:block;
}
.founder-photo::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 80%,rgba(34,197,94,0.15),transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(217,119,6,0.08),transparent 50%);
}
.founder-silhouette{
  width:80%;height:88%;
  background:linear-gradient(180deg,transparent 0%,rgba(13,20,16,0.4) 100%);
  border-radius:50% 50% 0 0/35% 35% 0 0;
  position:relative;z-index:2;
  margin-bottom:0;
}
.founder-silhouette::before{
  content:"";position:absolute;top:8%;left:50%;transform:translateX(-50%);
  width:38%;aspect-ratio:1/1.1;border-radius:50%;
  background:linear-gradient(165deg,#3a4a40,#1a2820);
}
.founder-photo-tag{
  position:absolute;bottom:24px;left:24px;
  background:rgba(255,255,255,0.95);
  backdrop-filter:blur(10px);
  border-radius:16px;
  padding:14px 18px;
  z-index:3;
  box-shadow:0 12px 30px rgba(0,0,0,0.2);
}
.founder-photo-tag-name{font-family:'Cabinet Grotesk',serif;font-weight:800;font-size:18px;letter-spacing:-0.02em;}
.founder-photo-tag-role{font-size:12px;color:var(--text-muted);font-weight:500;margin-top:2px;}

.founder-content .eyebrow{margin-bottom:24px;}
.founder-content h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(36px,4.8vw,60px);
  font-weight:800;letter-spacing:-0.03em;line-height:1.02;
  margin-bottom:28px;
}
.founder-content h2 em{font-style:italic;color:var(--accent);}
.founder-content .lead{
  font-size:21px;color:var(--text);font-weight:500;
  line-height:1.45;margin-bottom:24px;
}
.founder-content p{
  font-size:17px;color:var(--text-muted);
  line-height:1.65;margin-bottom:20px;
}
.founder-sig{
  margin-top:36px;
  display:flex;align-items:center;gap:18px;
  padding-top:28px;border-top:1px solid var(--line);
}
.founder-sig-name{
  font-family:'Cabinet Grotesk',serif;
  font-style:italic;font-weight:700;
  font-size:24px;letter-spacing:-0.02em;
  color:var(--accent-deep);
}
.founder-stats{
  display:flex;gap:32px;margin-top:36px;
}
.founder-stat-num{
  font-family:'Cabinet Grotesk',serif;
  font-size:36px;font-weight:800;letter-spacing:-0.03em;
  color:var(--text);line-height:1;
}
.founder-stat-label{font-size:13px;color:var(--text-muted);margin-top:6px;}

@media(max-width:880px){
  .founder{grid-template-columns:1fr;gap:48px;}
  .founder-photo{max-width:420px;margin:0 auto;}
}

/* ---------- BLOG ---------- */
.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.blog-card{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;flex-direction:column;
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--accent);}
.blog-img{
  aspect-ratio:16/10;
  position:relative;overflow:hidden;
}
.blog-img.green{background:linear-gradient(135deg,#10b981,#06402a);}
.blog-img.amber{background:linear-gradient(135deg,#fbbf24,#b45309);}
.blog-img.deep{background:linear-gradient(135deg,#1f2937,#0d1410);}
.blog-img.teal{background:linear-gradient(135deg,#14b8a6,#0f766e);}
.blog-img.rose{background:linear-gradient(135deg,#fb7185,#9f1239);}
.blog-img.indigo{background:linear-gradient(135deg,#818cf8,#3730a3);}
.blog-img::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 30% 70%,rgba(255,255,255,0.15),transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(255,255,255,0.1),transparent 50%);
}
.blog-img-icon{
  position:absolute;top:24px;left:24px;
  width:48px;height:48px;border-radius:14px;
  background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:22px;font-weight:700;
}
.blog-content{padding:32px;flex:1;display:flex;flex-direction:column;}
.blog-meta{
  display:flex;gap:14px;align-items:center;
  font-size:12px;color:var(--text-subtle);font-weight:500;
  margin-bottom:14px;text-transform:uppercase;letter-spacing:0.06em;
}
.blog-cat{
  background:var(--bg-alt);color:var(--accent-deep);
  padding:5px 10px;border-radius:6px;font-weight:600;
}
.blog-card h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:24px;font-weight:700;letter-spacing:-0.02em;line-height:1.15;
  margin-bottom:14px;
}
.blog-card p{font-size:15px;color:var(--text-muted);line-height:1.55;margin-bottom:24px;flex:1;}
.blog-link{
  font-size:14px;font-weight:600;color:var(--accent);
  display:inline-flex;align-items:center;gap:6px;
}
.blog-link::after{content:"→";transition:transform 0.2s;}
.blog-card:hover .blog-link::after{transform:translateX(4px);}
@media(max-width:980px){.blog-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){.blog-grid{grid-template-columns:1fr;}}

/* Featured blog (large hero card) */
.blog-featured{
  display:grid;grid-template-columns:1.2fr 1fr;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  margin-bottom:48px;
  transition:all 0.4s;
  min-height:440px;
}
.blog-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.blog-featured-img{
  position:relative;
  background:linear-gradient(135deg,#0a8b5b,#04211a);
}
.blog-featured-img::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 80%,rgba(252,211,77,0.18),transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(34,197,94,0.25),transparent 50%);
}
.blog-featured-img-icon{
  position:absolute;top:32px;left:32px;
  background:rgba(255,255,255,0.95);
  border-radius:14px;
  padding:8px 16px;
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:14px;
  color:var(--accent-deep);letter-spacing:-0.01em;
}
.blog-featured-content{padding:56px;display:flex;flex-direction:column;justify-content:center;}
.blog-featured-content h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:800;letter-spacing:-0.025em;line-height:1.08;
  margin-bottom:18px;
}
.blog-featured-content p{font-size:17px;color:var(--text-muted);line-height:1.55;margin-bottom:28px;}
@media(max-width:880px){.blog-featured{grid-template-columns:1fr;}.blog-featured-img{min-height:280px;}.blog-featured-content{padding:36px;}}

/* ---------- TESTIMONIALS ---------- */
.testimonials{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.quote{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:36px 32px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;
  transition:all 0.3s;
}
.quote:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.quote-mark{
  font-family:Georgia,serif;
  position:absolute;top:18px;right:24px;
  font-size:64px;line-height:1;color:var(--accent);opacity:0.18;
  font-weight:700;
}
.stars{color:#f59e0b;letter-spacing:3px;font-size:14px;margin-bottom:14px;}
.quote-text{
  font-size:16px;line-height:1.6;color:var(--text);
  margin-bottom:28px;font-weight:400;
}
.quote-author{
  display:flex;align-items:center;gap:12px;
  padding-top:20px;border-top:1px solid var(--line);
}
.quote-avatar{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent-light),var(--accent-deep));
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:15px;
  font-family:'Cabinet Grotesk',serif;
  flex-shrink:0;
}
.quote-author-name{font-weight:700;font-size:14px;letter-spacing:-0.01em;}
.quote-author-loc{font-size:12px;color:var(--text-muted);}
@media(max-width:880px){.testimonials{grid-template-columns:1fr;}}

/* ---------- FAQs ---------- */
.faqs{display:flex;flex-direction:column;gap:14px;}
.faq{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:26px 32px;
  transition:all 0.2s;
}
.faq:hover{border-color:var(--accent);}
.faq summary{
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:19px;letter-spacing:-0.015em;
  cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";
  font-family:'Cabinet Grotesk',serif;font-size:28px;font-weight:400;
  color:var(--accent);transition:transform 0.2s;flex-shrink:0;
}
.faq[open] summary::after{transform:rotate(45deg);}
.faq p{
  font-size:16px;color:var(--text-muted);line-height:1.6;
  margin-top:18px;padding-top:18px;border-top:1px solid var(--line);
}

/* ---------- CONTACT FORM ---------- */
.contact-grid{
  display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:stretch;
}
/* When the map sits beside the contact-info card, stretch to match its height */
.contact-grid .map-wrap{
  aspect-ratio:auto;
  height:100%;
  min-height:380px;
  margin-top:0;
}
.contact-grid .map-wrap iframe{height:100%;}
.contact-grid .contact-info{align-self:stretch;}
.contact-form{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:48px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.form-field{margin-bottom:18px;}
.form-field label{
  display:block;
  font-size:13px;font-weight:600;color:var(--text);
  margin-bottom:8px;
}
.form-field input, .form-field select, .form-field textarea{
  width:100%;font-family:inherit;font-size:15px;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  color:var(--text);
  transition:border-color 0.2s,box-shadow 0.2s;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(10,139,91,0.15);
}
.form-field textarea{resize:vertical;min-height:120px;}
.service-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.service-pill{
  font-size:13px;font-weight:600;
  padding:10px 16px;border-radius:100px;
  border:1px solid var(--line);
  background:var(--bg);color:var(--text);
  cursor:pointer;transition:all 0.2s;
}
.service-pill:hover{border-color:var(--accent);}
.service-pill.active{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep);}
.contact-info{
  background:var(--bg-deep);color:#fff;
  border-radius:var(--radius-lg);
  padding:48px;
  position:sticky;top:120px;
}
.contact-info h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:28px;font-weight:800;letter-spacing:-0.025em;
  margin-bottom:24px;
}
.contact-info-item{
  display:flex;gap:14px;
  padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.08);
}
.contact-info-item:last-child{border-bottom:none;}
.contact-info-icon{
  width:38px;height:38px;border-radius:10px;
  background:rgba(34,197,94,0.15);color:var(--accent-light);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:700;
  flex-shrink:0;
}
.contact-info-label{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.5);margin-bottom:4px;font-weight:600;}
.contact-info-value{font-size:15px;font-weight:500;}
.contact-info-value a{color:#fff;}
@media(max-width:980px){.contact-grid{grid-template-columns:1fr;}.contact-info{position:static;}}
@media(max-width:600px){.form-row{grid-template-columns:1fr;}}

/* ---------- FINAL CTA ---------- */
.final-cta{
  text-align:center;padding:160px 22px;
  background:
    radial-gradient(ellipse at 50% 50%,rgba(34,197,94,0.08),transparent 60%),
    var(--bg);
  position:relative;
}
.final-cta h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(48px,7vw,96px);
  font-weight:900;letter-spacing:-0.04em;line-height:0.98;
  max-width:880px;margin:0 auto 28px;
}
.final-cta h2 em{font-style:italic;color:var(--accent);}
.final-cta p{
  font-size:21px;color:var(--text-muted);
  max-width:580px;margin:0 auto 44px;
}

/* ---------- FOOTER ---------- */
footer{
  background:var(--bg-deep);color:rgba(255,255,255,0.62);
  padding:80px 22px 32px;font-size:14px;
}
.footer-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:56px;
  padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer-brand .brand{margin-bottom:18px;color:#fff;}
.footer-brand p{font-size:14px;line-height:1.6;max-width:320px;margin-bottom:24px;}
.footer-socials{display:flex;gap:10px;}
.footer-social{
  width:40px;height:40px;border-radius:50%;
  background:rgba(255,255,255,0.06);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;color:#fff;
  transition:background 0.2s;
}
.footer-social:hover{background:var(--accent);}
.footer-col h4{font-size:13px;font-weight:700;color:#fff;margin-bottom:18px;text-transform:uppercase;letter-spacing:0.1em;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a:hover{color:#fff;}
.footer-bottom{
  max-width:1180px;margin:0 auto;padding-top:24px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;
}
@media(max-width:880px){.footer-inner{grid-template-columns:1fr 1fr;gap:40px;}}

/* ---------- ANIMATIONS ---------- */
.fade-in{opacity:0;transform:translateY(28px);transition:opacity 0.9s ease,transform 0.9s cubic-bezier(0.16,1,0.3,1);}
.fade-in.visible{opacity:1;transform:translateY(0);}
.fade-in:nth-child(2){transition-delay:0.1s;}
.fade-in:nth-child(3){transition-delay:0.2s;}
.fade-in:nth-child(4){transition-delay:0.3s;}

/* ---------- MOBILE MENU ---------- */
@media(max-width:920px){
  .nav-links{
    display:none;
    position:fixed;
    top:90px;left:16px;right:16px;
    background:rgba(13,20,16,0.97);
    backdrop-filter:saturate(180%) blur(28px);
    -webkit-backdrop-filter:saturate(180%) blur(28px);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:24px;
    padding:18px;
    flex-direction:column;
    gap:6px;
    box-shadow:0 24px 60px rgba(0,0,0,0.5);
    z-index:999;
  }
  body.menu-open .nav-links{display:flex;animation:menuIn 0.25s cubic-bezier(0.16,1,0.3,1);}
  body.menu-open .nav-links a{
    padding:14px 18px;font-size:15px;
    width:100%;
  }
  body.menu-open{overflow:hidden;}
}
@keyframes menuIn{
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---------- ARTICLE / BLOG POST ---------- */
.article-hero{
  padding:160px 22px 60px;
  background:
    radial-gradient(ellipse 800px 500px at 50% 0%,rgba(34,197,94,0.10),transparent 60%),
    var(--bg);
  position:relative;
}
.article-hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(13,20,16,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(13,20,16,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,black 20%,transparent 80%);
  pointer-events:none;opacity:0.5;
}
.article-hero-inner{
  max-width:880px;margin:0 auto;text-align:left;position:relative;
}
.back-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;font-weight:500;color:var(--text-muted);
  margin-bottom:32px;
  transition:color 0.2s;
}
.back-link::before{content:"←";font-size:18px;}
.back-link:hover{color:var(--accent);}
.article-meta{
  display:flex;gap:14px;align-items:center;
  font-size:13px;color:var(--text-subtle);font-weight:500;
  margin-bottom:24px;text-transform:uppercase;letter-spacing:0.06em;
}
.article-hero h1{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(36px,5vw,64px);
  font-weight:800;letter-spacing:-0.03em;line-height:1.05;
  margin-bottom:24px;
}
.article-hero h1 em{font-style:italic;color:var(--accent);}
.article-lead{
  font-size:21px;color:var(--text-muted);
  line-height:1.5;max-width:720px;
}
.article-cover{
  max-width:1080px;margin:0 auto 80px;padding:0 22px;
}
.article-cover-inner{
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.article-cover-inner.green{background:linear-gradient(135deg,#10b981,#06402a);}
.article-cover-inner.amber{background:linear-gradient(135deg,#fbbf24,#b45309);}
.article-cover-inner.deep{background:linear-gradient(135deg,#1f2937,#0d1410);}
.article-cover-inner.teal{background:linear-gradient(135deg,#14b8a6,#0f766e);}
.article-cover-inner.rose{background:linear-gradient(135deg,#fb7185,#9f1239);}
.article-cover-inner.indigo{background:linear-gradient(135deg,#818cf8,#3730a3);}
.article-cover-inner::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 30% 70%,rgba(255,255,255,0.18),transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(255,255,255,0.12),transparent 50%);
}
.article-cover-tag{
  position:absolute;bottom:32px;left:32px;
  background:rgba(255,255,255,0.95);
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:14px;letter-spacing:-0.01em;
  padding:8px 14px;border-radius:100px;
  color:var(--accent-deep);
}

.article-body{
  max-width:720px;margin:0 auto;padding:0 22px 80px;
  font-size:18px;line-height:1.7;color:var(--text);
}
.article-body p{margin-bottom:24px;}
.article-body h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:32px;font-weight:800;letter-spacing:-0.025em;line-height:1.2;
  margin-top:56px;margin-bottom:20px;
}
.article-body h2 em{font-style:italic;color:var(--accent);}
.article-body h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:22px;font-weight:700;letter-spacing:-0.02em;
  margin-top:36px;margin-bottom:14px;
}
.article-body ul, .article-body ol{
  margin:0 0 24px 24px;padding-left:8px;
}
.article-body li{margin-bottom:10px;}
.article-body li::marker{color:var(--accent);}
.article-body strong{font-weight:700;color:var(--text);}
.article-body a:not(.btn){color:var(--accent);font-weight:600;border-bottom:1px solid rgba(10,139,91,0.25);transition:border-color 0.2s;}
.article-body a:not(.btn):hover{border-bottom-color:var(--accent);}
.article-body .btn{color:#fff;border-bottom:none;}
.article-body .btn:hover{border-bottom:none;}
.article-body blockquote{
  border-left:3px solid var(--accent);
  padding:8px 0 8px 28px;
  margin:36px 0;
  font-family:'Cabinet Grotesk',serif;
  font-size:24px;font-weight:500;font-style:italic;
  letter-spacing:-0.015em;line-height:1.35;color:var(--text);
}
.callout{
  background:var(--bg-alt);
  border-radius:18px;padding:28px 32px;
  margin:36px 0;
  border-left:3px solid var(--accent);
}
.callout p{margin-bottom:0;font-size:16px;}
.callout strong{font-family:'Cabinet Grotesk',serif;font-size:17px;letter-spacing:-0.01em;display:block;margin-bottom:6px;color:var(--accent-deep);}
.article-cta{
  background:var(--bg-deep);color:#fff;
  border-radius:var(--radius-lg);
  padding:48px;
  margin:56px 0 0;
  text-align:center;
}
.article-cta h3{font-family:'Cabinet Grotesk',serif;font-size:28px;font-weight:800;letter-spacing:-0.025em;margin-bottom:12px;}
.article-cta p{color:rgba(255,255,255,0.7);font-size:16px;margin-bottom:24px;}

.article-related{
  background:var(--bg-alt);
  padding:80px 22px;
}

/* ---------- PRODUCT DETAIL ---------- */
.pd-hero{
  padding:140px 22px 80px;
  background:var(--bg);
  position:relative;
}
.pd-hero-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;
}
.pd-visual{
  aspect-ratio:1/1;
  border-radius:var(--radius-lg);
  background:linear-gradient(165deg,#1a201d 0%,#0a0f0d 100%);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.pd-visual.dark{
  background:linear-gradient(165deg,#06090a 0%,#000 100%);
}
.pd-visual img{filter:drop-shadow(0 30px 50px rgba(0,0,0,0.5));}
.pd-tag-row{
  position:absolute;top:24px;left:24px;display:flex;gap:8px;flex-wrap:wrap;
}
.pd-tag{
  background:rgba(255,255,255,0.95);
  font-size:11px;font-weight:700;
  padding:6px 12px;border-radius:100px;
  text-transform:uppercase;letter-spacing:0.08em;
  color:var(--accent-deep);
}
.pd-tag.accent{background:var(--accent);color:#fff;}
.pd-content .eyebrow{margin-bottom:18px;}
.pd-name{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(36px,5vw,64px);
  font-weight:800;letter-spacing:-0.035em;line-height:1.0;
  margin-bottom:20px;
}
.pd-name em{font-style:italic;color:var(--accent);}
.pd-tagline{
  font-size:21px;color:var(--text-muted);
  line-height:1.45;margin-bottom:32px;
}
.pd-quick-specs{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;
  margin-bottom:36px;
  padding:24px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:18px;
}
.pd-quick-spec-label{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-subtle);margin-bottom:4px;font-weight:600;}
.pd-quick-spec-value{font-family:'Cabinet Grotesk',serif;font-size:20px;font-weight:700;letter-spacing:-0.01em;}
.pd-ctas{display:flex;gap:12px;flex-wrap:wrap;}

@media(max-width:920px){
  .pd-hero-inner{grid-template-columns:1fr;gap:48px;}
  .pd-visual{max-width:480px;margin:0 auto;width:100%;}
}

.pd-features{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.pd-feature{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:32px 28px;
  transition:all 0.3s;
}
.pd-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--accent);}
.pd-feature-icon{
  width:44px;height:44px;border-radius:12px;
  background:rgba(10,139,91,0.1);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;
  margin-bottom:18px;
}
.pd-feature h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:18px;font-weight:700;letter-spacing:-0.015em;
  margin-bottom:8px;
}
.pd-feature p{font-size:14px;color:var(--text-muted);line-height:1.55;}
@media(max-width:880px){.pd-features{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.pd-features{grid-template-columns:1fr;}}

.pd-spec-table{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.pd-spec-row{
  display:grid;grid-template-columns:1fr 1.5fr;
  padding:18px 28px;
  border-bottom:1px solid var(--line);
  font-size:15px;
}
.pd-spec-row:last-child{border-bottom:none;}
.pd-spec-row:nth-child(odd){background:rgba(241,239,233,0.4);}
.pd-spec-row > span:first-child{color:var(--text-muted);font-weight:500;}
.pd-spec-row > span:last-child{font-weight:600;color:var(--text);}

/* ---------- LEGAL ---------- */
.legal-body{
  max-width:780px;margin:0 auto;padding:60px 22px 100px;
  font-size:16px;line-height:1.7;color:var(--text);
}
.legal-body h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:24px;font-weight:800;letter-spacing:-0.02em;
  margin-top:48px;margin-bottom:14px;
}
.legal-body h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:18px;font-weight:700;letter-spacing:-0.015em;
  margin-top:28px;margin-bottom:10px;
}
.legal-body p{margin-bottom:18px;color:var(--text-muted);}
.legal-body ul, .legal-body ol{margin:0 0 18px 22px;color:var(--text-muted);}
.legal-body li{margin-bottom:8px;}
.legal-body strong{color:var(--text);font-weight:600;}
.legal-notice{
  background:#fef3c7;
  border:1px solid #fbbf24;
  border-radius:14px;
  padding:18px 22px;
  margin-bottom:32px;
  font-size:14px;color:#78350f;
  font-weight:500;
}
.legal-notice strong{color:#78350f;font-weight:700;}

/* ---------- THANKS PAGE ---------- */
.thanks{
  min-height:80vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:160px 22px 100px;
  background:
    radial-gradient(ellipse 800px 500px at 50% 0%,rgba(34,197,94,0.15),transparent 60%),
    var(--bg);
}
.thanks-icon{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent-light),var(--accent-deep));
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:40px;font-weight:700;
  margin-bottom:32px;
  box-shadow:0 20px 50px rgba(10,139,91,0.3);
}
.thanks h1{
  font-family:'Cabinet Grotesk',serif;
  font-size:clamp(40px,6vw,72px);
  font-weight:800;letter-spacing:-0.035em;line-height:1.05;
  margin-bottom:20px;
}
.thanks h1 em{font-style:italic;color:var(--accent);}
.thanks p{font-size:20px;color:var(--text-muted);max-width:540px;margin:0 auto 36px;}

/* ---------- PARTNER LOGOS (real images) ---------- */
.partner-logo{
  display:flex;align-items:center;justify-content:center;
  height:60px;flex-shrink:0;padding:0 8px;
  filter:grayscale(100%) opacity(0.7);
  transition:filter 0.3s,transform 0.3s;
}
.partner-logo:hover{filter:none;transform:scale(1.05);}
.partner-logo img{
  max-height:50px;max-width:160px;
  object-fit:contain;
}
.partner-text{
  display:flex;align-items:center;gap:10px;
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:22px;
  color:var(--text);opacity:0.6;
  white-space:nowrap;letter-spacing:-0.02em;
  height:60px;
  transition:opacity 0.3s;
}
.partner-text:hover{opacity:1;}

/* ---------- HERO PHOTO ---------- */
.hero-photo{
  margin-top:64px;
  width:100%;max-width:1080px;
  margin-left:auto;margin-right:auto;
  aspect-ratio:16/9;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 40px 100px rgba(13,20,16,0.18);
  position:relative;
}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-photo-overlay{
  position:absolute;left:32px;bottom:32px;right:32px;
  display:flex;justify-content:space-between;align-items:flex-end;
  pointer-events:none;
}
.hero-photo-card{
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(14px);
  border-radius:14px;padding:14px 18px;
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:14px;letter-spacing:-0.01em;
  color:var(--text);
  box-shadow:0 12px 30px rgba(0,0,0,0.2);
  pointer-events:auto;
}
.hero-photo-card .sub{font-family:'Satoshi',sans-serif;font-weight:400;font-size:12px;color:var(--text-muted);margin-top:2px;}

/* ---------- REAL PRODUCT PHOTOS (in product cards/visuals) ---------- */
.real-product{
  display:flex;align-items:center;justify-content:center;
  height:100%;width:100%;
}
.real-product img{
  max-width:75%;max-height:88%;
  object-fit:contain;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,0.35));
}
.real-product.compact img{max-width:62%;max-height:80%;}
/* Old in-card style replaced by .real-product.boxed below */

/* AC product (wider, shorter aspect) */
.real-product.ac img{max-width:88%;max-height:70%;}

/* Boxed inset for product card thumbnails — clean rounded container behind product photo */
.real-product.boxed{
  margin-top:32px;
  height:300px;
  border-radius:18px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  background:linear-gradient(135deg,#efece2 0%,#dfdbcd 100%);
}
.real-product.boxed.dark-bg{
  background:linear-gradient(165deg,#1a201d 0%,#0a0f0d 100%);
}
.real-product.boxed img{
  max-width:62%;max-height:88%;
  object-fit:contain;
  filter:drop-shadow(0 22px 36px rgba(0,0,0,0.22));
}
.real-product.boxed.ac img{
  max-width:88%;max-height:60%;
}

/* Lifestyle variant — photographic image inside a dark rounded inner box */
.real-product.lifestyle{
  margin-top:auto;          /* pushes photo to the bottom of the card */
  margin-bottom:0;
  height:300px;flex-shrink:0;
  overflow:hidden;
  border-radius:18px;
  display:block;position:relative;
  background:#0d1410;
}
.real-product.lifestyle img{
  width:100%;height:100%;object-fit:cover;
  max-width:none;max-height:none;
  filter:none;
  display:block;
}

/* ---------- FAQ TABS ---------- */
.faq-tabs{
  display:flex;justify-content:center;gap:6px;
  margin:0 auto 40px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:6px;
  width:fit-content;
  max-width:100%;
}
.faq-tab{
  font-family:'Cabinet Grotesk',serif;
  font-weight:700;font-size:15px;letter-spacing:-0.015em;
  padding:11px 24px;
  border-radius:10px;
  background:transparent;color:var(--text-muted);
  cursor:pointer;
  transition:all 0.25s;
  border:none;
}
.faq-tab:hover{color:var(--text);}
.faq-tab.active{
  background:var(--bg-deep);color:#fff;
  box-shadow:0 4px 14px rgba(13,20,16,0.18);
}
.faq-panel{display:none;}
.faq-panel.active{display:block;animation:fadePanel 0.35s ease;}
@keyframes fadePanel{
  from{opacity:0;transform:translateY(8px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---------- BOOKING FLOW (calendar + time + form) ---------- */
.book-shell{
  display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start;
  max-width:1180px;margin:0 auto;
}
.book-main{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.book-banner{
  background:linear-gradient(135deg,#88a98c 0%,#5e8462 100%);
  color:#fff;padding:48px 56px;
}
.book-banner .back{
  font-size:14px;color:rgba(255,255,255,0.85);
  display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;
  cursor:pointer;
}
.book-banner .back::before{content:"←";font-size:18px;}
.book-banner h1{
  font-family:'Cabinet Grotesk',serif;
  font-size:34px;font-weight:800;letter-spacing:-0.025em;line-height:1.05;
  margin-bottom:6px;
}
.book-banner p{font-size:15px;color:rgba(255,255,255,0.85);}
.book-step{padding:48px 56px;display:none;}
.book-step.active{display:block;}
.book-step h2{
  font-family:'Cabinet Grotesk',serif;
  font-size:22px;font-weight:700;letter-spacing:-0.02em;margin-bottom:6px;
}
.book-step .timezone{
  font-size:13px;color:var(--text-muted);
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:24px;
  padding-bottom:18px;border-bottom:1px solid var(--line);
}
.book-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:36px;
}

/* Calendar */
.cal-head{
  display:flex;align-items:center;justify-content:space-between;
  font-family:'Cabinet Grotesk',serif;font-weight:700;font-size:17px;
  margin-bottom:18px;
}
.cal-nav{
  background:none;border:none;cursor:pointer;
  font-size:20px;color:var(--text);padding:6px 10px;border-radius:8px;
}
.cal-nav:hover{background:var(--bg-alt);}
.cal-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
}
.cal-dow{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;
  color:var(--text-subtle);text-align:center;padding:8px 0;
}
.cal-day{
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:500;
  border-radius:50%;
  cursor:pointer;
  position:relative;
  transition:background 0.15s;
  color:var(--text);
}
.cal-day:hover:not(.empty):not(.past):not(.weekend){background:var(--bg-alt);}
.cal-day.empty{cursor:default;color:transparent;}
.cal-day.past{color:var(--text-subtle);cursor:not-allowed;opacity:0.4;}
.cal-day.weekend{color:var(--text-subtle);cursor:not-allowed;opacity:0.45;}
.cal-day.weekend::after{display:none;}
.cal-day.has-slots:not(.weekend)::after{
  content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--accent);
}
.cal-day.selected{background:var(--bg-deep);color:#fff;}
.cal-day.selected::after{background:#fff;}

/* Time slots */
.slots-head{font-size:14px;font-weight:600;margin-bottom:14px;color:var(--text);}
.slots-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.slot{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg-card);
  font-family:inherit;font-size:14px;font-weight:600;
  cursor:pointer;
  transition:all 0.15s;
  text-align:center;
  color:var(--text);
}
.slot:hover{border-color:var(--text);}
.slot.selected{background:var(--bg-deep);color:#fff;border-color:var(--bg-deep);}
.slots-show-all{
  text-align:center;margin-top:18px;
  font-size:13px;color:var(--text);text-decoration:underline;
  cursor:pointer;background:none;border:none;font-family:inherit;
}

/* Booking summary side panel */
.book-side{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  position:sticky;top:120px;
}
.book-side h3{
  font-family:'Cabinet Grotesk',serif;
  font-size:18px;font-weight:700;letter-spacing:-0.015em;
  margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;
}
.book-side .edit{
  font-size:13px;color:var(--accent);font-weight:600;cursor:pointer;
  display:inline-flex;align-items:center;gap:4px;
}
.book-side-row{
  font-size:14px;color:var(--text);
  padding:14px 0;border-bottom:1px solid var(--line);
}
.book-side-row:last-of-type{border-bottom:none;}
.book-side-row .label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-subtle);font-weight:600;margin-bottom:4px;}
.book-side-row .value{font-weight:600;}
.book-side details{font-size:13px;color:var(--text-muted);}
.book-side details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.book-side details summary::-webkit-details-marker{display:none;}
.book-side details summary::after{content:"›";transition:transform 0.2s;font-size:18px;}
.book-side details[open] summary::after{transform:rotate(90deg);}
.book-side-cta{
  display:block;
  background:var(--bg-deep);color:#fff;
  padding:14px;border-radius:10px;
  font-weight:600;font-size:15px;
  text-align:center;margin-top:24px;
  cursor:pointer;border:none;
  width:100%;font-family:inherit;
  transition:background 0.2s;
}
.book-side-cta:hover{background:var(--accent-deep);}
.book-side-cta:disabled{background:var(--line);color:var(--text-subtle);cursor:not-allowed;}

/* Service select cards */
.service-list{display:grid;gap:12px;}
.service-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--bg-card);
  cursor:pointer;
  transition:all 0.2s;
  text-align:left;
  font-family:inherit;
  width:100%;
}
.service-row:hover{border-color:var(--text);}
.service-row.selected{border-color:var(--accent);background:rgba(94,132,98,0.06);}
.service-row .info{text-align:left;flex:1;}
.service-row .info h4{
  font-family:'Cabinet Grotesk',serif;font-weight:700;font-size:17px;letter-spacing:-0.015em;
  text-align:left;color:var(--text);
}
.service-row .info p{font-size:13px;color:var(--text-muted);margin-top:2px;text-align:left;}
.service-row .arrow{font-size:18px;color:var(--text-muted);flex-shrink:0;margin-left:16px;}
.service-row.selected .arrow{color:var(--accent);}

/* Booking form (step 3) */
.book-form-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.book-form-grid .full{grid-column:1/-1;}
.book-form-grid .checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.book-form-grid label.check{
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:var(--text);cursor:pointer;font-weight:500;
}
.book-form-grid label.check input{width:auto;}

@media(max-width:980px){
  .book-shell{grid-template-columns:1fr;}
  .book-side{position:static;}
  .book-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .book-banner, .book-step{padding:32px 24px;}
  .book-side{padding:24px;}
}

/* ---------- PDF EMBED ---------- */
.pdf-embed{
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.pdf-embed iframe, .pdf-embed embed, .pdf-embed object{
  width:100%;height:780px;border:0;display:block;
}
.pdf-embed-actions{
  padding:18px 24px;
  background:var(--bg-alt);
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--line);font-size:14px;
}

/* Top-crop variant — shows only the top portion of the unit (bottom hidden below the visible frame) */
.real-product.top-crop{
  height:100%;width:100%;
  overflow:hidden;
  display:block;position:relative;
}
.real-product.top-crop img{
  position:absolute;
  left:50%;top:8%;
  transform:translateX(-50%);
  width:auto;height:175%;
  max-width:none;max-height:none;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,0.4));
}
/* AC version: shorter (since it's wall-mounted), still cropped */
.real-product.top-crop.ac img{
  height:auto;width:88%;
  top:14%;
}

/* Featured visual override when using real product */
.featured-visual.with-photo{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(94,132,98,0.15),transparent 60%),
    linear-gradient(135deg,#06090a 0%,#0d1410 100%);
}
.featured-visual.with-photo::before{display:none;}

/* ---------- SOCIAL SVG ICONS ---------- */
.footer-social svg{width:18px;height:18px;}
.footer-social{padding:0;}

/* ---------- VIEW ALL PRODUCTS BUTTON ---------- */
.view-all{
  display:flex;justify-content:center;
  margin-top:48px;
}

/* ---------- DATASHEET LINK ---------- */
.datasheet-row{
  margin-top:24px;display:flex;gap:12px;flex-wrap:wrap;
}
.datasheet-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border-radius:10px;
  background:var(--bg-alt);border:1px solid var(--line);
  color:var(--text);font-size:13px;font-weight:600;
  transition:all 0.2s;
}
.datasheet-link:hover{border-color:var(--accent);color:var(--accent);}
.datasheet-link::before{content:"PDF";font-family:'JetBrains Mono',monospace;font-size:10px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:4px;}

/* ---------- GOOGLE MAP EMBED ---------- */
.map-wrap{
  margin-top:80px;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
  position:relative;
  aspect-ratio:16/7;
}
.map-wrap iframe{width:100%;height:100%;border:0;display:block;}

/* ---------- MISC SQUARING ---------- */
.btn-primary, .btn-secondary{border-radius:12px;}
.hero-pill{border-radius:12px;}
.featured-badge{border-radius:8px;}
.product-feat{border-radius:8px;}
.pd-tag{border-radius:8px;}
.model-visual-tag{border-radius:8px;}

/* ---------- HAPPY CUSTOMER PHOTOS GRID ---------- */
.customer-photos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:48px;
}
.customer-photo{
  aspect-ratio:1/1;border-radius:14px;overflow:hidden;
  background:linear-gradient(135deg,var(--bg-alt),var(--line));
  position:relative;
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);font-size:11px;text-align:center;padding:8px;
  font-weight:500;
}
.customer-photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:880px){.customer-photos{grid-template-columns:1fr 1fr;}}
