/* ---------- Quartz sensors (/qcm-sensors) · sensors-editorial.php · 2026-11-11 ----------
   A sensor drawn from the data sheet dimensions, to turn over and reconfigure; the part number writes itself.
   Section heads reuse .dv-section-head / .dv-num / .dv-cta (rules repeated here: devices.css is not loaded on this page).
   Text sizes on the site ladder: .6875 .75 .8125 .875 .9375 1 1.0625 1.125rem. */
.editorial-sensors main{display:block}
.sn{--gold:#d9b458;--sn-line:#9aaebc66;--sn-muted:#4b6575;
  /* front film (f) and back film (b) of the chosen surface: four stops of a brushed-metal gradient */
  --f1:#f8e7ab;--f2:#dcb85c;--f3:#a67c1e;--f4:#ecd184;--b1:#f8e7ab;--b2:#dcb85c;--b3:#a67c1e;--b4:#ecd184}
.sn[data-surf=pt]{--f1:#fbfdfe;--f2:#cdd6dc;--f3:#8d99a2;--f4:#e3e9ed;--b1:#fbfdfe;--b2:#cdd6dc;--b3:#8d99a2;--b4:#e3e9ed}
.sn[data-surf=ss316]{--f1:#d7dcde;--f2:#949ca0;--f3:#5c656a;--f4:#b0b7bb}
.sn[data-surf=ss304]{--f1:#e2ded6;--f2:#a8a39a;--f3:#726d65;--f4:#c3bfb6;--b1:#c9d0d3;--b2:#98a2a7;--b3:#6b757a;--b4:#b3bbbf}
.sn[data-surf=sio2]{--f1:#efe6c6;--f2:#c9b985;--f3:#93855a;--f4:#ded5b0}
.sn-f1{stop-color:var(--f1)}.sn-f2{stop-color:var(--f2)}.sn-f3{stop-color:var(--f3)}.sn-f4{stop-color:var(--f4)}
.sn-b1{stop-color:var(--b1)}.sn-b2{stop-color:var(--b2)}.sn-b3{stop-color:var(--b3)}.sn-b4{stop-color:var(--b4)}
.sn stop{transition:stop-color .6s}
.sn-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Shared section head (as on the Devices page) */
.sn .dv-num{color:#7f9aab}
.sn-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px 60px;align-items:end;margin-bottom:56px}
.sn-head .dv-num{grid-column:1/-1}
.sn-head h2{margin:0;font-weight:400;font-size:clamp(3rem,6.2vw,6.4rem);line-height:.94;letter-spacing:-.06em}
.sn h2 em,.sn h3 em,.sn-h1-serif{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.045em}
.sn-head h2 em{font-size:1.18em}
.sn-head p{margin:0 0 6px;font-size:1rem;line-height:1.55;letter-spacing:-.02em;max-width:34rem;padding-left:26px;border-left:1px solid currentColor;opacity:.85}
.sn h3{margin:0;font-weight:400;letter-spacing:-.04em}
.sn section{scroll-margin-top:70px}

/* ---------- Cover ---------- */
.sn-cover{position:relative;isolation:isolate;background:var(--night);color:#eef6fa;padding:0 4.6% 70px;overflow:hidden}
.sn-cover .header{padding-left:0;padding-right:0}
.sn-cover-glow{position:absolute;inset:8% -10% auto 38%;height:760px;background:radial-gradient(ellipse at 55% 45%,color-mix(in srgb,var(--f2) 26%,transparent),transparent 62%);z-index:-1;pointer-events:none;transition:background .6s}
.sn-cover-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:40px 5%;align-items:center;padding-top:22px}
.sn-cover h1{margin:0;font-weight:400;line-height:.92}
.sn-h1-name{display:block;color:#8fb0c3;margin-bottom:30px;line-height:1.7}
.sn-h1-name:before{content:'';display:inline-block;width:22px;height:2px;margin:0 10px 0 0;vertical-align:middle;background:var(--pa)}
.sn-h1-sans{display:block;font-size:clamp(2.6rem,5vw,5.2rem);letter-spacing:-.055em}
.sn-h1-serif{display:block;font-size:clamp(3.9rem,7.6vw,8.4rem);line-height:.92;margin:.04em 0 0 -.02em;color:#dff3fc}
.sn-lead{font-size:1.0625rem;line-height:1.55;letter-spacing:-.02em;color:#c3d6e0;max-width:34rem;margin:34px 0 0}
.sn-cover-links{display:flex;gap:40px;flex-wrap:wrap;margin-top:34px}
.sn-cover .line-link{color:#e6f4fb;min-width:190px}

/* The sensor: two faces on one body, tilted by the pointer, turned over by the button */
.sn-stage{margin:0;display:grid;justify-items:center;gap:26px}
.sn-coin{position:relative;width:min(100%,520px);aspect-ratio:1;perspective:1400px;touch-action:pan-y}
.sn-coin-body{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(calc(var(--rx,14) * 1deg)) rotateY(calc(var(--ry,-16) * 1deg + var(--turn,0deg)));transition:transform .9s cubic-bezier(.2,.7,.2,1);will-change:transform}
.sn-coin.is-live .sn-coin-body{transition:transform .12s linear}
.sn-coin.is-turning .sn-coin-body{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sn-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:visible;filter:drop-shadow(0 0 26px color-mix(in srgb,var(--f2) 22%,transparent))}
.sn-face--back{transform:rotateY(180deg)}
.sn[data-side=back]{--turn:180deg}
.sn-geo{display:none}
.sn[data-el="12"] .sn-geo--12,.sn[data-el="6"] .sn-geo--6{display:inline}
.sn-ghost{opacity:.42}
.sn-oxide{opacity:0;transition:opacity .6s}
.sn[data-surf=sio2] .sn-oxide{opacity:1}
.sn-sheen{transform:translateX(calc(var(--sheen,-40) * 1px)) rotate(24deg);transform-origin:0 0;transition:transform .9s cubic-bezier(.2,.7,.2,1);mix-blend-mode:screen}
.sn-coin.is-live .sn-sheen{transition:transform .12s linear}
.sn-coin-shadow{position:absolute;left:14%;right:14%;bottom:-7%;height:9%;background:radial-gradient(ellipse at center,#000a,transparent 68%);filter:blur(6px);z-index:-1}
.sn-stage-cap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 26px;color:#8fb0c3;width:100%}
.sn-dim{display:inline-flex;align-items:center;gap:10px;color:#c3d6e0}
.sn-dim i{display:block;width:34px;height:1px;background:#8fb0c3}
.sn-face-name{color:#dff3fc}
.sn-flip{background:none;border:1px solid #d5eaf370;color:#e6f4fb;padding:10px 16px;letter-spacing:.105em;transition:background .2s,border-color .2s}
.sn-flip:hover{background:#d5eaf315;border-color:#d5eaf3}
.sn-flip>span:first-child{display:inline-block;font-size:1rem;line-height:1;transition:transform .6s}
.sn[data-side=back] .sn-flip>span:first-child{transform:rotate(-180deg)}

/* The part number that writes itself */
.sn-build{border-top:1px solid var(--line);margin-top:54px;padding-top:22px}
.sn-build-title{margin:0;font-weight:400;color:#8fb0c3}
.sn-part{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 .16em;margin:18px 0 0;font-family:'IBM Plex Mono',monospace;font-size:clamp(1.9rem,6.3vw,6.6rem);line-height:1;letter-spacing:-.04em;color:#f1f8fb}
.sn-seg{display:inline-grid;justify-items:start;gap:14px}
.sn-seg b{font-weight:400;display:block;padding-bottom:.12em;border-bottom:1px solid #d5eaf340;transition:color .35s,border-color .35s}
.sn-seg i{font-style:normal;color:#7f9aab;font-size:.6875rem;letter-spacing:.105em;line-height:1.5;white-space:nowrap}
.sn-seg[data-seg] b{color:color-mix(in srgb,var(--f1) 82%,#fff);border-color:var(--f2)}
.sn-seg.is-new b{animation:sn-tick .5s cubic-bezier(.2,.7,.2,1)}
@keyframes sn-tick{from{transform:translateY(.28em);opacity:0}to{transform:none;opacity:1}}
.sn-dash{color:#3b5566;padding:0 .02em}
.sn-controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr);gap:26px 5%;margin-top:44px}
.sn-control-label{display:block;color:#8fb0c3;margin-bottom:12px}
.sn-options{display:flex;flex-wrap:wrap;gap:8px}
.sn-options button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 15px;background:none;border:1px solid #d5eaf340;color:#dbeaf1;font-size:.875rem;letter-spacing:-.01em;transition:background .25s,color .25s,border-color .25s,opacity .25s}
.sn-options button:hover{border-color:#d5eaf3}
.sn-options button[aria-pressed=true]{background:#edf1ec;border-color:#edf1ec;color:#10191e}
.sn-options button:disabled{opacity:.32;cursor:not-allowed;border-style:dashed}
.sn-options button:disabled:hover{border-color:#d5eaf340}
.sn-dot{display:inline-block;flex:none;width:11px;height:11px;border-radius:50%;background:linear-gradient(135deg,#f8e7ab,#a67c1e);box-shadow:0 0 0 1px #0002}
.sn-dot--pt{background:linear-gradient(135deg,#fbfdfe,#8d99a2)}
.sn-dot--ss316{background:linear-gradient(135deg,#d7dcde,#5c656a)}
.sn-dot--ss304{background:linear-gradient(135deg,#e2ded6,#726d65)}
.sn-dot--sio2{background:linear-gradient(135deg,#bfe9ff,#c9b985 55%,#c7b0ff)}
.sn-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:44px 0 0;border-top:1px solid var(--line)}
.sn-facts div{padding:16px 18px 4px 0;border-right:1px solid #d5eaf322;margin-right:18px}
.sn-facts div:last-child{border-right:0;margin-right:0}
.sn-facts dt{color:#7f9aab;font-size:.6875rem;margin-bottom:8px}
.sn-facts dd{margin:0;font-size:.9375rem;line-height:1.45;letter-spacing:-.015em;color:#e6f4fb}
.sn-facts dd b{font-weight:400;font-size:1.5rem;letter-spacing:-.04em;margin-right:4px}
.sn-build-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:34px}
.sn-btn{display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:0 20px;border:1px solid #d5eaf370;color:#edf1ec;font-size:.875rem;transition:background .2s,border-color .2s,color .2s}
.sn-btn:hover{background:#d5eaf315;border-color:#d5eaf3}
.sn-btn--solid{background:#edf1ec;border-color:#edf1ec;color:#10191e}
.sn-btn--solid:hover{background:#fff;border-color:#fff}
.sn-build-note{color:#7f9aab;margin-left:auto;text-transform:none;letter-spacing:.02em}

/* ---------- 01 Anatomy ---------- */
.sn-anatomy{background:#edf1ec;color:var(--ink);padding:clamp(80px,9vw,140px) 4.6%}
.sn-section-fig{margin:0 0 20px}
.sn-section-fig svg{display:block;width:100%;height:auto;max-width:1180px;margin:0 auto;overflow:visible;font-family:'IBM Plex Mono',monospace}
.sn-section-fig figcaption{color:var(--sn-muted);text-transform:none;letter-spacing:.02em;text-align:center;margin-top:6px}
.sn-x-layer{fill:#4fa4ce;opacity:.5}
.sn-x-wave{stroke:#00688D;stroke-width:1.6}
.sn-x-arrow{fill:none;stroke:#11212d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sn-x-pins path{fill:none;stroke:#11212d;stroke-width:1.6}.sn-x-pins circle{fill:#11212d}
.sn-x-leads path{fill:none;stroke:#8aa0ad;stroke-width:1}
.sn-x-labels text{font-size:13px;fill:#33495a;letter-spacing:.02em}
.sn-x-labels .sn-x-in{fill:#4b6575;font-size:12px}
.sn-x-sandwich{transform-origin:500px 192px;animation:sn-shear 2.4s ease-in-out infinite alternate}
@keyframes sn-shear{from{transform:skewX(-2.2deg)}to{transform:skewX(2.2deg)}}
.sn-x-arrow--a{animation:sn-push 2.4s ease-in-out infinite alternate}
.sn-x-arrow--b{animation:sn-push 2.4s ease-in-out infinite alternate-reverse}
@keyframes sn-push{from{opacity:.25}to{opacity:1}}
.sn-scale{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px 26px;align-items:center;border-top:1px solid var(--sn-line);border-bottom:1px solid var(--sn-line);padding:26px 0;margin:46px 0 0;color:var(--sn-muted)}
.sn-scale-bar{position:relative;height:18px;background:#fff;border:1px solid #9fb3bf}
.sn-scale-bar i{position:absolute;left:-1px;top:-9px;bottom:-9px;width:1px;background:var(--f3);box-shadow:0 0 0 .5px var(--f3)}
.sn-scale p{grid-column:2;margin:0;font-size:.9375rem;line-height:1.6;letter-spacing:-.015em;max-width:60rem;color:#33495a}
.sn-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 5%;margin-top:64px}
.sn-principles article{display:flex;flex-direction:column;border-top:1px solid #11212d;padding-top:18px}
.sn-principles h3{font-size:clamp(1.9rem,2.9vw,2.8rem);line-height:1.02;margin:16px 0 18px}
.sn-principles h3 em{font-size:1.14em}
.sn-principles .sn-eq{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;letter-spacing:-.02em;font-size:clamp(2.1rem,3.2vw,3.1rem)}
.sn-principles p{margin:0 0 26px;font-size:.9375rem;line-height:1.65;letter-spacing:-.015em;color:#33495a}
.sn-principles .line-link{margin-top:auto;align-self:flex-start;color:var(--ink)}

/* ---------- 02 Surfaces ---------- */
.sn-surfaces{background:linear-gradient(180deg,#e4ebf0,#eef2f5);color:var(--ink);padding:clamp(80px,9vw,140px) 4.6%}
.sn-surface-list{list-style:none;margin:0;padding:0;border-top:1px solid #11212d}
.sn-surface{display:grid;grid-template-columns:96px 150px minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1.1fr);gap:8px 32px;align-items:center;padding:26px 0;border-bottom:1px solid var(--sn-line);transition:background .3s}
.sn-surface:hover{background:#ffffff66}
.sn-swatch{display:block;width:84px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff9,#cfe6f233 60%,#9cc3d655);box-shadow:inset 0 0 0 1px #8fb0c399;display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sn-swatch i{display:block;width:72%;aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,#f8e7ab,#dcb85c 34%,#a67c1e 62%,#ecd184);box-shadow:inset 0 0 0 1px #fff6}
.sn-surface:hover .sn-swatch{transform:rotate(-18deg) scale(1.06)}
.sn-surface[data-surf=pt] .sn-swatch i{background:linear-gradient(135deg,#fbfdfe,#cdd6dc 34%,#8d99a2 62%,#e3e9ed)}
.sn-surface[data-surf=ss316] .sn-swatch i{background:linear-gradient(135deg,#d7dcde,#949ca0 34%,#5c656a 62%,#b0b7bb)}
.sn-surface[data-surf=ss304] .sn-swatch i{background:linear-gradient(135deg,#e2ded6,#a8a39a 34%,#726d65 62%,#c3bfb6)}
.sn-surface[data-surf=sio2] .sn-swatch i{background:linear-gradient(135deg,#7fd0ffaa,#b79cff77 55%,#ffb3e666),linear-gradient(135deg,#efe6c6,#c9b985 34%,#93855a 62%,#ded5b0)}
.sn-surface-no{color:var(--sn-muted)}
.sn-surface h3{font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.05}
.sn-surface p{margin:0;font-size:.9375rem;line-height:1.6;letter-spacing:-.015em;color:#33495a}
.sn-surface .sn-surface-stack{grid-column:4;font-size:.6875rem;line-height:1.6;letter-spacing:.06em;text-transform:none;color:var(--sn-muted)}
.sn-chips{grid-column:5;grid-row:1 / span 2;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.sn-chips a{border:1px solid #11212d55;padding:7px 10px;font-size:.6875rem;letter-spacing:.06em;text-transform:none;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.sn-chips a:hover{background:var(--ink);border-color:var(--ink);color:#edf1ec}

/* ---------- 03 Frequency and electrodes ---------- */
.sn-choice{background:var(--night);color:#eef6fa;padding:clamp(80px,9vw,140px) 4.6%}
.sn-versus{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,.6fr) minmax(0,1.3fr);gap:30px 5%;align-items:end;border-top:1px solid var(--line);padding-top:26px}
.sn-big{margin:18px 0 26px;font-size:clamp(3.4rem,6.6vw,6.8rem);line-height:.9;letter-spacing:-.06em}
.sn-big small{display:block;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.06em;color:#8fb0c3}
.sn-slab{display:block;width:100%;max-width:300px;background:linear-gradient(180deg,#eaf7fd33,#cfe6f214);border:1px solid #d5eaf370;border-top:3px solid var(--f2);border-bottom:3px solid var(--b3);transition:border-color .6s}
.sn-slab--5{height:66px}.sn-slab--10{height:34px}
.sn-slab-cap{margin:12px 0 0;color:#8fb0c3;text-transform:none;letter-spacing:.04em}
.sn-versus-table{width:100%;border-collapse:collapse;font-size:.875rem;letter-spacing:-.01em}
.sn-versus-table caption{text-align:left;color:#8fb0c3;padding-bottom:12px}
.sn-versus-table th,.sn-versus-table td{text-align:left;padding:13px 14px 13px 0;border-top:1px solid #d5eaf322;vertical-align:top;font-weight:400}
.sn-versus-table thead th{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.105em;text-transform:uppercase;color:#8fb0c3;border-top:1px solid var(--line)}
.sn-versus-table tbody th{color:#c3d6e0}
.sn-versus-table td{font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.03em;color:#e6f4fb;white-space:nowrap}
.sn-electrodes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 5%;margin-top:80px}
.sn-electrodes article{border-top:1px solid var(--line);padding-top:18px}
.sn-electrodes h3{font-size:clamp(1.6rem,2.3vw,2.2rem);line-height:1.06;margin:16px 0 16px}
.sn-electrodes h3 em{font-size:1.14em}
.sn-electrodes p{margin:0;font-size:.9375rem;line-height:1.65;letter-spacing:-.015em;color:#c3d6e0}
.sn-electrodes p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ---------- 04 The range ---------- */
.sn-range{background:#edf1ec;color:var(--ink);padding:clamp(80px,9vw,140px) 4.6%}
.sn-table-wrap{position:relative;overflow-x:auto;border-top:1px solid #11212d;border-bottom:1px solid #879ba8}
.sn-table-wrap:focus-visible{outline:2px solid #4fa4ce;outline-offset:4px}
.sn-table{width:100%;min-width:1080px;border-collapse:collapse;font-size:.875rem;letter-spacing:-.01em}
.sn-table th,.sn-table td{text-align:left;padding:15px 16px 15px 0;border-bottom:1px solid var(--sn-line);vertical-align:middle;font-weight:400}
.sn-table thead th{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.105em;text-transform:uppercase;color:var(--sn-muted);padding-top:13px;padding-bottom:13px}
.sn-table tbody tr{transition:background .2s}
.sn-table tbody tr:hover{background:#fff}
.sn-table tbody tr:last-child th,.sn-table tbody tr:last-child td{border-bottom:0}
.sn-table small{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;color:var(--sn-muted)}
.sn-table-part{display:inline-flex;align-items:center;gap:10px;text-transform:none;letter-spacing:.03em;font-size:.8125rem;color:var(--ink);border-bottom:1px solid transparent;white-space:nowrap}
.sn-table-part:hover{border-bottom-color:currentColor}
.sn-table td:nth-child(8),.sn-table td:nth-child(9),.sn-table td:nth-child(3),.sn-table td:nth-child(4),.sn-table td:nth-child(6),.sn-table td:nth-child(7){white-space:nowrap}
.sn-table thead small{display:block;text-transform:none;letter-spacing:.04em;margin-top:2px}
.sn-table td:nth-child(9) a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sn-table-links{white-space:nowrap;text-align:right!important;padding-right:0!important}
.sn-table-links a{display:inline-block;margin-left:8px;border:1px solid #11212d55;padding:6px 10px;font-size:.6875rem;transition:background .2s,color .2s}
.sn-table-links a:hover{background:var(--ink);color:#edf1ec}
.sn-table-note{margin:14px 0 0;text-transform:none;letter-spacing:.02em;color:var(--sn-muted);max-width:76rem}

/* ---------- 05 Cleaning and care ---------- */
.sn-care{background:#0d1519;color:#eef6fa;padding:clamp(80px,9vw,140px) 4.6%}
.sn-care .sn-table-note{color:#8fb0c3}
.sn-rules{border-top:1px solid var(--line);padding-top:18px}
.sn-rules h3{font-family:'IBM Plex Mono',monospace;margin-bottom:6px}
.sn-rules ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 5%;counter-reset:sn-rule}
.sn-rules li{counter-increment:sn-rule;position:relative;padding:22px 0 22px 54px;border-bottom:1px solid #d5eaf322;font-size:.9375rem;line-height:1.6;letter-spacing:-.015em;color:#c3d6e0}
.sn-rules li:before{content:counter(sn-rule,decimal-leading-zero);position:absolute;left:0;top:20px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:2rem;line-height:1;color:color-mix(in oklab,var(--pa) 66%,#eef6fa)}
.sn-rules b{font-weight:500;color:#f1f8fb}
.sn-compat{margin-top:88px}
.sn-compat-head,.sn-levels-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px;margin-bottom:26px}
.sn-compat-head h3,.sn-levels-head h3,.sn-wear h3:not(.mono){font-size:clamp(2rem,3.6vw,3.6rem);line-height:1}
.sn-care h3 em{font-size:1.14em}
.sn-compat-key{margin:0;display:flex;flex-wrap:wrap;gap:8px}
.sn-care .sn-table-wrap{border-top-color:var(--line);border-bottom-color:#d5eaf340}
.sn-matrix{width:100%;min-width:860px;border-collapse:collapse;font-size:.875rem;letter-spacing:-.01em}
.sn-matrix th,.sn-matrix td{text-align:left;padding:13px 18px 13px 0;border-bottom:1px solid #d5eaf322;vertical-align:top;font-weight:400}
.sn-matrix thead th{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.105em;text-transform:uppercase;color:#8fb0c3;white-space:nowrap}
.sn-matrix thead .sn-dot{margin-right:9px;vertical-align:-1px}
.sn-matrix tbody th{color:#e6f4fb;width:24%}
.sn-matrix td{width:19%}
.sn-matrix tbody tr:hover{background:#ffffff08}
.sn-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border:1px solid currentColor;border-radius:999px;background:none;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;line-height:1;white-space:nowrap}
button.sn-chip{cursor:pointer;transition:background .2s,color .2s}
.sn-chip--safe{color:#7fd6a8}.sn-chip--caution{color:#e7c46a}.sn-chip--avoid{color:#f09a6a}.sn-chip--never{color:#ff8f8f}.sn-chip--none{color:#5f7886;border-color:transparent;padding:0 4px}
.sn-compat-key .sn-chip--none{border-color:#5f7886;padding:0 11px}
button.sn-chip--safe:hover,button.sn-chip--safe[aria-expanded=true]{background:#7fd6a8;color:#0d1519}
button.sn-chip--caution:hover,button.sn-chip--caution[aria-expanded=true]{background:#e7c46a;color:#0d1519}
button.sn-chip--avoid:hover,button.sn-chip--avoid[aria-expanded=true]{background:#f09a6a;color:#0d1519}
button.sn-chip--never:hover,button.sn-chip--never[aria-expanded=true]{background:#ff8f8f;color:#0d1519}
.sn-note{display:block;margin-top:8px;font-size:.8125rem;line-height:1.5;color:#a9c0cc;max-width:22rem}
.sn-js .sn-note{display:none}
.sn-js .sn-note.is-open{display:block;animation:sn-tick .35s cubic-bezier(.2,.7,.2,1)}
.sn-levels{margin-top:88px}
.sn-tabs{display:flex;flex-wrap:wrap;gap:8px}
.sn-tabs button{min-height:44px;padding:0 16px;background:none;border:1px solid #d5eaf340;color:#dbeaf1;font-size:.875rem;transition:background .25s,color .25s,border-color .25s}
.sn-tabs button:hover{border-color:#d5eaf3}
.sn-tabs button[aria-selected=true]{background:#edf1ec;border-color:#edf1ec;color:#10191e}
.sn-panel{border-top:1px solid var(--line);padding-top:22px}
.sn-panel+.sn-panel{margin-top:54px}
.sn-js .sn-panel+.sn-panel{margin-top:0}
.sn-js .sn-panel[hidden]{display:none}
.sn-panel-name{margin:0 0 10px;font-weight:400;font-family:'IBM Plex Mono',monospace;font-size:.75rem;letter-spacing:.105em;text-transform:uppercase;color:#8fb0c3}
.sn-js .sn-panel-name{display:none}
.sn-panel-why{margin:0 0 30px;max-width:56rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.2;letter-spacing:-.02em;color:#f1f8fb}
.sn-steps{list-style:none;margin:0 0 34px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 5%}
.sn-steps li{border-top:1px solid #d5eaf340;padding-top:14px}
.sn-steps li:nth-child(1){border-top-color:#7fd6a8}.sn-steps li:nth-child(2){border-top-color:#e7c46a}.sn-steps li:nth-child(3){border-top-color:#f09a6a}
.sn-steps .mono{color:#8fb0c3}
.sn-steps p{margin:12px 0 0;font-size:.9375rem;line-height:1.65;letter-spacing:-.015em;color:#c3d6e0}
.sn-care .line-link{color:#e6f4fb}
.sn-wear{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px 6%;margin-top:96px;border-top:1px solid var(--line);padding-top:26px}
.sn-wear h3:not(.mono){margin:16px 0 20px}
.sn-wear-copy p,.sn-replace p{margin:0;font-size:.9375rem;line-height:1.65;letter-spacing:-.015em;color:#c3d6e0;max-width:38rem}
.sn-bars{list-style:none;margin:0;padding:0;align-self:end;display:grid;gap:18px}
.sn-bars li{display:grid;grid-template-columns:150px minmax(0,1fr) 60px;align-items:center;gap:16px;font-size:.875rem;color:#c3d6e0}
.sn-bars i{display:block;height:14px;width:calc(var(--w) * 4%);background:linear-gradient(90deg,#7fd6a8,#e7c46a);min-width:6px}
.sn-bars li:nth-child(2) i{background:linear-gradient(90deg,#e7c46a,#f09a6a)}.sn-bars li:nth-child(3) i{background:linear-gradient(90deg,#f09a6a,#ff8f8f)}
.sn-bars b{font-weight:400;font-size:1.5rem;letter-spacing:-.04em;color:#f1f8fb}
.sn-replace{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 6%;border-top:1px solid #d5eaf322;padding-top:22px}
.sn-replace h3{grid-column:1/-1;font-family:'IBM Plex Mono',monospace}
.sn-replace ul{margin:0;padding:0;list-style:none}
.sn-replace li{position:relative;padding:9px 0 9px 22px;border-bottom:1px solid #d5eaf322;font-size:.9375rem;line-height:1.5;color:#c3d6e0}
.sn-replace li:before{content:'';position:absolute;left:0;top:19px;width:10px;height:1px;background:#ff8f8f}

/* ---------- 06 Documents ---------- */
.sn-docs{background:linear-gradient(180deg,#e4ebf0,#eef2f5);color:var(--ink);padding:clamp(80px,9vw,140px) 4.6%}
.sn-docs-grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:40px 6%;align-items:start}
.sn-catalogue{display:grid;gap:12px;color:var(--ink)}
.sn-catalogue picture{display:block;overflow:hidden;box-shadow:0 30px 60px -30px #11212d66,0 0 0 1px #9aaebc66;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.sn-catalogue img{display:block;width:100%;height:auto}
.sn-catalogue:hover picture{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 44px 70px -30px #11212d88,0 0 0 1px #9aaebc66}
.sn-catalogue .dv-num{margin-top:10px;color:var(--sn-muted)}
.sn-catalogue strong{font-weight:400;font-size:1.25rem;line-height:1.2;letter-spacing:-.03em}
.sn-catalogue .line-link{justify-self:start;margin-top:8px}
.sn-sheets{list-style:none;margin:0;padding:0;border-top:1px solid #11212d}
.sn-sheets a{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 0;border-bottom:1px solid var(--sn-line);font-size:.9375rem;letter-spacing:-.015em;transition:background .2s,padding .25s}
.sn-sheets a:hover{background:#fff;padding-left:12px;padding-right:12px}
.sn-sheets .mono{text-transform:none;letter-spacing:.03em;font-size:.8125rem}
.sn-sheets a>span:nth-child(3){color:#33495a}
.sn-sheets .sn-sheet-get{color:var(--sn-muted);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.sn-sources{margin-top:80px;border-top:1px solid var(--sn-line);padding-top:18px;color:#33495a}
.sn-sources h3{font-family:'IBM Plex Mono',monospace;color:var(--sn-muted)}
.sn-sources ol{margin:18px 0 14px;padding:0 0 0 20px;columns:2;column-gap:6%;font-size:.8125rem;line-height:1.6}
.sn-sources li{break-inside:avoid;margin-bottom:10px;padding-left:4px}
.sn-sources a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.sn-sources p{margin:0;font-size:.8125rem}

/* ---------- 07 Talk with us (as .dv-cta on the Devices page) ---------- */
.sn-cta{background:var(--night);color:#eef6fa;padding:clamp(80px,9vw,130px) 4.6%;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:40px 8%;align-items:end}
.sn-cta h2{margin:16px 0 22px;font-weight:400;font-size:clamp(3rem,6.2vw,6.4rem);line-height:.94;letter-spacing:-.06em}
.sn-cta h2 em{font-size:1.18em}
.sn-cta p{margin:0;font-size:1rem;line-height:1.55;letter-spacing:-.02em;max-width:36rem;color:#c3d6e0}
.sn-cta .dv-cta-links{display:grid;gap:22px}
.sn-cta .line-link{color:#e6f4fb;width:100%}

/* ---------- Widths ---------- */
@media (max-width:1100px){
  .sn-cover-grid{grid-template-columns:1fr}
  .sn-coin{width:min(78%,440px)}
  .sn-controls{grid-template-columns:1fr 1fr}.sn-controls .sn-control:first-child{grid-column:1/-1}
  .sn-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sn-facts div:nth-child(3){border-right:0;margin-right:0}
  .sn-facts div:nth-child(n+4){border-top:1px solid #d5eaf322}
  .sn-surface{grid-template-columns:72px minmax(0,.7fr) minmax(0,1.3fr);gap:8px 22px}
  .sn-swatch{width:64px}.sn-surface-no{grid-column:2}.sn-surface h3{grid-column:2}.sn-surface p{grid-column:3;grid-row:1 / span 2}
  .sn-surface .sn-surface-stack{grid-column:3;grid-row:auto}.sn-surface .sn-swatch{grid-row:1 / span 2}
  .sn-chips{grid-column:2 / -1;grid-row:auto;justify-content:flex-start}
  .sn-versus{grid-template-columns:1fr 1fr}.sn-versus-table{grid-column:1/-1}
  .sn-rules ol{grid-template-columns:1fr 1fr}
  .sn-docs-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .sn-sheets a{grid-template-columns:auto minmax(0,1fr) auto}.sn-sheets a>span:nth-child(3){display:none}
}
@media (max-width:760px){
  .sn-head{grid-template-columns:1fr;margin-bottom:36px}
  .sn-head h2,.sn-cta h2{font-size:clamp(2.5rem,12vw,3.4rem)}
  .sn-head p{padding-left:18px}
  .sn-cover{padding-bottom:54px}
  /* phones: the sensor right under the headline, the text after it */
  .sn-cover-grid{gap:26px}.sn-cover-copy{display:contents}.sn-cover-copy h1{order:1}.sn-stage{order:2}.sn-lead{order:3;margin-top:8px}.sn-cover-links{order:4;margin-top:6px;gap:18px 30px}
  .sn-cover .line-link{min-width:0;flex:1 1 auto}
  .sn-h1-sans{font-size:2.6rem}.sn-h1-serif{font-size:3.5rem}
  .sn-coin{width:min(86%,360px)}
  .sn-part{font-size:clamp(1.05rem,5.7vw,2.2rem);gap:0 .08em;flex-wrap:nowrap}
  .sn-seg i{display:none} /* the three choices below carry the same names */
  .sn-controls{grid-template-columns:1fr;margin-top:34px}
  .sn-options button{flex:1 1 auto;justify-content:center}
  .sn-facts{grid-template-columns:1fr 1fr}
  .sn-facts div{border-right:0!important;margin-right:0!important;border-top:1px solid #d5eaf322;padding-right:12px}
  .sn-facts div:nth-child(-n+2){border-top:0}
  .sn-build-links .sn-btn{flex:1 1 100%;justify-content:space-between}
  .sn-build-note{margin-left:0}
  .sn-section-fig{overflow-x:auto;margin-left:-4.6vw;margin-right:-4.6vw;padding:0 4.6vw}
  .sn-section-fig svg{min-width:720px}
  .sn-scale{grid-template-columns:1fr}.sn-scale p{grid-column:1}
  .sn-principles,.sn-electrodes,.sn-steps{grid-template-columns:1fr}
  .sn-electrodes{margin-top:56px}
  .sn-surface{grid-template-columns:56px minmax(0,1fr);gap:6px 16px;padding:22px 0}
  .sn-swatch{width:52px;grid-row:1 / span 2}.sn-surface-no,.sn-surface h3{grid-column:2}
  .sn-surface p,.sn-surface .sn-surface-stack,.sn-chips{grid-column:1 / -1;grid-row:auto}
  .sn-surface p{margin-top:8px}
  .sn-versus{grid-template-columns:1fr 1fr;gap:26px 6%}
  .sn-big{font-size:3.2rem}
  .sn-versus-table td{white-space:normal}
  .sn-table-wrap:before{content:'Swipe the table \2192';display:block;position:sticky;left:0;width:max-content;padding:10px 0 2px;font:11px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--sn-muted)}
  .sn-care .sn-table-wrap:before{color:#8fb0c3}
  .sn-rules ol{grid-template-columns:1fr}
  .sn-matrix{min-width:700px}.sn-matrix tbody th{width:30%}
  .sn-compat,.sn-levels{margin-top:64px}
  .sn-tabs button{flex:1 1 auto}
  .sn-wear{grid-template-columns:1fr;margin-top:70px}
  .sn-bars li{grid-template-columns:112px minmax(0,1fr) 52px;gap:10px}
  .sn-replace{grid-template-columns:1fr}
  .sn-docs-grid{grid-template-columns:1fr}
  .sn-catalogue picture{max-width:300px}
  .sn-sources ol{columns:1}
  .sn-cta{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .sn-x-sandwich,.sn-x-arrow--a,.sn-x-arrow--b,.sn-seg.is-new b{animation:none}
  .sn-coin-body,.sn-sheen,.sn stop{transition:none}
}
@media print{.sn-coin-shadow,.sn-flip,.sn-controls,.sn-build-note{display:none}}

/* ---------- The catalogue pop-up: subscription, then the download (inc/sensors.php) ---------- */
.sn-gate{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #adc4c755;background:#10191e;color:#eef6fa;overflow:auto;box-shadow:0 40px 120px #000c}
.sn-gate::backdrop{background:#060b0ecc;backdrop-filter:blur(6px)}
.sn-gate[open]{animation:sn-gate-in .45s cubic-bezier(.2,.7,.2,1)}
@keyframes sn-gate-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.sn-gate-close{position:absolute;top:8px;right:8px;margin:0;z-index:2}
.sn-gate-close button{width:44px;height:44px;background:none;border:0;color:#c3d6e0;font-size:1.75rem;line-height:1;font-family:Manrope,Arial,sans-serif}
.sn-gate-close button:hover{color:#fff}
.sn-gate-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}
.sn-gate-cover{display:block;background:#dfe7ec}
.sn-gate-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.sn-gate-body{padding:44px 44px 36px}
.sn-gate-kicker{display:block;color:#8fb0c3;margin-bottom:18px}
.sn-gate-kicker:before{content:'';display:inline-block;width:22px;height:2px;margin:0 10px 0 0;vertical-align:middle;background:var(--pa,#c39a2c)}
.sn-gate h2{margin:0;font-weight:400;font-size:clamp(2rem,3.6vw,3rem);line-height:.98;letter-spacing:-.05em}
.sn-gate h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.04em;font-size:1.16em;color:color-mix(in oklab,var(--pa,#c39a2c) 70%,#eef6fa)}
.sn-gate-lead{margin:20px 0 26px;font-size:.9375rem;line-height:1.6;letter-spacing:-.015em;color:#c3d6e0}
.sn-gate-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sn-gate-form label{display:grid;gap:7px}
.sn-gate-form label .mono{color:#8fb0c3;font-size:.6875rem}
.sn-gate-form input[type=text],.sn-gate-form input[type=email]{width:100%;min-height:48px;padding:0 14px;border:1px solid #d5eaf355;border-radius:0;background:#0b1317;color:#f1f8fb;font:inherit;font-size:1rem}
.sn-gate-form input::placeholder{color:#6f8794}
.sn-gate-form input:focus-visible{outline:2px solid #4fa4ce;outline-offset:2px;border-color:#d5eaf3}
.sn-gate-form .sn-btn{grid-column:1/-1;justify-content:space-between;font:inherit;font-size:.9375rem;cursor:pointer}
.sn-gate-form .sn-btn:disabled{opacity:.7;cursor:default}
.sn-gate-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sn-gate-msg{grid-column:1/-1;margin:0;font-size:.9375rem;line-height:1.5;color:#ff8f8f}
.sn-gate-msg:empty{display:none}
.sn-gate-msg.is-ok{color:#eef6fa}
.sn-gate-msg a{color:#f1f8fb;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sn-gate-note{grid-column:1/-1;margin:0;font-size:.8125rem;line-height:1.5;color:#8fb0c3}
.sn-gate-note a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sn-sources p a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media (max-width:760px){
  .sn-gate-grid{grid-template-columns:1fr}
  .sn-gate-cover{display:none}
  .sn-gate-body{padding:54px 22px 26px}
  .sn-gate-form{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.sn-gate[open]{animation:none}}
