:root {
  --navy: #1b2a49; --navy-dark: #15243e; --gold: #d6c29a;
  --ink: #24324b; --muted: #536174; --line: #dce1e3;
  --mist: #f2f5f5; --white: #fff; --ivory: #f8f6f1;
  --shell: max(28px, calc((100vw - 1280px) / 2));
  --header-height: 88px;
  --heading: Manrope, 'DM Sans', Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--header-height); }
body { margin: 0; background: var(--ivory); color: var(--navy); font: 15px/1.6 'DM Sans', Arial, sans-serif; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: default; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #9b7542; outline-offset: 3px; }
h1, h2, h3 { font-family: var(--heading); }
.section-shell { padding-inline: var(--shell); }
.skip-link { position: fixed; top: -80px; left: 18px; z-index: 70; padding: 10px 16px; background: var(--navy); color: white; border-radius: 10px; }
.skip-link:focus { top: 8px; }
.eyebrow { margin: 0 0 14px; color: #655334; font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 20;
  min-height: var(--header-height); padding: 12px var(--shell);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px;
  background: linear-gradient(180deg, #fbf9f3f5, #fbf9f3cf);
  border-bottom: 1px solid #ffffff89; backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 8px; justify-self: start; white-space: nowrap; }
.brand-mark { position: relative; display: block; width: 67px; height: 36px; overflow: hidden; flex: none; }
.brand-mark img { position: absolute; max-width: none; width: 136px; height: auto; top: 48%; left: -34px; transform: translateY(-51%); }
.brand-nameplate { font: 800 12px/1 var(--heading); letter-spacing: .12em; color: var(--navy); }
.main-nav { display: flex; align-items: center; gap: 3px; border: 1px solid #fff9; background: #ffffffa8; border-radius: 999px; padding: 5px; }
.main-nav a { padding: 8px 15px; white-space: nowrap; border-radius: 999px; color: #324057; font-size: 12px; font-weight: 700; transition: background .24s, color .24s; }
.main-nav a:hover { background: #e9e8e3; }
.main-nav a[aria-current] { background: var(--navy); color: white; }
.quote-top { justify-self: end; display: inline-flex; align-items: center; gap: 10px; padding: 8px 10px 8px 16px; min-height: 44px; border: 1px solid var(--navy); background: var(--navy); color: white; border-radius: 999px; white-space: nowrap; font-size: 12px; font-weight: 800; }
.quote-top:hover { background: #2c3d5d; }
#quote-count { display: grid; place-items: center; min-width: 26px; height: 26px; background: white; color: var(--navy); border-radius: 50%; font-size: 11px; }
.menu-toggle { display: none; }

.hero { position: relative; isolation: isolate; display: grid; grid-template-rows: 1fr auto; align-items: center; gap: clamp(20px,4svh,46px); min-height: 100svh; overflow: hidden; padding-block: calc(var(--header-height) + 20px) clamp(18px,4svh,45px); }
.hero-image, .hero-wash { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.hero-image { transform-origin: 74% 53%; transform: scale(var(--hero-zoom,1)); }
.hero-wash { z-index: -1; background: linear-gradient(90deg,#f9f7eeeb 0%,#f9f7efdf 27%,#f9f7ef84 50%,#f9f7ef00 77%),linear-gradient(0deg,#ded9cc94,transparent 37%); }
.hero-copy { max-width: 690px; }
.hero h1 { margin: 0; font-size: clamp(44px,5.3vw,82px); letter-spacing: -.077em; line-height: 1.03; font-weight: 700; }
.hero-lede { max-width: 475px; margin: clamp(14px,2.4svh,25px) 0 24px; color: #33435b; font-size: clamp(15px,1.25vw,18px); line-height: 1.6; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 11px 18px; border-radius: 999px; border: 1px solid transparent; font-size: 13px; font-weight: 800; line-height: 1.25; transition: background .2s, transform .2s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 17px; }
.button-primary { background: var(--navy); color: white; }
.button-primary:hover { background: #2c3d5d; }
.button-outline { border-color: #c5c8c4; background: #fff8; color: var(--navy); }
.button-outline:hover { background: white; }
.button-gold { background: var(--gold); color: var(--navy-dark); }
.button-gold:hover { background: #e4d2ad; }
.glass { border: 1px solid #ffffffbd; background: #fbf8f0df; box-shadow: 0 10px 36px #1b2a4910; backdrop-filter: blur(16px); }
.hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.featured-panel { position: relative; width: min(100%,475px); overflow: hidden; border-radius: 27px; }
.featured-viewport { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.featured-viewport::-webkit-scrollbar, .card-track::-webkit-scrollbar { display: none; }
.featured-card { flex: 0 0 100%; display: grid; grid-template-columns: 114px minmax(0,1fr); align-items: center; gap: 16px; min-height: 136px; padding: 10px 15px 10px 10px; scroll-snap-align: start; }
.featured-card img { width: 114px; height: 114px; border-radius: 20px; object-fit: cover; background: #eae6db; }
.featured-card h2 { margin: 2px 0 3px; font-size: clamp(15px,1.6vw,21px); font-weight: 800; letter-spacing: -.04em; line-height: 1.23; }
.featured-card .eyebrow { margin: 0; font-size: 9px; }
.featured-card .text-link { font-size: 11px; }
.featured-controls { position: absolute; right: 12px; bottom: 10px; display: flex; align-items: center; gap: 5px; }
.featured-index { font-size: 10px; font-weight: 700; color: #556278; margin-right: 3px; }
.arrow-button { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; padding: 0; color: var(--navy); border: 1px solid #ffffffab; border-radius: 50%; background: #fffc; font-size: 18px; line-height: 1; transition: background .2s, color .2s; }
.arrow-button:hover:not(:disabled) { background: var(--navy); color: white; }
.arrow-button:disabled { opacity: .42; }
.featured-controls .arrow-button { width: 31px; height: 31px; font-size: 15px; }
.scene-next { display: flex; align-items: center; gap: 10px; border-radius: 999px; padding: 5px 5px 5px 14px; background: #fff9; backdrop-filter: blur(12px); font-size: 12px; font-weight: 800; }

.lines-section { min-height: calc(100svh - var(--header-height)); display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); align-items: center; gap: clamp(30px,5vw,78px); padding-block: clamp(32px,7vh,84px); background: #f5f2ea; }
.lines-photo { position: relative; min-height: 450px; height: min(68svh,650px); border-radius: 34px; overflow: hidden; background: #e6e1d4; }
.lines-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 77% 52%; transform: scale(1.2); }
.photo-caption { position: absolute; inset: auto auto 16px 16px; padding: 7px 13px; border: 1px solid #fff9; border-radius: 999px; background: #fffbdff0; color: var(--navy); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.lines-content h2, .section-heading h2, .section-heading h1, .footer h2 { margin: 0; font: 700 clamp(31px,4vw,56px)/1.1 var(--heading); letter-spacing: -.06em; text-wrap: balance; }
.business-line { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; padding-block: 20px; border-bottom: 1px solid #d7d5ca; }
.business-line:first-of-type { margin-top: 17px; border-top: 1px solid #d7d5ca; }
.line-index { font-size: 11px; font-weight: 800; color: #685837; padding-top: 3px; }
.business-line h3 { margin: 0 0 5px; font-size: clamp(17px,1.75vw,22px); line-height: 1.28; letter-spacing: -.035em; }
.business-line p { margin: 0 0 8px; color: #47576b; font-size: 14px; line-height: 1.6; }
.text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 800; color: var(--navy); }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.catalog-section, .services-section, .all-products { padding-block: clamp(54px,8vw,104px); }
.catalog-section { background: #f9f8f4; }
.services-section { background: #f0eee7; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 24px; }
.section-heading p:not(.eyebrow) { margin: 10px 0 0; color: var(--muted); max-width: 660px; }
.carousel-toolbar { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin: 6px 0 16px; }
.track-buttons { display: flex; gap: 7px; }
.track-buttons .arrow-button { border-color: #d8ddd9; }
.filter-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.filter-tabs button { background: #fff9; color: #37485e; border: 1px solid #d9dedb; padding: 8px 12px; border-radius: 999px; font-size: 12px; font-weight: 750; line-height: 1.35; white-space: nowrap; }
.filter-tabs button:hover { border-color: var(--navy); }
.filter-tabs button.active { border-color: var(--navy); background: var(--navy); color: white; }
.card-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px)/3); gap: 18px; padding: 4px 2px 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.card-track > * { scroll-snap-align: start; }
.product-grid, .services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.services-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.glass-card { position: relative; isolation: isolate; display: flex; align-items: end; min-width: 0; min-height: 365px; padding: 12px; border: 1px solid #ffffffbe; border-radius: 29px; overflow: hidden; background: #eae6dc; }
.card-media, .service-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.glass-card:hover .card-media, .glass-card:hover .service-media { transform: scale(1.035); }
.card-panel { display: flex; flex-direction: column; align-items: start; width: 100%; min-height: 154px; padding: 14px 15px; border-radius: 20px; }
.card-panel h3 { margin: 5px 0 6px; font-size: clamp(15px,1.5vw,19px); font-weight: 800; line-height: 1.25; letter-spacing: -.035em; overflow-wrap: anywhere; }
.card-panel p { margin: 0 0 9px; font-size: 12px; color: #47556a; line-height: 1.45; }
.card-panel .card-kicker { margin: 0; color: #6d5732; font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .08em; }
.card-panel .text-link { margin-top: auto; }
.glass-card:focus-within { outline: 3px solid #9b7542; outline-offset: 2px; }
.service-card { min-height: 345px; }
.service-card .card-panel { min-height: 176px; }
.service-media { inset: 0 0 30%; height: auto; background: #dedbd2 no-repeat center 55% / cover; }
.media-endotoxinas { background-image: url('assets/lab-endotoxinas.jpg'); }
.media-agua { background-image: url('assets/lab-agua.jpg'); }
.media-microbiologia { background-image: url('assets/lab-microbiologia.jpg'); }
.media-alimentos { background-image: url('assets/lab-alimentos.jpg'); }
.credentials { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 18px; margin-top: 28px; padding: 21px 24px; border-radius: 22px; border: 1px solid #dcdad1; background: #ffffff8a; }
.credentials h3 { margin: 0; font-size: 15px; }
.credentials p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.credential-links { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.credential-links a { border-radius: 999px; border: 1px solid #ddd8ca; padding: 6px 10px; color: #4f432e; background: #f7f5ef; font-size: 11px; font-weight: 700; }
.credential-links a:hover { border-color: #9b7542; }
.all-products { padding-top: calc(var(--header-height) + 32px); background: #f9f8f4; min-height: 100svh; }
.back-link { display: inline-block; margin-bottom: 22px; color: #43546b; font-size: 13px; font-weight: 700; }
.back-link:hover { text-decoration: underline; }
.catalog-controls { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.search-box { display: flex; align-items: center; gap: 12px; min-width: 260px; min-height: 42px; padding: 6px 12px; border: 1px solid #d7dbd7; border-radius: 999px; background: white; }
.search-box input { width: 100%; min-width: 0; border: 0; background: transparent; font-size: 13px; color: var(--ink); }
.search-icon { width: 13px; height: 13px; border: 1.5px solid #5f6c7d; border-radius: 50%; position: relative; flex: none; }
.search-icon:after { content: ''; position: absolute; width: 6px; height: 1.5px; right: -5px; bottom: -2px; background: #5f6c7d; transform: rotate(45deg); }
.secondary-controls { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 20px; color: var(--muted); font-size: 13px; }
.secondary-controls label { display: flex; align-items: center; gap: 10px; }
.secondary-controls select { max-width: 235px; min-height: 39px; padding: 6px 10px; background: white; color: var(--navy); border: 1px solid var(--line); border-radius: 8px; }
.empty-state { margin: 8px 0; padding: 30px; border-radius: 18px; background: #eeeae0; color: #41536b; text-align: center; }
.empty-state a { text-decoration: underline; }

.footer { background: #101a2b; color: #fff; padding-block: clamp(48px,7vw,88px) 20px; }
.footer-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: clamp(28px,6vw,84px); }
.footer .eyebrow { color: var(--gold); }
.footer h2 { font-size: clamp(28px,3.5vw,44px); }
.footer-contact > p:not(.eyebrow) { color: #bdc9d8; margin: 12px 0 20px; }
.contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.contact-form label { display: grid; gap: 5px; color: #eef1f5; font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-width: 0; padding: 9px 10px; border-radius: 9px; border: 1px solid #ffffff45; color: #fff; background: #1e2b41; font-size: 13px; }
.contact-form input, .contact-form select { min-height: 41px; }
.contact-form textarea { resize: vertical; }
.contact-form textarea::placeholder { color: #b6c0cd; }
.form-wide { grid-column: 1/-1; }
.form-action { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 12px; }
.form-action > span { max-width: 235px; color: #b6c0cd; font-size: 11px; line-height: 1.5; }
.footer-menus { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-content: start; gap: 24px 16px; padding-top: 10px; }
.footer-menus h3 { margin: 0 0 9px; font-size: 15px; }
.footer-menus a, .footer-menus p { display: block; margin: 4px 0; color: #c6cfda; font-size: 13px; overflow-wrap: anywhere; }
.footer a:hover { color: var(--gold); }
.footer-direct { grid-column: 1/-1; border-top: 1px solid #ffffff29; padding-top: 16px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 30px; border-top: 1px solid #ffffff29; padding-top: 10px; color: #bec8d6; font-size: 11px; }
.footer-brand { position: relative; width: 94px; height: 45px; display: block; overflow: hidden; }
.footer-brand img { position: absolute; width: 184px; max-width: none; top: 50%; left: -42px; transform: translateY(-50%); }

.overlay{position:fixed;inset:0;background:#101d32b3;z-index:30}.quote-drawer{position:fixed;inset:0 0 0 auto;width:min(100%,490px);background:white;z-index:40;transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0002}.quote-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line)}.drawer-head h2{font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.04em;margin:0}.icon-button{width:40px;height:40px;background:white;border:1px solid var(--line);color:var(--navy);font-size:26px;line-height:1}.drawer-scroll{overflow:auto;padding:22px 28px 40px}.drawer-intro{color:var(--muted);font-size:13px;line-height:1.65;margin:0 0 20px}.quote-item{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:66px 1fr;gap:15px}.quote-item img{width:66px;height:66px;object-fit:cover}.quote-item h3{font-size:13px;line-height:1.45;margin:0 0 3px}.quote-item small{font-size:11px;color:#7d8a98}.quote-item-actions{display:flex;align-items:center;gap:13px;margin-top:10px}.quote-item-actions input{width:62px;border:1px solid var(--line);padding:4px 6px}.quote-item-actions button{border:0;background:none;color:#795f45;font-size:12px;text-decoration:underline}.quote-empty{padding:32px 0;color:var(--muted);font-size:14px}.quote-empty a{color:var(--navy);font-weight:700;text-decoration:underline}#quote-form{display:grid;gap:16px;margin-top:27px}#quote-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#38475e}#quote-form input,#quote-form textarea{width:100%;padding:10px 11px;border:1px solid #cdd5d9;background:#fff;color:var(--ink);font-size:14px;font-weight:400}#quote-form .full{width:100%;margin-top:3px}
.detail-page{background:#fff;padding-block:37px 105px;min-height:70vh}.breadcrumb{color:#6b7989;font-size:12px;margin-bottom:31px}.breadcrumb a:hover{text-decoration:underline}.detail-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(40px,6vw,90px);align-items:start}.detail-image{aspect-ratio:1;background:var(--mist)}.detail-image img{height:100%;width:100%;object-fit:cover}.thumbnails{display:flex;gap:10px;margin-top:12px}.thumbnails button{width:75px;height:75px;border:2px solid transparent;padding:0;background:var(--mist)}.thumbnails button.active{border-color:var(--navy)}.thumbnails img{width:100%;height:100%;object-fit:cover}.detail-summary{padding-top:5px}.detail-summary .brand-name{font-size:13px;font-weight:700;color:#8b744c}.detail-summary h1{font-size:clamp(30px,3.2vw,45px);line-height:1.19;font-weight:700;margin:13px 0 22px}.detail-summary .lede{font-size:15px;line-height:1.75;color:#5e6d7d;white-space:pre-line}.variant-picker{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.variant-picker>span,.specs-title{font-size:13px;font-weight:700}.variant-options{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.variant-options button{background:#fff;border:1px solid #ccd5d9;padding:10px 13px;font-size:13px;color:#34465e}.variant-options button.selected{border-color:var(--navy);background:#ecf1f3;font-weight:700}.selected-sku{font-size:13px;color:#687789;margin:25px 0 18px}.detail-quote{width:100%;justify-content:space-between}.specs{border-top:1px solid var(--line);margin-top:34px;padding-top:24px}.specs dl{margin:14px 0 0}.specs dl div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e9edee;font-size:13px}.specs dt{color:#637181}.specs dd{margin:0;font-weight:700;text-align:right;max-width:60%}.detail-description{max-width:820px;margin:69px auto 0}.detail-description h2{font-family:Manrope,sans-serif;font-size:24px;margin:0 0 13px}.detail-description p{color:#556575;font-size:15px;line-height:1.8;white-space:pre-line;margin:0}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);opacity:0;background:var(--navy-dark);color:white;padding:12px 19px;font-size:13px;pointer-events:none;z-index:50;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.detail-quantity{margin-top:24px;display:grid;gap:10px}.detail-quantity>label{font-size:13px;font-weight:700}.quantity-stepper{display:inline-flex;align-items:stretch;justify-self:start;border:1px solid #ccd5d9;min-height:46px}.quantity-stepper button{width:46px;border:0;background:var(--mist);color:var(--navy);font-size:20px;line-height:1}.quantity-stepper button:hover:not(:disabled){background:#e3e9ec}.quantity-stepper button:disabled{opacity:.4;cursor:default}.quantity-stepper input{width:82px;min-width:0;border:0;border-inline:1px solid #ccd5d9;border-radius:0;text-align:center;color:var(--ink);background:#fff;font-weight:600;appearance:textfield;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quote-top.quote-added{animation:quote-shake .55s ease-in-out;transform-origin:center}@keyframes quote-shake{0%,100%{transform:translateX(0) rotate(0)}20%{transform:translateX(-5px) rotate(-3deg)}40%{transform:translateX(5px) rotate(3deg)}60%{transform:translateX(-3px) rotate(-2deg)}80%{transform:translateX(3px) rotate(2deg)}}
.detail-page { padding-top: calc(var(--header-height) + 26px); }
.detail-quote { justify-content: space-between; }
.variant-current { margin: -8px 0 20px; font-size: 16px; color: #536174; font-weight: 650; }
.toast { width: max-content; max-width: calc(100% - 32px); border-radius: 12px; }
.route-enter { animation: route-in .42s cubic-bezier(.21,.64,.32,1) both; }
@keyframes route-in { from { opacity: .35; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.motion-ready [data-reveal] { opacity: .58; transform: translateY(16px); transition: opacity .55s, transform .65s cubic-bezier(.2,.7,.2,1); }
.motion-ready [data-reveal].in-view { opacity: 1; transform: translateY(0); }
.motion-ready [data-reveal]:focus-within { opacity: 1; transform: none; }

@media (max-width: 1020px) {
  .site-header { gap: 12px; }
  .main-nav a { padding-inline: 11px; }
  .brand-nameplate { font-size: 10px; }
  .brand-mark { width: 55px; height: 32px; }
  .brand-mark img { width: 112px; left: -27px; }
  .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lines-photo { min-height: 380px; }
  .glass-card { min-height: 315px; }
  .catalog-controls { flex-wrap: wrap; }
}
@media (max-width: 760px) {
  :root { --shell: 20px; --header-height: 65px; }
  .site-header { grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; padding-block: 8px; }
  .brand { gap: 3px; }
  .brand-nameplate { letter-spacing: .045em; }
  .main-nav { display: none; position: absolute; inset: calc(100% + 4px) var(--shell) auto; flex-direction: column; align-items: stretch; padding: 7px; border-radius: 18px; background: #fcfaf5; box-shadow: 0 15px 40px #17284229; }
  .main-nav.mobile-open { display: flex; }
  .main-nav a { padding: 10px 14px; }
  .menu-toggle { display: grid; place-content: center; gap: 4px; width: 36px; height: 41px; border: 1px solid #fff9; border-radius: 12px; background: #ffffff9c; padding: 0; }
  .menu-toggle span { width: 17px; height: 1.5px; background: var(--navy); }
  .quote-top { min-height: 40px; padding: 7px 8px 7px 11px; gap: 6px; font-size: 11px; }
  #quote-count { min-width: 22px; height: 22px; }
  .hero { gap: 16px; padding-block: calc(var(--header-height) + 22px) 18px; }
  .hero h1 { font-size: clamp(38px,8.6vw,57px); }
  .hero-image { object-position: 65% 48%; }
  .hero-wash { background: linear-gradient(90deg,#f9f7edf5,#f9f7efba 52%,#f9f7ef3b),linear-gradient(0deg,#ded9cca9,transparent 50%); }
  .hero-lede { margin: 13px 0 18px; max-width: 380px; font-size: 14px; }
  .hero-copy .eyebrow { font-size: 9px; letter-spacing: .13em; margin-bottom: 10px; }
  .scene-next { display: none; }
  .hero-bottom { display: block; }
  .featured-card { min-height: 116px; grid-template-columns: 88px minmax(0,1fr); gap: 11px; padding: 8px 12px 8px 8px; }
  .featured-card img { width: 88px; height: 98px; border-radius: 16px; }
  .featured-card h2 { font-size: 15px; }
  .featured-panel { border-radius: 22px; }
  .featured-controls { right: 8px; bottom: 7px; }
  .featured-controls .arrow-button { width: 28px; height: 28px; }
  .lines-section { grid-template-columns: 1fr; gap: 24px; padding-block: 33px 40px; }
  .lines-photo { min-height: 0; height: clamp(155px,29svh,280px); border-radius: 24px; }
  .business-line { padding-block: 14px; }
  .business-line:first-of-type { margin-top: 13px; }
  .business-line p { font-size: 13px; }
  .carousel-toolbar { align-items: center; }
  .filter-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding-bottom: 3px; }
  .carousel-toolbar .filter-tabs { flex: 1; min-width: 0; }
  .track-buttons { gap: 4px; }
  .track-buttons .arrow-button { width: 34px; height: 34px; }
  .card-track { grid-auto-columns: calc((100% - 14px)/2); gap: 14px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
  .glass-card { padding: 9px; border-radius: 23px; min-height: 306px; }
  .card-panel { padding: 12px; border-radius: 16px; min-height: 145px; }
  .credentials { grid-template-columns: 1fr; padding: 16px; }
  .footer-layout { grid-template-columns: 1fr; gap: 28px; }
  .footer-menus { grid-template-columns: repeat(3,minmax(0,1fr)); padding-top: 0; }
  .footer-direct { grid-column: auto; border-top: 0; padding-top: 0; }
  .detail-page { padding-block: calc(var(--header-height) + 16px) 55px; }
  .detail-layout { grid-template-columns: 1fr; gap: 26px; }
  .detail-summary h1 { font-size: 34px; }
  .detail-description { margin-top: 44px; }
  .drawer-head { padding: 19px; }
  .drawer-scroll { padding: 18px 20px 27px; }
}
@media (max-width: 490px) {
  :root { --shell: 16px; }
  .brand-mark { width: 45px; }
  .brand-mark img { width: 95px; left: -23px; }
  .brand-nameplate { font-size: 9px; }
  .hero h1 { font-size: clamp(35px,8.65vw,44px); }
  .hero .button { min-height: 44px; }
  .featured-card { align-items: start; }
  .featured-card > div { padding-top: 4px; }
  .featured-controls { background: #fbf8ef; border-radius: 999px; padding-left: 5px; }
  .section-heading { align-items: start; }
  .section-heading .button { padding: 7px 11px; min-height: 38px; gap: 8px; white-space: nowrap; }
  .section-heading p:not(.eyebrow) { font-size: 13px; }
  .card-track { grid-auto-columns: min(84%,310px); }
  .product-grid, .services-grid { grid-template-columns: 1fr; }
  .glass-card { min-height: 330px; }
  .service-card .card-panel { min-height: 140px; }
  .search-box { min-width: 0; width: 100%; }
  .footer-menus { grid-template-columns: 1fr 1fr; }
  .footer-direct { grid-column: 1/-1; border-top: 1px solid #ffffff29; padding-top: 14px; }
  .contact-form { grid-template-columns: 1fr; }
}
@media (max-height: 690px) and (min-width: 761px) {
  .hero { gap: 17px; padding-block: calc(var(--header-height) + 11px) 18px; }
  .hero h1 { font-size: clamp(42px,4.9vw,67px); }
  .hero-lede { margin: 12px 0 14px; }
  .featured-card { min-height: 115px; grid-template-columns: 95px minmax(0,1fr); }
  .featured-card img { width: 95px; height: 95px; }
  .lines-section { padding-block: 28px; }
  .lines-photo { min-height: min(450px, calc(100svh - var(--header-height) - 56px)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero-image { transform: none; }
  .motion-ready [data-reveal] { opacity: 1; transform: none; }
}
