/* catalogue bar */
.fbar{position:sticky;top:74px;z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.4) blur(14px);padding:14px 0 12px;border-bottom:1px solid var(--line)}
@media(max-width:900px){.fbar{top:68px}}
.frow{display:flex;gap:10px;align-items:center}.frow .sbox{position:relative;flex:1}
.fbar input[type=search],.fbar select{font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:99px;padding:12px 18px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s}
.fbar input[type=search]{padding-left:46px}.fbar select{width:auto;padding-right:14px;cursor:pointer}
.fbar input:focus,.fbar select:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 18%,transparent)}
.sbox svg{position:absolute;left:17px;top:50%;translate:0 -50%;color:var(--mut);pointer-events:none}
.pills{position:relative;display:flex;gap:6px;overflow-x:auto;padding:4px;scrollbar-width:none;background:var(--soft);border-radius:99px;width:fit-content;max-width:100%;margin-top:12px}.pills::-webkit-scrollbar{display:none}
.pill{position:relative;z-index:1;flex:none;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;border:0;background:transparent;color:var(--mut);padding:9px 18px;border-radius:99px;display:inline-flex;gap:8px;align-items:center;transition:color .25s}
.pill i{font-style:normal;font-size:.72rem;opacity:.65}.pill:hover{color:var(--ink)}.pill.on{color:#fff}
.ind{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:99px;background:var(--acc);box-shadow:0 4px 14px rgba(14,107,115,.35);transition:transform .45s var(--ease),width .45s var(--ease)}.ind.nt{transition:none}
.subwrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.subwrap.open{grid-template-rows:1fr}.subin{overflow:hidden;min-height:0}
.pills.sub{background:none;margin-top:10px;padding:2px 2px 4px;gap:8px;border-radius:0}
.sub .pill{background:var(--card);border:1px solid var(--line);color:var(--ink);padding:6px 14px;font-size:.84rem}.sub .pill:hover{border-color:var(--acc)}.sub .pill.on{background:var(--brass);border-color:var(--brass);color:#1a1205}
.hs{position:relative}.hs .pills{max-width:100%;cursor:grab}.hs .pills.drag{cursor:grabbing}.hs .pills.drag .pill{pointer-events:none}
.hs.l .pills{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 44px);mask-image:linear-gradient(90deg,transparent 0,#000 44px)}
.hs.r .pills{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),transparent 100%)}
.hs.l.r .pills{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 44px,#000 calc(100% - 44px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 44px,#000 calc(100% - 44px),transparent 100%)}
.hs-b{position:absolute;top:50%;translate:0 -50%;z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.25rem;line-height:1;cursor:pointer;box-shadow:var(--sh);display:grid;place-items:center;padding:0 0 2px;opacity:0;pointer-events:none;transition:opacity .2s,background .2s,color .2s}
.hs-l{left:0}.hs-r{right:0}.hs.l .hs-l,.hs.r .hs-r{opacity:1;pointer-events:auto}.hs-b:hover{background:var(--acc);color:#fff;border-color:var(--acc)}@media(hover:none){.hs-b{display:none}}
.meta{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px;color:var(--mut);font-weight:600;font-size:.92rem;gap:12px;flex-wrap:wrap}
.empty{text-align:center;padding:70px 20px;color:var(--mut)}.empty h3{color:var(--ink);font-size:1.4rem;margin-bottom:8px}.empty .btn{margin-top:18px}
.more-w{text-align:center;margin:34px 0 0}
@media(max-width:560px){.frow{flex-wrap:wrap}.frow select{flex:1}}
/* dialog */
.dlg{border:0;border-radius:26px;padding:0;max-width:960px;width:calc(100% - 28px);max-height:calc(100dvh - 28px);overflow:auto;background:var(--bg);color:var(--ink);box-shadow:0 40px 100px rgba(0,0,0,.45);overscroll-behavior:contain}
.dlg[open]{animation:dlgin .45s var(--ease)}.dlg.closing{animation:dlgout .22s ease-in forwards}@keyframes dlgin{from{opacity:0;transform:translateY(30px) scale(.96)}}@keyframes dlgout{to{opacity:0;transform:translateY(16px) scale(.97)}}
.dlg::backdrop{background:rgba(8,12,14,.6);backdrop-filter:blur(4px)}
.x{position:absolute;top:12px;right:14px;z-index:5;width:40px;height:40px;border-radius:50%;border:0;background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--ink);font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 3px;transition:background .2s,transform .2s}.x:hover{background:var(--soft);transform:rotate(90deg)}
.dlg-in{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;padding:28px}@media(max-width:760px){.dlg-in{grid-template-columns:1fr;padding:16px;gap:16px}}
.dlg-in.swap{animation:rise .4s var(--ease)}
.dlg-media{min-width:0}.dlg-img{position:relative;background:#fff;border-radius:20px;aspect-ratio:1;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.trk{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.trk::-webkit-scrollbar{display:none}.trk:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}
.trk img{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;object-fit:contain;background:#fff}
.gal{position:absolute;top:50%;translate:0 -50%;z-index:2;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.92);color:#12161a;font-size:1.4rem;line-height:1;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:transform .2s,background .2s,color .2s;padding:0 0 3px}
.gal:hover{background:var(--acc);color:#fff;transform:scale(1.08)}.gp{left:10px}.gn{right:10px}
.gcnt{position:absolute;right:12px;bottom:10px;z-index:2;font-size:.72rem;font-weight:800;color:#12161a;background:rgba(255,255,255,.92);padding:3px 10px;border-radius:99px}
.dlg-th{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.dlg-th[hidden]{display:none}
.th{all:unset;cursor:pointer;box-sizing:border-box;width:58px;height:58px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line);opacity:.65;transition:opacity .2s,transform .2s,box-shadow .2s}
.th img{width:100%;height:100%;object-fit:cover;display:block}.th:hover{opacity:1;transform:translateY(-2px)}.th.on{opacity:1;box-shadow:0 0 0 2px var(--acc)}.th:focus-visible{outline:3px solid var(--brass)}
.dlg-info{display:flex;flex-direction:column;min-width:0;padding-top:6px}.dcat{color:var(--acc);font-weight:800;font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px;padding-right:40px}
.dlg h2{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;padding-right:30px}.dmodel{display:inline-flex;align-self:flex-start;font-size:.82rem;font-weight:700;background:var(--soft);padding:4px 12px;border-radius:99px;color:var(--mut);margin-bottom:12px}
.dintro{color:var(--mut);margin-bottom:12px}.dfeat{margin:0 0 6px;padding:0;list-style:none;display:grid;gap:7px}.dfeat li{position:relative;padding-left:26px;font-size:.94rem}.dfeat li:before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;border-left:2.5px solid var(--acc);border-bottom:2.5px solid var(--acc);rotate:-45deg;translate:0 -50%}
.dtags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.dtags span{font-size:.76rem;font-weight:700;color:var(--mut);background:var(--soft);padding:3px 10px;border-radius:99px}
.dact{margin-top:auto;padding-top:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:99px;background:var(--card)}.qty button{all:unset;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;font-size:1.2rem;font-weight:700;border-radius:50%;color:var(--ink);transition:background .2s,color .2s}.qty button:hover{background:var(--acc);color:#fff}.qty button:focus-visible{outline:3px solid var(--brass)}
.qty input{width:48px;text-align:center;font:inherit;font-weight:800;border:0;background:none;color:var(--ink);padding:0;-moz-appearance:textfield;outline:none}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dnav{margin-left:auto;display:flex;gap:6px}.dnav button{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:1.4rem;line-height:1;transition:background .2s,color .2s}.dnav button:hover{background:var(--acc);color:#fff}.dnav button:focus-visible{outline:3px solid var(--brass)}
.rel{padding:4px 28px 28px;border-top:1px solid var(--line)}.rel[hidden]{display:none}.rel h3{margin:18px 0 12px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.rel-g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:760px){.rel{padding:4px 16px 20px}.rel-g{grid-template-columns:repeat(2,1fr)}}
.rel-i{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:16px;padding:10px;box-shadow:var(--sh);transition:transform .3s var(--ease),box-shadow .3s;font-size:.84rem;font-weight:700;line-height:1.3}.rel-i:hover{transform:translateY(-4px);box-shadow:var(--sh2)}.rel-i:focus-visible{outline:3px solid var(--brass)}
.rel-i .t{aspect-ratio:1;background:#fff;border-radius:10px;overflow:hidden}.rel-i .t img{width:100%;height:100%;object-fit:cover}
/* floating quote bar */
.qbar{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;align-items:center;gap:12px;background:var(--acc);color:#fff;text-decoration:none;font-weight:800;border-radius:99px;padding:13px 22px 13px 18px;box-shadow:0 12px 32px rgba(14,107,115,.4);transform:translateY(90px);opacity:0;pointer-events:none;transition:transform .5s var(--ease),opacity .3s,background .2s}
.qbar.show{transform:none;opacity:1;pointer-events:auto}.qbar:hover{background:var(--acc2)}.qbar .qcount{background:var(--brass);color:#1a1205}
/* quote page */
.qgrid{display:grid;grid-template-columns:1.25fr .85fr;gap:28px;align-items:start;margin-top:26px}@media(max-width:960px){.qgrid{grid-template-columns:1fr}}
.qlist{display:grid;gap:12px}.qi{display:grid;grid-template-columns:84px 1fr auto;gap:16px;align-items:center;background:var(--card);border-radius:18px;padding:12px 16px 12px 12px;box-shadow:var(--sh);animation:rise .4s var(--ease) backwards}
.qi .t{width:84px;height:84px;border-radius:12px;overflow:hidden;background:#fff;border:0;padding:0;cursor:pointer}.qi .t img{width:100%;height:100%;object-fit:cover}
.qi h3{font-size:1rem;font-weight:700;line-height:1.3}.qi .m{font-size:.8rem;color:var(--mut);font-weight:600}.qi .nt{margin-top:8px;width:100%;font:inherit;font-size:.86rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:7px 11px;outline:none}.qi .nt:focus{border-color:var(--acc)}
.qi .rt{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.rm{all:unset;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--mut);text-decoration:underline;text-underline-offset:3px}.rm:hover{color:#c0392b}.rm:focus-visible{outline:3px solid var(--brass)}
@media(max-width:560px){.qi{grid-template-columns:64px 1fr;grid-template-areas:"t i" "r r"}.qi .t{width:64px;height:64px;grid-area:t}.qi>div:nth-child(2){grid-area:i}.qi .rt{grid-area:r;flex-direction:row;justify-content:space-between;align-items:center}}
.qform{position:sticky;top:96px}@media(max-width:960px){.qform{position:static}}
.qform h2,.qlist-h h2{font-size:1.35rem;font-weight:800;margin-bottom:6px}.qform .sub{color:var(--mut);font-size:.92rem;margin-bottom:18px}
.f{display:grid;gap:5px;margin-bottom:13px}.f label{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}.f label em{color:#c0392b;font-style:normal}
.f input,.f select,.f textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;outline:none;width:100%;transition:border-color .2s,box-shadow .2s}.f textarea{min-height:92px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 16%,transparent)}.f .err{font-size:.8rem;color:#c0392b;font-weight:600;display:none}.f.bad input,.f.bad select{border-color:#c0392b}.f.bad .err{display:block}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.f2{grid-template-columns:1fr}}
.qtools{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.fine{font-size:.8rem;color:var(--mut);margin-top:12px}
.qempty{text-align:center;background:var(--card);border-radius:var(--r);padding:60px 24px;box-shadow:var(--sh)}.qempty h2{font-size:1.5rem;margin-bottom:8px}.qempty p{color:var(--mut);margin-bottom:20px}
.done{background:var(--card);border-radius:var(--r);padding:34px;box-shadow:var(--sh);text-align:center;margin-top:26px}.done .tick{width:60px;height:60px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;margin:0 auto 16px;font-size:1.8rem}.done h2{font-size:1.6rem;margin-bottom:8px}.done p{color:var(--mut);max-width:34em;margin:0 auto 18px}
.done .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.summ{font-size:.92rem;color:var(--mut);margin:0 0 14px;font-weight:600}
/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px;align-items:start}@media(max-width:900px){.cgrid{grid-template-columns:1fr}}
.prose{max-width:46em}.prose h2{font-size:1.5rem;margin:30px 0 10px}.prose p{color:var(--mut);margin-bottom:14px;font-size:1.04rem}.prose ul{color:var(--mut);padding-left:20px}.prose li{margin-bottom:6px}
@media print{.topbar,.nav,footer,.theme-tg,.qbar,.qform,.qtools,.rm,.qty button,.toast,.skip,.done .row{display:none!important}body{background:#fff;color:#000}.qi{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.qgrid{grid-template-columns:1fr}.qi .nt{border:0;padding:0}.print-h{display:block!important}}
.print-h{display:none;margin-bottom:18px}
