
@font-face{font-family:Manrope;src:url(assets/manrope-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--navy:#0C5484;--ink:#0B1B2B;--deep:#071624;--char:#231F20;--sky:#7CC4EE;--mist:#E3EEF7;--paper:#F6F8FA;--line:#DCE3EA;--mute:#5B6B7B;--w:1240px;--r:4px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:Manrope,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}a{color:var(--navy)}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.02em;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(2.3rem,5.4vw,4.4rem);font-weight:500;letter-spacing:-.035em}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:500;letter-spacing:-.03em}
h3{font-size:1.2rem}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:100}.skip:focus{left:10px;top:10px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--navy);margin-bottom:18px}
.eyebrow:before{content:"";width:34px;height:2px;background:linear-gradient(90deg,var(--sky),var(--navy))}
.dark .eyebrow,.hero .eyebrow{color:var(--sky)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:24px}
.brand img{height:30px;width:auto}
.menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu a,.menu button.navlink{display:flex;align-items:center;gap:8px;padding:10px 14px;font:inherit;font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;border-radius:var(--r)}
.menu a:hover,.menu button.navlink:hover,.menu a[aria-current=page]{color:var(--navy)}
.menu a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--sky)}
.has-drop:hover .drop,.has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateY(0)}
.drop{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(7,22,36,.12);padding:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;list-style:none;margin:0}
.drop a{padding:10px 12px;display:block;font-size:.9rem}.drop a small{display:block;color:var(--mute);font-weight:400;font-size:.78rem}
.drop a:hover{background:var(--paper)}
.search-btn svg,.menu-toggle svg{width:20px;height:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:var(--r);font:inherit;font-weight:600;font-size:.92rem;letter-spacing:.01em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.18s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:#0A4870}
.btn-light{background:#fff;color:var(--ink)}.btn-light:hover{background:var(--mist)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}.btn-ghost:hover{background:rgba(124,196,238,.12)}
.btn-sm{padding:10px 16px;font-size:.85rem}
.menu .nav-cta{background:var(--navy);color:#fff;margin-left:8px;padding:10px 18px}.menu .nav-cta:hover{background:#0A4870;color:#fff}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink)}
/* hero */
.hero{position:relative;min-height:calc(100vh - 74px);max-height:920px;display:flex;align-items:flex-end;color:#fff;background:var(--deep);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,22,36,.15) 0%,rgba(7,22,36,.25) 40%,rgba(7,22,36,.88) 100%),linear-gradient(90deg,rgba(7,22,36,.55),transparent 65%)}
.hero .wrap{position:relative;z-index:1;padding-bottom:72px;width:100%}
.hero h1{max-width:900px;margin-bottom:22px}
.hero p.lead{font-size:1.16rem;max-width:620px;color:rgba(255,255,255,.86);font-weight:300}
.hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid rgba(255,255,255,.22);max-width:900px}
.hero-stats div{padding:20px 20px 0 0}.hero-stats b{display:block;font-size:1.9rem;font-weight:500;letter-spacing:-.03em}.hero-stats span{font-size:.78rem;color:rgba(255,255,255,.7);letter-spacing:.08em;text-transform:uppercase}
.flowline{height:2px;background:linear-gradient(90deg,transparent,var(--sky) 30%,#fff 50%,var(--sky) 70%,transparent);opacity:.9}
/* sections */
section{padding:110px 0}.sec-tight{padding:72px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:52px;flex-wrap:wrap}
.sec-head p{max-width:520px;color:var(--mute);margin:0}
.dark{background:var(--deep);color:#fff}.dark p{color:rgba(255,255,255,.75)}
.paper{background:var(--paper)}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cat{position:relative;display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);overflow:hidden;transition:.25s}
.cat:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 22px 50px rgba(7,22,36,.10)}
.cat .ph{aspect-ratio:4/3;overflow:hidden;background:var(--mist)}.cat .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.cat:hover .ph img{transform:scale(1.04)}
.cat .body{padding:26px 26px 28px}.cat .num{font-size:.75rem;color:var(--navy);letter-spacing:.16em;font-weight:600}
.cat h3{font-size:1.45rem;font-weight:500;margin:8px 0}.cat p{color:var(--mute);font-size:.93rem;margin-bottom:16px}
.arrow{font-weight:600;font-size:.88rem;color:var(--navy);display:inline-flex;gap:8px;align-items:center}
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;align-items:center}
.feature .img{position:relative}.feature .img img{width:100%;aspect-ratio:4/3.3;object-fit:cover}
.spec-chips{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:30px 0}
.spec-chips div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.spec-chips b{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.02em;color:var(--navy)}.spec-chips span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.dark .spec-chips,.dark .spec-chips div{border-color:rgba(255,255,255,.16)}.dark .spec-chips b{color:#fff}.dark .spec-chips span{color:rgba(255,255,255,.6)}
.apps{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:14px}
.app{position:relative;overflow:hidden;display:block;color:#fff;text-decoration:none;background:#111}
.app img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.app:hover img{transform:scale(1.05)}
.app:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(7,22,36,.8))}
.app span{position:absolute;left:20px;bottom:16px;z-index:1;font-weight:600;font-size:1.02rem}.app span small{display:block;font-weight:400;font-size:.78rem;opacity:.8;letter-spacing:.06em;text-transform:uppercase}
.a1{grid-column:span 7;grid-row:span 2}.a2{grid-column:span 5}.a3{grid-column:span 5}.a4{grid-column:span 4}.a5{grid-column:span 4}.a6{grid-column:span 4}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16)}
.why div{padding:34px 28px 10px 0}.why .n{font-size:.78rem;color:var(--sky);letter-spacing:.16em;font-weight:600}.why h3{font-size:1.2rem;font-weight:500;margin:14px 0 10px}.why p{font-size:.93rem}
.cta{position:relative;overflow:hidden;color:#fff;background:var(--navy)}
.cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28}
.cta .wrap{position:relative;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta h2{max-width:700px;margin:0}.cta .actions{display:flex;gap:12px;flex-wrap:wrap}
/* page header */
.page-head{background:var(--deep);color:#fff;padding:84px 0 64px;position:relative;overflow:hidden}
.page-head>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.page-head .wrap{position:relative}.page-head p{color:rgba(255,255,255,.78);max-width:640px;font-size:1.08rem;font-weight:300;margin:0}
.crumbs{font-size:.8rem;color:rgba(255,255,255,.6);margin-bottom:22px}.crumbs a{color:rgba(255,255,255,.8);text-decoration:none}.crumbs a:hover{color:#fff}
.subnav{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:74px;z-index:40}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.subnav a{padding:16px 16px;white-space:nowrap;text-decoration:none;color:var(--mute);font-weight:500;font-size:.9rem;border-bottom:2px solid transparent}
.subnav a:hover{color:var(--ink)}.subnav a[aria-current=page]{color:var(--navy);border-bottom-color:var(--navy)}
/* product grid */
.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;transition:.2s}
.pcard:hover{border-color:var(--navy);box-shadow:0 18px 40px rgba(7,22,36,.08)}
.pcard .ph{aspect-ratio:3/2;background:var(--paper);overflow:hidden}.pcard .ph img{width:100%;height:100%;object-fit:cover}
.pcard .body{padding:22px;flex:1;display:flex;flex-direction:column}
.pcard .code{font-size:.74rem;letter-spacing:.14em;color:var(--navy);font-weight:600;text-transform:uppercase}
.pcard h3{font-size:1.18rem;font-weight:600;margin:6px 0 8px}.pcard p{font-size:.9rem;color:var(--mute);flex:1}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.tag{font-size:.72rem;padding:4px 9px;border:1px solid var(--line);border-radius:30px;color:var(--mute);background:#fff}
.tag.live{border-color:#bcd9ee;background:var(--mist);color:var(--navy)}
.cat-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:56px;align-items:end}
/* product page */
.prod-top{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;padding:64px 0 40px;align-items:start}
.gallery-main{background:var(--paper);aspect-ratio:4/3;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.thumbs button{padding:0;border:1px solid var(--line);background:var(--paper);cursor:pointer;aspect-ratio:4/3;overflow:hidden}.thumbs button[aria-pressed=true]{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.prod-info .code{font-size:.8rem;letter-spacing:.16em;color:var(--navy);font-weight:600;text-transform:uppercase}
.prod-info h1{font-size:clamp(2.1rem,4vw,3.2rem);margin:10px 0 16px}
.prod-info .lead{font-size:1.06rem;color:#334455}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.badge{font-size:.78rem;font-weight:600;padding:7px 12px;background:var(--mist);color:var(--navy);border-radius:2px}
.dl{display:grid;gap:10px;margin:26px 0}
.dl a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;transition:.18s}
.dl a:hover{border-color:var(--navy);background:var(--paper)}.dl a small{font-weight:400;color:var(--mute);font-size:.78rem}
.dl a .ic{display:flex;align-items:center;gap:12px}.dl svg{width:20px;height:20px;color:var(--navy);flex:none}
.dl a.pending{color:var(--mute)}.dl a.pending svg{color:#9AAAB8}
.notice{border-left:3px solid var(--sky);background:var(--paper);padding:14px 18px;font-size:.88rem;color:#3c4d5e;margin:18px 0}
.ph-flag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:#FFF4D6;color:#7A5A00;border:1px solid #F0DCA0;vertical-align:middle}
.tabs{border-bottom:1px solid var(--line);display:flex;gap:4px;overflow-x:auto;margin-top:30px}
.tabs a{padding:14px 18px;text-decoration:none;color:var(--mute);font-weight:600;font-size:.92rem;border-bottom:2px solid transparent;white-space:nowrap}.tabs a:hover{color:var(--navy)}
.block{padding:60px 0;border-bottom:1px solid var(--line)}.block:last-of-type{border-bottom:0}
.block h2{font-size:1.9rem}
.spec{width:100%;border-collapse:collapse;font-size:.93rem}
.spec th,.spec td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{width:38%;font-weight:600;color:#33475a;background:var(--paper)}
.spec caption{text-align:left;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);padding:0 0 12px}
.spec-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.perf{width:100%;border-collapse:collapse;font-size:.95rem}.perf th,.perf td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}.perf thead th{background:var(--deep);color:#fff;font-weight:600;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.perf td:first-child{font-weight:600}.swatch{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:10px;vertical-align:-1px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.builder{background:var(--deep);color:#fff;padding:36px;display:grid;gap:26px}
.builder .pn{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.4rem,3.4vw,2.3rem);letter-spacing:.04em;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.builder .pn span{padding:6px 10px;background:rgba(255,255,255,.07);border-bottom:2px solid var(--sky)}.builder .pn span.fixed{border-bottom-color:rgba(255,255,255,.25)}
.builder .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.builder label{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:8px;font-weight:600}
.builder select{width:100%;padding:13px 14px;font:inherit;font-size:.95rem;background:#0f2638;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:var(--r)}
.builder .out{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:rgba(255,255,255,.75);font-size:.88rem}
.order-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border:1px solid var(--line);margin-top:22px}
.order-key div{padding:18px;border-right:1px solid var(--line)}.order-key div:last-child{border-right:0}
.order-key h4{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.order-key p{font-size:.88rem;margin:0;color:#3c4d5e}
.acc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.acc{border:1px solid var(--line);padding:18px;text-align:center}.acc img{height:110px;width:auto;margin:0 auto 14px;object-fit:contain}.acc b{display:block;color:var(--navy);font-size:.92rem}.acc span{font-size:.82rem;color:var(--mute)}
.figure{border:1px solid var(--line);padding:20px;background:#fff}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.list-check{list-style:none;padding:0;margin:0;display:grid;gap:10px}.list-check li{padding-left:26px;position:relative}.list-check li:before{content:"";position:absolute;left:0;top:.7em;width:14px;height:2px;background:var(--sky)}
/* gallery */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.filters button{font:inherit;font-size:.86rem;font-weight:500;padding:9px 16px;border:1px solid var(--line);background:#fff;border-radius:40px;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--deep);color:#fff;border-color:var(--deep)}
.g-grid{columns:3;column-gap:16px}
.g-item{break-inside:avoid;margin:0 0 16px;position:relative;cursor:zoom-in;display:block;width:100%;padding:0;border:0;background:#000;text-align:left;font:inherit}
.g-item img{width:100%;transition:opacity .3s}.g-item:hover img{opacity:.88}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 14px;color:#fff;background:linear-gradient(180deg,transparent,rgba(7,22,36,.85));font-size:.9rem;font-weight:600}
.g-item figcaption small{display:block;font-weight:400;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.g-item[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(4,12,20,.94);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}.lightbox img{max-height:82vh;width:auto;max-width:100%}
.lightbox .cap{color:#fff;text-align:center;margin-top:14px;font-size:.95rem}
.lightbox button{position:absolute;background:rgba(255,255,255,.1);border:0;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.4rem}
.lb-close{top:20px;right:20px}.lb-prev{left:20px;top:50%}.lb-next{right:20px;top:50%}
/* resources */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.res{border:1px solid var(--line);padding:32px;text-decoration:none;color:var(--ink);display:block;transition:.2s;background:#fff}.res:hover{border-color:var(--navy)}
.res h3{font-weight:600;margin:16px 0 8px}.res p{color:var(--mute);font-size:.92rem}
.res .ico{width:44px;height:44px;border-radius:50%;background:var(--mist);display:grid;place-items:center;color:var(--navy)}.res .ico svg{width:22px;height:22px}
.doc-table{width:100%;border-collapse:collapse;font-size:.93rem}.doc-table th,.doc-table td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left}
.doc-table thead th{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600}
.doc-table td a{font-weight:600;text-decoration:none}.doc-table .muted{color:#94a3b0}
.steps-list{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:0}
.steps-list li{counter-increment:s;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}
.steps-list li:before{content:counter(s,decimal-leading-zero);font-size:1.6rem;font-weight:500;color:var(--navy);letter-spacing:-.02em}
.steps-list h3{margin-bottom:6px}.steps-list p{margin:0;color:#3c4d5e}
/* about */
.story{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.story .big{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.3;font-weight:400;letter-spacing:-.02em}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.values div{border-top:2px solid var(--navy);padding-top:22px}
.split-img{display:grid;grid-template-columns:1fr 1fr;gap:14px}.split-img img{aspect-ratio:4/5;object-fit:cover;width:100%}
/* contact */
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:18px}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:7px;color:#33475a}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;font:inherit;font-size:.95rem;border:1px solid #C9D3DC;border-radius:var(--r);background:#fff;color:var(--ink)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:2px solid rgba(124,196,238,.5)}
.field textarea{min-height:140px;resize:vertical}
.info-card{background:var(--paper);padding:34px;border-top:3px solid var(--navy)}
.info-card dl{margin:0;display:grid;gap:18px}.info-card dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600}.info-card dd{margin:4px 0 0;font-weight:500}
/* search */
.search-overlay{position:fixed;inset:0;z-index:150;background:rgba(7,22,36,.6);display:none;align-items:flex-start;justify-content:center;padding:10vh 20px 20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.search-overlay.open{display:flex}
.search-panel{width:100%;max-width:720px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35);border-radius:6px;overflow:hidden}
.search-panel .bar{display:flex;align-items:center;gap:12px;padding:6px 18px;border-bottom:1px solid var(--line)}
.search-panel .bar svg{width:20px;height:20px;color:var(--mute);flex:none}
.search-panel input{flex:1;border:0;font:inherit;font-size:1.15rem;padding:16px 0;outline:none;min-width:0}
.search-panel .esc{font-size:.72rem;border:1px solid var(--line);padding:4px 8px;border-radius:3px;color:var(--mute);background:none;cursor:pointer}
.results{max-height:60vh;overflow:auto;list-style:none;margin:0;padding:8px}
.results li a{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:10px;text-decoration:none;color:var(--ink);border-radius:4px}
.results li a:hover,.results li a.active{background:var(--paper)}
.results img{width:64px;height:48px;object-fit:cover;background:var(--mist)}
.results b{display:block;font-size:.95rem}.results small{color:var(--mute);font-size:.8rem}
.results .type{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);font-weight:700}
.results .empty{padding:24px;color:var(--mute);font-size:.92rem}
.search-page input{width:100%;font:inherit;font-size:1.2rem;padding:18px 20px;border:1px solid #C9D3DC;border-radius:var(--r)}
mark{background:#d7ecfa;color:inherit;padding:0 1px}
/* footer */
.site-footer{background:var(--deep);color:rgba(255,255,255,.72);font-size:.9rem}
.f-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding:80px 0 56px}
.f-brand img{height:34px;width:auto;margin-bottom:22px}.f-brand p{max-width:300px}
.site-footer h4{color:#fff;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:18px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{color:rgba(255,255,255,.72);text-decoration:none}.site-footer a:hover{color:#fff}
.f-specs{display:flex;gap:30px;flex-wrap:wrap;padding:26px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.f-specs div b{display:block;color:#fff;font-weight:500;font-size:1.15rem}.f-specs div span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.f-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0 34px;font-size:.8rem;color:rgba(255,255,255,.5)}
.f-bottom a{color:rgba(255,255,255,.5)}
.site-footer .ph-flag{background:rgba(255,244,214,.12);color:#F3D98A;border-color:rgba(243,217,138,.35)}
/* responsive */
@media (max-width:1080px){
 .f-top{grid-template-columns:1fr 1fr 1fr}.f-brand{grid-column:1/-1}
 .why{grid-template-columns:1fr 1fr}
 .acc-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
 .menu-toggle{display:block}
 .menu{position:fixed;top:74px;left:0;right:0;bottom:0;background:#fff;flex-direction:column;align-items:stretch;padding:16px 20px 40px;gap:0;overflow:auto;display:none}
 .menu.open{display:flex}
 .menu>li{border-bottom:1px solid var(--line)}
 .menu a,.menu button.navlink{padding:16px 6px;font-size:1.05rem;width:100%}
 .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 10px;min-width:0}
 .menu .nav-cta{margin:20px 0 0;justify-content:center}
 .cat-grid,.p-grid,.res-grid,.values{grid-template-columns:1fr 1fr}
 .feature,.prod-top,.story,.contact,.cat-intro,.two,.spec-cols{grid-template-columns:1fr;gap:40px}
 .apps{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.apps .app{grid-column:span 1;grid-row:span 1}.apps .a1{grid-column:span 2;grid-row:span 1}
 .g-grid{columns:2}
}
@media (max-width:620px){
 .wrap{padding:0 20px}section{padding:72px 0}
 .hero{min-height:640px}.hero .wrap{padding-bottom:44px}
 .hero-stats{grid-template-columns:1fr 1fr}.hero-stats div{padding:16px 10px 0 0}
 .cat-grid,.p-grid,.res-grid,.values,.why{grid-template-columns:1fr}
 .apps{grid-template-columns:1fr;grid-auto-rows:220px}.apps .a1{grid-column:span 1}
 .spec-chips{grid-template-columns:1fr 1fr}
 .f-top{grid-template-columns:1fr 1fr}
 .g-grid{columns:1}
 form .row{grid-template-columns:1fr}
 .builder{padding:24px}
 .acc-grid{grid-template-columns:1fr 1fr}
 .spec th{width:44%}
 .steps-list li{grid-template-columns:48px 1fr;gap:12px}
 .split-img img{aspect-ratio:3/4}
 .cta .wrap{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.builder .pn i.dash{font-style:normal;color:rgba(255,255,255,.45);padding:0 2px}
.acc img{height:120px;width:120px}
@media (max-width:920px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}}
.page-head .eyebrow{color:var(--sky)}
.perf td:nth-child(2){white-space:nowrap}

/* ===== v2: academy, legal, tools, footer newsletter ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn-sky{background:var(--sky);color:var(--deep)}.btn-sky:hover{background:#9AD3F3}
.btn:focus-visible,.acard:focus-visible,.chip:focus-visible,.soc:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
/* footer newsletter + social */
.f-news{display:grid;grid-template-columns:1.1fr 1.3fr .8fr;gap:48px;align-items:center;padding:56px 0 48px;border-bottom:1px solid rgba(255,255,255,.12)}
.f-news h4{margin-bottom:10px}
.f-news-title{color:#fff;font-size:1.7rem;font-weight:500;letter-spacing:-.02em;margin:0 0 6px;line-height:1.15}
.f-news-copy p:last-child{margin:0}
.news-form{display:flex;gap:10px}
.news-form input{flex:1;min-width:0;padding:14px 16px;font:inherit;font-size:.95rem;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);border-radius:var(--r)}
.news-form input::placeholder{color:rgba(255,255,255,.5)}
.news-form input:focus{outline:2px solid rgba(124,196,238,.6);border-color:var(--sky)}
.news-form input[aria-invalid=true]{border-color:#F3A38A}
.news-msg{margin:10px 0 0;font-size:.86rem;min-height:1.3em;color:rgba(255,255,255,.7)}
.news-msg.err{color:#F7B9A6}
.news-thanks{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid rgba(124,196,238,.4);background:rgba(124,196,238,.08);border-radius:var(--r);color:#fff}
.news-thanks svg{flex:none;width:22px;height:22px;color:var(--sky);margin-top:2px}
.news-thanks b{display:block;font-weight:600}.news-thanks span{color:rgba(255,255,255,.75);font-size:.88rem}
.soc-row{display:flex;gap:10px;flex-wrap:wrap}
.site-footer .soc{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;color:#fff;transition:.18s}
.site-footer .soc:hover{background:var(--sky);border-color:var(--sky);color:var(--deep)}
.soc svg{width:19px;height:19px}
/* shared rows */
.row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.row-head h2{margin-bottom:8px}.row-sub{color:var(--mute);max-width:620px;margin:0}
/* article cards */
.acard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.acard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);overflow:hidden;transition:.22s}
.acard:hover{border-color:var(--navy);transform:translateY(-3px);box-shadow:0 22px 50px rgba(7,22,36,.10)}
.acard .ph{aspect-ratio:16/10;overflow:hidden;background:var(--mist)}
.acard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.acard:hover .ph img{transform:scale(1.04)}
.acard .body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.acat{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--navy)}
.acard h3{font-size:1.16rem;font-weight:600;margin:8px 0 8px;line-height:1.25}
.acard p{color:var(--mute);font-size:.9rem;flex:1;margin:0 0 16px}
.acard .meta{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--mute);border-top:1px solid var(--line);padding-top:14px}
.acard .go{display:inline-flex;gap:6px;align-items:center;color:var(--navy);font-weight:600}
.acad-grid .acard.big{grid-column:span 2;flex-direction:row}
.acard.big .ph{aspect-ratio:auto;flex:1.15;min-height:320px}
.acard.big .body{flex:1;padding:34px;justify-content:center}
.acard.big h3{font-size:1.7rem;font-weight:500;letter-spacing:-.02em}
.acard[hidden]{display:none}
.acad-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:end;margin-bottom:40px}
.acad-intro p{color:var(--mute);margin:0}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.chip{font-size:.84rem;padding:8px 14px;border:1px solid var(--line);border-radius:40px;text-decoration:none;color:var(--ink);background:#fff;transition:.18s}
.chip:hover{border-color:var(--navy);color:var(--navy)}
.topic-list{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;border-top:1px solid var(--line)}
.topic-list li a{display:block;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}
.topic-list li a:after{content:" →";color:var(--navy)}
.topic-list li a:hover{color:var(--navy)}
.tools-strip{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:center}
.tools-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.res .arrow{display:inline-flex;gap:6px;align-items:center;color:var(--navy);font-weight:600;font-size:.88rem;margin-top:6px}
/* article layout */
.art-head{padding:96px 0 72px}.art-head h1{font-size:clamp(2rem,4.4vw,3.5rem);max-width:950px}
.art-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:24px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:72px;align-items:start}
.prose{max-width:760px;font-size:1.04rem;line-height:1.75;color:#24364a}
.prose>*:first-child{margin-top:0}
.prose .lede{font-size:1.22rem;line-height:1.6;color:var(--ink);font-weight:400;margin-bottom:32px}
.prose h2{font-size:1.75rem;margin:52px 0 16px;scroll-margin-top:140px;color:var(--ink)}
.prose h3{font-size:1.14rem;margin:28px 0 8px;color:var(--ink)}
.prose p{margin:0 0 18px}
.prose a{color:var(--navy);text-underline-offset:3px}
.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--mist);padding:2px 6px;border-radius:3px;color:var(--navy)}
.prose .list-check{margin:0 0 22px}.prose .list-check li{line-height:1.65}
.prose .table-scroll{margin:8px 0 22px;border:1px solid var(--line)}
.prose table.perf{margin:0}
.prose .two{gap:20px}
.prose .steps-list.compact li{grid-template-columns:52px 1fr;padding:18px 0;gap:14px}
.prose .steps-list.compact li:before{font-size:1.2rem}
.prose .steps-list{margin-bottom:24px}
.callout{border-left:3px solid var(--navy);background:linear-gradient(90deg,var(--mist),#fff 85%);padding:20px 24px;margin:28px 0}
.callout b{display:block;color:var(--navy);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.callout p{margin:0;font-size:.98rem}
.takeaways{background:var(--deep);color:rgba(255,255,255,.85);padding:30px 32px;margin:44px 0 10px}
.takeaways h3{color:#fff;margin:0 0 14px;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.takeaways ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.takeaways li{padding-left:26px;position:relative;font-size:.97rem;line-height:1.55}
.takeaways li:before{content:"";position:absolute;left:0;top:.68em;width:14px;height:2px;background:var(--sky)}
.formula{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border:1px solid var(--line);padding:18px 22px;margin:8px 0 22px;background:var(--paper)}
.formula span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600}.formula b{font-size:1.3rem;font-weight:600;color:var(--navy)}
.cct-bar{display:flex;justify-content:space-between;padding:14px 16px;margin:10px 0 24px;border-radius:3px;background:linear-gradient(90deg,#FFB769 0%,#FFD7A1 30%,#FFF1DE 62%,#F2F6FF 100%);font-size:.82rem;font-weight:700;color:#3a2a14}
.svg-fig,.art-photo{margin:10px 0 26px}
.svg-fig svg{width:100%;height:auto;display:block;border:1px solid var(--line)}
.art-photo img{width:100%;height:auto;display:block}
.svg-fig figcaption,.art-photo figcaption,.fig-note{font-size:.84rem;color:var(--mute);margin-top:10px;line-height:1.5}
.art-foot{margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
.art-foot p{color:var(--mute)}
.art-aside{position:sticky;top:150px;display:grid;gap:22px;font-size:.92rem}
.toc,.aside-box{border:1px solid var(--line);padding:22px 24px;background:#fff}
.toc h4,.aside-box h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:t;display:grid;gap:2px}
.toc li{counter-increment:t}
.toc a{display:grid;grid-template-columns:26px 1fr;padding:6px 0;text-decoration:none;color:var(--ink);line-height:1.4}
.toc a:before{content:counter(t,decimal-leading-zero);color:var(--navy);font-weight:600;font-size:.8rem;padding-top:1px}
.toc a:hover{color:var(--navy)}
.aside-box ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.aside-box a{color:var(--navy);text-decoration:none;font-weight:500}.aside-box a:hover{text-decoration:underline}
.aside-back{color:var(--mute);text-decoration:none;font-size:.88rem}.aside-back:hover{color:var(--navy)}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;border-top:1px solid var(--line);padding-top:28px}
.prevnext a{text-decoration:none;color:var(--ink);font-weight:600;line-height:1.35}
.prevnext a small{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.prevnext .next{text-align:right}
.prevnext a:hover{color:var(--navy)}
/* legal */
.legal .prose h2{font-size:1.4rem;margin-top:40px}
.legal-flag{margin:0 0 28px}
.warranty-badge{display:grid;grid-template-columns:auto auto 1fr;gap:6px 18px;align-items:center;background:var(--deep);color:#fff;padding:26px 30px;margin-bottom:12px}
.warranty-badge b{font-size:4rem;font-weight:500;line-height:1;color:var(--sky)}
.warranty-badge span{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;line-height:1.4}
.warranty-badge p{margin:0;color:rgba(255,255,255,.75);font-size:.95rem;padding-left:18px;border-left:1px solid rgba(255,255,255,.2)}
/* calculator */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.calc{border:1px solid var(--line);padding:34px;background:#fff}
.calc h2{font-size:1.5rem;margin-bottom:22px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-out{background:var(--deep);color:#fff;padding:34px}
.calc-out .fig-note{color:rgba(255,255,255,.55)}
.calc-verdict{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r);font-weight:600;margin-bottom:24px}
.calc-verdict.ok{background:rgba(124,196,238,.14);border:1px solid rgba(124,196,238,.5)}
.calc-verdict.bad{background:rgba(243,163,138,.12);border:1px solid rgba(243,163,138,.55)}
.calc-verdict i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:1rem}
.calc-verdict.ok i{background:var(--sky);color:var(--deep)}.calc-verdict.bad i{background:#F3A38A;color:var(--deep)}
.calc-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);margin:0 0 20px;border:1px solid rgba(255,255,255,.12)}
.calc-stats div{background:var(--deep);padding:16px 18px}
.calc-stats dt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px}
.calc-stats dd{margin:0;font-size:1.35rem;font-weight:500}
.calc-notes{margin:0 0 16px;padding-left:18px;color:rgba(255,255,255,.82);font-size:.92rem;display:grid;gap:6px}
@media (max-width:1080px){.f-news{grid-template-columns:1fr 1fr}.f-social{grid-column:1/-1}.art-layout{grid-template-columns:1fr;gap:40px}.art-aside{position:static;grid-template-columns:1fr 1fr}.aside-back{grid-column:1/-1}.topic-list{grid-template-columns:1fr 1fr}}
@media (max-width:920px){.acard-grid{grid-template-columns:1fr 1fr}.acad-grid .acard.big{grid-column:1/-1}.acad-intro,.tools-strip,.calc-wrap{grid-template-columns:1fr;gap:28px}}
@media (max-width:620px){.f-news{grid-template-columns:1fr;gap:28px;padding:44px 0 36px}.news-form{flex-direction:column}.news-form .btn{width:100%}.acard-grid{grid-template-columns:1fr}.acad-grid .acard.big{flex-direction:column}.acard.big .ph{min-height:0;aspect-ratio:16/10;flex:none}.acard.big .body{padding:22px 24px 24px}.acard.big h3{font-size:1.3rem}.art-aside{grid-template-columns:1fr}.topic-list{grid-template-columns:1fr}.tools-links,.calc-row{grid-template-columns:1fr}.calc,.calc-out{padding:24px}.prose{font-size:1rem}.prose .lede{font-size:1.1rem}.prose h2{font-size:1.45rem;margin-top:40px}.prevnext{grid-template-columns:1fr}.prevnext .next{text-align:left}.warranty-badge{grid-template-columns:auto 1fr}.warranty-badge p{grid-column:1/-1;padding-left:0;border-left:0}.art-head{padding:64px 0 48px}.callout,.takeaways{padding:20px}}

.prose .steps-list h3{margin:0 0 6px}
.prose table.perf th,.prose table.perf td{padding:12px 14px}
table.perf.vd th,table.perf.vd td{white-space:nowrap;padding:12px 10px;font-size:.86rem}
@media (max-width:1080px){.art-layout{grid-template-columns:minmax(0,1fr)}}
.prose .two.ip-two{grid-template-columns:1fr 1fr}
@media (max-width:620px){.prose .two.ip-two{grid-template-columns:1fr}}

/* ===== v3: header with mega-menu ===== */
.site-header .nav{gap:18px}
.mnav{flex:1;display:flex;justify-content:center;height:100%}
.mtop{display:flex;list-style:none;margin:0;padding:0;height:100%;gap:2px}
.mt{display:flex;align-items:center}
.mt-link{display:flex;align-items:center;gap:6px;height:100%;padding:0 16px;font-size:.93rem;font-weight:500;color:var(--ink);text-decoration:none;position:relative}
.mt-link .chev{transition:transform .2s;opacity:.6}
.mt.open .mt-link,.mt-link:hover,.mt.cur .mt-link{color:var(--navy)}
.mt.open .mt-link .chev{transform:rotate(180deg)}
.mt.cur .mt-link:after,.mt.open .mt-link:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:linear-gradient(90deg,var(--sky),var(--navy))}
.nav-right{display:flex;align-items:center;gap:6px}
.nav-right .navlink{display:flex;align-items:center;gap:8px;padding:10px 12px;font:inherit;font-size:.92rem;font-weight:500;color:var(--ink);background:none;border:0;cursor:pointer;border-radius:var(--r)}
.nav-right .navlink:hover{color:var(--navy)}
.nav-cta{background:var(--navy);color:#fff;padding:10px 18px;text-decoration:none;font-size:.9rem;font-weight:500;border-radius:var(--r);white-space:nowrap}
.nav-cta:hover{background:#0A4870;color:#fff}
.menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer;color:var(--ink)}
.menu-toggle .i-close{display:none}.menu-toggle[aria-expanded=true] .i-open{display:none}.menu-toggle[aria-expanded=true] .i-close{display:block}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 30px 60px rgba(7,22,36,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;pointer-events:none}
.mt.open .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.mega-in{display:grid;gap:36px;padding-top:34px;padding-bottom:38px}
.mm-products{grid-template-columns:270px 1fr 360px}
.mm-list{grid-template-columns:1fr 360px}
.mm-cats{list-style:none;margin:0;padding:0 26px 0 0;border-right:1px solid var(--line);display:grid;gap:4px;align-content:start}
.mm-cat{display:block;padding:14px 16px;text-decoration:none;color:var(--ink);border-left:2px solid transparent;transition:.15s}
.mm-cat b{display:block;font-size:1.02rem;font-weight:600}
.mm-cat small{display:block;color:var(--mute);font-size:.8rem;line-height:1.4;margin-top:3px}
.mm-cat.on,.mm-cat:hover{background:var(--paper);border-left-color:var(--navy);color:var(--navy)}
.mm-cat.mm-plain{border-top:1px solid var(--line);margin-top:6px;border-left-color:transparent;background:none}
.mm-subs{display:none}.mm-subs.on{display:block}
.mm-subs h5,.mm-group h5{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:600;margin:4px 0 14px}
.mm-subs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 24px}
.mm-subs li a{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500;border-bottom:1px solid var(--line)}
.mm-subs li a span{font-size:.75rem;color:var(--mute);background:var(--paper);border-radius:20px;padding:1px 9px}
.mm-subs li a:hover{color:var(--navy);background:var(--paper)}
.mm-all{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:.88rem;font-weight:600;text-decoration:none}
.mm-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 36px}
.mm-groups.four{grid-template-columns:repeat(2,1fr)}
.mm-group ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mm-group a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);border-left:2px solid transparent}
.mm-group a b{display:block;font-size:.96rem;font-weight:600}.mm-group a small{display:block;color:var(--mute);font-size:.8rem}
.mm-group a:hover{background:var(--paper);border-left-color:var(--navy);color:var(--navy)}
.mm-prev{display:block;text-decoration:none;color:var(--ink);background:var(--paper)}
.mm-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--mist)}
.mm-img img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}
.mm-img img.fade{opacity:.35}
.mm-cap{display:block;padding:14px 16px 16px}.mm-cap b{display:block;font-size:1rem}.mm-cap small{display:block;color:var(--mute);font-size:.82rem;line-height:1.45}
.mdrawer{display:none}
body.menu-open{overflow:hidden}
@media (max-width:1099px){
 .mnav,.nav-right .nav-cta{display:none}
 .menu-toggle{display:block}
 .nav-right .navlink span{display:none}
 .mdrawer{display:block;position:fixed;top:74px;left:0;right:0;bottom:0;background:#fff;overflow:auto;z-index:60;border-top:1px solid var(--line)}
 .mdrawer[hidden]{display:none}
 .md-in{padding:18px 22px 40px}
 .md-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--r);padding:0 14px;margin-bottom:12px;background:var(--paper)}
 .md-search svg{width:18px;height:18px;color:var(--mute);flex:none}
 .md-search input{flex:1;border:0;background:none;font:inherit;font-size:1rem;padding:14px 0;outline:none;min-width:0}
 .ma{border-bottom:1px solid var(--line)}
 .ma-btn,.ma-link{display:flex;width:100%;justify-content:space-between;align-items:center;padding:17px 4px;font:inherit;font-size:1.08rem;font-weight:600;color:var(--ink);background:none;border:0;text-align:left;cursor:pointer;text-decoration:none}
 .ma-link{border-bottom:1px solid var(--line)}
 .ma-btn .chev{transition:transform .2s;width:16px;height:16px}
 .ma-btn[aria-expanded=true]{color:var(--navy)}.ma-btn[aria-expanded=true] .chev{transform:rotate(180deg)}
 .ma-body{padding:0 0 12px 12px}
 .ma-body ul{list-style:none;margin:0;padding:0}
 .ma-body li a{display:flex;justify-content:space-between;padding:11px 4px;color:var(--ink);text-decoration:none;font-size:.98rem}
 .ma-body li a span{color:var(--mute);font-size:.8rem}
 .ma-nest .ma{border-bottom:1px solid var(--line)}
 .ma-nest .ma-btn{font-size:1rem;font-weight:500;padding:13px 4px}
 .ma-nest .ma:last-of-type{border-bottom:0}
 .ma-link.sub{font-size:.98rem;font-weight:500;padding:13px 4px;border:0;color:var(--navy)}
 .ma-all{color:var(--navy)!important;font-weight:600}
 .md-cta{width:100%;margin-top:24px}
}
/* ===== v3: catalog ===== */
.cat-lede{max-width:820px;color:var(--mute);font-size:1.05rem;margin:0 0 34px}
.sub-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sub-tile{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);transition:.2s}
.sub-tile:hover{border-color:var(--navy);box-shadow:0 18px 40px rgba(7,22,36,.08)}
.st-img{aspect-ratio:16/9;overflow:hidden;background:var(--paper)}.st-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sub-tile:hover .st-img img{transform:scale(1.04)}
.st-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.st-body b{font-size:1.1rem;font-weight:600}.st-body small{color:var(--mute);font-size:.88rem;line-height:1.5;margin:6px 0 12px;flex:1}
.st-body em{font-style:normal;font-size:.82rem;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:8px}
.sub-sec{padding:70px 0;border-top:1px solid var(--line)}
.sub-sec .sec-head p a{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none}
.pcard .arrow{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--navy);margin-top:10px}
.cmp-h{margin:56px 0 16px}
table.compare td,table.compare th{white-space:nowrap}
table.compare td a{text-decoration:none}
.cta-band{background:var(--deep);color:#fff;padding:56px 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta-band h2{margin:0 0 6px;font-size:clamp(1.5rem,2.6vw,2.1rem)}.cta-band p{margin:0;color:rgba(255,255,255,.75)}
.type-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:30px}
.type-chips span{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-right:4px}
.type-chips a{border:1px solid var(--line);background:#fff;padding:8px 14px;border-radius:30px;font-size:.88rem;text-decoration:none;color:var(--ink)}
.type-chips a:hover{border-color:var(--navy);color:var(--navy)}
.type-chips a.more{border-color:var(--navy);color:var(--navy);display:inline-flex;gap:6px;align-items:center;font-weight:600}
#product-root .crumbs,#project-root .crumbs{color:var(--mute);margin:26px 0 0}
#product-root .crumbs a,#project-root .crumbs a{color:var(--mute)}
#product-root .crumbs a:hover{color:var(--navy)}
#product-root{padding-bottom:40px}
#product-root>.crumbs{max-width:var(--w);margin:26px auto 0;padding:0 28px}
.prod-info .list-check{margin:22px 0 4px;font-size:.95rem}
.dl-h{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:26px 0 0}
.actions-row{display:flex;gap:12px;flex-wrap:wrap}
.muted-p{color:var(--mute);max-width:680px}
.acc-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.acc-list li{border:1px solid var(--line);padding:9px 14px;font-size:.9rem;background:var(--paper)}
.profile-svg{width:100%;max-width:680px;height:auto;display:block;font-family:inherit}
.svg-fig{background:var(--paper);border:1px solid var(--line);padding:26px}
.doc-h{margin:44px 0 14px}.doc-h:first-child{margin-top:0}
.na{color:var(--mute);font-size:.85rem}
/* ===== v3: projects ===== */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.proj-grid.home{margin-top:0}
.proj-grid.sm{grid-template-columns:repeat(3,1fr)}
.proj-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);transition:.2s}
.proj-card:hover{border-color:var(--navy);box-shadow:0 18px 40px rgba(7,22,36,.1)}
.proj-card[hidden]{display:none}
.pc-img{aspect-ratio:3/2;overflow:hidden;display:block;background:var(--paper)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.proj-card:hover .pc-img img{transform:scale(1.04)}
.pc-body{display:flex;flex-direction:column;padding:16px 18px 18px}
.pc-body small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);font-weight:600}
.pc-body b{font-size:1.12rem;font-weight:600;margin:6px 0 4px;line-height:1.25}
.pc-body span{font-size:.86rem;color:var(--mute)}
.proj-card.big{grid-column:span 2;grid-row:span 2}
.proj-card.big .pc-img{aspect-ratio:auto;flex:1;min-height:320px}
.proj-card.big .pc-body b{font-size:1.4rem}
.proj-strip{padding:90px 0}
.proj-hero{position:relative;height:min(72vh,640px);min-height:380px;background:var(--deep);color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.proj-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proj-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,22,36,0) 40%,rgba(7,22,36,.78))}
.proj-hero .wrap{position:relative;z-index:1;padding-bottom:44px;width:100%}
.proj-hero h1{margin:0}
.proj-layout{display:grid;grid-template-columns:1fr 340px;gap:56px;margin:36px 0 50px;align-items:start}
.proj-layout .lead{font-size:1.15rem;color:var(--ink)}
.proj-layout h3{margin-top:30px}
.proj-layout .p-grid{grid-template-columns:repeat(2,1fr);margin-top:16px}
.proj-facts{background:var(--paper);border:1px solid var(--line);padding:26px;position:sticky;top:100px}
.proj-facts dl{margin:0 0 20px}.proj-facts dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-top:14px}
.proj-facts dd{margin:4px 0 0;font-weight:500}
.proj-facts .btn{width:100%}
.filters button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (max-width:1100px){.mm-products{grid-template-columns:240px 1fr 300px}}
@media (max-width:920px){
 .sub-tiles,.proj-grid,.proj-grid.sm{grid-template-columns:1fr 1fr}
 .proj-card.big{grid-column:span 2;grid-row:auto}.proj-card.big .pc-img{aspect-ratio:16/9;min-height:0}
 .proj-layout{grid-template-columns:1fr;gap:30px}.proj-facts{position:static}
}
@media (max-width:620px){
 .sub-tiles,.proj-grid,.proj-grid.sm,.proj-layout .p-grid{grid-template-columns:1fr}
 .proj-card.big{grid-column:auto}
 .sub-sec{padding:50px 0}.proj-strip{padding:60px 0}
 .svg-fig{padding:14px}
 .cta-band .btn{width:100%}
 .type-chips span{width:100%}
}

/* ===== v3: listing + filters ===== */
.sr-h{position:absolute;left:-9999px}
.lst-sec{border-top:1px solid var(--line)}
.listing{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start}
.fpanel{position:sticky;top:128px;max-height:calc(100vh - 146px);overflow:auto;border:1px solid var(--line);background:#fff;padding:6px 18px 18px}
.fp-head{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}
.fp-head b{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}
.fp-clear{background:none;border:0;color:var(--navy);font:inherit;font-size:.84rem;cursor:pointer;padding:4px 0}
.fp-close,.fp-apply,.fp-open{display:none}
.fgroup{border-bottom:1px solid var(--line);padding:4px 0}
.fgroup summary{cursor:pointer;list-style:none;padding:12px 0;font-weight:600;font-size:.92rem;display:flex;justify-content:space-between}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary:after{content:"+";color:var(--mute);font-weight:400}.fgroup[open] summary:after{content:"–"}
.fopts{display:grid;gap:2px;padding:0 0 10px}
.fopts label{display:flex;align-items:center;gap:10px;font-size:.88rem;padding:5px 0;cursor:pointer}
.fopts input{width:16px;height:16px;accent-color:var(--navy);flex:none;margin:0}
.fopts span{flex:1}.fopts em{font-style:normal;color:var(--mute);font-size:.78rem}
.fopts label.zero{opacity:.45}
.lst-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:14px}
.lst-count{color:var(--mute);font-size:.9rem}.lst-count b{color:var(--ink)}
.lst-grid{grid-template-columns:repeat(3,1fr)}
.lst-grid .pcard[hidden]{display:none}
.lst-empty{border:1px dashed var(--line);padding:40px;text-align:center;color:var(--mute)}
.lst-empty[hidden]{display:none}
@media (max-width:1180px){.lst-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
 .listing{grid-template-columns:1fr;gap:0}
 .fp-open{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy);background:#fff;color:var(--navy);font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--r);cursor:pointer}
 .fbadge{background:var(--navy);color:#fff;border-radius:20px;font-size:.72rem;padding:1px 8px}
 .fbadge[hidden]{display:none}
 .fpanel{position:fixed;inset:0;top:0;max-height:none;z-index:80;border:0;padding:0 20px 90px;transform:translateX(-100%);transition:transform .25s;visibility:hidden}
 .fpanel.open{transform:none;visibility:visible}
 .fp-head{padding:16px 0}
 .fp-close{display:block;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink)}
 .fp-apply{display:flex;position:fixed;left:20px;right:20px;bottom:18px;width:auto}
 body.filters-open{overflow:hidden}
}
@media (max-width:620px){.lst-grid{grid-template-columns:1fr}}
/* product gallery + lightbox */
.gallery-main{position:relative;cursor:zoom-in;background:var(--paper)}
.gallery-main .g-svg{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:20px;background:#fff;border:1px solid var(--line)}
.gallery-main .g-svg svg{width:100%;height:auto;max-height:100%}
.gallery-main .zoom{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:.78rem;font-weight:600;color:var(--ink);pointer-events:none}
.thumbs button .t-svg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff}
.thumbs button .t-svg svg{width:92%;height:auto}
.thumbs button small{position:absolute;left:0;right:0;bottom:0;background:rgba(7,22,36,.7);color:#fff;font-size:.62rem;padding:2px 4px;text-align:center}
.thumbs button{position:relative}
.plb{position:fixed;inset:0;z-index:90;background:rgba(7,22,36,.94);display:none;align-items:center;justify-content:center;padding:60px 70px}
.plb.open{display:flex}
.plb .plb-stage{max-width:1200px;width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.plb img{max-width:100%;max-height:82vh;object-fit:contain}
.plb .plb-svg{background:#fff;padding:30px;width:min(1000px,100%)}
.plb .plb-svg svg{width:100%;height:auto}
.plb button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:1.4rem}
.plb .plb-x{top:16px;right:16px}.plb .plb-p{left:14px;top:50%}.plb .plb-n{right:14px;top:50%}
.plb .plb-cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font-size:.85rem}
@media (max-width:620px){.plb{padding:60px 10px}.plb .plb-p,.plb .plb-n{top:auto;bottom:50px}}

/* v3: header — search at far right, no CTA */
.nav-right .search-btn{order:3}
.nav-right .menu-toggle{order:2}
@media (max-width:1099px){.nav-right .search-btn span{display:none}.nav-right{gap:4px}}

/* ===== v4: full-width layout + header over hero (Jacob, Oct 29) ===== */
:root{--w:2400px;--gut:clamp(20px,4vw,112px);--hh:74px}
.wrap{max-width:calc(var(--w) + 2 * var(--gut));padding-left:var(--gut);padding-right:var(--gut)}
/* header, mega panel and page content share one fluid container, so the logo lines up with the content edge at every width */
#product-root>.crumbs{max-width:calc(var(--w) + 2 * var(--gut));padding:0 var(--gut)}
.brand{flex:none;display:block;position:relative}
.brand img{height:30px;width:auto}
.brand .logo-light{position:absolute;left:0;top:0;opacity:0}
.site-header{transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease,color .28s ease}
.site-header .brand img,.mt-link,.nav-right .navlink,.menu-toggle{transition:color .28s ease,opacity .28s ease}
/* transparent header over the opening image; turns solid on scroll, hover, open menus */
body.hdr-over .site-header{position:fixed;top:0;left:0;right:0}
body.hdr-over .site-header:not(.solid):not(.mega-open){background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
body.hdr-over .site-header:not(.solid):not(.mega-open):before{content:"";position:absolute;left:0;right:0;top:0;height:150%;background:linear-gradient(180deg,rgba(5,15,26,.55),rgba(5,15,26,0));pointer-events:none;z-index:-1}
body.hdr-over .site-header:not(.solid):not(.mega-open) .mt-link,
body.hdr-over .site-header:not(.solid):not(.mega-open) .nav-right .navlink,
body.hdr-over .site-header:not(.solid):not(.mega-open) .menu-toggle{color:#fff}
body.hdr-over .site-header:not(.solid):not(.mega-open) .mt-link:hover{color:var(--sky)}
body.hdr-over .site-header:not(.solid):not(.mega-open) .brand .logo-dark{opacity:0}
body.hdr-over .site-header:not(.solid):not(.mega-open) .brand .logo-light{opacity:1}
.site-header.solid{background:rgba(255,255,255,.985);border-bottom-color:var(--line);box-shadow:0 10px 30px -18px rgba(7,22,36,.35)}
@media (max-width:1099px){body.menu-open .site-header,body.hdr-over.menu-open .site-header{background:#fff!important;border-bottom-color:var(--line)!important}
 body.menu-open .site-header:before{display:none}
 body.menu-open .site-header .mt-link,body.menu-open .site-header .nav-right .navlink,body.menu-open .site-header .menu-toggle{color:var(--ink)!important}
 body.menu-open .site-header .brand .logo-dark{opacity:1!important}body.menu-open .site-header .brand .logo-light{opacity:0!important}}
/* landing hero: full-bleed, runs under the header */
.hero{min-height:100vh;min-height:min(100svh,1600px);max-height:none;align-items:flex-end;padding-top:var(--hh)}
@supports not (height:100svh){.hero{min-height:min(100vh,1600px)}}
.hero>img{opacity:1}
.hero:after{background:linear-gradient(180deg,rgba(5,15,26,.38) 0%,rgba(5,15,26,0) 22%,rgba(5,15,26,.12) 48%,rgba(5,15,26,.82) 100%),linear-gradient(90deg,rgba(5,15,26,.62) 0%,rgba(5,15,26,.18) 55%,transparent 80%)}
.hero .wrap{padding-bottom:clamp(64px,11vh,140px)}
.hero h1{font-size:clamp(2.6rem,5.2vw,6.4rem);font-weight:400;letter-spacing:-.045em;line-height:1.02;max-width:none;margin-bottom:26px}
.hero p.lead{font-size:clamp(1.05rem,1.1vw,1.28rem);max-width:600px;line-height:1.65}
.hero .actions{margin-top:38px}
.hero-stats{display:none}
.hero+.flowline{display:none}
/* inner page banners: image fills the band, header sits on it */
.page-head{padding:calc(var(--hh) + clamp(64px,8vw,128px)) 0 clamp(56px,6vw,96px);background:var(--deep)}
.page-head>img{opacity:.62}
.page-head:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,15,26,.55) 0%,rgba(5,15,26,.25) 40%,rgba(5,15,26,.78) 100%),linear-gradient(90deg,rgba(5,15,26,.7),rgba(5,15,26,.1) 70%);pointer-events:none}
.page-head .wrap{z-index:1}
.page-head h1{font-weight:400;letter-spacing:-.04em}
.page-head.art-head{padding-top:calc(var(--hh) + clamp(64px,7vw,112px));padding-bottom:clamp(56px,5vw,80px)}
.proj-hero{height:min(80vh,780px);min-height:440px;padding-top:var(--hh)}
.proj-hero:after{background:linear-gradient(180deg,rgba(5,15,26,.45) 0%,rgba(5,15,26,0) 24%,rgba(5,15,26,.18) 50%,rgba(5,15,26,.86) 100%),linear-gradient(90deg,rgba(5,15,26,.55),transparent 60%)}
.proj-hero .wrap{padding-bottom:clamp(40px,5vw,72px)}
/* footer: no product stats strip */
.f-specs{display:none}
.f-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:28px}
/* generous rhythm on big screens */
@media (min-width:1600px){
 section{padding:clamp(110px,7vw,150px) 0}.sec-tight{padding:88px 0}
 .lst-grid{grid-template-columns:repeat(4,1fr)}
 .p-grid{grid-template-columns:repeat(4,1fr)}
 .mm-subs ul{grid-template-columns:repeat(3,1fr)}
 .mm-products{grid-template-columns:300px 1fr 420px}
 .mm-list{grid-template-columns:1fr 420px}
 .mm-groups.four{grid-template-columns:repeat(4,1fr)}
}
@media (min-width:2200px){html{font-size:17px}.brand img{height:34px}}
@media (max-width:620px){.hero{min-height:min(100svh,900px)}}
#product-root>.wrap,#project-root>.wrap{padding-left:var(--gut)!important;padding-right:var(--gut)!important}
.proj-hero .eyebrow,.page-head .eyebrow{color:#fff;text-shadow:0 1px 12px rgba(5,15,26,.5)}.proj-hero .eyebrow:before,.page-head .eyebrow:before{background:var(--sky)}

/* v4 dedupe: list markers are the "O" from the FlowLite logo, in the brand colour (white on dark panels) */
:root{--o-mark:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2236.6 6.6 32.2 32.2%22%3E%3Cpath fill=%22%230C5484%22 fill-rule=%22nonzero%22 d=%22M60.658 8.882C58.274 7.581 55.616 6.930 52.683 6.930C49.750 6.930 47.092 7.581 44.710 8.882C42.326 10.184 40.447 12.026 39.073 14.409C37.697 16.792 37.010 19.543 37.010 22.658C37.010 25.775 37.679 28.524 39.018 30.908C40.355 33.291 42.198 35.133 44.544 36.434C46.211 37.359 48.028 37.948 49.990 38.216C49.190 37.505 48.683 36.471 48.683 35.317L48.683 33.939C48.683 32.544 48.090 31.215 47.050 30.285L47.031 30.268C45.623 29.006 44.188 27.602 43.763 24.980C42.880 19.511 46.895 14.307 52.434 14.229C57.519 14.158 61.489 18.272 61.489 23.339C61.489 26.766 59.993 28.234 58.368 29.654L58.128 29.863C57.058 30.793 56.445 32.144 56.445 33.561L56.445 35.317C56.445 36.456 55.951 37.477 55.170 38.187C57.086 37.907 58.872 37.328 60.521 36.434C62.921 35.133 64.828 33.291 66.240 30.908C67.651 28.524 68.357 25.775 68.357 22.658C68.357 19.543 67.669 16.792 66.294 14.409C64.920 12.026 63.041 10.184 60.658 8.882%22/%3E%3C/svg%3E");--o-mark-light:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2236.6 6.6 32.2 32.2%22%3E%3Cpath fill=%22%23ffffff%22 fill-rule=%22nonzero%22 d=%22M60.658 8.882C58.274 7.581 55.616 6.930 52.683 6.930C49.750 6.930 47.092 7.581 44.710 8.882C42.326 10.184 40.447 12.026 39.073 14.409C37.697 16.792 37.010 19.543 37.010 22.658C37.010 25.775 37.679 28.524 39.018 30.908C40.355 33.291 42.198 35.133 44.544 36.434C46.211 37.359 48.028 37.948 49.990 38.216C49.190 37.505 48.683 36.471 48.683 35.317L48.683 33.939C48.683 32.544 48.090 31.215 47.050 30.285L47.031 30.268C45.623 29.006 44.188 27.602 43.763 24.980C42.880 19.511 46.895 14.307 52.434 14.229C57.519 14.158 61.489 18.272 61.489 23.339C61.489 26.766 59.993 28.234 58.368 29.654L58.128 29.863C57.058 30.793 56.445 32.144 56.445 33.561L56.445 35.317C56.445 36.456 55.951 37.477 55.170 38.187C57.086 37.907 58.872 37.328 60.521 36.434C62.921 35.133 64.828 33.291 66.240 30.908C67.651 28.524 68.357 25.775 68.357 22.658C68.357 19.543 67.669 16.792 66.294 14.409C64.920 12.026 63.041 10.184 60.658 8.882%22/%3E%3C/svg%3E")}
.list-check li:before,.takeaways li:before{width:14px;height:14px;top:.36em;background:var(--o-mark) center/contain no-repeat}
.dark .list-check li:before,.takeaways li:before,.site-footer .list-check li:before{background-image:var(--o-mark-light)}
main ul:not([class]){list-style:none;padding-left:0}
main ul:not([class])>li{position:relative;padding-left:24px}
main ul:not([class])>li:before{content:"";position:absolute;left:0;top:.36em;width:14px;height:14px;background:var(--o-mark) center/contain no-repeat}
.dark main ul:not([class])>li:before,main .dark ul:not([class])>li:before{background-image:var(--o-mark-light)}
.seen-in{margin:0;font-size:.98rem;line-height:1.8}.seen-in a{color:var(--navy)}

/* v4: simple Resources menu (short lists, no descriptions, no photo panel) */
.mm-simple{display:flex;justify-content:flex-start;gap:72px;padding-top:30px;padding-bottom:34px}
.mm-simple .mm-group{min-width:170px}
.mm-simple .mm-group h5{margin:0 0 12px}
.mm-simple .mm-group ul{gap:0}
.mm-simple .mm-group a{padding:7px 0;border-left:0;font-size:.95rem;font-weight:500;color:var(--ink)}
.mm-simple .mm-group a:hover{background:none;color:var(--navy);text-decoration:underline;text-underline-offset:4px}

/* no-number-labels (Jacob 2026-10-30): no 01/02/03 labels anywhere */
.steps-list li:before,.steps-list.compact li:before,.toc a:before{content:none;display:none}
.steps-list li,.steps-list.compact li{display:block}
.toc a{display:block}
.cat .num,.why .n{display:none}

/* home hero slideshow (2026-10-30) */
.hs-slides{position:absolute;inset:0}
.hs-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.8s ease,visibility 0s linear 1.8s}
.hs-slide.is-on{opacity:1;visibility:visible;transition:opacity 1.8s ease}
.hs-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hs-bar{display:flex;align-items:center;justify-content:space-between;gap:20px 28px;margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.22);max-width:1100px}
.hs-cap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;min-height:40px}
.hs-cap small{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sky);font-weight:600}
.hs-cap b{font-weight:500;font-size:1rem;color:#fff}
.hs-cta{display:inline-flex;align-items:center;gap:8px}
.hs-cta[hidden]{display:none}
.hs-nav{display:flex;align-items:center;gap:8px;flex:none}
.hs-prev,.hs-next{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(7,22,36,.35);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s}
.hs-prev:hover,.hs-next:hover{background:rgba(255,255,255,.16)}
.hs-dots{display:flex;align-items:center}
.hs-dot{position:relative;width:26px;height:26px;border:0;padding:0;background:none;cursor:pointer}
.hs-dot:before{content:"";position:absolute;inset:9px;border-radius:50%;background:rgba(255,255,255,.42);transition:background .2s,inset .2s}
.hs-dot.is-on:before{background:#fff;inset:7px}
.hs button:focus-visible,.hs a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media (max-width:760px){.hs-bar{flex-direction:column;align-items:flex-start;margin-top:30px;gap:14px}.hs-cap b{font-size:.95rem}}
@media (prefers-reduced-motion:reduce){.hs-slide,.hs-slide.is-on{transition:none}}

.plb-cap{display:none}

.hero.hs{padding:calc(var(--hh) + 28px) 0 0}
@media (max-width:620px){.hero.hs .hs-bar{margin-top:26px}.hero.hs p.lead{font-size:1rem;line-height:1.55}}

/* product downloads: slim list (2026-10-30) */
.dl-list{list-style:none;margin:14px 0 26px;padding:0;border-top:1px solid var(--line)}
.dl-list li{margin:0;padding:0;border-bottom:1px solid var(--line)}
.dl-list li:before{content:none!important;display:none!important}
.dl-row{display:flex;align-items:center;gap:12px;padding:11px 2px;text-decoration:none;color:var(--ink);font-size:.92rem;font-weight:500}
a.dl-row:hover .dl-name{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.dl-ic{display:flex;flex:none}.dl-ic svg,.dl-go svg{width:18px;height:18px;color:var(--navy)}
.dl-name{flex:1}
.dl-kind{font-size:.72rem;letter-spacing:.12em;color:var(--mute);font-weight:600}
.dl-go{display:flex;width:18px;flex:none}
.dl-row.is-inert{cursor:default;color:var(--mute)}.dl-row.is-inert .dl-ic svg{color:#9AAAB8}
.doc-inert{color:var(--mute);cursor:default}

/* tape layout: the spec-sheet diagram itself, centered (2026-10-30) */
.spec-fig{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid var(--line);padding:clamp(10px,2vw,24px);margin:0 auto}
.spec-fig img{display:block;max-width:min(100%,1120px);height:auto;margin:0 auto}
.svg-fig{display:flex;justify-content:center}.svg-fig svg{margin-left:auto;margin-right:auto}
.g-svg img.spec-diag,.t-svg img.spec-diag,.plb-svg img.spec-diag{display:block;width:100%;height:auto;object-fit:contain;background:#fff}

.spec-fig-ch img{max-width:min(100%,760px)}

/* channel tiles: hover swaps to the spec-sheet dimension drawing */
.pcard .ph{position:relative}
.pcard .ph .ph-diag{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;padding:0;box-sizing:border-box;opacity:0;transition:opacity .45s ease;pointer-events:none}
@media (hover:hover) and (pointer:fine){.pcard:hover .ph .ph-diag,.pcard:focus-visible .ph .ph-diag{opacity:1}}
@media (prefers-reduced-motion:reduce){.pcard .ph .ph-diag{transition:none}}

/* gallery swipe */
.gallery-main,.plb-stage{touch-action:pan-y}
.gallery-main .gcount{position:absolute;left:12px;bottom:12px;background:rgba(11,27,43,.62);color:#fff;border-radius:30px;padding:4px 10px;font-size:.75rem;font-weight:600;letter-spacing:.02em;pointer-events:none}
@media (min-width:900px){.gallery-main .gcount{display:none}}
@keyframes g-in-r{from{transform:translateX(36px);opacity:.35}to{transform:none;opacity:1}}
@keyframes g-in-l{from{transform:translateX(-36px);opacity:.35}to{transform:none;opacity:1}}
.g-in-r{animation:g-in-r .28s ease-out}.g-in-l{animation:g-in-l .28s ease-out}
@media (prefers-reduced-motion:reduce){.g-in-r,.g-in-l{animation:none}}

/* phone hero (2026-11-01): photo on top in a 4:5 frame with a per-slide focal point (--mpos), fade only at its bottom, text below. Desktop/tablet (>760px) untouched. */
@media (max-width:760px){
 .hero.hs{display:block;min-height:0;padding:0}
 .hero.hs:after{content:none}
 .hero.hs .hs-slides{position:relative;inset:auto;height:min(125vw,64vh);height:min(125vw,64svh)}
 .hero.hs .hs-slides:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(7,22,36,0) 0%,rgba(7,22,36,0) 58%,rgba(7,22,36,.55) 80%,#071624 100%)}
 .hero.hs .hs-slide img{object-position:var(--mpos,50% 50%)!important}
 .hero.hs .wrap{margin-top:-56px;padding-bottom:48px}
 .hero.hs h1{margin-bottom:18px}
 .hero.hs .actions{margin-top:26px}
 .hero.hs .hs-nav{order:-1}
 .hero.hs .hs-cap{min-height:128px;align-content:flex-start}
}

/* phone hero, product shots (2026-11-01): tape + channels photos are wide studio shots; on phones show ~75% of their width below the header, edges feathered into a matching navy, plus slide arrows/dots on the photo. */
@media (max-width:760px){
 .hero.hs .hs-slide{background:linear-gradient(180deg,#1d2639 0%,#1b2436 75%,#0d1c2c 100%)}
 .hero.hs .hs-slide img.m-fit{position:absolute;left:0;top:18%;height:60%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 84%,transparent 100%)}
 .hero.hs .hs-nav{position:absolute;right:16px;top:-64px;z-index:2}
}

/* ===== product catalog download (resources/downloads.html#catalog) ===== */
.catalog-dl{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--navy);padding:34px;margin:0 0 56px;scroll-margin-top:140px}
.catalog-cover{display:block;box-shadow:0 10px 28px rgba(11,27,43,.18);border:1px solid var(--line);background:#fff}
.catalog-cover img{width:100%;height:auto}
.catalog-body h2{margin:0 0 10px}.catalog-body .eyebrow{margin-bottom:12px}
.catalog-body p{color:var(--mute);margin:0;max-width:620px}
.catalog-body .catalog-note{font-size:.85rem;margin-top:6px}
.catalog-dl .dl-list{margin:18px 0 0;background:#fff}
.catalog-dl .dl-row{padding:13px 12px}.catalog-dl .dl-name b{color:var(--navy);margin-right:6px;font-weight:700}
.catalog-dl .dl-kind{white-space:nowrap}
.catalog-actions{margin-top:22px}.catalog-btn svg{flex:none}
@media (max-width:760px){.catalog-btn{width:100%}}
.ph-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#fff;font-weight:600;text-decoration:none;border-bottom:1px solid var(--sky);padding-bottom:2px}
.ph-link:hover{color:var(--sky)}.ph-link svg{width:18px;height:18px}
@media (max-width:760px){.catalog-dl{grid-template-columns:1fr;gap:22px;padding:22px 18px;margin-bottom:40px}.catalog-cover{max-width:150px}.catalog-dl .dl-row{padding:12px 6px;gap:10px;font-size:.88rem}.catalog-dl .dl-kind{font-size:.68rem;letter-spacing:.06em}}

/* contact form delivery states */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}
.form-note{color:var(--mute);font-size:.86rem;margin-top:12px;min-height:1.2em}
.form-note.ok{color:#1E6B3A;background:#EAF6EE;border-left:3px solid #2E8B57;padding:12px 14px;font-size:.92rem}
.form-note.err{color:#8A1F1F;background:#FCEDED;border-left:3px solid #C0392B;padding:12px 14px;font-size:.92rem}
.form-note.err a{color:inherit;text-decoration:underline}
#contact-form .invalid{border-color:#C0392B}
#contact-form button[disabled]{opacity:.65;cursor:progress}

/* home page: bigger logo before scrolling, normal size once scrolled (Jacob, Nov 2) */
.site-header .nav{transition:height .2s ease}
.site-header .brand img{transition:height .2s ease,color .28s ease,opacity .28s ease}
body.home-top:not(.menu-open) .site-header .nav{height:103px}
body.home-top:not(.menu-open) .site-header .brand img{height:52px}
@media (min-width:2200px){body.home-top:not(.menu-open) .site-header .brand img{height:59px}}
@media (max-width:620px){body.home-top:not(.menu-open) .site-header .nav{height:95px}body.home-top:not(.menu-open) .site-header .brand img{height:48px}}

/* downloads chooser */
.dl-pick~[hidden]{display:none!important}
.dl-pick{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.dl-pick a{padding:12px 20px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem;border-radius:var(--r);background:#fff}.dl-pick a:hover{border-color:var(--navy);color:var(--navy)}.dl-pick a.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* wiring drawing (driver pages): drawing full width, note below */
.svg-fig.wiring-fig{display:block}
.svg-fig.wiring-fig svg{max-width:820px}
.svg-fig.wiring-fig .fig-note{max-width:820px;margin-left:auto;margin-right:auto}
@media (max-width:760px){.svg-fig.wiring-fig{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:10px}.svg-fig.wiring-fig svg{min-width:600px}}

/* compact products dropdown, anchored under "Products" (Jacob 8:20 PM) */
@media (min-width:1100px){
.mt.mt-prod{position:relative}
.mt-prod .mega{left:-8px;right:auto;top:100%;width:820px;max-width:calc(100vw - 40px);border:1px solid var(--line)}
.mt-prod .mega-in.mm-products{max-width:none;width:auto;margin:0;padding:22px 22px 24px;grid-template-columns:220px 1fr 230px;gap:22px}
.mt-prod .mm-cats{padding-right:16px}
.mt-prod .mm-cat{padding:10px 12px}
.mt-prod .mm-cat small{display:none}
.mt-prod .mm-subs ul{grid-template-columns:1fr}
.mt-prod .mm-subs li a{padding:9px 10px}
.mt-prod .mm-cap{padding:10px 12px 12px}
}

/* ===== 2026-11-03 tape collections as brand lines (COLLECTION tiles, collection page heads, menu labels) ===== */
.st-coll .st-eyebrow{display:flex;align-items:center;gap:10px;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--navy);margin-bottom:8px}
.st-coll .st-eyebrow:before{content:"";width:24px;height:2px;background:linear-gradient(90deg,var(--sky),var(--navy))}
.st-coll b.st-name{font-size:1.85rem;font-weight:700;letter-spacing:-.035em;line-height:1.08;color:var(--ink)}
.st-coll .st-line{font-size:.98rem;font-weight:600;color:var(--navy);margin-top:5px;line-height:1.35}
.st-coll small{margin-top:10px}
.sub-tile:hover .st-coll b.st-name{color:var(--navy)}
.page-head p.ph-line{color:#fff;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500;letter-spacing:-.01em;margin:-6px 0 12px}
.mm-lbl{font-style:normal;min-width:0;white-space:nowrap}.mm-lbl i{font-size:.86rem}.mm-lbl b{font-weight:700;color:var(--ink)}.mm-lbl i{font-style:normal;font-weight:400;color:var(--mute);margin-left:4px}
.mm-subs li a:hover .mm-lbl b{color:var(--navy)}
@media (max-width:620px){.st-coll b.st-name{font-size:1.6rem}}
/* ===== end tape collections ===== */
