/* Rolseley Ltd: site styles, V4
   Catalog-inspired: navy #1B3E64, catalog sky blue #5D9CCF, brand blue #005AAA, light uppercase
   headings; large rounded product cards. Yellow #FFD500 as accent only. Rubik. */
@font-face{font-family:Rubik;src:url(../fonts/rubik-latin-300-normal.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Rubik;src:url(../fonts/rubik-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url(../fonts/rubik-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Rubik;src:url(../fonts/rubik-latin-800-normal.woff2) format('woff2');font-weight:800;font-display:swap}
:root{--navy:#1B3E64;--navy-2:#14304F;--sky:#5D9CCF;--blue:#005AAA;--ice:#EEF5FB;--ice2:#D7E7F5;--ink:#15263A;--muted:#55677B;--line:#D3E0EC;--yellow:#FFD500;--gutter:clamp(18px,4vw,48px);--max:1240px;--r:28px;--ease:cubic-bezier(.2,.7,.1,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Rubik,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%;height:auto}
a{color:var(--blue)}
p{margin:0 0 1em}
h1,h2,h3{margin:0;line-height:1.08}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:200}.skip:focus{left:8px}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--blue);margin:0 0 16px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:22px;height:2px;background:var(--yellow)}
.kicker.light{color:#BFD8EE}
.h-xl,.h-l{font-weight:300;text-transform:uppercase;letter-spacing:.015em;line-height:1.02}
.h-xl b,.h-l b{font-weight:500}
.h-xl{font-size:clamp(40px,5.2vw,80px)}
.h-l{font-size:clamp(32px,4.2vw,62px);color:var(--ink)}
.h-l b{color:var(--blue)}
.lead{font-size:clamp(17px,1.35vw,19px);color:var(--muted);max-width:52ch;margin-top:18px}
.fine{font-size:13px;color:var(--muted);letter-spacing:.02em}
.head{margin-bottom:clamp(36px,4.5vw,60px)}
svg.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;overflow:visible}
.ico{width:48px;height:48px;border-radius:50%;background:var(--ice2);color:var(--navy);display:grid;place-items:center;flex:none}
.js [data-draw] .ico svg.ic{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.5s var(--ease)}
.js [data-draw].in .ico svg.ic{stroke-dashoffset:0}
.js [data-draw]>:nth-child(2) svg.ic{transition-delay:.1s}.js [data-draw]>:nth-child(3) svg.ic{transition-delay:.2s}.js [data-draw]>:nth-child(4) svg.ic{transition-delay:.3s}.js [data-draw]>:nth-child(5) svg.ic{transition-delay:.4s}.js [data-draw]>:nth-child(6) svg.ic{transition-delay:.5s}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:999px;font:inherit;font-size:15px;font-weight:500;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform .5s var(--ease),background .3s,color .3s,box-shadow .5s var(--ease)}
.btn.sm{padding:10px 18px;font-size:14px}
.btn .arr{transition:transform .5s var(--ease)}.btn:hover .arr{transform:translateX(5px)}
.btn svg.ic{width:18px;height:18px}
.btn-sky{background:var(--sky);color:#fff}.btn-sky:hover{background:#4C8DC4;transform:translateY(-2px)}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#00488A;transform:translateY(-2px);box-shadow:0 16px 28px -16px rgba(0,90,170,.7)}
.btn-line{box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);color:#fff;background:transparent}.btn-line:hover{background:#fff;color:var(--navy)}
.btn-line-dark{box-shadow:inset 0 0 0 1px var(--navy);color:var(--navy);background:transparent}.btn-line-dark:hover{background:var(--navy);color:#fff}
.btn-yellow{background:var(--yellow);color:var(--ink)}.btn-yellow:hover{transform:translateY(-2px)}

/* header (dark bar) */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--yellow);transform-origin:0 50%;transform:scaleX(0);z-index:120}
header.top{position:fixed;inset:0 0 auto;z-index:100;background:rgba(20,48,79,0);transition:background .5s var(--ease),transform .6s var(--ease)}
header.top.scrolled{background:rgba(20,48,79,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
header.top.hidden{transform:translateY(-100%)}
.top .wrap{display:flex;align-items:center;gap:28px;height:74px}
.top .brand img{height:22px;width:auto}
nav.main{display:flex;gap:26px;margin-left:auto;font-size:14px}
nav.main a{color:#fff;opacity:.78;text-decoration:none;transition:opacity .3s}nav.main a:hover{opacity:1}
.top-cta{display:flex;gap:10px}
@media (max-width:900px){nav.main{display:none}.top-cta{margin-left:auto}.top-cta .btn-line{display:none}}

/* hero */
.hero{position:relative;background:radial-gradient(60% 70% at 78% 40%,rgba(93,156,207,.45),transparent 70%),linear-gradient(180deg,var(--navy-2),var(--navy));color:#fff;padding:clamp(120px,14vw,170px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;min-height:min(62vh,600px)}
.hero .kicker{color:#BFD8EE}
.hero h1 b{color:#fff}
.ln{display:block;overflow:hidden;padding-bottom:.04em}.ln>span{display:inline-block}
.hero-sub{font-size:clamp(17px,1.4vw,20px);color:#C9DBEC;max-width:44ch;margin:26px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-art{position:relative;aspect-ratio:1/.78}
.hero-art .glow{position:absolute;inset:8% 4%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent)}
.hero-art img{position:absolute;filter:drop-shadow(0 40px 40px rgba(0,0,0,.4))}
.a-main{width:70%;right:-4%;top:-6%}
.a-pat{width:92%;left:-12%;bottom:-8%;transform:rotate(-8deg);z-index:2}
.ribbons{margin-top:clamp(40px,6vw,80px);padding-bottom:clamp(30px,4vw,48px)}
.rib{overflow:hidden;margin-top:14px}
.track{display:flex;width:max-content;animation:rib 160s linear infinite}
.rib.rev .track{animation-direction:reverse;animation-duration:180s}
.track img{height:44px;width:auto;max-width:none}
@keyframes rib{to{transform:translateX(-50%)}}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0}.hero-art{max-width:520px;width:100%;margin:0 auto;order:-1}.hero{padding-top:96px}}

/* sections */
.sec{padding:clamp(80px,10vw,130px) 0;position:relative}
.sec.ice{background:var(--ice)}
.sec.navy{background:var(--navy);color:#fff;overflow:hidden}
.sec.navy .h-l{color:#fff}.sec.navy .h-l b{color:#9FCAEE}.sec.navy .kicker{color:var(--yellow)}

/* product cards (lmt-style) */
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pcard{position:relative;display:block;border-radius:var(--r);overflow:hidden;min-height:clamp(380px,40vw,540px);color:#fff;text-decoration:none;isolation:isolate}
.pcard.sil{background:radial-gradient(70% 70% at 60% 35%,#7FB4E0,transparent 70%),var(--sky)}
.pc-img{position:absolute;width:82%;left:9%;top:8%;filter:drop-shadow(0 30px 30px rgba(15,40,70,.35));transition:transform 1.2s var(--ease)}
.pcard.pat{background:#458FBE}
.pc-photo{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;object-position:20% 50%;transition:transform 1.4s var(--ease);z-index:-1}
.pcard.pat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(14,35,60,.78));z-index:-1}
.pc-txt{position:absolute;left:clamp(22px,3vw,36px);right:110px;bottom:clamp(22px,3vw,34px)}
.pc-txt h3{font-size:clamp(24px,2.4vw,34px);font-weight:500;text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px}
.pc-txt p{margin:0;font-size:16px;opacity:.92}
.pc-arr{position:absolute;right:clamp(22px,3vw,34px);bottom:clamp(22px,3vw,34px);width:62px;height:62px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85);display:grid;place-items:center;transition:background .4s,color .4s,transform .6s var(--ease)}
.pc-arr svg.ic{width:24px;height:24px}
.pcard:hover .pc-arr{background:#fff;color:var(--navy);transform:rotate(45deg)}
.pcard:hover .pc-img{transform:translateY(-10px) rotate(-3deg) scale(1.03)}
.pcard:hover .pc-photo{transform:scale(1.05)}
.catcard{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,3vw,40px);align-items:center;margin-top:20px;padding:22px clamp(22px,3vw,36px);border-radius:var(--r);background:var(--navy);color:#fff;text-decoration:none;transition:transform .7s var(--ease)}
.catcard:hover{transform:translateY(-4px)}
.catcard img{width:92px;border-radius:6px;box-shadow:0 14px 28px -12px rgba(0,0,0,.6);transform:rotate(-4deg);transition:transform .7s var(--ease)}
.catcard:hover img{transform:rotate(0) scale(1.06)}
.catcard h3{font-weight:300;font-size:clamp(19px,1.8vw,25px);margin-bottom:6px;max-width:30ch}
.catcard p{margin:0;font-size:13px;color:#BFD8EE}
.catcard .kicker{margin-bottom:8px}
@media (max-width:900px){.pcards{grid-template-columns:1fr}.catcard{grid-template-columns:auto 1fr}.catcard .btn{grid-column:1/-1;justify-self:start}}

/* silicone */
.sil{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.stage{background:#fff;border-radius:var(--r);aspect-ratio:552/400;display:grid;place-items:center;box-shadow:0 30px 60px -44px rgba(15,40,70,.5)}
.stage img{width:78%;transition:opacity .35s,transform .6s var(--ease)}
.stage img.swap{opacity:0;transform:scale(.94) rotate(-4deg)}
.swatches{display:flex;gap:10px;margin:20px 0 22px}
.swatches button{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line);transition:box-shadow .3s,transform .4s var(--ease)}
.swatches button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.swatches button:hover{transform:scale(1.1)}
.swatches button[aria-checked="true"]{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--blue)}
.swatches button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.sizes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
.sizes div{background:#fff;border-radius:16px;padding:14px 18px}
.sizes dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:500}
.sizes dd{margin:2px 0 0;font-size:22px;font-weight:300;color:var(--ink)}
.sil-left .btn{margin-top:14px}
.tabs{background:#fff;border-radius:var(--r);padding:10px clamp(18px,2.6vw,34px) clamp(22px,3vw,34px);box-shadow:0 30px 60px -44px rgba(15,40,70,.5)}
.tablist{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 26px;overflow-x:auto}
.tablist button{all:unset;cursor:pointer;padding:16px 14px 14px;font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .3s,border-color .3s}
.tablist button[aria-selected="true"]{color:var(--blue);border-color:var(--yellow)}
.tablist button:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:6px}
.panel[hidden]{display:none}
.panel{animation:pin .6s var(--ease)}
@keyframes pin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
html:not(.ui) .tablist{display:none}
html:not(.ui) .panel{margin-bottom:28px}
html:not(.ui) #lib-more{display:none}
.feats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.feats li{display:flex;gap:14px;align-items:flex-start}
.feats h3,.csteps h3,.ev h3{font-size:15px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin:4px 0 4px}
.feats p,.csteps p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.45}
.bks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.bks figure{margin:0;text-align:center}
.bks img{width:min(100%,150px);aspect-ratio:1;border-radius:50%;margin:0 auto 12px;box-shadow:0 0 0 6px var(--ice);transition:transform .8s var(--ease)}
.bks figure:hover img{transform:scale(1.08)}
.bks figcaption{font-size:13.5px;color:var(--muted);line-height:1.4}
.bks b{display:block;font-weight:500;color:var(--navy);text-transform:uppercase;font-size:13px;letter-spacing:.06em;margin-bottom:4px}
.ifu{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:start}
.ifu-video{border-radius:18px;overflow:hidden;aspect-ratio:9/16;background:#0b1a2b}
.ifu-video video{width:100%;height:100%;object-fit:cover}
.ifu-steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ifu-steps li{border-bottom:1px solid var(--line)}
.ifu-steps button{all:unset;box-sizing:border-box;display:flex;gap:12px;width:100%;padding:8px 6px 8px 0;font-size:14px;line-height:1.35;cursor:pointer;color:var(--ink);transition:color .3s,padding .4s var(--ease)}
.ifu-steps button span{font-size:11px;letter-spacing:.14em;color:var(--blue);width:20px;flex:none;padding-top:2px}
.ifu-steps button:hover{color:var(--blue);padding-left:6px}
.ifu-steps li.on button{color:var(--blue);font-weight:500;box-shadow:inset 3px 0 0 var(--yellow);padding-left:8px}
.links{display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 0;font-size:14px;font-weight:500}
.links a{text-decoration:none}
.note{font-size:15px;color:var(--navy);background:var(--ice);border-radius:14px;padding:12px 16px}
.note b{font-weight:500}
.csteps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.csteps li{position:relative;background:var(--ice);border-radius:18px;padding:18px 16px}
.csteps .n{position:absolute;right:14px;top:12px;font-weight:800;font-size:24px;color:var(--ice2)}
.csteps .ico{background:#fff;margin-bottom:12px}
.ev{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px}
.ev>div{background:var(--ice);border-radius:18px;padding:18px 18px 10px}
.ev h3{margin:0 0 10px;color:var(--sky)}
.ev .ok{display:flex;gap:8px;align-items:center;color:#17603A;font-weight:500;font-size:14px;margin-bottom:8px}
.ev ul{list-style:none;padding:0;margin:0}
.ev li{padding:8px 0;border-top:1px solid var(--line);font-size:14.5px}
.ev .iso li{display:flex;justify-content:space-between;gap:10px}
.ev .iso span{font-weight:500;color:var(--blue)}
.sil>*{min-width:0}
@media (max-width:1000px){.sil{grid-template-columns:1fr}}
@media (max-width:600px){.feats,.ev,.csteps{grid-template-columns:1fr}.ifu{grid-template-columns:120px 1fr}.bks{gap:10px}}

/* why */
.benefits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}
.benefits li{border-top:1px solid rgba(255,255,255,.22);padding-top:24px}
.benefits .ico{background:rgba(159,202,238,.16);color:#CFE4F6;width:56px;height:56px;margin-bottom:22px}
.benefits h3{font-size:17px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.benefits p{margin:0;color:#BFD0E1;font-size:15px}
.sec.navy .wrap{position:relative;z-index:1}
#why .h-l{max-width:15ch}
.float{position:absolute;right:-3%;top:18%;width:min(30vw,420px);filter:drop-shadow(0 40px 40px rgba(0,0,0,.4));opacity:.9;pointer-events:none}
@media (max-width:1000px){.benefits{grid-template-columns:1fr 1fr}.float{opacity:.25}}
@media (max-width:560px){.benefits{grid-template-columns:1fr}}

/* patterned */
.pat{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.pat-photo{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:#458FBE}
.pat-photo img{width:100%;height:100%;object-fit:cover;object-position:15% 50%}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:26px 0 30px;border-top:1px solid var(--line)}
.specs div{padding:12px 0;border-bottom:1px solid var(--line)}
.specs dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.specs dd{margin:2px 0 0;font-size:17px;color:var(--ink)}
.lib{margin-top:clamp(56px,7vw,90px)}
.lib-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}
.lib-head h3{font-weight:300;text-transform:uppercase;font-size:clamp(22px,2.2vw,30px);letter-spacing:.02em}
.lib-head h3 span{font-size:13px;letter-spacing:.16em;color:var(--blue);font-weight:500;margin-left:10px;vertical-align:middle}
.lib-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 14px}
.lib-grid li{display:flex;flex-direction:column;gap:6px}
.lib-grid img{width:100%;aspect-ratio:5/1;object-fit:cover;border-radius:8px;box-shadow:0 8px 18px -12px rgba(15,40,70,.5);transition:transform .5s var(--ease)}
.lib-grid li:hover img{transform:translateY(-4px) scale(1.04)}
.lib-grid span{font-size:12px;letter-spacing:.12em;font-weight:500;color:var(--navy)}
.ui .lib-grid:not(.open) li:nth-child(n+25){display:none}
@media (max-width:900px){.pat{grid-template-columns:1fr}.ui .lib-grid:not(.open) li:nth-child(n+13){display:none}}

/* about + contact */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.mono{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:34px}
.mono img{width:90px;height:auto}
.mono span{border:1.5px solid var(--ink);padding:4px 10px 4px 14px;font-size:12px;letter-spacing:.42em;text-transform:uppercase}
.facts{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}
.facts li{display:flex;gap:14px;align-items:center;font-size:16px;color:var(--navy)}
.facts .ico{background:#fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--navy);color:#fff;padding:clamp(22px,3vw,34px);border-radius:var(--r)}
.form h3{grid-column:1/-1;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:20px}
.form>p{grid-column:1/-1;margin:0 0 6px;color:#BFD0E1;font-size:14.5px}
.form label{display:grid;gap:6px;font-size:13px;color:#C7D5E3}
.form input,.form select,.form textarea{font:inherit;font-size:15px;padding:11px 13px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff}
.form textarea::placeholder{color:#8FA6BE}
.form select option{color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--yellow)}
.form .full{grid-column:1/-1}
.form button{grid-column:1/-1;justify-self:start;margin-top:4px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{margin:0;font-size:14px;min-height:1.3em}.form-status.ok{color:#BFE3CC}.form-status.err{color:#FFE7C2;font-size:15px;padding:12px 14px;border-radius:12px;background:rgba(255,200,110,.14);border:1px solid #FFD9A0}
.form.sent>*:not(.form-done){display:none}
.form-done{display:grid;justify-items:start;gap:12px;padding:clamp(22px,4vw,34px);border-radius:16px;background:rgba(191,227,204,.12);border:1px solid #BFE3CC;outline:none;scroll-margin:90px}
.form-done[hidden]{display:none}
.form-done .done-ic{width:56px;height:56px;fill:none;stroke:#BFE3CC;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.form-done h4{margin:0;font-size:clamp(22px,3vw,28px);font-weight:500;line-height:1.2;color:#fff}
.form-done p{margin:0;font-size:16px;color:#DCE7F1}
.form-done b{color:#fff;overflow-wrap:anywhere}
.form-done .btn{margin-top:6px}
.contact{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:clamp(48px,6vw,80px);padding-top:28px;border-top:1px solid var(--line)}
.contact span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact a,.contact p{font-size:17px;color:var(--navy);text-decoration:none;margin:0}
.contact p a{font-size:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:900px){.about{grid-template-columns:1fr}.contact{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}.contact{grid-template-columns:1fr}}

/* footer */
footer{background:var(--navy-2);color:#AFC3D8;padding:52px 0 36px;font-size:13px}
.f-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:34px}
.f-top img{height:28px;width:auto}
.f-top p{margin:0;font-size:clamp(15px,1.6vw,20px);letter-spacing:.14em;text-transform:uppercase;color:#fff;font-weight:300}
.f-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:22px}
footer a{color:#AFC3D8}
.line-mask{overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}

/* hero intro (CSS) */
@keyframes rz-line{from{transform:translateY(105%)}to{transform:none}}
@keyframes rz-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes rz-art{from{opacity:0;transform:translateX(6%) rotate(-6deg) scale(.96)}to{opacity:1;transform:none}}
@keyframes rz-coil{from{opacity:0;transform:translateY(30%) rotate(14deg)}to{opacity:1;transform:none}}
.js .hero .ln>span{animation:rz-line 1.3s var(--ease) calc(.2s + var(--d,0)*.1s) backwards}
.js .hero [data-hero]:not(.ln){animation:rz-up 1.2s var(--ease) calc(.45s + var(--d,0)*.1s) backwards}
.js .a-main{animation:rz-art 1.8s var(--ease) .15s backwards}
.js .a-pat{animation:rz-pat 1.7s var(--ease) .5s backwards}
@keyframes rz-pat{from{opacity:0;transform:translate(-8%,20%) rotate(-24deg)}to{opacity:1;transform:rotate(-8deg)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-draw] .ico svg.ic{stroke-dashoffset:0}
}

/* ===== V4.1: multi-page ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
header.top.solid{background:rgba(20,48,79,.96)}
nav.main a[aria-current="page"]{opacity:1;box-shadow:0 2px 0 var(--yellow)}
.menu-btn{all:unset;display:none;cursor:pointer;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);position:relative}
.menu-btn span:not(.sr){position:absolute;left:12px;right:12px;height:1.5px;background:#fff;transition:transform .4s var(--ease)}
.menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:24px}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
@media (max-width:900px){
  .menu-btn{display:inline-block}
  nav.main{display:flex;position:fixed;inset:74px 0 auto 0;flex-direction:column;gap:0;background:var(--navy-2);padding:8px var(--gutter) 22px;transform:translateY(-130%);transition:transform .5s var(--ease);font-size:18px}
  nav.main a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  nav.main.open{transform:none}
}
.h-m{font-weight:300;text-transform:uppercase;letter-spacing:.015em;line-height:1.05;font-size:clamp(24px,2.6vw,36px)}
.h-m b{font-weight:500}
.lead.light{color:#BFD0E1}
.head.center{text-align:center}.head.center .kicker{justify-content:center}
.more{margin:34px 0 0;position:relative;z-index:1}.more a{color:#fff;font-weight:500;text-decoration:none;border-bottom:1px solid var(--yellow);padding-bottom:3px}
.cta-row{margin-top:clamp(28px,4vw,44px);display:flex;flex-wrap:wrap;gap:12px}
/* page hero */
.ph{background:radial-gradient(60% 80% at 85% 30%,rgba(93,156,207,.4),transparent 70%),linear-gradient(180deg,var(--navy-2),var(--navy));color:#fff;padding:clamp(120px,13vw,160px) 0 clamp(56px,7vw,90px);overflow:hidden}
.ph-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,60px);align-items:center}
.ph h1{font-size:clamp(38px,4.8vw,72px)}
.ph .hero-sub{max-width:48ch}
.crumbs{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#9FBEDA;margin-bottom:20px;display:flex;gap:10px}
.crumbs a{color:#9FBEDA;text-decoration:none}.crumbs a:hover{color:#fff}
.ph-art img{width:100%;filter:drop-shadow(0 34px 34px rgba(0,0,0,.4))}
.ph-art img:not(.pat-cut):not(.cus-box){border-radius:22px;filter:none;box-shadow:0 34px 60px -30px rgba(0,0,0,.6)}
.ph-art .cus-box{border-radius:22px;filter:none;max-width:420px;margin-left:auto;box-shadow:0 34px 60px -30px rgba(0,0,0,.6)}
.js .ph-art{animation:rz-art 1.6s var(--ease) .2s backwards}
.js .ph [data-hero]{animation:rz-up 1.1s var(--ease) calc(.2s + var(--d,0)*.1s) backwards}
@media (max-width:900px){.ph-grid{grid-template-columns:1fr}.ph-art{max-width:460px}}
/* product cards: 3 */
.pcard.cus{background:radial-gradient(70% 90% at 80% 20%,#2B5A8A,transparent 70%),var(--navy);min-height:clamp(300px,28vw,380px)}
.pcard.wide{grid-column:1/-1}
.pc-band{position:absolute;right:-2%;top:10%;width:64%;transform:rotate(-4deg);border-radius:14px;box-shadow:0 30px 50px -24px rgba(0,0,0,.6);transition:transform 1.2s var(--ease)}
.pcard.cus:hover .pc-band{transform:rotate(-1deg) scale(1.03)}
.pcard.cus .pc-txt{right:auto;max-width:34%}
@media (max-width:900px){.pcard.cus{min-height:420px}.pc-band{width:96%;right:-8%;top:6%}.pcard.cus .pc-txt{max-width:none;right:110px}}
/* teasers */
.teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.teasers.two{grid-template-columns:1fr 1fr}
.teaser{display:flex;gap:20px;align-items:center;padding:18px;border-radius:24px;background:var(--ice);text-decoration:none;color:var(--ink);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.teaser:hover{transform:translateY(-6px);box-shadow:0 30px 50px -36px rgba(15,40,70,.5)}
.t-img{position:relative;width:96px;height:118px;border-radius:16px;overflow:hidden;flex:none;background:#0b1a2b;display:grid;place-items:center}
.t-img.ice{background:#fff}
.t-img img{width:100%;height:100%;object-fit:cover}
.t-img.ice img{object-fit:contain;padding:8px}
.t-img i{position:absolute;inset:auto auto 10px 10px;width:34px;height:34px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;color:var(--ink)}
.t-img i svg.ic{width:16px;height:16px;fill:currentColor;stroke:none}
.t-txt{display:flex;flex-direction:column;gap:4px}
.t-txt .kicker{margin:0 0 2px}
.t-txt b{font-weight:500;text-transform:uppercase;letter-spacing:.03em;font-size:18px;color:var(--navy)}
.t-txt>span:last-child{font-size:14.5px;color:var(--muted);line-height:1.45}
@media (max-width:1000px){.teasers,.teasers.two{grid-template-columns:1fr}}
/* about banner */
.banner{margin:0 0 clamp(48px,6vw,72px);border-radius:var(--r);overflow:hidden;aspect-ratio:2000/619;background:#cfe0ef}
.banner img{width:100%;height:100%;object-fit:cover}
.form h3[id]{scroll-margin-top:90px}
/* silicone page */
.sil .h-l{margin-bottom:28px}
.strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vw,64px);background:var(--ice);border-radius:22px}
.strip div{padding:20px 24px;border-left:1px solid var(--line)}.strip div:first-child{border-left:0}
.strip span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:500;margin-bottom:6px}
.strip p{margin:0;font-size:15px;color:var(--navy);line-height:1.45}
@media (max-width:900px){.strip{grid-template-columns:1fr 1fr}.strip div:nth-child(3){border-left:0}}
@media (max-width:560px){.strip{grid-template-columns:1fr}.strip div{border-left:0;border-top:1px solid var(--line)}.strip div:first-child{border-top:0}}
.range{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -36px rgba(15,40,70,.45)}
.card .media{border-radius:16px;aspect-ratio:5/4;background:#fff;overflow:hidden;display:grid;place-items:center}
.card .media img,.card .media video{width:100%;height:100%;object-fit:contain;transition:transform 1.2s var(--ease)}
.card .media img.render{width:82%;height:auto}
.card:hover .media img,.card:hover .media video{transform:scale(1.05)}
.card h3{margin:16px 6px 4px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:18px;color:var(--navy)}
.card p{margin:0 6px 4px;color:var(--muted);font-size:15px}
@media (max-width:900px){.range{grid-template-columns:1fr}}
.compare{display:grid;grid-template-columns:1fr 64px 2fr;gap:clamp(12px,2vw,24px);align-items:stretch}
.cmp-old,.cmp-new{background:#fff;border-radius:24px;padding:clamp(22px,2.6vw,36px)}
.cmp-old{background:rgba(255,255,255,.55)}
.cap{font-weight:500;text-transform:uppercase;font-size:clamp(16px,1.5vw,20px);letter-spacing:.04em;color:var(--blue);text-align:center}
.cmp-old .cmp-img{height:150px;display:grid;place-items:center;margin:16px 0 18px}
.cmp-old .cmp-img img{max-height:130px;width:auto;filter:saturate(.75)}
.cmp-sub{text-align:center;color:var(--muted);margin:6px 0 0}
.cmp-img.wide{margin:18px auto 14px;max-width:560px;border-radius:18px;overflow:hidden;background:#E8F2F4}
.xlist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.xlist li{display:flex;gap:12px;align-items:center;color:var(--navy)}
.ico.x{width:36px;height:36px;background:#FBE9E7;color:#C8423B}
.mini{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center}
.mini li{display:flex;flex-direction:column;align-items:center;gap:6px}
.mini h4{font-weight:500;text-transform:uppercase;font-size:13px;letter-spacing:.05em;color:var(--navy);margin:6px 0 0}
.mini p{margin:0;font-size:14px;color:var(--muted)}
.cmp-arrow{display:grid;place-items:center;color:var(--sky)}
.cmp-arrow svg{width:56px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.2s var(--ease) .3s}
.js .cmp-arrow:not(.in) svg{stroke-dashoffset:1}
.bottom-line{display:flex;align-items:center;gap:14px;margin:clamp(24px,3vw,40px) 0 0;padding:18px 24px;border-radius:18px;background:#fff;color:var(--navy);font-weight:500}
.bottom-line svg.ic{color:var(--sky);width:26px;height:26px}
@media (max-width:900px){.compare{grid-template-columns:1fr}.cmp-arrow{transform:rotate(90deg);height:56px}.mini{grid-template-columns:1fr}}
.callout{display:flex;gap:16px;align-items:center;margin:clamp(28px,4vw,44px) 0 0;padding:22px 28px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:clamp(16px,1.4vw,20px);font-weight:400;line-height:1.45;max-width:900px;position:relative;z-index:1}
.callout svg.ic{width:34px;height:34px;color:#9FCAEE}
.clean{display:grid;grid-template-columns:1fr 3fr;gap:clamp(16px,2.4vw,28px);align-items:end}
.clean .tag{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:500;margin:0 0 14px}
.clean-pre,.csteps li{background:var(--ice);border-radius:22px;padding:24px 22px;position:relative}
.clean-pre{background:#fff;border:1px dashed var(--line)}
.csteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px)}
.csteps .n{position:absolute;top:18px;right:20px;font-size:clamp(26px,2.4vw,36px);font-weight:800;color:var(--ice2)}
.clean .ico{background:#fff}.clean-pre .ico{background:var(--ice)}
.clean h3{font-weight:500;text-transform:uppercase;font-size:19px;letter-spacing:.04em;margin:18px 0 4px;color:var(--navy)}
.clean p{margin:0;color:var(--muted);font-size:15px}
.clean p.k{color:var(--blue);font-weight:500;margin-bottom:6px}
.ico.lg{width:60px;height:60px}.ico.lg svg.ic{width:28px;height:28px}
@media (max-width:900px){.clean,.csteps{grid-template-columns:1fr}}
.evidence{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px)}
.ev-col{background:#fff;border-radius:24px;padding:clamp(22px,3vw,36px)}
.ev-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.ev-head h3{font-weight:500;text-transform:uppercase;font-size:18px;letter-spacing:.04em;color:var(--blue)}
.ev-head .sub{margin:2px 0 0;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.ev-badge{display:flex;align-items:center;gap:10px;background:#E3F3EA;color:#17603A;border-radius:14px;padding:12px 16px;font-weight:500;margin-bottom:4px}
.ev-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}
.ev-row svg.ic{color:var(--sky)}
.ev-row.iso{grid-template-columns:1fr auto}
.ev-badge+.ev-row,.ev-head+.ev-row{border-top:0}
.ev-row strong{font-weight:500;display:block;color:var(--navy)}
.ev-row span{color:var(--muted);font-size:14px}
.ev-row b{font-size:clamp(18px,2vw,26px);font-weight:500;color:var(--blue);white-space:nowrap}
@media (max-width:900px){.evidence{grid-template-columns:1fr}}
/* cta band */
.cta-band{padding:clamp(56px,7vw,90px) 0;background:var(--navy);color:#fff}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cta-in p{margin:10px 0 0;color:#BFD0E1}
.cta-band .h-m b{color:#9FCAEE}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
/* patterned page */
.wideimg{margin:0 0 clamp(48px,6vw,72px);border-radius:var(--r);overflow:hidden;background:#C9DEF0}
.wideimg img{width:100%}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}
.pillars h3{font-size:15px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin-bottom:4px}
.pillars p{margin:0;color:var(--muted);font-size:15px}
.pat .specs{margin:0}
.ph-art .pat-cut{transform:rotate(-8deg)}
.specs-sec .head{margin-bottom:clamp(32px,4vw,48px)}
.spec-grid{display:grid;grid-template-columns:1.1fr auto 1.4fr;gap:clamp(24px,4vw,64px);align-items:center}
.dim{margin:0}
.dim figcaption{margin-top:14px;font-size:14px;color:var(--muted)}
.dim figcaption span{color:var(--navy);font-weight:500}
.dim-box{position:relative;display:inline-block}
.dim img,.parts-box img{mix-blend-mode:multiply}
.dl{position:absolute;background:var(--navy)}
.dl::before,.dl::after{content:"";position:absolute;background:var(--navy)}
.dl-h{left:0;right:0;bottom:-14px;height:1.5px;transform-origin:0 50%}
.dl-h::before,.dl-h::after{width:1.5px;height:12px;top:-5px}.dl-h::before{left:0}.dl-h::after{right:0}
.dl-v{top:0;bottom:0;left:-16px;width:1.5px;transform-origin:50% 100%}
.dl-v::before,.dl-v::after,.dl-w::before,.dl-w::after,.dl-l::before,.dl-l::after{height:1.5px;width:12px;left:-5px}
.dl-v::before,.dl-w::before,.dl-l::before{top:0}.dl-v::after,.dl-w::after,.dl-l::after{bottom:0}
.dl-w{top:8%;bottom:8%;right:-14px;width:1.5px;transform-origin:50% 0}
.dl-l{top:0;bottom:0;right:-22px;width:1.5px;transform-origin:50% 0}
.js [data-dim]:not(.in) .dl-h{transform:scaleX(0)}.js [data-dim]:not(.in) .dl-v,.js [data-dim]:not(.in) .dl-w,.js [data-dim]:not(.in) .dl-l{transform:scaleY(0)}
.js .dl{transition:transform 1.4s var(--ease) .2s}
.js [data-dim]:not(.in) .dl::before,.js [data-dim]:not(.in) .dl::after{opacity:0}
.js .dl::before,.js .dl::after{transition:opacity .4s 1.3s}
.dim-buckle .dim-box{margin-left:22px}.dim-buckle img{width:min(100%,300px)}
.dim-end{margin-top:40px}.dim-end img{width:200px}
.dim-long{text-align:center;padding-right:30px}
.dim-long img{height:min(60vh,540px);width:auto}
.parts{margin:0;container-type:inline-size}
.parts-box{position:relative;aspect-ratio:1500/1595;width:100%}
.parts-box img{position:absolute;left:28.533%;top:0;width:42.933%;height:100%}
.leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.leaders path{fill:none;stroke:#6FA3C4;vector-effect:non-scaling-stroke;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--ease)}
.js .parts:not(.in) .leaders path{stroke-dashoffset:1}
.pdot{position:absolute;left:calc(var(--x) / 1500 * 100%);top:calc(var(--y) / 1595 * 100%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#6FA3C4;box-shadow:0 0 0 4px rgba(111,163,196,.25);transition:transform .6s var(--ease) .9s}
.js .parts:not(.in) .pdot{transform:scale(0)}
.plabel{position:absolute;top:calc(var(--y) / 1595 * 100%);transform:translateY(-50%);font-size:clamp(11px,2.5cqi,15px);font-weight:500;color:var(--navy);line-height:1.2;width:25%;transition:opacity .8s var(--ease) 1s}
.plabel.l{right:calc(100% - 380 / 1500 * 100% + 8px);text-align:right}
.plabel.r{left:calc(1120 / 1500 * 100% + 8px)}
.js .parts:not(.in) .plabel{opacity:0}
@media (max-width:1000px){.spec-grid{grid-template-columns:1fr 1fr}.dim-long{display:none}.spec-left{grid-column:1/-1}}
@media (max-width:640px){.spec-grid{grid-template-columns:1fr}}
.lib-head{flex-wrap:wrap}
.lib-head .fine{max-width:40ch;margin:0}
/* custom page */
.routes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.route{border-radius:var(--r);padding:clamp(26px,3.4vw,44px);background:var(--ice);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.route p{margin:0;color:var(--muted);max-width:44ch}
.route .kicker{margin:6px 0 0}
.route.creator{background:radial-gradient(80% 90% at 90% 10%,#2B5A8A,transparent 70%),var(--navy);color:#fff}
.route.creator p{color:#C9DBEC}.route.creator .ico{background:rgba(159,202,238,.16);color:#CFE4F6}
.route .btn{margin-top:auto}
@media (max-width:900px){.routes{grid-template-columns:1fr}}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lst{background:#fff;border-radius:22px;padding:24px 24px 18px}
.lst h3{font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--sky);margin:-6px -6px 14px;padding:8px 12px;border-radius:10px}
.lst ul{list-style:none;margin:0;padding:0}
.lst li{position:relative;padding:7px 0 7px 18px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}
.lst li:first-child{border-top:0}
.lst li::before{content:"";position:absolute;left:0;top:16px;width:8px;height:2px;background:var(--sky)}
.benefit-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.benefit-row span{background:#fff;border-radius:999px;padding:10px 16px;font-size:14px;color:var(--navy)}
@media (max-width:900px){.cols3{grid-template-columns:1fr}}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.split2.rev>:first-child{order:2}
.photo-card{margin:0;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line)}
.photo-card img{width:100%}
.checks{list-style:none;padding:0;margin:22px 0 0}
.checks li{position:relative;padding:10px 0 10px 30px;border-top:1px solid var(--line);color:var(--navy)}
.checks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
@media (max-width:900px){.split2{grid-template-columns:1fr}.split2.rev>:first-child{order:0}}
/* how page */
.buckles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,56px)}
.bk{margin:0;text-align:center}
.bk-img{width:min(100%,300px);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line),0 0 0 10px var(--ice),0 40px 60px -40px rgba(15,40,70,.5)}
.bk-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.bk:hover .bk-img img{transform:scale(1.14)}
.bk figcaption{margin-top:28px}
.bk .n{display:inline-block;font-size:13px;letter-spacing:.16em;color:var(--blue);margin-bottom:8px}
.bk h3{font-weight:500;text-transform:uppercase;font-size:20px;letter-spacing:.04em;margin-bottom:8px;color:var(--navy)}
.bk p{color:var(--muted);font-size:15.5px;max-width:32ch;margin:0 auto}
@media (max-width:900px){.buckles{grid-template-columns:1fr;gap:48px}}
#video .ifu{grid-template-columns:minmax(240px,380px) 1fr;gap:clamp(28px,6vw,90px);align-items:center}
#video .ifu-video{border-radius:28px;box-shadow:0 40px 70px -40px rgba(15,40,70,.55);max-height:80vh}
#video .ifu-steps button{font-size:16px;padding:12px 6px 12px 0}
@media (max-width:900px){#video .ifu{grid-template-columns:1fr}#video .ifu-video{max-width:320px}}
/* downloads */
.catcard.big{margin:0 0 30px;padding:28px clamp(22px,3vw,40px)}
.catcard.big img{width:130px}
.catcard.big p{font-size:15px;max-width:60ch;line-height:1.5}
.docs{border-top:1px solid var(--line)}
.docs a{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 6px;border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none;transition:padding .6s var(--ease),background .3s}
.docs a:hover{padding-left:16px;background:var(--ice)}
.docs svg.ic{color:var(--sky);width:26px;height:26px}
.docs b{display:block;font-weight:500}
.docs small{color:var(--muted);font-size:14px}
.docs em{font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-weight:500;white-space:nowrap}
.f-nav{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0 0 30px;font-size:14px}
.f-nav a{color:#fff;text-decoration:none;opacity:.8}.f-nav a:hover{opacity:1}

/* V4.2 form: customer type */
.form fieldset.who{border:0;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.form legend{font-size:13px;color:#C7D5E3;margin-bottom:8px;padding:0}
.form .opt{display:inline-flex;flex-direction:row;align-items:center;gap:9px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);font-size:14px;color:#fff;cursor:pointer;transition:background .3s,border-color .3s}
.form .opt input{accent-color:var(--yellow);margin:0}
.form .opt:has(input:checked){background:rgba(255,255,255,.12);border-color:var(--yellow)}
.form:not(.is-org) .org-only{display:none}

/* ===== Launch: cookie banner, IFU page, privacy ===== */
.cookie{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:150;width:min(760px,calc(100% - 28px));display:flex;gap:18px;align-items:center;justify-content:space-between;background:var(--navy-2);color:#fff;border-radius:20px;padding:16px 18px 16px 22px;box-shadow:0 24px 60px -20px rgba(0,0,0,.55)}
.cookie[hidden]{display:none}
.cookie p{margin:0;font-size:14px;color:#C9DBEC}
.cookie a{color:#fff}
.cookie div{display:flex;gap:8px;flex:none}
@media (max-width:640px){.cookie{flex-direction:column;align-items:stretch}.cookie div{justify-content:flex-end}}
.linkbtn{all:unset;cursor:pointer;color:#fff;opacity:.8;font-size:14px}.linkbtn:hover{opacity:1}
.form-note{margin:0;font-size:12.5px;color:#9FB4CA}.form-note a{color:#fff}
.ifu-docs{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ifu-doc{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(24px,3vw,40px);border-radius:var(--r);background:var(--ice);text-decoration:none;color:var(--ink);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.ifu-doc:hover{transform:translateY(-6px);box-shadow:0 30px 50px -36px rgba(15,40,70,.5)}
.ifu-doc .ico{background:#fff}
.ifu-doc .kicker{margin:8px 0 0}
.ifu-doc b{font-size:clamp(22px,2.2vw,30px);font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--navy)}
.ifu-doc>span:not(.btn):not(.ico):not(.kicker){color:var(--muted)}
.ifu-doc .btn{margin-top:8px}
@media (max-width:800px){.ifu-docs{grid-template-columns:1fr}}
.prose{max-width:760px}
.prose h2{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:18px;color:var(--navy);margin:34px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink);line-height:1.65}
.prose code{background:var(--ice);padding:1px 6px;border-radius:6px;font-size:.92em}
.linkbtn[hidden]{display:none}
