/*
 * PELMY theme · main stylesheet
 * Ported from the 10.2026 prototype (web_site.tpl.html + webkit/common.css).
 * Class names are kept exactly as in the prototype. The prototype's SPA page
 * switching (.page / .page.on) is removed; every template renders normally.
 * Two styles: cinematic (dark, default) and editorial (white): body.editorial
 * (the prototype used body.lt for the same switch).
 */

/* ---------- Tokens ---------- */
:root{
	--p-navy:#00385C;
	--p-red:#DF3626;
	--p-red-hover:#ff4a37;
	--p-dark:#05080D;
	--p-card:#0A1520;
	--p-card2:#12304A;
	--p-light:#EEF2F5;
	--p-ink:#0B1B2B;
	--p-muted:#5B6F80;
	--p-text:#e9eef3;
	--p-soft:#93a3b0;
	--p-gutter:56px;
	--p-font:"Lato",Helvetica,Arial,sans-serif;
}

/* ---------- Fonts (self-hosted Lato, no third-party requests) ---------- */
@font-face{font-family:"Lato";src:url(../fonts/lato-300.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url(../fonts/lato-400.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url(../fonts/lato-700.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Lato";src:url(../fonts/lato-900.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}

/* ---------- Base (common.css) ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--p-font);-webkit-font-smoothing:antialiased;background:var(--p-dark);color:var(--p-text);overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
/* Short pages (legal, 404): the footer stays at the bottom of the window. */
#content{flex:1 0 auto}
a{color:inherit;text-decoration:none;cursor:pointer}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--p-red);outline-offset:3px}
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.marq{display:flex;gap:80px;white-space:nowrap;animation:mq 30s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}

.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--p-red);color:#fff;padding:10px 16px;border-radius:30px;font-weight:700;font-size:14px}
.skip:focus{top:16px}

/* ---------- Navigation ---------- */
nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px var(--p-gutter);transition:padding .4s,background-color .4s,border-color .4s}
/* backdrop-filter is not transitioned: while it animates, the fixed mobile menu would be clipped to the bar */
nav.site-nav.sc{background:rgba(5,8,13,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:14px var(--p-gutter);border-bottom:1px solid rgba(255,255,255,.08)}
nav.site-nav .brand img{height:64px;width:auto;transition:.4s}nav.site-nav.sc .brand img{height:50px}
nav.site-nav .m{display:flex;gap:38px;font-size:14px;letter-spacing:.4px;color:#c9d3dc}
nav.site-nav .m a:hover{color:#fff}
nav.site-nav .m a.on{color:#fff;border-bottom:2px solid var(--p-red);padding-bottom:4px}
nav.site-nav .m .mcta{display:none}
nav.site-nav .ld{display:none}
.nt{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;position:relative;z-index:3}
.nt span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:.3s}
nav.site-nav.open .nt span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.site-nav.open .nt span:nth-child(2){opacity:0}
nav.site-nav.open .nt span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:40px;font-weight:700;font-size:14px;letter-spacing:.3px;transition:.3s;cursor:pointer;font-family:var(--p-font)}
.b1{background:var(--p-red);color:#fff;border:0}.b1:hover{background:var(--p-red-hover);transform:translateY(-2px)}
.b2{border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent}.b2:hover{background:rgba(255,255,255,.08)}

/* ---------- Home: hero ---------- */
.hero{position:relative;height:100vh;min-height:760px;overflow:hidden;display:flex;align-items:center}
.hero .bg{position:absolute;inset:0;background:url(../img/hero-surgeon.jpg) 78% 30%/cover;transform:scale(1.08);animation:zoom 18s ease-out forwards}
@keyframes zoom{to{transform:scale(1)}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,13,.96) 0%,rgba(5,8,13,.8) 40%,rgba(5,8,13,.15) 75%),linear-gradient(0deg,var(--p-dark) 0%,transparent 35%)}
.hero .c{position:relative;z-index:2;padding:110px var(--p-gutter) 40px;max-width:760px}
.eyebrow{font-size:13px;letter-spacing:4px;color:var(--p-red);font-weight:700;text-transform:uppercase}
.hero h1{font-size:96px;line-height:.98;font-weight:900;letter-spacing:-3px;margin:22px 0 26px}
.hero h1 span{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75)}
.hero p{font-size:20px;line-height:1.6;color:#b9c5cf;max-width:620px;font-weight:300}
.hero .cta{display:flex;gap:14px;margin-top:38px}
.scroll{position:absolute;right:var(--p-gutter);bottom:56px;z-index:2;font-size:12px;letter-spacing:3px;color:#8796a3;writing-mode:vertical-rl}

/* ---------- Sections ---------- */
section{padding:140px var(--p-gutter)}
.h2{font-size:64px;font-weight:900;letter-spacing:-2px;line-height:1.02}
.lead{font-size:19px;color:var(--p-soft);line-height:1.7;font-weight:300;max-width:560px}
.row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:70px}
.row .side{max-width:520px}.row .side .btn{margin-top:26px}
.mt16{margin-top:16px}.mt14{margin-top:14px}

/* ---------- Home: portfolio bento ---------- */
/* Row height follows the column width (1fr : row = 1.106, as at 1440px), so the
   %-positioned product images keep the same framing at every screen width. */
.prods{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:340px;grid-auto-rows:calc((100vw - 2*var(--p-gutter) - 36px)/3.76);gap:18px}
.pc{position:relative;border-radius:28px;overflow:hidden;background:radial-gradient(120% 90% at 70% 20%,var(--p-card2) 0%,var(--p-card) 55%,#070c12 100%);border:1px solid rgba(255,255,255,.07);padding:34px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .5s,border-color .5s;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.pc:hover{transform:perspective(1000px) translateY(-6px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));border-color:rgba(223,54,38,.6)}
.pc img{position:absolute;right:-6%;bottom:6%;width:78%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.6));transition:.6s}
.pc:hover img{transform:scale(1.05) rotate(-2deg)}
.pc.big{grid-row:span 2}.pc.big img{width:105%;right:-12%;bottom:18%}
.pc>div{position:relative;z-index:2}
.tag{font-size:11px;letter-spacing:3px;color:var(--p-red);font-weight:700}
.pc h3{font-size:30px;font-weight:900;letter-spacing:-.5px;margin-top:8px}
.pc .d{font-size:14px;color:#8fa0ae;max-width:230px;line-height:1.55;position:relative;z-index:2}
.arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:18px;position:relative;z-index:2}
/* Per-card image placement (inline styles in the prototype) */
.pc .i-trinity{width:96%;right:-8%;bottom:22%}
.pc .i-jplasma{width:66%;right:0;bottom:24%;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 98%);mask-image:linear-gradient(90deg,#000 62%,transparent 98%)}
.pc .i-innovexview{width:62%}
.pc .i-generator{width:52%;right:7%;bottom:26%}
.pc .i-uv2{width:92%;right:4%;bottom:18%}
.pc.ph2 img{inset:0;width:100%!important;height:100%;object-fit:cover;filter:none;opacity:.85;right:0;bottom:0}
.pc.ph2:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,12,20,.85) 0%,rgba(5,12,20,.2) 45%,rgba(5,12,20,.85) 100%);z-index:1}
.pc.ph2 .tag{color:#ff8a7e}.pc.ph2 .d{color:#e9eef3}
.pc.ph2:hover img{transform:scale(1.04)}
.pc.lt2{background:#f3f3f3}.pc.lt2:after{display:none}.pc.lt2 img{opacity:1;object-position:center 70%}
.pc.lt2 h3{color:var(--p-navy)}.pc.lt2 .tag{color:var(--p-red)}.pc.lt2 .d{display:none}.pc.lt2:hover{border-color:var(--p-red)}

/* ---------- Home: why PELMY ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:30px!important}
.ph{border-radius:28px;overflow:hidden;height:560px;background:url(../img/why-eyes.jpg) center 35%/cover;position:relative}
.ph .q{position:absolute;left:28px;right:28px;bottom:28px;background:rgba(5,8,13,.6);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:22px 26px;font-size:15px;line-height:1.6;color:#dbe3ea}
.feat{margin-top:44px;display:grid;gap:0}
.feat div{display:flex;gap:26px;padding:24px 0;border-top:1px solid rgba(255,255,255,.1);font-size:16px;color:#b9c5cf;line-height:1.6}
.feat b{font-size:13px;letter-spacing:2px;min-width:40px;color:var(--p-red)}
.feat b.ft{display:block;font-size:19px;letter-spacing:-.2px;color:#fff;font-weight:900;margin-bottom:4px}

/* ---------- Brand strips ---------- */
.brands{padding:70px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}
.brands .marq span{font-size:44px;font-weight:900;letter-spacing:2px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:34px 56px;background:#fff;padding:44px var(--p-gutter);border-radius:0}.logos img{height:46px;width:auto;object-fit:contain}
.ticker{background:#fff;padding:26px 0;overflow:hidden;border-top:4px solid var(--p-red)}
.ticker .marq{gap:80px;align-items:center;width:max-content}.ticker img{height:calc(var(--lh,44)*1px);width:auto;object-fit:contain;flex:none}
.ticker:hover .marq{animation-play-state:paused}
/* Manufacturer logos: --lh (set per logo in the templates) gives every logo the same visual weight. */

/* ---------- CTA block ---------- */
.cta2{margin:140px var(--p-gutter);border-radius:36px;padding:100px 80px;background:var(--p-red);position:relative;overflow:hidden}
.cta2 h2{font-size:72px;font-weight:900;letter-spacing:-2px;line-height:1;color:#fff;max-width:900px}
.cta2 .btn{background:var(--p-dark);color:#fff;margin-top:40px}
.cta2:after{content:"+";position:absolute;right:40px;top:-120px;font-size:520px;font-weight:900;color:rgba(255,255,255,.1)}

/* ---------- Intro ---------- */
.intro{display:grid;grid-template-columns:240px 1fr;gap:60px;padding:150px var(--p-gutter) 40px}
.intro p{font-size:44px;line-height:1.3;font-weight:300;letter-spacing:-1px;color:#b9c5cf;max-width:1100px}
.intro p b{font-weight:900;color:#fff}

/* ---------- Inner page hero ---------- */
.ph-hero{padding:190px var(--p-gutter) 80px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08)}
.ph-hero h1{font-size:clamp(52px,7vw,96px);font-weight:900;letter-spacing:-3px;line-height:1;margin-top:18px}
.ph-hero h1.sm{font-size:clamp(36px,4.6vw,64px);letter-spacing:-2px;line-height:1.05;max-width:1100px}
.ph-hero p{font-size:19px;color:var(--p-soft);max-width:680px;line-height:1.7;font-weight:300;margin-top:22px}
.ph-hero.img:before{content:"";position:absolute;inset:0;background:var(--bg) center/cover;opacity:.35}
.ph-hero.img>*{position:relative}
.crumb{font-size:13px;color:#6b7b88;letter-spacing:.5px}.crumb a{color:var(--p-soft)}.crumb a:hover{color:#fff}
.wrapx{padding:90px var(--p-gutter)}
.wrapx.pt0{padding-top:0}

/* ---------- Products (shared with the products templates) ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.filters a{padding:11px 20px;border-radius:40px;border:1px solid rgba(255,255,255,.18);font-size:14px;color:#c9d3dc;transition:.3s}
.filters a:hover{border-color:#fff;color:#fff}.filters a.on{background:var(--p-red);border-color:var(--p-red);color:#fff}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pcard{position:relative;border-radius:24px;overflow:hidden;background:radial-gradient(120% 90% at 70% 20%,var(--p-card2) 0%,var(--p-card) 55%,#070c12 100%);border:1px solid rgba(255,255,255,.07);height:380px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s}
.pcard:hover{transform:translateY(-6px);border-color:rgba(223,54,38,.6)}
.pcard .im{position:absolute;left:8%;right:8%;top:22%;bottom:30%;display:flex;align-items:center;justify-content:center}
.pcard .im img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 24px 40px rgba(0,0,0,.6))}
.pcard .im.photo{left:0;right:0;top:0;bottom:0}.pcard .im.photo img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;opacity:.9;filter:none}
.pcard .im.logo{background:#fff;border-radius:16px;left:14%;right:14%;top:30%;bottom:36%;padding:18px}
.pcard .im.light{background:linear-gradient(160deg,#fff,#EEF3F6);border-radius:16px;left:8%;right:8%;top:26%;bottom:34%;padding:10px}
.pcard .im.light img{filter:none;mix-blend-mode:multiply}
.pcard h3{font-size:26px;font-weight:900;letter-spacing:-.5px;margin-top:6px;position:relative}
.pcard .d{font-size:14px;color:#9fb0bd;position:relative;line-height:1.5}
.pcard .tg{position:relative}
.pcard .ft{display:flex;justify-content:space-between;align-items:flex-end;position:relative;gap:12px}
.pcard .im.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,20,40,.8),rgba(0,20,40,0) 45%,rgba(0,20,40,.6))}
.pcard .im.photo~div{position:relative;z-index:2}.pcard .im.photo~div .arrow{border-color:#fff;color:#fff}.pcard .im.photo~div .d{color:#fff}
#homeprods{grid-template-columns:repeat(4,1fr);gap:14px}#homeprods .pcard{height:400px;padding:26px}#homeprods .pcard h3{font-size:24px}

.det{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start;padding:170px var(--p-gutter) 70px}
.det .vis{border-radius:28px;background:radial-gradient(120% 90% at 70% 20%,var(--p-card2) 0%,var(--p-card) 55%,#070c12 100%);height:520px;display:flex;align-items:center;justify-content:center;padding:40px;border:1px solid rgba(255,255,255,.07);overflow:hidden}
.det .vis img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(0,0,0,.6))}
.det .vis.photo{padding:0}.det .vis.photo img{width:100%;height:100%;object-fit:cover;max-width:none;max-height:none;filter:none}
.det .vis.logo{background:#fff}.det .vis.logo img{max-width:70%;filter:none}
.det .vis.light{background:linear-gradient(160deg,#fff,#EEF3F6);padding:18px}.det .vis.light img{filter:none;mix-blend-mode:multiply}
.det h1{font-size:64px;font-weight:900;letter-spacing:-2px;line-height:1;margin:14px 0 20px}
.det p.lead{max-width:none}
.pts{margin:30px 0;display:grid;gap:0}
.pts div{padding:16px 0;border-top:1px solid rgba(255,255,255,.1);font-size:16px;color:#c9d3dc;display:flex;gap:16px}
.pts div b{color:var(--p-red)}
.var{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 26px}
.var span{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px 14px;font-size:13px;color:#dbe3ea}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.chips a{font-size:12px;letter-spacing:1px;color:var(--p-soft);border:1px solid rgba(255,255,255,.15);padding:7px 12px;border-radius:20px}
.chips a:hover{color:#fff;border-color:#fff}
.hcp{margin-top:26px;font-size:12px;color:#6b7b88;line-height:1.6;max-width:520px}
.gal .thumbs{display:flex;gap:10px;margin-top:12px}
.gal .thumbs button{width:84px;height:64px;border-radius:8px;border:2px solid transparent;background:var(--p-light);padding:6px;cursor:pointer;overflow:hidden;flex:none}
.gal .thumbs button.on{border-color:var(--p-red)}.gal .thumbs img{width:100%;height:100%;object-fit:contain}

.pinfo{padding:30px var(--p-gutter) 60px;border-top:1px solid rgba(255,255,255,.08)}
.pinfo .eyebrow{margin:50px 0 22px}
.ben{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.ben div{background:var(--p-card);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:22px 24px;font-size:16px;color:#dbe3ea;line-height:1.45;border-left:3px solid var(--p-red);display:flex;flex-direction:column;gap:6px}
.ben b{font-size:17px;color:#fff}.ben span{font-size:14px;color:var(--p-soft);line-height:1.5}
.two{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.two2{display:grid;grid-template-columns:1.4fr 1fr;gap:60px}
table.spec{width:100%;border-collapse:collapse;font-size:15px}
table.spec th,table.spec td{text-align:left;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}
table.spec th{color:var(--p-soft);font-weight:400;width:42%}
table.spec td{color:var(--p-text)}
table.refs tr:first-child th{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--p-red);font-weight:700}
table.refs td.ref{font-family:Consolas,monospace;font-size:14px;color:#fff;white-space:nowrap;width:34%}
.apps{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}
.apps li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#dbe3ea;font-size:15px}
.apps li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--p-red);margin-right:12px;vertical-align:middle}
.apps2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.apps2 div{background:linear-gradient(135deg,var(--p-card2),var(--p-card));border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:22px 24px;font-size:18px;font-weight:700;color:#fff;line-height:1.35}
.rng{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.rng div{background:var(--p-card);border:1px solid rgba(255,255,255,.07);border-radius:18px;padding:24px}.rng b{display:block;font-size:19px;font-weight:900;margin-bottom:8px}.rng span{color:var(--p-soft);font-size:14px;line-height:1.5}
.rng .ri{height:170px;background:#fff;border-radius:6px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
.rng .ri img{max-width:100%;max-height:100%;object-fit:contain}
.story{margin-top:70px}
.st{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding:46px 0;border-top:1px solid rgba(255,255,255,.1)}
.st h3{font-size:34px;font-weight:900;letter-spacing:-1px;line-height:1.1}
.st p{font-size:17px;line-height:1.75;color:#b9c5cf}
.st ul{list-style:none;margin-top:18px;display:grid;gap:8px}.st li{font-size:15px;color:#dbe3ea;padding-left:20px;position:relative}.st li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--p-red)}
details.ord{margin-top:60px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
details.ord summary{cursor:pointer;list-style:none;padding:22px 0;font-size:20px;font-weight:900;display:flex;justify-content:space-between;align-items:center}
details.ord summary::-webkit-details-marker{display:none}
details.ord summary span{font-size:12px;letter-spacing:2px;color:var(--p-red);text-transform:uppercase;margin-left:auto}
details.ord summary:after{content:"+";font-size:26px;color:var(--p-red);margin-left:20px}details.ord[open] summary:after{content:"\2212"}
details.ord table{margin-bottom:20px}
.rel{padding:30px var(--p-gutter) 60px;border-top:1px solid rgba(255,255,255,.08)}
.rel .eyebrow{font-size:11px}
#prel,.prel{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
#prel .pcard,.prel .pcard{height:200px;padding:18px;border-radius:16px}
#prel .pcard h3,.prel .pcard h3{font-size:16px}#prel .pcard .tag,.prel .pcard .tag{font-size:9px}
#prel .pcard .d,#prel .pcard .arrow,.prel .pcard .d,.prel .pcard .arrow{display:none}
#prel .pcard .im,.prel .pcard .im{top:38%;bottom:8%}
#prel .pcard .im.photo,.prel .pcard .im.photo{top:0!important;bottom:0!important;left:0;right:0}
.bsec{margin-bottom:56px;padding:0!important}
.bhd{display:flex;align-items:center;gap:26px;padding-bottom:22px;margin-bottom:26px;border-bottom:2px solid var(--p-navy)}
.blg{width:170px;height:70px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #e7ebee;flex:none}
.blg img{width:auto;height:calc(var(--lh,50)*1px);max-width:100%;max-height:100%;object-fit:contain}
.bhd h2{font-size:40px;font-weight:900;letter-spacing:-1.5px;color:var(--p-navy)}
.bhd p{color:var(--p-muted);font-size:15px;margin-top:4px}
.bsec .grid3{grid-template-columns:repeat(4,1fr);gap:14px}
.bsec .pcard{height:340px;padding:24px}

/* Downloads modal (prototype #dm) */
.dm{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:16px}
.dm.on{display:flex}
.dm .dmb{background:var(--p-card);border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:40px;width:min(560px,100%);color:var(--p-text)}
.dm h3{font-size:30px;font-weight:900;margin:10px 0 20px}
.dm .dl{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);color:#dbe3ea}
.dm .dl span{font-size:12px;letter-spacing:2px;color:var(--p-red);white-space:nowrap}

/* ---------- Specialties / misc prototype blocks ---------- */
.spx2{display:grid;gap:18px}
.sp{display:grid;grid-template-columns:90px 1fr 1.4fr;gap:40px;align-items:center;padding:40px;border-radius:24px;background:var(--p-card);border:1px solid rgba(255,255,255,.07);transition:.4s}
.sp:hover{border-color:rgba(223,54,38,.6)}
.sp .n{font-size:14px;font-weight:700;letter-spacing:3px;color:var(--p-red)}
.sp h3{font-size:36px;font-weight:900;letter-spacing:-1px}
.sp .ls{display:flex;flex-wrap:wrap;gap:8px}.sp .ls a{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:9px 15px;font-size:13px;color:#dbe3ea}
.sp .ls a:hover{background:var(--p-red);border-color:var(--p-red)}
.big3{font-size:40px;line-height:1.3;font-weight:300;color:#b9c5cf;letter-spacing:-.5px}.big3 b{color:#fff;font-weight:900}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}
.c3{background:var(--p-card);border:1px solid rgba(255,255,255,.07);border-radius:24px;padding:34px}
.c3 .n{color:var(--p-red);font-weight:700;letter-spacing:3px;font-size:13px}.c3 h4{font-size:24px;font-weight:900;margin:12px 0 10px}.c3 p{color:var(--p-soft);font-size:15px;line-height:1.6}

/* ---------- Company ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.steps div{background:var(--p-card);border:1px solid rgba(255,255,255,.07);border-radius:22px;padding:30px}
.steps span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--p-red);color:#fff;font-weight:900;font-size:15px}
.steps h3,.steps h4{font-size:22px;font-weight:900;margin:18px 0 8px}.steps p{color:var(--p-soft);font-size:15px;line-height:1.6}
.lgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.lgrid.l7{grid-template-columns:repeat(7,1fr)}
.lgrid a{background:#fff;border-radius:18px;height:120px;display:flex;align-items:center;justify-content:center;padding:20px;transition:.3s}
.lgrid a:hover{transform:translateY(-4px);box-shadow:0 0 0 3px var(--p-red)}
.lgrid img{height:calc(var(--lh,56)*1px);max-width:100%;width:auto;object-fit:contain}
.sub{color:var(--p-soft);font-size:17px;margin-top:12px}
.partner{margin-top:70px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:30px}
.partner p{font-size:20px;color:#b9c5cf}

/* ---------- News ---------- */
.news2{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.nw2{background:var(--p-card);border:1px solid rgba(255,255,255,.07);border-radius:24px;overflow:hidden;transition:.4s;display:flex;flex-direction:column}
.nw2:hover{border-color:rgba(223,54,38,.6);transform:translateY(-4px)}
.nw2 .ni{height:220px;background:var(--p-card2) center/cover;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.nw2 .ni.wh{background:#fff}
.nw2 .ni img{max-height:80%;max-width:80%;width:auto;object-fit:contain}
.nw2 .ni.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.nw2 .nb{padding:28px;flex:1 0 auto;display:flex;flex-direction:column;align-items:flex-start}.nw2 .d{font-size:12px;letter-spacing:2px;color:var(--p-red);font-weight:700;text-transform:uppercase}
.nw2 h4,.nw2 h2{font-size:22px;font-weight:900;margin:10px 0;line-height:1.25}.nw2 p{color:var(--p-soft);font-size:15px;line-height:1.6}
.nw2 .more{display:inline-block;margin-top:auto;padding-top:16px;font-size:13px;font-weight:700;letter-spacing:.3px;color:#fff}
.nw2.li{background:var(--p-navy);justify-content:flex-end}
.nw2.li .nb{flex:0 0 auto}
.nw2.li .btn{margin-top:20px}
.pager{margin-top:50px}
.pager .nav-links{display:flex;gap:10px;flex-wrap:wrap}
.pager .page-numbers{padding:10px 16px;border-radius:30px;border:1px solid rgba(255,255,255,.18);font-size:14px;color:#c9d3dc}
.pager .page-numbers.current{background:var(--p-red);border-color:var(--p-red);color:#fff}
.empty{color:var(--p-soft);font-size:17px;margin-bottom:30px}

/* News item */
.post-meta{margin-top:22px}
.post-body{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;align-items:start}
.post-vis{border-radius:28px;background:#fff;height:440px;display:flex;align-items:center;justify-content:center;padding:30px;overflow:hidden}
.post-vis.photo{padding:0;background:var(--p-card2)}
.post-vis img{max-width:100%;max-height:100%;width:auto;object-fit:contain}
.post-vis.photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.entry{font-size:18px;line-height:1.75;color:#b9c5cf;max-width:760px}
.entry>*+*{margin-top:1.1em}
.entry h2,.entry h3{color:#fff;font-weight:900;letter-spacing:-.5px;line-height:1.2;margin-top:1.6em}
.entry h2{font-size:32px}.entry h3{font-size:24px}
.entry a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.entry ul,.entry ol{padding-left:1.3em}
.entry img{border-radius:16px}
.post-actions{margin-top:40px}

/* ---------- Contact ---------- */
.ctc{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}
.info div{padding:22px 0;border-top:1px solid rgba(255,255,255,.1)}.info small{display:block;font-size:12px;letter-spacing:2px;color:var(--p-red);font-weight:700;margin-bottom:6px}.info span,.info a{font-size:18px;color:#dbe3ea}
.info a:hover{color:#fff;text-decoration:underline}
.info .note{display:block;font-size:13px;color:#6b7b88;margin-top:4px}
.frm{scroll-margin-top:110px;background:var(--p-card);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:40px;display:grid;gap:14px;align-content:start}
.frm .seg{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;min-width:0}
.frm .seg a{padding:10px 16px;border-radius:30px;border:1px solid rgba(255,255,255,.18);font-size:13px;color:#c9d3dc}
.frm .seg a.on{background:var(--p-red);border-color:var(--p-red);color:#fff}
.frm .seg .sg{display:block;position:relative;font-size:13px;line-height:1;color:#c9d3dc;cursor:pointer}
.frm .seg .sg input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0}
.frm .seg .sg span{display:block;padding:10px 16px;border-radius:30px;border:1px solid rgba(255,255,255,.18);transition:.2s}
.frm .seg .sg:hover span{border-color:#fff;color:#fff}
.frm .seg .sg input:checked+span{background:var(--p-red);border-color:var(--p-red);color:#fff}
.frm .seg .sg input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.frm input,.frm select,.frm textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:15px 16px;color:#fff;font:16px var(--p-font);width:100%}
.frm input::placeholder,.frm textarea::placeholder{color:#8a99a6}
.frm input:focus,.frm select:focus,.frm textarea:focus{outline:none;border-color:var(--p-red)}
.frm select option{color:#000}
.frm textarea{resize:vertical;min-height:130px}
.frm .r2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.frm label.cons{font-size:12px;color:var(--p-soft);display:flex;gap:10px;align-items:flex-start;line-height:1.5;cursor:pointer}
.frm label.cons input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--p-red)}
.frm label.cons a{color:#fff;text-decoration:underline}
.frm .btn{justify-content:center;border:0}
.frm .ok{display:none;background:rgba(46,160,90,.15);border:1px solid rgba(46,160,90,.5);border-radius:12px;padding:16px;color:#bfe8cf}
.frm .ok.show{display:block}
.frm .err{background:rgba(223,54,38,.12);border:1px solid rgba(223,54,38,.6);border-radius:12px;padding:16px;color:#ffd2cc}
.frm .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.map{margin-top:30px;height:260px;border-radius:24px;background:var(--p-card) linear-gradient(135deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.03) 50%,rgba(255,255,255,.03) 75%,transparent 75%) 0 0/40px 40px;border:1px dashed rgba(255,255,255,.2);display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#6b7b88;font-size:14px;text-align:center;padding:20px;overflow:hidden}
.map p{max-width:340px;line-height:1.5}
.map a{color:var(--p-soft);text-decoration:underline}
.map.loaded{padding:0;border-style:solid;border-color:rgba(255,255,255,.08)}
.map iframe{width:100%;height:100%;border:0;display:block}
.map-static{display:block}
.map-static img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block;transition:transform .4s ease}
.map-static:hover img{transform:scale(1.03)}
.map-link{display:inline-block;margin-top:12px;color:var(--p-soft);font-size:14px;text-decoration:underline}

/* ---------- Legal / generic ---------- */
.legal{max-width:820px}.legal h2,.legal h3{font-size:24px;margin:34px 0 10px}.legal p{color:var(--p-soft);line-height:1.7}
.legal ul,.legal ol{color:var(--p-soft);line-height:1.7;padding-left:1.3em;margin-top:10px}
.legal a{color:#fff;text-decoration:underline}
.legal>*+p{margin-top:14px}

/* ---------- Footer ---------- */
footer.site-footer{padding:50px var(--p-gutter);display:grid;grid-template-columns:auto 1fr auto;gap:50px;align-items:center;color:#8a99a6;font-size:13px;line-height:1.7;border-top:1px solid rgba(255,255,255,.08);background:var(--p-dark)}
footer.site-footer .flogo img{height:56px;width:auto}
footer.site-footer .fa a{white-space:nowrap}footer.site-footer .fa a:hover{color:#fff}
footer.site-footer .fl a{white-space:nowrap;color:var(--p-soft);margin-left:18px}footer.site-footer .fl a:hover{color:#fff}

/* ---------- Editorial (white) style: product views ---------- */
body.editorial{background:#fff;color:#111}
body.editorial nav.site-nav,body.editorial nav.site-nav.sc{background:#fff;border-bottom:1px solid #e7ebee}
body.editorial nav.site-nav .lw{display:none}body.editorial nav.site-nav .ld{display:block}
body.editorial nav.site-nav .m a{color:#3c5163}body.editorial nav.site-nav .m a.on{color:var(--p-navy);border-color:var(--p-red)}
body.editorial nav.site-nav .m a:hover{color:var(--p-navy)}
body.editorial .nt{color:var(--p-navy);border-color:#d5dee5}
body.editorial .ph-hero{border-color:#e7ebee}
body.editorial .ph-hero h1,body.editorial .det h1{color:var(--p-navy);letter-spacing:-3px}
body.editorial .ph-hero p,body.editorial .det p.lead{color:#4a5f70}
body.editorial .crumb,body.editorial .crumb a{color:#6b7b88}body.editorial .crumb a:hover{color:var(--p-navy)}
body.editorial .filters a{border-color:#d5dee5;color:#3c5163}body.editorial .filters a:hover{border-color:var(--p-navy);color:var(--p-navy)}body.editorial .filters a.on{color:#fff;border-color:var(--p-red)}
body.editorial .pcard{background:var(--p-light);border-color:transparent;border-radius:8px;color:var(--p-navy)}
body.editorial .pcard:hover{border-color:transparent;box-shadow:0 24px 50px -24px rgba(0,56,92,.35)}
body.editorial .pcard h3{color:var(--p-navy);font-size:30px;letter-spacing:-1px}
body.editorial .pcard .d{color:#4a5f70}
body.editorial .pcard .tag{color:#6b8196}
body.editorial .pcard .arrow{border-color:var(--p-navy);color:var(--p-navy)}
body.editorial .pcard .im img{filter:drop-shadow(0 18px 24px rgba(0,30,60,.18))}
body.editorial .pcard .im.light{background:transparent;left:4%;right:4%;top:20%;bottom:24%;padding:0}body.editorial .pcard .im.light img{filter:none}
body.editorial .pcard .im.logo{background:transparent}
body.editorial .pcard .im.photo img{opacity:1;object-position:center}
body.editorial .pcard .im.photo+.tg h3,body.editorial .pcard .im.photo+.tg .tag{color:#fff}
body.editorial .pcard .im.photo~div .d{color:#fff}
body.editorial .pcard .im.photo~div .arrow{border-color:#fff;color:#fff}
body.editorial .pcard .im.photo~div{z-index:2}
body.editorial .pcard .im.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,20,40,.7),rgba(0,20,40,0) 45%,rgba(0,20,40,.5))}
body.editorial .det .vis{background:var(--p-light);border:0;border-radius:8px}
body.editorial .det .vis img{filter:drop-shadow(0 24px 30px rgba(0,30,60,.18))}
body.editorial .det .vis.light,body.editorial .det .vis.logo{background:var(--p-light)}body.editorial .det .vis.light img{filter:none}
body.editorial .btn.b2{border-color:var(--p-navy);color:var(--p-navy)}
body.editorial .btn.b2:hover{background:rgba(0,56,92,.06)}
body.editorial .chips a{color:#3c5163;border-color:#d5dee5}
body.editorial .chips a:hover{color:var(--p-navy);border-color:var(--p-navy)}
body.editorial .pinfo,body.editorial .rel{border-color:#e7ebee}
body.editorial .pinfo .eyebrow{font-size:13px}
body.editorial .apps2 div{background:var(--p-navy);border:0;border-radius:8px;color:#fff}
body.editorial .rng div{background:#fff;border:0;border-top:2px solid var(--p-navy);border-radius:0;padding:22px 4px}
body.editorial .rng b{color:var(--p-ink);font-size:22px;letter-spacing:-.5px}body.editorial .rng span{color:var(--p-muted);font-size:15px}
body.editorial .rng .ri{background:#F4F6F8;border:0;padding:10px}
body.editorial .ben div{background:var(--p-light);border:0;border-left:3px solid var(--p-red);border-radius:6px}
body.editorial .ben b{color:var(--p-navy)}body.editorial .ben span{color:#4a5f70}
body.editorial details.ord{border-color:#e7ebee}body.editorial details.ord summary{color:var(--p-navy)}
body.editorial table.spec th,body.editorial table.spec td{border-color:#e7ebee}body.editorial table.spec td{color:var(--p-ink)}body.editorial table.refs td.ref{color:var(--p-navy)}
body.editorial .hcp{color:#8a99a6}
body.editorial #prel .pcard h3,body.editorial .prel .pcard h3{font-size:16px;letter-spacing:0}
body.editorial .st{border-color:#e7ebee}body.editorial .st h3{color:var(--p-navy)}body.editorial .st p{color:#4a5f70}body.editorial .st li{color:var(--p-ink)}
body.editorial .bsec .pcard h3{font-size:23px;letter-spacing:-.5px}
body.editorial .bsec .pcard .im{top:34%;bottom:26%}body.editorial .bsec .pcard .im.photo{top:0;bottom:0;left:0;right:0}body.editorial .bsec .pcard .im.light{top:34%;bottom:26%}
body.editorial footer.site-footer{background:var(--p-ink);border-top:0}

/* ---------- Tablet ---------- */
@media (max-width:1180px){
	:root{--p-gutter:32px}
	.hero h1{font-size:76px}
	section{padding:110px var(--p-gutter)}
	.h2{font-size:52px}
	.prods{grid-template-columns:1fr 1fr;grid-auto-rows:calc((100vw - 2*var(--p-gutter) - 18px)/2.212)}
	/* The big card becomes a full-width banner above a 2 x 2 grid. */
	.pc.big{grid-column:span 2;grid-row:span 1}
	.pc.big .i-trinity{width:58%;right:-3%;bottom:16%}
	.intro{grid-template-columns:1fr;gap:24px;padding:110px var(--p-gutter) 30px}
	.intro p{font-size:36px}
	.split{gap:50px}
	.steps{grid-template-columns:1fr 1fr}
	.lgrid.l7{grid-template-columns:repeat(4,1fr)}
	.news2{grid-template-columns:1fr 1fr}
	.grid3{grid-template-columns:1fr 1fr}
	.bsec .grid3{grid-template-columns:repeat(3,1fr)}
	#prel,.prel{grid-template-columns:repeat(3,1fr)}
	.det{gap:44px}
	.det h1{font-size:52px}
	footer.site-footer{grid-template-columns:1fr;gap:18px}
	footer.site-footer .fl a:first-of-type{margin-left:18px}
	.post-body{gap:44px}
}

/* ---------- Mobile: hamburger + single column ---------- */
@media (max-width:900px){
	:root{--p-gutter:16px}
	nav.site-nav,nav.site-nav.sc{padding:12px var(--p-gutter)}
	nav.site-nav .brand img,nav.site-nav.sc .brand img{height:46px}
	nav.site-nav{background:rgba(5,8,13,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
	.nt{display:inline-flex}
	nav.site-nav .ncta{display:none}
	nav.site-nav .m{position:fixed;inset:0;z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:100px 24px 40px;background:var(--p-dark);font-size:30px;font-weight:900;letter-spacing:-.5px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .3s,transform .3s,visibility 0s .3s;overflow-y:auto}
	nav.site-nav.open .m{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}
	/* backdrop-filter would make the fixed menu panel relative to the bar */
	nav.site-nav.open,nav.site-nav.sc.open{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--p-dark)}
	nav.site-nav .m a{padding:10px 0;color:#fff}
	nav.site-nav .m a.on{border-bottom-width:3px}
	nav.site-nav .m .mcta{display:inline-flex;margin-top:26px;font-size:16px;letter-spacing:.3px;padding:16px 28px;color:#fff}
	nav.site-nav .brand{position:relative;z-index:3}
	body.nav-open{overflow:hidden}
	body.editorial nav.site-nav{background:#fff}
	body.editorial nav.site-nav .m{background:#fff}
	body.editorial nav.site-nav .m a{color:var(--p-navy)}
	body.editorial nav.site-nav .m .mcta{color:#fff}

	.btn{padding:14px 22px}
	section{padding:72px var(--p-gutter)}
	.wrapx{padding:56px var(--p-gutter)}
	.h2{font-size:38px;letter-spacing:-1px;line-height:1.08}
	.lead{font-size:17px}
	.row{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:40px}

	.hero{height:auto;min-height:100vh;min-height:100svh;align-items:flex-end}
	.hero .bg{background-position:70% 30%}
	.hero:after{background:linear-gradient(0deg,rgba(5,8,13,.98) 0%,rgba(5,8,13,.82) 45%,rgba(5,8,13,.35) 100%)}
	.hero .c{padding:120px var(--p-gutter) 56px}
	.hero h1{font-size:clamp(42px,12.5vw,60px);letter-spacing:-1.5px;margin:16px 0 20px}
	.hero p{font-size:17px}
	.hero .cta{flex-wrap:wrap;margin-top:28px}
	.eyebrow{font-size:12px;letter-spacing:3px}
	.scroll{display:none}

	.ticker{padding:20px 0}
	.ticker .marq{gap:48px}
	.ticker img{height:calc(var(--lh,44)*.75px)}

	.intro{padding:64px var(--p-gutter) 10px;gap:16px}
	.intro p{font-size:24px;letter-spacing:-.3px}

	.prods{grid-auto-rows:calc((100vw - 2*var(--p-gutter) - 14px)/2.212);gap:14px}
	.pc{padding:26px;border-radius:22px}
	.pc h3{font-size:26px}

	.split{grid-template-columns:1fr;gap:36px}
	.ph{height:320px;border-radius:22px}
	.feat{margin-top:28px}
	.feat div{padding:18px 0;font-size:15px}

	.cta2{margin:72px var(--p-gutter);padding:48px 24px;border-radius:24px}
	.cta2 h2{font-size:40px}

	.ph-hero{padding:120px var(--p-gutter) 48px}
	.ph-hero h1{font-size:clamp(40px,12vw,56px);letter-spacing:-1.5px}
	.ph-hero h1.sm{font-size:clamp(30px,8.4vw,40px);letter-spacing:-1px}
	.ph-hero p{font-size:17px}
	.big3{font-size:24px}

	.steps{grid-template-columns:1fr;margin-top:28px}
	.steps div{padding:24px}
	.lgrid,.lgrid.l7{grid-template-columns:1fr 1fr;gap:10px}
	.lgrid a{height:96px;padding:16px;border-radius:14px}
	.lgrid img{height:calc(var(--lh,56)*.85px)}
	.partner{flex-direction:column;align-items:flex-start;margin-top:48px}
	.partner p{font-size:18px}

	.news2{grid-template-columns:1fr}
	.nw2 .ni{height:200px}
	.nw2 .nb{padding:22px}
	.post-body{grid-template-columns:1fr;gap:32px}
	.post-vis{height:280px;border-radius:20px}
	.entry{font-size:17px}

	.ctc{grid-template-columns:1fr;gap:40px}
	.frm{padding:22px;border-radius:22px}
	.frm .r2{grid-template-columns:1fr}
	.info span,.info a{font-size:17px;overflow-wrap:anywhere}
	.map{height:240px}

	footer.site-footer{padding:40px var(--p-gutter);gap:16px}
	footer.site-footer .fl{display:flex;flex-wrap:wrap;gap:8px 18px}
	footer.site-footer .fl a,footer.site-footer .fl a:first-of-type{margin-left:0}

	/* Products (editorial) */
	.filters{gap:8px;margin-bottom:28px}
	.filters a{padding:9px 16px;font-size:13px}
	.grid3,.bsec .grid3{grid-template-columns:1fr}
	.pcard,.bsec .pcard{height:320px;padding:22px}
	.bhd{flex-wrap:wrap;gap:16px}
	.bhd h2{font-size:30px}
	.det{grid-template-columns:1fr;gap:32px;padding:100px var(--p-gutter) 40px}
	.det .vis{height:320px;padding:24px;border-radius:20px}
	.det h1{font-size:clamp(34px,10vw,44px);letter-spacing:-1px}
	body.editorial .ph-hero h1,body.editorial .det h1{letter-spacing:-1.5px}
	.gal .thumbs{overflow-x:auto;padding-bottom:4px}
	.gal .thumbs button{width:72px;height:56px}
	.pinfo,.rel{padding:20px var(--p-gutter) 40px}
	.pinfo .eyebrow{margin:36px 0 16px}
	.apps,.apps2,.rng,.ben,.two,.two2{grid-template-columns:1fr;gap:12px}
	.apps2 div{font-size:16px}
	.st{grid-template-columns:1fr;gap:14px;padding:32px 0}
	.st h3{font-size:26px}
	.st p{font-size:16px}
	.sp{grid-template-columns:1fr;gap:16px;padding:24px}
	.cards3{grid-template-columns:1fr}
	table.spec,table.spec tbody,table.spec tr,table.spec th,table.spec td{display:block;width:100%}
	table.spec tr{border-bottom:1px solid rgba(255,255,255,.08);padding:10px 0}
	table.spec th,table.spec td{border-bottom:0;padding:4px 0}
	table.refs tr:first-child{display:none}
	table.refs td.ref{white-space:normal;width:100%;overflow-wrap:anywhere}
	body.editorial table.spec tr{border-color:#e7ebee}
	details.ord summary{font-size:18px;flex-wrap:wrap;gap:6px}
	#prel,.prel{grid-template-columns:1fr 1fr}
	.dm .dmb{padding:26px;border-radius:22px}
}

/* Phones: portfolio in one column, every card with the desktop card proportions. */
@media (max-width:600px){
	.prods{grid-template-columns:1fr;grid-auto-rows:calc((100vw - 2*var(--p-gutter))/1.106)}
	.pc.big{grid-column:auto}
	.pc.big .arrow{display:none}
	.pc.big .i-trinity{width:96%;right:-6%;bottom:24%}
}

@media (max-width:380px){
	.hero .cta .btn{width:100%;justify-content:center}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.js .rv{opacity:1;transform:none;transition:none}
	.hero .bg{animation:none;transform:none}
	.marq{animation:none}
	.ticker .marq{flex-wrap:wrap;width:auto;justify-content:center;gap:28px 48px;padding:0 16px}
	.ticker .marq [aria-hidden="true"]{display:none}
	.pc,.pc img,.pcard,.nw2,.btn{transition:none}
	.pc:hover img{transform:none}
}
