:root { --sage:#7d8b78; --sage-deep:#6f7e6a; --warm:#f5f3ef; --graphite:#1f1f1f; --gray:#d6d0c4; --pad:clamp(24px,6.95vw,120px); --radius:12px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body { margin:0; color:var(--graphite); font-family:"Inter",Arial,sans-serif; font-size:16px; line-height:1.5; background:#fff; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.skip-link { position:fixed; z-index:1000; top:12px; left:12px; padding:10px 16px; border-radius:8px; color:var(--warm); background:var(--graphite); transform:translateY(-160%); transition:transform .2s; }
.skip-link:focus { transform:none; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
:where(a,button,summary,[tabindex]):focus-visible { outline:3px solid #d9b44a; outline-offset:4px; }
.menu-open:not(.menu-keyboard-focus) .main-menu a:focus-visible { outline:none; }
.container { width:min(100%,1728px); margin:0 auto; padding-inline:var(--pad); }
.section { padding-block:clamp(80px,6.95vw,120px); }
.section-tight { padding-top:0; }
.site-header { height:95px; position:sticky; z-index:100; top:0; background:#fff; box-shadow:0 4px 18px rgba(31,31,31,.07); }
.header-inner { width:min(100%,1728px); height:100%; padding-inline:var(--pad); margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand img { width:172px; height:auto; object-fit:contain; }
.main-menu { display:flex; align-items:center; gap:37px; }
.main-menu > a:not(.button) { position:relative; }
.main-menu > a:not(.button)::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:currentColor; transition:.25s; }
.main-menu > a:hover::after,.main-menu > a.is-active::after { right:0; }
.main-menu > a.is-active { color:var(--sage-deep); }
.menu-toggle { position:relative; display:none; border:0; background:none; width:44px; height:44px; padding:0; }
.menu-toggle span { position:absolute; left:10px; top:50%; display:block; width:24px; height:2px; margin:0; background:var(--graphite); transform-origin:center; transition:transform .28s ease; }
.menu-toggle span:first-child { transform:translateY(-5px); }
.menu-toggle span:last-child { transform:translateY(5px); }
.mobile-contact-label,.mobile-menu-footer { display:none; }
.button-group { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
.button { min-height:48px; padding:11px 22px; border:1px solid transparent; border-radius:40px; display:inline-flex; align-items:center; justify-content:center; gap:8px; line-height:24px; transition:background .2s,color .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--graphite); color:var(--warm); }
.button-dark:hover { background:#000; }
.button-outline { border-color:var(--graphite); color:var(--graphite); }
.button-outline:hover { background:var(--graphite); color:var(--warm); }
.button-outline:hover .wa { filter:none; }
.button-light { border-color:var(--warm); color:var(--warm); }
.button-light:hover { background:var(--warm); color:var(--graphite); }
.button-light:hover .wa { filter:brightness(0); }
.wa { width:16px; height:16px; object-fit:contain; flex:none; }
.button-outline .wa { filter:brightness(0); }
.textured { position:relative; background-color:var(--sage); overflow:hidden; }
.textured::before { content:""; position:absolute; inset:0; background:url("assets/hero-texture.webp") center/cover; opacity:.055; pointer-events:none; }
.hero { min-height:min(1022px,calc(100vh - 40px)); display:flex; align-items:center; color:var(--warm); }
.hero-copy { position:relative; z-index:2; }
.hero h1 { max-width:734px; margin:0 0 24px; font-size:clamp(48px,4.17vw,72px); line-height:1.25; letter-spacing:-.035em; }
.hero-copy > p { max-width:734px; margin:0 0 24px; font-size:20px; line-height:28px; }
.hero-house { position:absolute; z-index:1; left:50.6%; top:-28%; width:min(81vw,1395px); height:137%; }
.hero-house img { width:100%; height:100%; object-fit:contain; }
html.js .hero-house img,html.js .hero-copy > * { opacity:0; }
html.js .hero-house img { transform:scale(1.025); transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1); }
html.js .hero-copy > * { transform:translateY(14px); transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1); }
html.js.page-loaded .hero-house img,html.js.page-loaded .hero-copy > * { opacity:1; transform:none; }
html.js.page-loaded .hero-copy h1 { transition-delay:.08s; }
html.js.page-loaded .hero-copy > p { transition-delay:.16s; }
html.js.page-loaded .hero-copy .button-group { transition-delay:.24s; }
.reveal { --reveal-delay:0ms; }
html.js .reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease var(--reveal-delay),transform .55s cubic-bezier(.2,.7,.2,1) var(--reveal-delay); }
html.js .reveal.is-visible { opacity:1; transform:none; }
.split-grid { display:grid; grid-template-columns:minmax(0,605px) minmax(480px,734px); justify-content:space-between; align-items:center; gap:80px; }
.section-copy { display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.section-copy > * { margin:0; }
.eyebrow { margin:0 0 24px; color:var(--sage); font-weight:700; text-transform:uppercase; line-height:1.35; }
h2 { margin:0; font-size:clamp(38px,2.78vw,48px); line-height:1.2; letter-spacing:-.025em; }
h3 { margin:0; font-size:24px; line-height:1.25; }
.exploded-card { position:relative; height:557px; border-radius:var(--radius); background:var(--warm); overflow:hidden; }
.exploded-image { position:absolute; z-index:1; width:102%; max-width:none; height:101%; left:0; top:0; object-fit:contain; }
.layer-hotspot { position:absolute; z-index:3; left:38%; width:36px; height:36px; transform:translate(-50%,-50%); }
.layer-hotspot-top { top:25%; }
.layer-hotspot-middle { top:49%; }
.layer-hotspot-bottom { top:72%; }
.layer-hotspot-button { position:relative; width:36px; height:36px; padding:0; border:2px solid var(--warm); border-radius:50%; color:var(--warm); background:var(--sage); box-shadow:0 4px 14px rgba(31,31,31,.2); cursor:pointer; transition:background .2s,transform .2s,box-shadow .2s; }
.layer-hotspot-button::before,.layer-hotspot-button::after { content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; border-radius:2px; background:currentColor; transform:translate(-50%,-50%); transition:transform .25s; }
.layer-hotspot-button::after { transform:translate(-50%,-50%) rotate(90deg); }
.layer-hotspot-button:hover,.layer-hotspot-button:focus-visible { transform:scale(1.08); box-shadow:0 5px 18px rgba(31,31,31,.3); }
.layer-hotspot-button:focus-visible { outline:3px solid rgba(31,31,31,.35); outline-offset:3px; }
.layer-hotspot.is-open .layer-hotspot-button { color:var(--warm); background:var(--graphite); }
.layer-hotspot.is-open .layer-hotspot-button::before { transform:translate(-50%,-50%) rotate(45deg); }
.layer-hotspot.is-open .layer-hotspot-button::after { transform:translate(-50%,-50%) rotate(135deg); }
.layer-popover { position:absolute; left:48px; top:50%; width:280px; padding:18px; border-radius:12px; color:var(--warm); background:var(--graphite); box-shadow:0 14px 35px rgba(31,31,31,.24); opacity:0; visibility:hidden; pointer-events:none; transform:translate(8px,-50%); transition:opacity .2s,visibility .2s,transform .2s; }
.layer-popover::before { content:""; position:absolute; right:100%; top:50%; border:7px solid transparent; border-right-color:var(--graphite); transform:translateY(-50%); }
.layer-popover h3 { margin:0 0 6px; color:var(--warm); font-size:18px; line-height:1.3; }
.layer-popover p { margin:0; font-size:14px; line-height:1.5; }
.layer-hotspot.is-open { z-index:5; }
.layer-hotspot.is-open .layer-popover { opacity:1; visibility:visible; pointer-events:auto; transform:translate(0,-50%); }
.benefit-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.benefit { display:flex; flex-direction:column; gap:16px; }
.benefit > * { margin:0; }
.benefit-icon { height:184px; border-radius:var(--radius); background:var(--warm); display:grid; place-items:center; position:relative; overflow:hidden; }
.benefit-icon::before { content:""; position:absolute; width:112px; height:112px; border-radius:50%; background:rgba(125,139,120,.1); transition:transform .4s ease; }
.benefit-icon img { position:relative; z-index:1; width:83px; height:76px; object-fit:contain; transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.benefit:hover .benefit-icon::before { transform:scale(1.18); }
.benefit:hover .benefit-icon img { transform:scale(1.08) translateY(-2px); }
.benefit p { line-height:24px; }
.comparison { background:var(--warm); }
.comparison-inner { display:flex; flex-direction:column; align-items:center; }
.center-heading { max-width:734px; text-align:center; margin-bottom:60px; }
.center-heading h2 { margin-bottom:24px; }
.center-heading > p:last-child { font-size:20px; line-height:28px; }
.table-wrap { width:min(1080px,100%); overflow-x:auto; border:1px solid rgba(31,31,31,.1); border-radius:24px; background:#fff; box-shadow:0 24px 60px rgba(31,31,31,.09); scrollbar-color:var(--sage) transparent; }
.table-wrap:focus-visible { outline:3px solid rgba(125,139,120,.45); outline-offset:5px; }
table { width:100%; min-width:760px; border-collapse:separate; border-spacing:0; background:#fff; }
th,td { height:76px; padding:20px 24px; border-bottom:1px solid rgba(31,31,31,.12); text-align:center; font-weight:400; }
thead th { height:104px; border-bottom:0; color:var(--warm); font-size:18px; font-weight:700; }
thead th:first-child { width:29%; color:var(--graphite); background:#fff; text-align:left; }
thead th:nth-child(2) { width:35.5%; background:var(--sage); }
thead th:nth-child(3) { width:35.5%; background:var(--graphite); }
.comparison-badge { display:block; width:max-content; margin:0 auto 7px; padding:3px 9px; border:1px solid currentColor; border-radius:20px; font-size:10px; line-height:16px; letter-spacing:.08em; text-transform:uppercase; }
tbody th { position:relative; color:var(--graphite); background:#fff; text-align:left; font-weight:700; }
.aspect-label { display:flex; align-items:center; gap:12px; }
.aspect-icon { display:grid; place-items:center; width:38px; height:38px; flex:none; border-radius:11px; color:var(--sage); background:rgba(125,139,120,.14); }
.aspect-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
tbody td { position:relative; font-size:16px; }
tbody td:nth-child(2) { color:var(--graphite); background:rgba(125,139,120,.16); font-weight:700; }
tbody td:nth-child(3) { color:#5e5e5e; background:#fff; }
tbody td::before { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:10px; border-radius:50%; font-size:13px; font-weight:700; vertical-align:middle; }
tbody td:nth-child(2)::before { content:"✓"; color:var(--warm); background:var(--sage); }
tbody td:nth-child(3)::before { content:"–"; color:var(--graphite); background:var(--gray); }
tbody tr:last-child > * { border-bottom:0; }
tbody tr:hover th,tbody tr:hover td:nth-child(3) { background:var(--warm); }
tbody tr:hover td:nth-child(2) { background:rgba(125,139,120,.26); }
.products { overflow:hidden; }
.products-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:28px; }
.products-head h2 { margin:0 0 8px; }
.products-head p:last-child { margin:0; font-size:20px; }
.product-filters { display:flex; align-items:center; gap:10px; margin-bottom:32px; overflow-x:auto; scrollbar-width:none; }
.product-filters::-webkit-scrollbar { display:none; }
.filter-button { flex:none; padding:9px 18px; border:1px solid var(--graphite); border-radius:40px; color:var(--graphite); background:transparent; cursor:pointer; transition:background .2s,color .2s; }
.filter-button:hover,.filter-button.active { color:var(--warm); background:var(--graphite); }
.slider-controls { display:flex; gap:12px; }
.slider-button { width:48px; height:48px; padding:0 0 2px; border-radius:50%; border:1px solid var(--graphite); background:transparent; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:22px; line-height:1; }
.slider-button:hover { background:var(--graphite); color:var(--warm); }
.product-viewport { overflow-x:auto; scroll-behavior:smooth; scrollbar-width:none; padding-left:max(var(--pad),calc((100vw - 1728px)/2 + 120px)); }
.product-viewport::-webkit-scrollbar { display:none; }
.product-track { display:flex; gap:18px; width:max-content; padding-right:var(--pad); }
.product-card { width:min(442px,82vw); height:560px; flex:none; position:relative; perspective:1200px; }
.product-card[hidden] { display:none; }
.product-card-inner { position:absolute; inset:0; transform-style:preserve-3d; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.product-card.is-flipped .product-card-inner { transform:rotateY(180deg); }
.product-face { position:absolute; inset:0; padding:24px; border-radius:var(--radius); overflow:hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.product-front { display:flex; align-items:flex-end; pointer-events:auto; }
.product-back { display:flex; flex-direction:column; align-items:flex-start; gap:12px; pointer-events:none; transform:rotateY(180deg); }
.product-card.is-flipped .product-front { pointer-events:none; }
.product-card.is-flipped .product-back { pointer-events:auto; }
.product-card.sage .product-front { background:rgba(125,139,120,.5); }
.product-card.sage .product-back { background:var(--sage); }
.product-card.light .product-front { background:var(--gray); }
.product-card.light .product-back { background:var(--warm); }
.product-card.dark { color:var(--warm); }
.product-card.dark .product-face { background:var(--graphite); }
.product-front > img { position:absolute; width:156%; max-width:none; height:74%; object-fit:contain; left:5%; top:-3%; }
.product-copy { position:relative; z-index:1; width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.product-copy p { margin:0; line-height:24px; }
.product-back h3 { margin-top:2px; font-size:clamp(26px,2vw,34px); line-height:1.12; }
.product-details { width:100%; display:flex; flex-direction:column; gap:10px; }
.product-details > div { padding-top:10px; border-top:1px solid currentColor; }
.product-details h4 { margin:0 0 3px; font-size:16px; line-height:22px; }
.product-details p { margin:0; max-width:38ch; font-size:14px; line-height:20px; }
.product-actions { width:100%; margin-top:auto; display:flex; align-items:center; gap:10px; }
.product-whatsapp { min-height:42px; padding:8px 14px; border:1px solid currentColor; border-radius:40px; display:inline-flex; flex:1; align-items:center; justify-content:center; gap:8px; font-size:14px; line-height:20px; font-weight:600; transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s; }
.product-whatsapp .wa { filter:brightness(0); }
.product-whatsapp:hover { color:var(--warm); border-color:var(--graphite); background:var(--graphite); box-shadow:0 6px 16px rgba(31,31,31,.18); transform:translateY(-2px); }
.product-whatsapp:hover .wa,.product-card.dark .product-whatsapp .wa { filter:none; }
.product-card.dark .product-whatsapp:hover { color:var(--graphite); border-color:var(--warm); background:var(--warm); box-shadow:0 6px 16px rgba(0,0,0,.3); }
.product-card.dark .product-whatsapp:hover .wa { filter:brightness(0); }
.pill { border:1px solid currentColor; border-radius:24px; padding:5px 12px; font-size:12px; line-height:24px; }
.round-arrow { display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid currentColor; border-radius:50%; color:inherit; background:transparent; cursor:pointer; line-height:1; transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s; }
.round-arrow:hover { color:var(--warm); border-color:var(--graphite); background:var(--graphite); box-shadow:0 5px 12px rgba(31,31,31,.18); transform:scale(1.08); }
.product-card.dark .round-arrow:hover { color:var(--graphite); border-color:var(--warm); background:var(--warm); box-shadow:0 5px 12px rgba(0,0,0,.3); }
@media (hover:hover) and (pointer:fine) {
  .product-card:hover .product-card-inner { transform:rotateY(180deg); }
  .product-card:hover .product-front { pointer-events:none; }
  .product-card:hover .product-back { pointer-events:auto; }
}
.kits { background:var(--sage); color:var(--warm); }
.kit-grid { display:grid; grid-template-columns:minmax(400px,628px) 1fr; align-items:center; gap:clamp(60px,7.3vw,126px); }
.kit-image { height:557px; border-radius:var(--radius); overflow:hidden; }
.kit-image img { width:158%; max-width:none; height:100%; object-fit:cover; object-position:left center; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.kit-image:hover img { transform:scale(1.07); }
.kits .eyebrow { color:var(--warm); }
.kit-copy h2 { margin-bottom:24px; }
.lead { margin:0 0 32px; font-size:20px; line-height:28px; }
.kit-list { list-style:none; padding:0; margin:0 0 37px; display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; }
.kit-list li { position:relative; padding-left:18px; }
.kit-list li::before { content:""; position:absolute; width:12px; height:12px; left:0; top:6px; border-radius:50%; background:var(--warm); }
.section-heading { max-width:734px; margin-bottom:57px; }
.applications { background:var(--warm); }
.application-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.application-grid article { display:flex; flex-direction:column; }
.application-image { aspect-ratio:357/282; overflow:hidden; border-radius:var(--radius); }
.application-grid img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
.application-grid article:hover img { transform:scale(1.07); }
.application-grid h3 { margin-top:24px; font-size:24px; }
.application-grid p { margin:10px 0 0; line-height:24px; color:#4f4f4f; }
.accordion details { border-bottom:1px solid var(--graphite); }
.accordion summary { list-style:none; padding:16px; min-height:65px; font-size:24px; font-weight:600; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary::after { content:"⌄"; font-size:25px; font-weight:400; transition:transform .2s; }
.accordion details[open] summary::after { transform:rotate(180deg); }
.accordion details p { max-width:850px; margin:0; padding:0 16px 24px; color:#4c4c4c; opacity:0; transform:translateY(-6px); transition:opacity .25s ease,transform .25s ease; }
.accordion details[open] p { opacity:1; transform:none; }
.trust-section { padding-block:44px; color:var(--warm); background:var(--graphite); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { min-width:0; padding:8px 28px; display:flex; align-items:center; gap:16px; border-right:1px solid rgba(245,243,239,.22); }
.trust-item:first-child { padding-left:0; }
.trust-item:last-child { padding-right:0; border-right:0; }
.trust-icon { width:46px; height:46px; flex:none; display:grid; place-items:center; border:1px solid rgba(245,243,239,.55); border-radius:50%; transition:transform .3s ease,background .3s ease; }
.trust-item:hover .trust-icon { background:rgba(245,243,239,.1); transform:translateY(-3px); }
.trust-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.trust-item h3 { margin:0 0 4px; font-size:17px; line-height:1.25; }
.trust-item p { margin:0; color:rgba(245,243,239,.75); font-size:13px; line-height:19px; }
.contact { min-height:1005px; color:var(--warm); display:flex; flex-direction:column; justify-content:space-between; padding-top:255px; }
.contact-inner { position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; }
.contact-inner h2 { max-width:980px; font-size:clamp(52px,5.2vw,90px); line-height:1; }
.contact-inner p { max-width:960px; font-size:20px; line-height:28px; margin:24px 0; }
.footer { position:relative; z-index:1; padding-bottom:91px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.footer > img { width:90px; height:45px; object-fit:contain; filter:brightness(0) invert(1); }
.footer p { margin:0; text-align:center; font-size:14px; }
.footer p a { text-decoration:underline; text-underline-offset:3px; }
.socials { justify-self:end; display:flex; gap:12px; }
.socials a { width:32px; height:32px; border:1px solid var(--warm); border-radius:50%; display:grid; place-items:center; transition:background .2s,color .2s; }
.socials a:hover { background:var(--warm); color:var(--sage); }
.socials svg { width:16px; height:16px; fill:currentColor; }
.whatsapp-float { position:fixed; z-index:90; right:40px; bottom:34px; display:block; width:82px; height:82px; border-radius:50%; transition:transform .2s; }
.whatsapp-float img { width:100%; height:100%; object-fit:contain; }
.whatsapp-float:hover { transform:scale(1.06); }

@media (max-width:1100px) {
  .main-menu { gap:22px; }
  .split-grid,.kit-grid { grid-template-columns:1fr 1fr; gap:48px; }
  .benefit-grid { grid-template-columns:repeat(3,1fr); }
  .application-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid { grid-template-columns:repeat(2,1fr); gap:28px 0; }
  .trust-item:nth-child(2) { padding-right:0; border-right:0; }
  .trust-item:nth-child(3) { padding-left:0; }
  .hero-house { left:45%; opacity:.62; }
}
@media (max-width:820px) {
  :root { --pad:24px; }
  html { scroll-padding-top:76px; }
  .site-header { height:76px; }
  .brand img { width:140px; height:auto; object-fit:contain; }
  .menu-toggle { display:block; z-index:2; }
  .menu-open .menu-toggle span:first-child { transform:translateY(0) rotate(45deg); }
  .menu-open .menu-toggle span:last-child { transform:translateY(0) rotate(-45deg); }
  .main-menu { position:fixed; inset:76px 0 0; padding:clamp(34px,6vh,54px) 24px 24px; overflow-y:auto; align-items:stretch; flex-direction:column; gap:0; color:var(--graphite); background:var(--warm); visibility:hidden; transform:translateX(100%); transition:transform .36s cubic-bezier(.2,.7,.2,1),visibility .36s; }
  .menu-open .main-menu { visibility:visible; transform:none; }
  .main-menu > a:not(.button) { width:max-content; max-width:100%; margin-bottom:22px; font-size:clamp(27px,7.2vw,32px); line-height:1.15; font-weight:600; letter-spacing:-.025em; opacity:0; transform:translateY(12px); transition:color .2s,opacity .3s,transform .3s; }
  .main-menu > a:not(.button)::after { bottom:-5px; height:2px; }
  .main-menu > a:nth-child(1) { transition-delay:0s; }
  .main-menu > a:nth-child(2) { transition-delay:.03s; }
  .main-menu > a:nth-child(3) { transition-delay:.06s; }
  .main-menu > a:nth-child(4) { transition-delay:.09s; }
  .menu-open .main-menu > a:not(.button) { opacity:1; transform:none; }
  .main-menu .menu-contact { width:100%; margin-top:auto; opacity:0; transform:translateY(12px); transition:background .2s,color .2s,transform .3s,opacity .3s; transition-delay:.12s; }
  .menu-open .main-menu .menu-contact { opacity:1; transform:none; }
  .desktop-contact-label { display:none; }
  .mobile-contact-label { display:inline; }
  .mobile-menu-footer { margin-top:20px; display:flex; align-items:center; justify-content:space-between; gap:18px; opacity:0; transform:translateY(10px); transition:opacity .3s .16s,transform .3s .16s; }
  .menu-open .mobile-menu-footer { opacity:1; transform:none; }
  .mobile-menu-email { font-size:13px; text-decoration:underline; text-underline-offset:4px; }
  .mobile-menu-socials { display:flex; gap:10px; }
  .mobile-menu-socials a { width:34px; height:34px; border:1px solid var(--graphite); border-radius:50%; display:grid; place-items:center; transition:background .2s,color .2s; }
  .mobile-menu-socials a:hover { color:var(--warm); background:var(--graphite); }
  .mobile-menu-socials svg { width:16px; height:16px; fill:currentColor; }
  .hero { min-height:clamp(720px,calc(100svh - 76px),900px); align-items:flex-end; padding-bottom:clamp(48px,7vh,72px); }
  .hero::after { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(180deg,rgba(31,31,31,.02) 12%,rgba(48,59,45,.18) 42%,rgba(48,59,45,.78) 100%),linear-gradient(90deg,rgba(62,73,58,.18),transparent 75%); }
  .hero-house { width:1000px; height:122%; left:50%; top:-20%; opacity:.72; transform:translateX(-50%); }
  .hero-copy { z-index:3; }
  .hero h1 { max-width:11ch; margin-bottom:18px; font-size:clamp(44px,7vw,54px); line-height:1.04; letter-spacing:-.045em; text-wrap:balance; }
  .hero-copy > p { max-width:36ch; margin-bottom:26px; font-size:18px; line-height:26px; text-wrap:pretty; }
  .hero .button-group { gap:12px; }
  .split-grid,.kit-grid { grid-template-columns:1fr; }
  .exploded-card { height:557px; }
  .benefit-grid { grid-template-columns:repeat(2,1fr); }
  .kit-image { height:440px; }
  .products-head { align-items:flex-start; }
  .slider-controls { display:none; }
  .product-card { cursor:pointer; }
  .table-wrap { border-radius:18px; }
  .table-wrap table { min-width:650px; }
  .table-wrap th,.table-wrap td { padding:16px; }
  .table-wrap thead th:first-child,.table-wrap tbody th { position:sticky; left:0; z-index:2; width:23%; min-width:150px; box-shadow:8px 0 18px rgba(31,31,31,.06); }
  .table-wrap thead th:nth-child(2),.table-wrap thead th:nth-child(3) { width:38.5%; }
  .table-wrap .aspect-icon { display:none; }
  .table-wrap thead th:first-child { z-index:3; }
  .footer { grid-template-columns:1fr; justify-items:center; padding-bottom:40px; }
  .socials { justify-self:center; }
}
@media (max-width:820px) and (max-height:700px) {
  .main-menu { padding-top:26px; }
  .main-menu > a:not(.button) { margin-bottom:16px; font-size:25px; }
  .mobile-menu-footer { margin-top:14px; }
}
@media (max-width:560px) {
  .section { padding-block:64px; }
  .section-tight { padding-top:0; }
  h2 { font-size:36px; line-height:1.16; }
  .eyebrow { margin-bottom:18px; font-size:14px; letter-spacing:.04em; }
  .section-copy { gap:20px; }
  .hero { display:block; height:calc(100vh - 76px); height:calc(100svh - 76px); min-height:0; padding:0; }
  .hero-house { width:172.3vw; height:172.6vw; left:-2vw; top:-55.2vw; opacity:1; transform:none; }
  .hero-copy { position:absolute; top:37.4%; left:0; right:0; width:100%; padding-inline:28px; }
  .hero h1 { max-width:none; margin:0 0 12px; font-size:42px; line-height:46px; letter-spacing:-.035em; text-wrap:initial; }
  .hero-copy > p { max-width:none; margin:0 0 12px; font-size:16px; line-height:24px; text-wrap:initial; }
  .products-head p:last-child,.lead { font-size:17px; line-height:25px; }
  .hero .button-group,.section-copy .button-group { align-items:stretch; flex-direction:column; width:100%; }
  .hero .button-group { max-width:none; align-items:flex-start; gap:12px; }
  .button-group .button { width:100%; }
  .hero .button-group .button { width:max-content; min-height:48px; }
  .hero .button-outline { min-width:0; align-self:flex-start; color:var(--graphite); border-color:var(--graphite); background:transparent; }
  .hero .button-outline .wa { filter:brightness(0); }
  .exploded-card { height:430px; }
  .exploded-image { width:102%; height:101%; left:0; top:0; }
  .layer-popover { left:50%; top:48px; width:min(280px,calc(100vw - 64px)); transform:translate(-50%,8px); }
  .layer-popover::before { left:50%; right:auto; top:auto; bottom:100%; border:7px solid transparent; border-bottom-color:var(--graphite); transform:translateX(-50%); }
  .layer-hotspot.is-open .layer-popover { transform:translate(-50%,0); }
  .layer-hotspot-bottom .layer-popover { top:auto; bottom:48px; transform:translate(-50%,-8px); }
  .layer-hotspot-bottom .layer-popover::before { top:100%; bottom:auto; border-top-color:var(--graphite); border-bottom-color:transparent; }
  .layer-hotspot-bottom.is-open .layer-popover { transform:translate(-50%,0); }
  .benefit-grid { grid-template-columns:1fr; gap:32px; }
  .benefit-icon { height:160px; }
  .benefit h3,.application-grid h3 { font-size:22px; }
  .center-heading { margin-bottom:40px; text-align:left; }
  .center-heading h2 { margin-bottom:18px; }
  .center-heading > p:last-child { font-size:17px; line-height:25px; }
  .products-head { margin-bottom:32px; }
  .product-card { height:520px; }
  .kit-image { height:340px; }
  .kit-list { grid-template-columns:1fr; }
  .section-heading { margin-bottom:40px; }
  .application-grid { grid-template-columns:1fr; gap:36px; }
  .accordion summary { font-size:18px; line-height:1.35; padding-inline:0; }
  .accordion details p { padding-inline:0; }
  .trust-section { padding-block:32px; }
  .trust-grid { grid-template-columns:1fr; gap:0; }
  .trust-item,.trust-item:first-child,.trust-item:nth-child(3),.trust-item:last-child { padding:18px 0; border-right:0; border-bottom:1px solid rgba(245,243,239,.18); }
  .trust-item:first-child { padding-top:0; }
  .trust-item:last-child { padding-bottom:0; border-bottom:0; }
  .contact { min-height:0; padding-top:88px; }
  .contact-inner { padding-inline:24px; }
  .contact-inner h2 { max-width:350px; font-size:32px; line-height:1.12; letter-spacing:-.03em; }
  .contact-inner p { max-width:31ch; margin:20px 0 28px; font-size:16px; line-height:24px; }
  .contact-inner .button { min-height:48px; padding-inline:22px; }
  .footer { margin-top:96px; gap:22px; padding-bottom:120px; }
  .footer > img { width:72px; height:36px; }
  .footer-contact { display:flex; flex-direction:column; align-items:center; gap:6px; font-size:13px; line-height:19px; }
  .footer-contact .footer-separator { display:none; }
  .footer-contact a { display:block; }
  .socials { gap:14px; margin-top:4px; }
  .socials a { width:36px; height:36px; }
  .whatsapp-float { width:80px; height:80px; right:18px; bottom:18px; }
}
@media (max-width:420px) {
  .layer-popover { left:calc(50% + 32px); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none!important; }
  html.js .hero-house img,html.js .hero-copy > *,html.js .reveal { opacity:1!important; transform:none!important; }
}
