.product-card img { display:block; width:calc(100% + 52px); height:180px; margin:-26px -26px 22px; object-fit:cover; }
.product-card[hidden] { display:none; }
.instrument-search { margin:68px 0 0; padding:30px; background:var(--pale); border:1px solid var(--line); }
.instrument-search label { display:block; margin-bottom:12px; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.4px; }
.search-field { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); padding:0 16px; }.search-field span { color:var(--red); font-size:26px; }.search-field input { width:100%; border:0; outline:0; padding:17px 0; background:transparent; color:var(--ink); font:inherit; }.search-status { min-height:20px; margin:13px 0 0; color:var(--muted); font-size:13px; }.search-status.is-searching { color:var(--red); animation:search-pulse 1s ease-in-out infinite alternate; }.sales-help { display:none; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }.sales-help.is-visible { display:grid; gap:6px; animation:search-help-in .45s ease both; }.sales-help strong { font-size:16px; }.sales-help a { color:var(--red); font-size:14px; font-weight:700; }.sales-help span { color:var(--muted); font-size:13px; }
@keyframes search-pulse { from { opacity:.45; } to { opacity:1; } } @keyframes search-help-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
:root { --red:#ef2735; --navy:#111e35; --ink:#202733; --muted:#667084; --pale:#f4f7f8; --line:#dfe6e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:'DM Sans', sans-serif; }
body.motion-ready { cursor:auto; }
body.motion-ready a, body.motion-ready button { cursor:pointer; }
.cursor-dot { width:13px; height:13px; border:2px solid var(--red); border-radius:50%; position:fixed; left:0; top:0; pointer-events:none; z-index:100; transform:translate(-50%,-50%); transition:width .2s ease,height .2s ease,background-color .2s ease; }
.cursor-dot.is-hovering { width:34px; height:34px; background:#ef273566; }
a { color:inherit; text-decoration:none; }
.site-header { width:min(1170px, calc(100% - 40px)); height:124px; margin:18px auto 16px; padding:24px 34px; border-radius:11px; display:flex; align-items:center; justify-content:space-between; background:#fff; position:relative; z-index:5; box-shadow:0 8px 30px #16243b0b; }
.brand { display:flex; align-items:center; gap:15px; font-weight:700; font-size:20px; color:#10141c; }
.brand-logo { width:92px; height:auto; max-height:72px; object-fit:contain; display:block; }
.brand-mark { color:var(--red); width:54px; height:68px; display:grid; place-items:center; position:relative; font-family:Georgia, serif; font-size:58px; line-height:1; }
.brand-mark i { position:absolute; font:700 10px 'DM Sans', sans-serif; letter-spacing:1px; bottom:6px; left:12px; }
.main-nav { display:flex; gap:36px; color:#4a5565; font-size:14px; font-weight:600; }
.main-nav a:hover, .site-footer a:hover { color:var(--red); }
.menu-toggle { display:none; background:var(--red); border:0; width:39px; height:39px; border-radius:7px; padding:9px; cursor:pointer; }
.menu-toggle span { height:3px; background:#fff; display:block; margin:4px 0; border-radius:2px; }
.hero { max-width:1270px; min-height:690px; margin:auto; display:grid; grid-template-columns:1fr 1fr; background:#363b3f; color:#fff; overflow:hidden; position:relative; }
.hero-copy { padding:86px 54px 68px 62px; position:relative; z-index:1; background:linear-gradient(90deg, #303438 0%, #34383b 75%, #34383bdf); }
.hero-copy:after { content:''; position:absolute; inset:auto 0 0 0; height:1px; background:#ffffff25; }
.eyebrow { display:flex; gap:12px; align-items:center; font-size:14px; margin:0 0 19px; color:#f5f6f7; }
.eyebrow span { width:6px; height:6px; display:inline-block; border-radius:50%; background:var(--red); }
.eyebrow.dark { color:#7e8995; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:24px; max-width:610px; font-size:46px; line-height:1.1; letter-spacing:-1px; font-weight:500; }
h1 em, h2 em { color:var(--red); font-family:'Playfair Display', serif; font-style:normal; font-weight:600; }
.hero-text { color:#f0f1f2; max-width:600px; font-size:15px; line-height:1.75; font-weight:500; }
.hero-actions { display:flex; align-items:center; gap:23px; margin:31px 0; }
.button { display:inline-flex; align-items:center; gap:20px; border-radius:30px; padding:5px 8px 5px 17px; font-weight:700; color:#fff; }
.button-red { background:var(--red); }
.button span { background:#fff; color:#172032; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; font-size:19px; }
.hero-actions p { font-size:14px; line-height:1.45; color:#e3e5e7; margin:0; }.hero-actions strong { color:var(--red); font-size:19px; }
.hero-list { border-top:1px solid #ffffff20; padding:25px 0 0; margin:28px 0 0; list-style:none; display:grid; gap:18px; }
.hero-list li { display:flex; gap:13px; align-items:flex-start; font-size:14px; line-height:1.55; }.hero-list b { color:var(--red); font-size:22px; line-height:1; }.hero-list strong { color:#fff; }
.hero-image { background:linear-gradient(0deg,#10161dcc,#10161d33), url('assets/laboratory-hero.jpg') center/cover; position:relative; min-height:100%; }
.accuracy-card { position:absolute; left:-1px; bottom:110px; width:87%; padding:26px 32px 27px; background:#fff; color:var(--ink); }.percent { color:var(--red); font-size:34px; font-weight:700; }.accuracy-card h2 { font-size:25px; line-height:1.08; margin:3px 0 12px; }.accuracy-card p { color:var(--muted); font-size:13px; line-height:1.55; margin:0; max-width:240px; }.image-note { position:absolute; bottom:30px; right:30px; color:#fff; font-size:12px; }.image-note span { color:var(--red); font-size:20px; margin-left:6px; }
.product-strip { min-height:92px; display:flex; gap:28px; align-items:center; justify-content:center; text-transform:uppercase; font-size:12px; letter-spacing:2px; color:#7c8792; }.product-strip .product-label { color:var(--red); }.product-strip a { color:#7c8792; position:relative; transition:color .25s ease; }.product-strip a:after { content:''; position:absolute; left:0; right:0; bottom:-8px; height:2px; background:var(--red); transform:scaleX(0); transform-origin:center; transition:transform .25s ease; }.product-strip a:hover, .product-strip a:focus-visible { color:var(--red); }.product-strip a:hover:after, .product-strip a:focus-visible:after { transform:scaleX(1); }.product-strip i { width:4px; height:4px; border-radius:50%; background:var(--red); }
.section { max-width:1170px; margin:auto; padding:108px 0; }.commitment { border-top:1px solid var(--line); }.section-heading { display:flex; justify-content:space-between; align-items:end; padding-bottom:56px; }.section-heading h2 { margin:0; font-size:37px; line-height:1.18; font-weight:500; }.commitment-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }.commitment-grid article { padding-right:22px; border-right:1px solid var(--line); }.commitment-grid article:last-child { border-right:0; }.service-icon { color:var(--red); font-size:33px; height:57px; }.commitment-grid h3 { font-size:17px; margin-bottom:13px; }.commitment-grid p { color:var(--muted); font-size:13px; line-height:1.7; margin:0; }
.contact-band { max-width:1270px; margin:auto; padding:55px max(40px, calc((100% - 1170px)/2)); display:grid; grid-template-columns:1.1fr 1.1fr .75fr 1.2fr; gap:40px; background:var(--navy); color:#fff; }.contact-band small { color:#b1bac5; font-size:12px; }.contact-band p { line-height:1.65; font-size:13px; margin:10px 0 0; }.contact-band a:hover { color:var(--red); }
.testimonial { min-height:380px; display:grid; grid-template-columns:1fr 2fr; align-items:center; }.quote-wrap { border-left:1px solid var(--line); padding-left:85px; position:relative; }.quote-mark { color:var(--red); font-family:Georgia, serif; font-size:90px; line-height:.6; }.quote-wrap blockquote { max-width:650px; margin:22px 0; font-family:'Playfair Display', serif; font-size:38px; line-height:1.15; }.quote-wrap p { color:var(--muted); font-size:13px; }
.site-footer { background:#f1f5f5; }.footer-top { max-width:1170px; margin:auto; padding:70px 0 58px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:42px; }.footer-brand .brand { margin-bottom:23px; }.footer-brand p { font-family:'Playfair Display',serif; font-size:19px; margin:0 0 10px; }.footer-brand small { color:var(--muted); font-size:12px; }.site-footer h3 { font-size:14px; margin:5px 0 21px; }.site-footer > * a, .site-footer > * p { display:block; color:#677281; font-size:13px; margin:0 0 12px; line-height:1.6; }.footer-bottom { border-top:1px solid #d8e0e0; max-width:1170px; margin:auto; padding:22px 0; display:flex; justify-content:space-between; color:#89929b; font-size:11px; }.footer-bottom a { color:var(--red); }.whatsapp { position:fixed; right:22px; bottom:22px; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#23c864; box-shadow:0 4px 13px #0c4c2870; font-size:32px; z-index:10; }
@media (max-width:800px) { .site-header { height:124px; margin:16px 15px; width:calc(100% - 30px); padding:20px 20px; }.brand { font-size:19px; }.main-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; gap:0; padding:10px 20px; background:#fff; box-shadow:0 10px 20px #1112; }.main-nav.open { display:flex; }.main-nav a { padding:13px 0; border-bottom:1px solid var(--line); }.menu-toggle { display:block; }.hero { display:block; margin:0 15px; min-height:auto; }.hero-copy { padding:34px 20px 35px; }.hero-image { min-height:440px; }.hero-copy h1 { font-size:31px; letter-spacing:-.5px; }.hero-text { font-size:14px; line-height:1.65; }.hero-list { gap:15px; }.hero-list li { font-size:13px; }.accuracy-card { bottom:70px; width:87%; padding:21px 23px; }.accuracy-card h2 { font-size:22px; }.product-strip { padding:23px 20px; flex-wrap:wrap; gap:14px; line-height:1.4; }.section { padding:74px 25px; }.section-heading { display:block; padding-bottom:35px; }.section-heading h2 { font-size:29px; }.section-heading .eyebrow { margin-bottom:20px; }.commitment-grid { grid-template-columns:1fr 1fr; gap:32px 20px; }.commitment-grid article { border-right:0; padding:0; }.contact-band { margin:0 15px; padding:42px 25px; grid-template-columns:1fr 1fr; gap:28px 20px; }.testimonial { display:block; min-height:350px; }.quote-wrap { margin-top:42px; padding-left:28px; }.quote-wrap blockquote { font-size:29px; }.footer-top { padding:55px 25px 35px; grid-template-columns:1fr 1fr; gap:32px 20px; }.footer-brand { grid-column:1/-1; }.footer-bottom { margin:0 25px; padding:20px 0; display:block; line-height:1.8; }.footer-bottom span { display:block; }.whatsapp { right:15px; bottom:15px; } }
@media (max-width:420px) { .commitment-grid, .contact-band, .footer-top { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }.contact-band { gap:23px; }.product-strip i { display:none; }.product-strip { justify-content:flex-start; }.hero-image { min-height:370px; } }

/* Inner pages */
.inner-hero { max-width:1270px; margin:auto; padding:82px max(25px, calc((100% - 1170px)/2)); background:linear-gradient(110deg,#18253d 0%,#273d59 100%); color:#fff; position:relative; overflow:hidden; }.inner-hero:after { content:'Ω'; position:absolute; right:9%; top:-55px; color:#ffffff0d; font:300 360px Georgia,serif; }.inner-hero .eyebrow { position:relative; z-index:1; }.inner-hero h1 { position:relative; z-index:1; max-width:760px; font-size:58px; margin:0 0 20px; }.inner-hero p:last-child { position:relative; z-index:1; max-width:620px; color:#d8e0e8; line-height:1.7; margin:0; }.inner-content { max-width:1170px; margin:auto; padding:85px 0; }.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:85px; align-items:center; }.inner-content h2 { font-size:37px; line-height:1.15; font-weight:500; margin-bottom:22px; }.inner-content h2 em { color:var(--red); font-family:'Playfair Display',serif; font-style:normal; }.inner-content h3 { font-size:20px; margin:34px 0 12px; }.inner-content p { color:var(--muted); font-size:15px; line-height:1.8; }.inner-image { min-height:380px; background:linear-gradient(0deg,#10161d66,#10161d11),url('assets/services/lab-instruments/laboratory-equipment.jpg') center/cover; }.info-band { background:var(--pale); }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:42px; }.product-card { border:1px solid var(--line); padding:26px; background:#fff; transition:transform .2s, box-shadow .2s; }.product-card:hover { transform:translateY(-4px); box-shadow:0 16px 28px #1a2a3b10; }.product-card h3 { margin:0 0 9px; font-size:20px; }.product-card p { font-size:13px; margin-bottom:17px; }.product-card a { color:var(--red); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }.split-section { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:start; }.bullet-list { padding:0; margin:18px 0; list-style:none; display:grid; gap:13px; }.bullet-list li { display:flex; gap:12px; color:var(--muted); font-size:14px; line-height:1.5; }.bullet-list li:before { content:'↗'; color:var(--red); font-weight:700; }.detail-table { width:100%; border-collapse:collapse; margin-top:24px; font-size:13px; }.detail-table th,.detail-table td { border:1px solid var(--line); padding:14px; text-align:left; }.detail-table th { background:var(--navy); color:#fff; font-weight:600; }.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; }.contact-list { display:grid; gap:24px; margin-top:28px; }.contact-list strong { display:block; color:var(--red); font-size:12px; letter-spacing:1px; text-transform:uppercase; margin-bottom:6px; }.contact-list p { margin:0; }.contact-form { display:grid; gap:14px; padding:32px; background:var(--pale); }.contact-form label { font-size:12px; color:var(--muted); }.contact-form input,.contact-form textarea { width:100%; margin-top:6px; border:1px solid var(--line); background:#fff; padding:14px; font:inherit; }.contact-form textarea { min-height:120px; resize:vertical; }.contact-form button { border:0; cursor:pointer; justify-self:start; font:inherit; }
@media (max-width:800px) { .inner-hero { margin:0 15px; padding:58px 25px; }.inner-hero h1 { font-size:41px; }.inner-content { padding:65px 25px; }.intro-grid,.split-section,.contact-layout { grid-template-columns:1fr; gap:38px; }.product-grid { grid-template-columns:1fr 1fr; }.inner-image { min-height:280px; }.inner-content h2 { font-size:30px; } }
@media (max-width:480px) { .product-grid { grid-template-columns:1fr; } }
/* WhatsApp invitation */
.whatsapp { min-height:48px; width:auto; padding:0 17px 0 12px; border-radius:28px; display:flex; align-items:center; gap:8px; }
.whatsapp-logo { width:25px; height:25px; display:block; object-fit:contain; flex:0 0 25px; }
.whatsapp strong { font:700 12px 'DM Sans', sans-serif; }
.whatsapp:hover { color:#fff; transform:translateY(-3px); }
.whatsapp-message { min-width:0; white-space:nowrap; overflow:hidden; animation:whatsapp-message-in .45s ease both; }
.contact-whatsapp { width:160px; overflow:hidden; transition:width .55s cubic-bezier(.22,1,.36,1), padding .55s cubic-bezier(.22,1,.36,1), transform .25s ease; }
.contact-whatsapp .whatsapp-message { max-width:150px; opacity:1; transform:translateX(0); transition:max-width .45s ease, opacity .3s ease, transform .45s ease; }
.whatsapp:not(.contact-whatsapp) { width:48px; padding:0; justify-content:center; }
.whatsapp:not(.contact-whatsapp) .whatsapp-message { display:none; }
.whatsapp.is-collapsing { padding-left:0; padding-right:0; width:48px; justify-content:center; }
.whatsapp.is-collapsing .whatsapp-message { max-width:0; opacity:0; transform:translateX(8px); }
.whatsapp.is-contact-entry { animation:whatsapp-entry .9s cubic-bezier(.2,.8,.2,1) both; }
@keyframes whatsapp-message-in { from { max-width:0; opacity:0; transform:translateX(8px); } to { max-width:150px; opacity:1; transform:translateX(0); } }
@keyframes whatsapp-entry { from { opacity:0; transform:translateY(22px) scale(.85); } to { opacity:1; transform:translateY(0) scale(1); } }
@media (max-width:420px) { .whatsapp { padding:0; width:48px; justify-content:center; }.whatsapp strong { display:none; } }
@media (max-width:800px) {
	.main-nav { display:flex; max-height:0; opacity:0; overflow:hidden; visibility:hidden; transform:translateY(-10px); transition:max-height .35s ease, opacity .25s ease, transform .35s ease, visibility .35s; }
	.main-nav.open { display:flex; max-height:300px; opacity:1; visibility:visible; transform:translateY(0); }
	.menu-toggle span { transition:transform .25s ease, opacity .2s ease; }
	.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
	.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
	.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
}
@media (pointer:coarse) { .cursor-dot { display:none; } body.motion-ready, body.motion-ready a, body.motion-ready button { cursor:auto; } }
body[data-page="instruments"] .inner-image { background:#fff; }
body[data-page="acids"] .inner-hero:after { content:''; width:260px; height:260px; right:8%; top:50%; background:url('assets/logo/Screenshot_2026-09-09_13-12-46-removebg-preview.png') center/contain no-repeat; opacity:.16; transform:translateY(-50%); }
body .inner-hero:after { content:''; width:260px; height:260px; right:8%; top:50%; background:url('assets/logo/Screenshot_2026-09-09_13-12-46-removebg-preview.png') center/contain no-repeat; opacity:.16; transform:translateY(-50%); }
.instrument-carousel { position:relative; overflow:hidden; background:#fff; }
.instrument-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.04); transition:opacity .9s ease, transform 3.2s ease; }
.instrument-slide.is-active { opacity:1; transform:scale(1); animation:instrument-focus 2.8s ease both; }
.carousel-caption { position:absolute; left:22px; bottom:20px; padding:9px 13px; background:#111e35dd; color:#fff; font-size:12px; letter-spacing:1px; text-transform:uppercase; }
@keyframes instrument-focus { 0% { opacity:0; transform:scale(1.06); } 18% { opacity:1; } 100% { opacity:1; transform:scale(1); } }
body[data-page="instruments"] .intro-grid { grid-template-columns:1fr; gap:38px; }
body[data-page="instruments"] .instrument-carousel { width:100%; min-height:560px; }
body[data-page="instruments"] .instrument-slide { object-fit:contain; padding:28px; background:#fff; }
.product-card .product-spec { color:#3f4d5d; font-size:12px; line-height:1.5; margin-bottom:17px; }.product-card .product-spec strong { color:var(--red); }
.spec-panel { margin:70px 0 0; padding:42px; background:var(--pale); border:1px solid var(--line); min-height:280px; }.spec-loading { min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--muted); text-align:center; }.spec-loading strong { color:var(--ink); font-size:15px; }.spec-loading small { font-size:12px; }.ai-orbit { width:54px; height:54px; border:2px solid #ef273533; border-top-color:var(--red); border-right-color:var(--red); border-radius:50%; animation:loader-spin .8s linear infinite; position:relative; }.ai-orbit:after { content:''; position:absolute; inset:9px; border:1px solid var(--red); border-left-color:transparent; border-radius:50%; animation:loader-spin 1.2s linear infinite reverse; }.spec-ready { display:none; }.spec-panel.is-ready .spec-loading { display:none; }.spec-panel.is-ready .spec-ready { display:block; animation:search-help-in .55s ease both; }.spec-ready h2 { font-size:30px; font-weight:500; }.spec-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin:26px 0; background:var(--line); }.spec-grid div { display:grid; gap:7px; padding:19px; background:#fff; }.spec-grid strong { color:var(--red); font-size:11px; text-transform:uppercase; letter-spacing:1px; }.spec-grid span { color:var(--muted); font-size:13px; line-height:1.5; }
@media (max-width:600px) { .spec-panel { padding:24px; }.spec-grid { grid-template-columns:1fr; } }
@media (max-width:800px) { body[data-page="instruments"] .instrument-carousel { min-height:390px; } body[data-page="instruments"] .instrument-slide { padding:14px; } }
.product-switcher { max-width:1170px; margin:0 auto; min-height:96px; padding:28px 0; display:flex; align-items:center; justify-content:center; gap:28px; border-top:1px solid var(--line); text-transform:uppercase; font-size:12px; letter-spacing:1.8px; color:#77828d; }
.services-sheet { position:fixed; inset:0; z-index:180; visibility:hidden; pointer-events:none; }.services-backdrop { position:absolute; inset:0; background:#101b2c66; backdrop-filter:blur(8px); opacity:0; transition:opacity .3s ease; }.services-panel { position:absolute; left:50%; bottom:0; width:min(620px, 100%); padding:30px 28px 34px; transform:translate(-50%, 105%); background:#fff; border-radius:26px 26px 0 0; box-shadow:0 -20px 60px #101b2c33; transition:transform .45s cubic-bezier(.22,1,.36,1); }.services-sheet-open .services-sheet { visibility:visible; pointer-events:auto; }.services-sheet-open .services-backdrop { opacity:1; }.services-sheet-open .services-panel { transform:translate(-50%, 0); }.services-close { position:absolute; top:18px; right:20px; width:34px; height:34px; border:0; border-radius:50%; background:#eef2f4; color:var(--ink); font-size:24px; line-height:1; cursor:pointer; }.services-panel h2 { margin:0 0 22px; font-size:31px; font-weight:500; }.services-panel h2 em { color:var(--red); font-family:'Playfair Display',serif; font-style:normal; }.service-options { display:grid; gap:9px; }.service-options a { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; column-gap:16px; padding:15px 16px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:background .2s ease, transform .2s ease, border-color .2s ease; }.service-options a:hover { background:#f5f8f8; border-color:#cdd9db; transform:translateY(-2px); }.service-options strong { font-size:15px; }.service-options span { color:var(--muted); font-size:12px; margin-top:4px; }.service-options b { grid-row:1 / 3; grid-column:2; align-self:center; color:var(--red); font-size:24px; font-weight:400; }
.product-switcher span { color:var(--red); font-weight:700; }
.product-switcher a { color:#77828d; position:relative; transition:color .25s ease; }
.product-switcher a:after { content:''; position:absolute; left:0; right:0; bottom:-8px; height:2px; background:var(--red); transform:scaleX(0); transition:transform .25s ease; }
.product-switcher a:hover, .product-switcher a:focus-visible, .product-switcher a.is-current { color:var(--red); }
.product-switcher a:hover:after, .product-switcher a:focus-visible:after, .product-switcher a.is-current:after { transform:scaleX(1); }
.page-loader { position:fixed; inset:0; z-index:200; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:#111e35; color:#fff; opacity:0; pointer-events:none; transition:opacity .35s ease; }
.page-loader.is-initial { opacity:1; pointer-events:auto; }
.loader-logo { width:min(220px, 58vw); max-height:110px; object-fit:contain; animation:loader-logo-in .8s ease both; }
.page-loader strong { font:600 12px 'DM Sans', sans-serif; letter-spacing:2px; text-transform:uppercase; }
.loader-ring { width:38px; height:38px; border:2px solid #ffffff40; border-top-color:var(--red); border-radius:50%; animation:loader-spin .8s linear infinite; }
.page-is-leaving .page-loader { opacity:1; pointer-events:auto; }
@keyframes loader-spin { to { transform:rotate(360deg); } }
@keyframes loader-logo-in { from { opacity:0; transform:scale(.82); } to { opacity:1; transform:scale(1); } }
@media (max-width:800px) { .product-switcher { margin:0 25px; min-height:0; padding:28px 0; flex-wrap:wrap; gap:16px 20px; line-height:1.4; } }
@media (max-width:600px) { .instrument-search { margin-top:46px; padding:22px; } }
.reveal { opacity:0; transform:translateY(25px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.hero-copy.reveal, .hero-image.reveal { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }.reveal-delay-2 { transition-delay:.2s; }.reveal-delay-3 { transition-delay:.3s; }
.quality-section .bullet-list li { opacity:1; transform:none; }
.quality-section:not(.is-visible) .bullet-list li { animation:none; }
.quality-section.is-visible h2 { animation:quality-heading-in .7s ease both; }
.quality-section.is-visible .bullet-list li { animation:quality-point-in .55s ease both; }
.quality-section.is-visible .bullet-list li:nth-child(1) { animation-delay:.15s; }.quality-section.is-visible .bullet-list li:nth-child(2) { animation-delay:.28s; }.quality-section.is-visible .bullet-list li:nth-child(3) { animation-delay:.41s; }.quality-section.is-visible .bullet-list li:nth-child(4) { animation-delay:.54s; }
@keyframes quality-heading-in { from { opacity:.2; letter-spacing:3px; transform:translateY(10px); } to { opacity:1; letter-spacing:0; transform:translateY(0); } }
@keyframes quality-point-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.commitment .section-heading .eyebrow { animation: commitment-pulse 2.4s ease-in-out 1.1s both; transform-origin:left center; }
@keyframes commitment-pulse { 0% { transform:scale(1); } 45% { transform:scale(1.22); } 72% { transform:scale(.94); } 100% { transform:scale(1); } }