:root { --osg-blue:#0875bd; --osg-dark:#075486; --osg-soft:#eef7fc; }
.osg-page { background:#fff; }
.osg-page main h2 { font-size:clamp(1.65rem,4.5vw,2.35rem); }
.osg-eyebrow { color:var(--osg-blue); font-size:.73rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.osg-eyebrow--light { color:#8fd3ff; }
.osg-hero .osg-eyebrow { display:inline-flex; align-items:center; gap:9px; }
.osg-hero .osg-eyebrow::before { width:25px; height:2px; content:""; background:currentColor; }
.button--osg { color:#fff; background:var(--osg-blue); border-color:var(--osg-blue); white-space:nowrap; }
.button--osg:hover,.button--osg:focus-visible { color:#fff; background:var(--osg-dark); border-color:var(--osg-dark); }
.osg-hero { min-height:540px; display:grid; align-items:center; color:#fff; background-position:center; background-size:cover; }
.osg-hero__content { padding-block:58px 64px; }
.osg-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:30px; color:rgba(255,255,255,.72); font-size:.78rem; }
.osg-breadcrumb a { color:inherit; text-decoration:none; }.osg-breadcrumb a:hover,.osg-breadcrumb a:focus-visible { text-decoration:none; }.osg-breadcrumb svg { width:13px; height:13px; }.osg-breadcrumb--dark { color:var(--ink-600); }.osg-breadcrumb--dark a:hover { color:var(--osg-blue); }
.osg-hero h1 { max-width:740px; margin:0; color:#fff; font-size:clamp(2rem,8vw,3.25rem); line-height:1.15; }
.osg-hero__content>p { max-width:700px; margin-top:22px; color:rgba(255,255,255,.82); font-size:clamp(1rem,2.3vw,1.18rem); }
.osg-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.osg-hero__facts { display:grid; gap:14px; margin:44px 0 0; padding:0; list-style:none; }
.osg-hero__facts li { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:12px; }.osg-hero__facts strong { color:#fff; font-size:1.32rem; }.osg-hero__facts span { color:rgba(255,255,255,.72); font-size:.87rem; }
.osg-intro,.osg-catalog,.osg-library,.osg-category-listing,.osg-technical { padding:clamp(58px,8vw,104px) 0; }
.osg-intro__grid { display:grid; gap:24px; align-items:end; }.osg-intro h2,.osg-results h2,.osg-library h2,.osg-technical h2 { margin:8px 0 0; font-size:clamp(1.8rem,3vw,2.8rem); }.osg-intro p { color:var(--ink-600); }
.osg-catalog,.osg-category-listing { background:#f5f6f8; }.osg-catalog__layout { display:grid; gap:32px; }
.osg-filters { align-self:start; padding:22px; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 16px 36px rgba(18,28,45,.06); }
.osg-filters__heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid var(--line); font-size:.9rem; font-weight:800; }.osg-filters__heading button { padding:0; color:var(--osg-blue); background:none; border:0; font-size:.78rem; font-weight:700; cursor:pointer; }
.osg-filters fieldset { margin:0; padding:0; border:0; }.osg-filters legend { margin-bottom:12px; color:var(--ink-600); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.osg-filter-list { display:grid; gap:7px; }
.osg-filter-list button { width:100%; padding:11px 12px; color:var(--ink-700); background:#fff; border:1px solid transparent; border-radius:8px; text-align:left; font:inherit; font-size:.84rem; cursor:pointer; }.osg-filter-list button:hover,.osg-filter-list button.is-active { color:var(--osg-blue); background:var(--osg-soft); border-color:#c8e3f4; font-weight:800; }
.osg-results__header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:16px; margin-bottom:28px; }.osg-results__header p { margin:0; color:var(--ink-600); font-size:.86rem; }.osg-grid { display:grid; gap:22px; }
.osg-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 15px 34px rgba(18,28,45,.06); }.osg-card[hidden] { display:none; }
.osg-card__image { position:relative; display:block; aspect-ratio:16/10; padding:18px; background:linear-gradient(145deg,#fff,#eff3f6); }.osg-card__image img { width:100%; height:100%; object-fit:contain; }.osg-card__image span { position:absolute; top:14px; left:14px; padding:6px 9px; color:#fff; background:var(--osg-blue); border-radius:999px; font-size:.64rem; font-weight:800; }
.osg-card__body { display:flex; flex-direction:column; min-height:260px; padding:22px; }.osg-card__series,.osg-product-hero__series { margin:0 0 7px; color:var(--osg-blue); font-size:.72rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }.osg-card h3 { margin:0; font-size:1.15rem; }.osg-card h3 a { color:var(--ink-900); text-decoration:none; }.osg-card h3 a:hover,.osg-card h3 a:focus-visible { color:var(--osg-blue); text-decoration:none; }.osg-card__summary { margin:11px 0 22px; color:var(--ink-600); font-size:.86rem; }.osg-card__body>.button { align-self:flex-start; margin-top:auto; font-size:.78rem; }
.osg-empty { padding:50px; text-align:center; background:#fff; border:1px dashed var(--line); border-radius:var(--radius-lg); }
.osg-library { background:#fff; }
.osg-library header { max-width:760px; margin-bottom:36px; }
.osg-library header p { margin-top:14px; color:var(--ink-600); }
.osg-library__grid { display:grid; gap:20px; }
.osg-library-card { overflow:hidden; display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 14px 32px rgba(18,28,45,.06); transition:transform .2s ease,box-shadow .2s ease; }
.osg-library-card:hover { box-shadow:0 20px 42px rgba(18,28,45,.11); transform:translateY(-3px); }
.osg-library-card__image { aspect-ratio:376/531; display:block; padding:0; overflow:hidden; background:#fff; text-decoration:none; }
.osg-library-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.osg-library-card:hover .osg-library-card__image img { transform:scale(1.025); }
.osg-library-card__body { display:flex; flex:1; flex-direction:column; padding:20px; border-top:3px solid var(--osg-blue); }
.osg-library-card h3 { margin:0; font-size:1rem; line-height:1.25; }
.osg-library-card__body p { margin:10px 0 18px; color:var(--ink-600); font-size:.82rem; }
.osg-library-card__link { display:inline-flex; align-items:center; gap:7px; align-self:flex-start; margin-top:auto; color:var(--osg-blue); font-size:.78rem; font-weight:800; text-decoration:none; }
.osg-library-card__link:hover,.osg-library-card__link:focus-visible { color:var(--osg-dark); text-decoration:none; }
.osg-library-card__link svg { width:14px; height:14px; transition:transform .18s ease; }
.osg-library-card__link:hover svg { transform:translateX(3px); }
.osg-category-hero,.osg-product-hero { padding:38px 0 clamp(58px,8vw,98px); background:linear-gradient(135deg,#fff 0%,var(--osg-soft) 55%,#f5f6f8 100%); }.osg-category-hero h1,.osg-product-hero h1 { max-width:850px; margin:10px 0 15px; font-size:clamp(2.15rem,4.7vw,4rem); line-height:1.02; }.osg-category-hero p,.osg-product-hero__summary { max-width:680px; color:var(--ink-600); font-size:1.03rem; }
.osg-product-hero__grid { display:grid; gap:clamp(34px,6vw,80px); align-items:center; }.osg-product-hero__grid .button { margin-top:24px; }.osg-gallery { aspect-ratio:16/10; padding:clamp(18px,4vw,42px); background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 22px 48px rgba(18,28,45,.09); }.osg-gallery img { width:100%; height:100%; object-fit:contain; }
.osg-technical__grid { display:grid; gap:24px; }.osg-technical__grid>article,.osg-technical__grid>aside { padding:clamp(24px,4vw,42px); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 16px 38px rgba(18,28,45,.055); }.osg-technical ul { display:grid; gap:14px; margin:24px 0 0; padding:0; list-style:none; }.osg-technical li { position:relative; padding-left:22px; color:var(--ink-700); }.osg-technical li::before { position:absolute; top:.48em; left:0; width:8px; height:8px; content:''; background:var(--osg-blue); border-radius:50%; }.osg-technical aside { color:#fff; background:linear-gradient(145deg,#075486,#052f4d); border:0; }.osg-technical aside span { color:#8fd3ff; font-size:.73rem; font-weight:800; text-transform:uppercase; }.osg-technical aside h2 { color:#fff; font-size:clamp(1.65rem,4.5vw,2.35rem); }.osg-technical aside .button { margin-top:22px; background:#fff; border-color:#fff; color:var(--osg-dark); }
@media(min-width:620px){.osg-hero__facts { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:820px; }.osg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.osg-intro__grid { grid-template-columns:minmax(0,1fr) minmax(260px,.75fr); }.osg-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(min-width:900px){.osg-catalog__layout { grid-template-columns:250px minmax(0,1fr); gap:36px; }.osg-filters { position:sticky; top:110px; }.osg-product-hero__grid,.osg-technical__grid { grid-template-columns:minmax(0,1fr) minmax(380px,.8fr); }.osg-library__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }}
@media(min-width:1180px){.osg-catalog__layout { grid-template-columns:270px minmax(0,1fr); gap:42px; }.osg-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.osg-library__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }}
@media(max-width:619px){.osg-hero { min-height:590px; }}
