:root {
    --navy: #082a49;
    --navy-deep: #041c31;
    --blue: #0b4775;
    --blue-bright: #2c91d0;
    --orange: #f27b21;
    --orange-dark: #d95d09;
    --ink: #101820;
    --slate: #5b6875;
    --line: #dce3e9;
    --pale: #f3f6f8;
    --white: #fff;
    --shadow: 0 24px 70px rgba(4, 28, 49, .12);
    --display: "Manrope", Arial, sans-serif;
    --body: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--body); font-size: 16px; line-height: 1.65; padding-bottom: 51px; }
body.modal-open, body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); line-height: 1.08; letter-spacing: -.035em; }
.container { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }
.section { padding: 88px 0; }
.section--gray { background: var(--pale); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 15px; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.eyebrow { margin-bottom: 18px; color: var(--blue); font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow--light { color: #85c7ed; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 24px; border: 1px solid transparent; border-radius: 5px; font-family: var(--display); font-size: 14px; font-weight: 800; letter-spacing: .015em; transition: .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--orange { color: #fff; background: var(--orange); box-shadow: 0 10px 24px rgba(242,123,33,.2); }
.button--orange:hover { background: var(--orange-dark); }
.button--dark { color: #fff; background: var(--navy); }
.button--light { color: var(--navy); background: #fff; }
.button--outline { color: var(--navy); background: transparent; border-color: #aab8c4; }
.button--outline:hover { border-color: var(--navy); }
.button--large { min-height: 58px; padding: 16px 28px; }
.button--full { width: 100%; }

.utility-bar { min-height: 37px; color: #c9d9e6; background: var(--navy-deep); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.utility-bar__inner { display: flex; min-height: 37px; align-items: center; justify-content: center; text-align: center; }
.utility-bar__inner span:last-child { display: none; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #50c78a; box-shadow: 0 0 0 4px rgba(80,199,138,.12); }
.site-header { position: sticky; z-index: 100; top: 0; height: 86px; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.nav-wrap { position: relative; display: grid; height: 86px; grid-template-columns: 44px 1fr 44px; align-items: center; }
.brand { justify-self: center; }
.brand img { width: 190px; height: auto; }
.menu-toggle { width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; }
.menu-toggle span { display: block; width: 22px; height: 2px; margin: 5px 0; background: var(--navy); transition: .2s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
.main-nav { position: fixed; inset: 123px 0 51px; display: none; padding: 40px 30px; background: #fff; }
.main-nav.is-open { display: flex; flex-direction: column; }
.main-nav a { padding: 15px 0; border-bottom: 1px solid var(--line); font-family: var(--display); font-size: 25px; font-weight: 700; }
.main-nav a.active { color: var(--blue); }
.nav-actions { justify-self: end; }
.button--nav { width: 44px; min-height: 42px; padding: 0; overflow: hidden; color: transparent; font-size: 0; }
.button--nav::after { content: ""; width: 16px; height: 16px; border: 2px solid white; border-radius: 50%; box-shadow: 0 9px 0 -4px white; }
.cart-link { display: none; }
.site-alert { padding: 13px 0; color: #073c25; background: #dff6ea; font-size: 14px; text-align: center; }
.site-alert--notice { color: #553a07; background: #fff3cf; }

.hero { position: relative; overflow: hidden; color: #fff; background: var(--navy); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to right, black, transparent 65%); }
.hero-grid { position: relative; display: grid; min-height: 720px; padding-top: 80px; padding-bottom: 60px; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy .eyebrow { color: #94cdec; }
.hero-copy .eyebrow span { display: inline-block; width: 26px; height: 2px; margin: 0 10px 3px 0; background: var(--orange); }
.hero h1 { max-width: 820px; margin-bottom: 28px; font-size: clamp(45px, 10.4vw, 88px); font-weight: 700; letter-spacing: -.055em; }
.hero-lead { max-width: 680px; color: #cedce7; font-size: 18px; line-height: 1.7; }
.button-row { display: flex; flex-direction: column; gap: 12px; margin-top: 34px; }
.hero .button--outline { color: #fff; border-color: rgba(255,255,255,.45); }
.hero-meta { display: grid; gap: 10px; margin-top: 48px; color: #bbcedd; font-size: 13px; }
.hero-meta span { padding: 9px 0; border-top: 1px solid rgba(255,255,255,.15); }
.hero-meta b { margin-right: 14px; color: var(--orange); }
.lab-visual { position: relative; display: none; height: 590px; overflow: hidden; background: linear-gradient(145deg, rgba(29,93,137,.7), rgba(3,27,47,.3)); border: 1px solid rgba(255,255,255,.18); }
.visual-grid { position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 46px 46px; }
.specimen-core { position: absolute; top: 50%; left: 50%; display: flex; width: 190px; height: 190px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; align-items: center; justify-content: center; transform: translate(-50%,-50%); box-shadow: 0 0 70px rgba(44,145,208,.4), inset 0 0 50px rgba(44,145,208,.25); text-align: center; }
.specimen-core span { font-family: var(--display); font-size: 42px; font-weight: 800; }
.specimen-core small { position: absolute; bottom: 37px; font-size: 7px; letter-spacing: .18em; }
.orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(118,193,235,.45); border-radius: 50%; transform: translate(-50%,-50%); }
.orbit--one { width: 370px; height: 370px; }
.orbit--two { width: 490px; height: 490px; }
.orbit i { position: absolute; display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 15px var(--orange); }
.orbit i:first-child { top: 10%; left: 23%; }.orbit i:nth-child(2) { right: -6px; top: 50%; background: #73c5f1; }.orbit i:nth-child(3) { bottom: 5%; left: 30%; }
.data-card { position: absolute; width: 170px; padding: 15px; background: rgba(5,32,54,.72); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(12px); }
.data-card span { color: #8fc8e8; font-size: 8px; letter-spacing: .16em; }
.data-card strong { display: block; margin-top: 8px; font-family: var(--display); font-size: 17px; }
.data-card strong i { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #50c78a; }
.data-card--top { top: 56px; right: 35px; }.data-card--bottom { bottom: 55px; left: 25px; }
.data-lines { display: flex; height: 28px; margin: 10px 0 5px; align-items: end; gap: 5px; }.data-lines i { width: 30%; background: var(--blue-bright); }.data-lines i:first-child{height:50%}.data-lines i:nth-child(2){height:100%}.data-lines i:last-child{height:73%}
.data-card small { font-size: 8px; color: #b7cad8; }.coordinate { position: absolute; right: 18px; bottom: 12px; color: #789ab2; font-size: 8px; letter-spacing: .14em; }
.hero-index { position: absolute; right: 15px; bottom: 10px; color: rgba(255,255,255,.22); font-size: 9px; letter-spacing: .2em; }

.trust-strip { background: #fff; border-bottom: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: 1fr 1fr; }
.trust-grid div { padding: 24px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-grid strong, .trust-grid span { display: block; }.trust-grid strong { color: var(--navy); font-family: var(--display); font-size: 15px; }.trust-grid span { color: var(--slate); font-size: 11px; }
.section-heading h2, .editorial-sticky h2, .process-copy h2, .cta-panel h2 { font-size: clamp(34px, 7vw, 58px); }
.split-heading { display: grid; gap: 20px; margin-bottom: 48px; }.split-heading h2 { max-width: 760px; }.split-heading > p { color: var(--slate); font-size: 18px; }
.feature-grid { display: grid; gap: 18px; }.feature-card { position: relative; min-height: 400px; padding: 34px; background: #fff; border: 1px solid var(--line); }.feature-card--dark { color: #fff; background: var(--navy); border-color: var(--navy); }.card-number { position: absolute; top: 28px; right: 30px; color: #9aabb9; font-size: 11px; letter-spacing: .15em; }.feature-card h3 { margin-top: 38px; font-size: 27px; }.feature-card p { color: var(--slate); }.feature-card--dark p { color: #b9cddd; }.feature-card a { position: absolute; right: 34px; bottom: 30px; left: 34px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--blue); font-weight: 700; }.feature-card--dark a { color: #fff; border-color: rgba(255,255,255,.2); }.feature-card a span { float: right; }
.icon-box { position: relative; width: 70px; height: 70px; margin-top: 32px; border: 1px solid #cdd8e0; }.feature-card--dark .icon-box { border-color: rgba(255,255,255,.25); }.molecule-icon i { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: var(--orange); }.molecule-icon i:first-child{top:17px;left:15px}.molecule-icon i:nth-child(2){top:29px;right:13px;background:var(--blue-bright)}.molecule-icon i:last-child{bottom:12px;left:23px;background:#fff}.molecule-icon::before,.molecule-icon::after{content:"";position:absolute;left:21px;top:23px;width:32px;height:1px;background:#88a2b6;transform:rotate(20deg)}.molecule-icon::after{top:39px;left:20px;transform:rotate(-50deg)}
.document-icon i { display:block;width:35px;height:2px;margin:14px 0 0 17px;background:#89a0b2}.document-icon i:nth-child(2){width:26px;margin-top:9px}.document-icon i:last-child{width:31px;margin-top:9px}.access-icon i{position:absolute;left:22px;top:30px;width:26px;height:20px;border:2px solid var(--blue)}.access-icon i::before{content:"";position:absolute;width:14px;height:14px;left:4px;top:-13px;border:2px solid var(--orange);border-bottom:0;border-radius:10px 10px 0 0}
.process-section { color: #fff; background: var(--navy-deep); }.process-grid { display: grid; gap: 60px; }.process-copy > p:not(.eyebrow) { max-width: 590px; color: #b9cbd8; font-size: 18px; }.process-copy .button { margin-top: 25px; }.process-list { margin: 0; padding: 0; list-style: none; }.process-list li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.15); }.process-list li > span { color: var(--orange); font-weight: 700; }.process-list h3 { margin-bottom: 8px; font-size: 22px; }.process-list p { margin: 0; color: #9fb4c4; }
.cta-panel { display: flex; padding: 46px 30px; background: var(--pale); flex-direction: column; gap: 25px; }.cta-panel h2 { max-width: 790px; margin: 0; }.cta-panel--blue { color: #fff; background: var(--navy); }

.page-hero { padding: 82px 0; background: var(--pale); border-bottom: 1px solid var(--line); }.page-hero__grid { display: grid; gap: 30px; }.page-hero h1 { max-width: 850px; margin: 0; font-size: clamp(44px, 9vw, 82px); }.page-hero__grid > p { max-width: 520px; margin: 0; color: var(--slate); font-size: 19px; align-self: end; }.page-hero--compact { padding: 62px 0; }.page-hero--compact h1 { font-size: clamp(42px,8vw,68px); }
.editorial-grid { display: grid; gap: 50px; }.editorial-sticky > span { color: var(--orange); font-size: 10px; font-weight: 700; letter-spacing: .2em; }.editorial-content > p { color: var(--slate); font-size: 18px; }.editorial-content .large-copy { color: var(--ink); font-size: 24px; line-height: 1.5; }.value-list { margin-top: 50px; }.value-list article { display: grid; grid-template-columns: 45px 1fr; gap: 18px; padding: 25px 0; border-top: 1px solid var(--line); }.value-list article > span { color: var(--orange); font-weight: 700; }.value-list h3 { margin-bottom: 8px; font-size: 23px; }.value-list p { margin: 0; color: var(--slate); }.stats-grid { display: grid; gap: 1px; background: var(--line); }.stats-grid div { padding: 42px 30px; background: var(--pale); }.stats-grid strong,.stats-grid span { display:block }.stats-grid strong { color: var(--navy); font-family: var(--display); font-size: 42px; }.stats-grid span { color: var(--slate); }
.faq-layout { display: grid; gap: 50px; }.faq-layout aside h2 { font-size: 37px; }.faq-layout aside > p:not(.eyebrow) { color: var(--slate); }.faq-layout aside .button { margin-top: 15px; }.accordion-list details { border-top: 1px solid var(--line); }.accordion-list details:last-child { border-bottom: 1px solid var(--line); }.accordion-list summary { display: grid; padding: 25px 0; grid-template-columns: 40px 1fr 20px; align-items: center; cursor: pointer; font-family: var(--display); font-size: 18px; font-weight: 700; list-style:none }.accordion-list summary::-webkit-details-marker{display:none}.accordion-list summary span{color:var(--orange);font-size:10px}.accordion-list summary i{position:relative;width:16px;height:16px}.accordion-list summary i::before,.accordion-list summary i::after{content:"";position:absolute;top:7px;left:0;width:16px;height:2px;background:var(--navy)}.accordion-list summary i::after{transform:rotate(90deg);transition:.2s}.accordion-list details[open] summary i::after{transform:none}.accordion-content{padding:0 20px 20px 40px;color:var(--slate)}

.auth-main { color: #fff; background: var(--navy-deep); }.auth-layout { display: grid; min-height: 720px; padding-top: 60px; padding-bottom: 80px; gap: 55px; }.auth-intro h1 { font-size: clamp(43px, 9vw, 72px); }.auth-intro > p:not(.eyebrow) { max-width: 540px; color: #b9cbd8; font-size: 18px; }.auth-rule { max-width: 520px; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.18); color: #d3e0e9; }.auth-rule span { margin-right: 24px; color: var(--orange); }.form-card { padding: 34px 25px; color: var(--ink); background: #fff; box-shadow: var(--shadow); }.form-card h2,.contact-form-wrap h2,.checkout-form h2 { margin-bottom: 32px; font-size: 36px; }.stack-form { display: grid; gap: 20px; }.stack-form label { display: grid; gap: 8px; color: #293844; font-size: 13px; font-weight: 700; }.stack-form label small { color: #7b8791; font-weight: 400; }.stack-form input,.stack-form textarea,.stack-form select,.catalog-tools input { width: 100%; min-height: 52px; padding: 13px 14px; color: var(--ink); background: #fff; border: 1px solid #cbd5dd; border-radius: 3px; outline: none; }.stack-form textarea { resize: vertical; }.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus,.catalog-tools input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(11,71,117,.09); }.form-grid { display: grid; gap: 20px; }.check-row { display: grid !important; grid-template-columns: 21px 1fr; gap: 11px !important; align-items: start; font-weight: 500 !important; line-height: 1.45; }.check-row input { width: 19px !important; min-height: 19px !important; margin: 1px 0 0; accent-color: var(--orange); }.form-switch { margin: 24px 0 0; color: var(--slate); text-align: center; }.form-switch a { color: var(--blue); font-weight: 700; }.form-errors { margin-bottom: 22px; padding: 13px 16px; color: #792b22; background: #fff0ee; border-left: 3px solid #d44d3e; }.form-errors p { margin: 0; }.success-panel { margin-bottom: 25px; padding: 18px; color: #0d5837; background: #e5f7ef; border-left: 3px solid #39a675; }.success-panel p { margin: 5px 0 0; }

.account-hero,.catalog-hero { padding: 65px 0; color: #fff; background: var(--navy); }.account-hero h1,.catalog-hero h1 { margin-bottom: 12px; font-size: clamp(44px,8vw,70px); }.account-hero p:last-child { color:#b5cddd }.dashboard-grid { display: grid; gap: 40px; }.account-sidebar { display:flex;overflow:auto;border-bottom:1px solid var(--line)}.account-sidebar a{padding:12px 18px;white-space:nowrap;color:var(--slate);font-weight:700}.account-sidebar a.active{color:var(--blue);border-bottom:2px solid var(--orange)}.account-sidebar span{display:inline-flex;width:20px;height:20px;margin-left:5px;border-radius:50%;align-items:center;justify-content:center;background:var(--pale);font-size:10px}.dashboard-header{display:flex;flex-direction:column;gap:20px;margin-bottom:35px}.dashboard-header h2{font-size:38px}.account-cards{display:grid;gap:15px}.account-cards article{padding:28px;background:var(--pale);border:1px solid var(--line)}.account-cards article>span{color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.16em}.account-cards h3{margin:16px 0 9px;font-size:23px}.account-cards p{margin:0;color:var(--slate)}.orders-section{margin-top:45px}.orders-section h3{font-size:25px}.empty-state{padding:28px;background:var(--pale);color:var(--slate)}.empty-state a{color:var(--blue);font-weight:700}.empty-state--large{padding:70px 25px;text-align:center}.empty-state--large h2{color:var(--ink);font-size:36px}.empty-state--large .button{color:#fff}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--slate);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.status-pill{padding:5px 9px;color:#16583b;background:#e1f4eb;border-radius:20px;font-size:11px}
.catalog-hero>.container{display:grid;gap:20px}.catalog-hero p:last-child{max-width:520px;margin:0;color:#b9cedd;font-size:18px;align-self:end}.catalog-tools{padding:20px 0;border-bottom:1px solid var(--line)}.catalog-tools>.container{display:flex;flex-direction:column;gap:15px}.catalog-tools span{color:var(--slate);font-size:13px}.catalog-tools form{position:relative}.catalog-tools input{min-height:45px;padding-right:50px}.catalog-tools button{position:absolute;right:0;top:0;width:45px;height:45px;color:#fff;background:var(--navy);border:0}.catalog-section{background:#f7f9fa}.product-grid{display:grid;gap:20px}.product-card{overflow:hidden;background:#fff;border:1px solid var(--line)}.product-visual{position:relative;height:240px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#0c426d,#061f35)}.product-visual>span{position:absolute;top:17px;left:19px;color:#84bfe1;font-size:9px;letter-spacing:.15em}.product-visual>small{position:absolute;right:18px;bottom:16px;text-align:right;font-size:7px;letter-spacing:.15em}.product-molecule{position:absolute;left:50%;top:50%;width:140px;height:140px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transform:translate(-50%,-50%)}.product-molecule::before,.product-molecule::after{content:"";position:absolute;left:14px;top:68px;width:112px;height:1px;background:rgba(255,255,255,.35);transform:rotate(30deg)}.product-molecule::after{transform:rotate(-43deg)}.product-molecule i{position:absolute;width:15px;height:15px;border-radius:50%;background:var(--orange);box-shadow:0 0 16px rgba(242,123,33,.5)}.product-molecule i:first-child{top:19px;left:24px}.product-molecule i:nth-child(2){top:28px;right:16px;background:#65bce9}.product-molecule i:nth-child(3){bottom:13px;left:39px;background:#fff}.product-molecule i:last-child{right:20px;bottom:28px;background:#287eb3}.product-body{padding:27px}.product-meta{display:flex;justify-content:space-between;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.product-body h2{margin:18px 0 12px;font-size:25px}.product-body>p{min-height:78px;color:var(--slate)}.document-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.09em}.document-row strong{color:#177247}.product-purchase{display:flex;margin-top:22px;align-items:center;justify-content:space-between}.product-purchase>strong{font-family:var(--display);font-size:22px}.stock-label{color:#9b3329;font-weight:700}

.cart-layout{display:grid;gap:35px}.cart-heading{display:none}.cart-item{display:grid;padding:24px 0;border-top:1px solid var(--line);gap:15px}.sku-label{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em}.cart-item h2{margin:7px 0;font-size:22px}.cart-item p{margin:0;color:var(--slate)}.cart-item input{width:72px;padding:10px;border:1px solid #bac7d0}.cart-item>strong{font-size:19px}.cart-controls{display:flex;padding-top:20px;border-top:1px solid var(--line);align-items:center;justify-content:space-between}.text-button{padding:0;color:#93413b;background:none;border:0;text-decoration:underline}.order-summary{padding:30px;background:var(--navy);color:#fff;align-self:start}.order-summary h2{font-size:30px}.order-summary>div{display:flex;padding:14px 0;border-top:1px solid rgba(255,255,255,.18);justify-content:space-between;color:#c4d4df}.order-summary .summary-total{margin-top:12px;padding:20px 0;color:#fff}.summary-total strong{font-size:25px}.order-summary small{display:block;margin-top:15px;color:#9fb5c5;text-align:center}.checkout-layout{display:grid;gap:40px}.checkout-form{max-width:800px}.compliance-panel{padding:35px;color:#fff;background:var(--navy);align-self:start}.compliance-panel>span{display:flex;width:65px;height:65px;border:1px solid #6190b0;align-items:center;justify-content:center;font-family:var(--display);font-size:20px;font-weight:800}.compliance-panel h2{margin-top:30px;font-size:31px}.compliance-panel p{color:#b9cedd}.compliance-panel ul{padding:0;list-style:none}.compliance-panel li{padding:13px 0;border-top:1px solid rgba(255,255,255,.16);color:#d1dee6}
.contact-layout{display:grid;gap:50px}.contact-aside h2{font-size:40px}.contact-aside>p:not(.eyebrow){color:var(--slate);font-size:18px}.contact-detail{padding:20px 0;border-top:1px solid var(--line)}.contact-detail span,.contact-detail strong,.contact-detail a{display:block}.contact-detail span{color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.15em}.contact-detail a,.contact-detail strong{margin-top:7px;font-weight:700}.contact-form-wrap{padding:30px;background:var(--pale);border:1px solid var(--line)}

.site-footer { padding: 70px 0 35px; color: #b8c9d6; background: var(--navy-deep); }.footer-grid { display: grid; gap: 40px; }.footer-brand p { max-width: 300px; margin-top: 20px; }.site-footer h2 { color: #fff; font-size: 14px; letter-spacing: .05em; }.site-footer a { display: block; width: fit-content; padding: 4px 0; }.site-footer a:hover { color: #fff; }.site-footer p { font-size: 14px; }.footer-bottom { display: flex; margin-top: 50px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.13); flex-direction: column; gap: 8px; font-size: 11px; }.sticky-disclaimer { position: fixed; z-index: 500; right: 0; bottom: 0; left: 0; min-height: 51px; padding: 11px 15px; color: #e4edf3; background: #020f1b; border-top: 1px solid #24435a; font-size: 10px; line-height: 1.35; text-align: center; }.sticky-disclaimer strong { color: var(--orange); }
.age-gate[hidden] { display: none; }.age-gate { position: fixed; z-index: 1000; inset: 0; display: grid; padding: 20px; background: rgba(1,14,25,.9); place-items: center; backdrop-filter: blur(8px); }.age-gate__panel { width: min(560px,100%); padding: 35px 26px; background: #fff; border-top: 5px solid var(--orange); box-shadow: 0 30px 90px rgba(0,0,0,.35); }.age-gate__panel>img { margin-bottom: 25px; }.age-gate__panel h2 { font-size: 35px; }.age-gate__panel>p:not(.eyebrow) { color: var(--slate); }.age-gate__panel .check-row { margin: 25px 0; }.age-gate__panel button:disabled { opacity: .45; cursor: not-allowed; transform: none; }.age-gate__exit { display: block; margin-top: 13px; color: var(--slate); font-size: 12px; text-align: center; text-decoration: underline; }

@media (min-width: 700px) {
    body { padding-bottom: 42px; }.container{width:min(1240px,calc(100% - 70px))}.section{padding:110px 0}.button-row{flex-direction:row}.hero-meta{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:30px 25px;border-bottom:0}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card:first-child{grid-column:span 2}.stats-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.form-grid--three{grid-template-columns:repeat(3,1fr)}.form-card{padding:50px}.account-cards{grid-template-columns:repeat(2,1fr)}.dashboard-header{flex-direction:row;align-items:center;justify-content:space-between}.catalog-tools>.container{flex-direction:row;align-items:center;justify-content:space-between}.catalog-tools form{width:360px}.product-grid{grid-template-columns:repeat(2,1fr)}.cart-item{grid-template-columns:1fr 90px 100px;align-items:center}.cart-heading{display:grid;padding:0 0 12px;grid-template-columns:1fr 90px 100px;color:var(--slate);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.footer-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}.footer-bottom{flex-direction:row;justify-content:space-between}.sticky-disclaimer{min-height:42px;font-size:12px}.age-gate__panel{padding:48px}
}

@media (min-width: 1020px) {
    .utility-bar__inner{justify-content:space-between}.utility-bar__inner span:last-child{display:block}.site-header,.nav-wrap{height:90px}.nav-wrap{grid-template-columns:250px 1fr auto;gap:36px}.brand{justify-self:start}.brand img{width:250px;height:70px}.menu-toggle{display:none}.main-nav{position:static;inset:auto;display:flex!important;padding:0;background:transparent;justify-content:center;gap:34px}.main-nav a{position:relative;padding:34px 0;border:0;font-size:14px;font-weight:700}.main-nav a::after{content:"";position:absolute;right:0;bottom:20px;left:0;height:2px;background:var(--orange);transform:scaleX(0);transition:.2s}.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:22px}.button--nav{width:auto;min-width:118px;min-height:50px;padding:13px 24px;color:#fff;font-size:14px}.button--nav::after{display:none}.cart-link{display:block;font-size:13px;font-weight:700}.cart-link span{display:inline-flex;width:23px;height:23px;margin-left:5px;border-radius:50%;align-items:center;justify-content:center;color:#fff;background:var(--orange);font-size:10px}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr);gap:55px;min-height:760px;padding-top:60px}.hero h1{font-size:clamp(62px,5.4vw,88px)}.lab-visual{display:block}.split-heading{grid-template-columns:2fr 1fr;gap:80px;align-items:end}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-card:first-child{grid-column:auto}.process-grid{grid-template-columns:1.1fr .9fr;gap:100px}.cta-panel{padding:60px;flex-direction:row;align-items:center;justify-content:space-between}.page-hero{padding:110px 0}.page-hero__grid{grid-template-columns:1.6fr .8fr;gap:80px}.editorial-grid{grid-template-columns:.9fr 1.1fr;gap:120px}.editorial-sticky{position:sticky;top:150px;align-self:start}.faq-layout{grid-template-columns:330px 1fr;gap:100px}.faq-layout aside{position:sticky;top:150px;align-self:start}.auth-layout{grid-template-columns:1.05fr .75fr;align-items:center;gap:100px;padding-top:90px;padding-bottom:100px}.auth-layout--register{grid-template-columns:.8fr 1fr}.dashboard-grid{grid-template-columns:210px 1fr;gap:65px}.account-sidebar{display:block;border:0}.account-sidebar a{display:block;padding:15px 0;border-bottom:1px solid var(--line)}.account-sidebar a.active{border-bottom:1px solid var(--line);border-left:3px solid var(--orange);padding-left:14px}.catalog-hero>.container{grid-template-columns:1.5fr 1fr;gap:70px}.product-grid{grid-template-columns:repeat(3,1fr)}.cart-layout{grid-template-columns:1fr 360px;gap:55px}.checkout-layout{grid-template-columns:1fr 350px;gap:80px}.contact-layout{grid-template-columns:.7fr 1.3fr;gap:100px}.contact-aside{padding-top:15px}.contact-form-wrap{padding:50px}
}

.product-visual--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom,rgba(4,28,49,.05),rgba(4,28,49,.45)); }
.product-visual--image > img { width: 100%; height: 100%; object-fit: cover; }
.product-visual--image > span, .product-visual--image > small { z-index: 1; text-shadow: 0 1px 5px rgba(0,0,0,.7); }
.product-card > .product-visual { display: block; width: 100%; height: 300px; max-height: 300px; }
.product-card > .product-visual > img { display: block; width: 100%; height: 300px; object-fit: cover; }
.product-card > .product-body { position: relative; z-index: 2; background: #fff; }
.product-detail-section{padding:55px 0 90px;background:#f7f9fa}.product-detail-grid{display:grid;gap:42px}.product-gallery{min-width:0}.product-gallery__main{overflow:hidden;aspect-ratio:1/1;background:#e9eef2;border:1px solid var(--line)}.product-gallery__main img{width:100%;height:100%;object-fit:cover}.product-gallery__thumbs{display:grid;margin-top:10px;grid-template-columns:repeat(5,1fr);gap:7px}.product-gallery__thumbs button{padding:3px;background:#fff;border:1px solid var(--line);aspect-ratio:1/1}.product-gallery__thumbs button.active{border:2px solid var(--orange)}.product-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.product-gallery__placeholder{position:relative;display:grid;aspect-ratio:1/1;overflow:hidden;color:#fff;background:linear-gradient(145deg,#0c426d,#061f35);place-items:center}.product-gallery__placeholder>span{position:absolute;bottom:25px;font-size:9px;letter-spacing:.18em}.product-back{display:inline-block;margin-bottom:35px;color:var(--blue);font-weight:700}.product-detail-copy h1{margin:20px 0 22px;font-size:clamp(40px,8vw,68px)}.product-detail-description{color:var(--slate);font-size:19px}.product-records{display:grid;margin-top:35px;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.product-records>div{display:grid;padding:18px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);gap:5px}.product-records span{color:var(--slate);font-size:8px;font-weight:800;letter-spacing:.13em}.product-records strong{font-size:14px}.product-detail-purchase{display:flex;margin-top:30px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.product-detail-purchase>strong{font-family:var(--display);font-size:34px}.product-detail-purchase form{display:flex;align-items:end;gap:10px}.product-detail-purchase label{display:grid;gap:5px;color:var(--slate);font-size:10px;font-weight:700;text-transform:uppercase}.product-detail-purchase input{width:75px;min-height:50px;padding:10px;border:1px solid #bdcbd5}.product-detail-notice{margin-top:24px;padding:16px;color:var(--slate);background:#fff;border-left:3px solid var(--orange);font-size:13px}.product-detail-notice strong{color:var(--navy)}

@media (min-width:700px){.product-gallery__thumbs{grid-template-columns:repeat(10,1fr)}.product-detail-purchase{flex-direction:row;align-items:center;justify-content:space-between}}
@media (min-width:1020px){.product-detail-section{padding:85px 0 120px}.product-detail-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.85fr);gap:80px}.product-detail-copy{padding-top:20px}.product-gallery__main{max-height:680px}}

@media (min-width: 1350px) { .hero-grid{gap:85px}.lab-visual{margin-right:-45px}.hero-index{right:40px} }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important} }

/* Policy center and compliance additions */
.check-row a { color: var(--blue); font-weight: 700; text-decoration: underline; }
.compliance-panel .panel-note { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); font-size: 13px; }
.compliance-panel > a { color: #fff; font-weight: 700; text-decoration: underline; }
.contact-band { display: grid; padding: 35px; background: var(--pale); border-left: 4px solid var(--orange); gap: 20px; }
.contact-band h2 { margin: 0; font-size: 34px; }
.contact-band p { margin: 0; color: var(--slate); }
.contact-band a { color: var(--blue); font-weight: 700; }
.policy-section { background: #f7f9fa; }
.policy-layout { display: grid; gap: 45px; }
.policy-nav { display: flex; overflow-x: auto; padding-bottom: 10px; gap: 8px; }
.policy-nav a { padding: 9px 13px; background: #fff; border: 1px solid var(--line); white-space: nowrap; color: var(--navy); font-size: 12px; font-weight: 700; }
.policy-content { min-width: 0; }
.policy-notice { padding: 28px; color: #fff; background: var(--navy); border-left: 5px solid var(--orange); }
.policy-notice strong { font-family: var(--display); font-size: 22px; }
.policy-notice p { margin: 10px 0 0; color: #c7d8e4; }
.policy-article { padding: 55px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 130px; }
.policy-article h2 { font-size: clamp(32px,6vw,48px); }
.policy-article h3 { margin-top: 34px; font-size: 22px; }
.policy-article p, .policy-article li { color: #4f5f6c; }
.policy-article ul { padding-left: 20px; }
.policy-article li { margin-bottom: 12px; }
.policy-contact { margin-top: 55px; padding: 35px; background: #fff; border: 1px solid var(--line); }
.policy-contact h2 { font-size: 31px; }
.policy-contact a { color: var(--blue); font-weight: 700; }
.footer-bottom a { display: inline; padding: 0; }
.stack-form > small { color: var(--slate); }
.stack-form > small a { color: var(--blue); font-weight: 700; text-decoration: underline; }
.order-summary .summary-policy-link { display: block; margin-top: 8px; color: #fff; font-size: 12px; text-align: center; text-decoration: underline; }

@media (min-width: 700px) {
    .contact-band { grid-template-columns: 1.2fr 1fr 1fr; align-items: center; }
}

@media (min-width: 1020px) {
    .policy-layout { grid-template-columns: 250px 1fr; gap: 80px; }
    .policy-nav { position: sticky; top: 130px; display: grid; overflow: visible; align-self: start; }
    .policy-nav a { padding: 12px 15px; }
    .policy-content { max-width: 820px; }
}
