/* Computer Solution website styles. Always the bright (light) look on every phone and computer. */
:root{
  color-scheme:only light;
  --bg:#f3f6f7; --surface:#ffffff; --ink:#13212b; --muted:#566874; --line:#d9e2e6;
  --accent:#0a6c93; --accent-ink:#ffffff; --led:#23a05a; --rec:#d64545; --screen:#0f1a21; --screen-ink:#cfe3ea;
  --display:"Martel",Georgia,serif; --body:"Mukta",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);line-height:1.3;text-wrap:balance;margin:0}
h2{font-size:clamp(1.5rem,3.5vw,2rem)}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
/* header */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.15rem;color:var(--ink);text-decoration:none}
.logo{width:42px;height:42px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-weight:700}.brand-name b{color:var(--accent);font-weight:800}
.brand-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--muted);font-weight:500;margin-top:3px}
.loc-line{display:flex;align-items:center;gap:6px}
.links{display:flex;gap:20px;font-weight:500}
.links a{color:var(--muted);text-decoration:none}.links a:hover{color:var(--ink)}
.links a{padding-block:4px;border-bottom:2px solid transparent;white-space:nowrap}
.links a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
@media (max-width:760px){.nav{flex-wrap:wrap;row-gap:6px}.links{order:3;width:100%;overflow-x:auto;gap:18px;padding-bottom:4px;scrollbar-width:none}}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding-bottom:56px}
.tile{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none}
.tile:hover{border-color:var(--accent)}
.tile b{font-family:var(--display);font-size:1.05rem}
.tile span{color:var(--muted);font-size:.92rem}
.tile i{font-style:normal;color:var(--accent);font-weight:600;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-weight:600;font-family:var(--body);font-size:1rem;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-wa{background:var(--led);color:#fff}
/* hero */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding-block:48px}
@media (max-width:860px){.hero{grid-template-columns:1fr;padding-block:32px}}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.hero h1{font-size:clamp(1.9rem,5vw,2.9rem)}
.hero p.lead{color:var(--muted);margin-top:14px;max-width:34em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.phone{font-family:var(--mono);font-size:.95rem;color:var(--muted);margin-top:14px}
.dvr{background:var(--screen);border-radius:12px;padding:12px;color:var(--screen-ink);font-family:var(--mono);font-size:.72rem;min-width:0}
.dvr-top{display:flex;justify-content:space-between;padding:2px 4px 10px;opacity:.85}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
@media (max-width:420px){.grid{grid-template-columns:repeat(2,1fr)}}
.cam{aspect-ratio:4/3;max-width:100%;border-radius:4px;background:linear-gradient(160deg,#1d2d37,#0c151b);position:relative;padding:6px;display:flex;flex-direction:column;justify-content:space-between}
.cam .rec{display:flex;align-items:center;gap:5px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--rec);animation:blink 1.6s infinite}
.cam.off .dot{background:#5b6b75;animation:none}
.cam .loc{opacity:.75}
@keyframes blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.dvr-foot{display:flex;justify-content:space-between;gap:8px;padding:10px 4px 2px;flex-wrap:wrap}
.ok{color:var(--led)}
/* sections */
.sec-head{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}
.sec-head p{color:var(--muted);max-width:40em}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:8px}
.svc svg{width:30px;height:30px;stroke:var(--accent);fill:none;stroke-width:1.8}
.svc h3{font-size:1.1rem}
.svc p{color:var(--muted);font-size:.95rem}
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.pcat{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pcat h3{font-size:1.05rem;padding:14px 18px;border-bottom:1px solid var(--line)}
.pcat ul{list-style:none;margin:0;padding:6px 18px 14px}
.pcat li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line)}
.pcat li:last-child{border-bottom:0}
.pcat li span:last-child{color:var(--accent);font-weight:600;white-space:nowrap}
.note{font-size:.88rem;color:var(--muted);margin-top:14px}
/* booking */
.book{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}
@media (max-width:860px){.book{grid-template-columns:1fr}}
.steps{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.step{display:flex;gap:12px}
.step b{font-family:var(--mono);color:var(--accent);min-width:1.6em}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.row{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%;box-sizing:border-box}
textarea{min-height:90px;resize:vertical}
.msg{background:var(--bg);border:1px solid var(--led);border-radius:8px;padding:12px;font-size:.95rem}
.msg code{font-family:var(--mono)}
/* reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.rev{border-left:3px solid var(--accent);padding:4px 0 4px 16px}
.rev p{font-size:1rem}
.rev .who{color:var(--muted);font-size:.88rem;margin-top:8px}
.stars{color:#e3a224;letter-spacing:2px}
.sample{display:inline-block;font-family:var(--mono);font-size:.7rem;border:1px solid var(--line);border-radius:4px;padding:1px 6px;color:var(--muted);margin-left:8px;vertical-align:middle}

/* quotation tool */
.quote{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:900px){.quote{grid-template-columns:1fr}}
.qin{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:grid;gap:14px}
.qin h3{font-size:1rem}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg label{flex-direction:row;justify-content:center;padding:9px;cursor:pointer;font-weight:600;color:var(--muted)}
.seg input:checked+label{background:var(--accent);color:var(--accent-ink)}
.seg input:focus-visible+label{outline:3px solid var(--accent);outline-offset:-3px}
.chk{flex-direction:row;align-items:center;gap:10px;font-weight:500}
.chk input{width:18px;height:18px;accent-color:var(--accent)}
.hint{font-size:.82rem;color:var(--muted);font-weight:400}
.qout{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}
.badge{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid #e3a224;color:#b97c0c;border-radius:4px;padding:2px 8px}
.tblwrap{overflow-x:auto}
table.qt{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.qt th{text-align:left;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);font-weight:600}
.qt td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.qt td.num,.qt th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.qt tr.off td{opacity:.4}
.qt tr.off td:first-child{opacity:1}
.qt input[type=number]{width:70px;padding:6px 8px;text-align:right}
.qt .item small{display:block;color:var(--muted);font-size:.8rem}
.qt tr.group td{background:var(--bg);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700;padding:6px 12px}
.qfoot{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:16px 18px}
.total{font-family:var(--display);font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}
.total-label{font-size:.85rem;color:var(--muted)}
.qnote{padding:0 18px 16px;font-size:.85rem;color:var(--muted)}

/* product illustration tokens */
:root{--pbg:#e9eff2;--pbody:#fbfcfd;--pdark:#26323b;--pline:#a9b8c1;--pcb:#2e7a58;--gold:#d2a43a}
/* shop */
.shopbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{font:inherit;font-weight:600;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}
.tab small{font-family:var(--mono);font-weight:500;opacity:.7;margin-left:4px}
.tools{display:flex;gap:8px;flex-wrap:wrap;flex:1;justify-content:flex-end;min-width:0}
.tools input{max-width:240px}
.tools select,.tools input{width:auto;flex:1;min-width:140px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
@media (max-width:480px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.pimg{aspect-ratio:1/1;max-width:100%;background:var(--pbg);display:grid;place-items:center;position:relative}
.pimg svg{width:78%;height:78%}
.stock{position:absolute;left:8px;top:8px;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--surface);color:var(--led);border:1px solid var(--line)}
.stock.low{color:#c27b0e}
.pbody{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.pbrand{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.pname{font-weight:700;line-height:1.3;font-size:.98rem}
.pspec{font-size:.82rem;color:var(--muted);line-height:1.4}
.pprice{font-family:var(--display);font-weight:800;font-size:1.2rem;margin-top:auto;padding-top:8px;font-variant-numeric:tabular-nums}
.pprice small{font-family:var(--body);font-weight:500;font-size:.75rem;color:var(--muted)}
.addbtn{width:100%;justify-content:center;margin-top:8px;padding:8px}
.stepper{display:flex;align-items:center;justify-content:space-between;margin-top:8px;border:1px solid var(--accent);border-radius:8px;overflow:hidden}
.stepper button{font:inherit;font-weight:700;width:38px;height:36px;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer}
.stepper span{font-weight:700;font-variant-numeric:tabular-nums}
.empty{padding:40px;text-align:center;color:var(--muted);grid-column:1/-1}
.cartbtn{position:relative;padding:9px 12px}
.cartbtn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.ccount{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:999px;background:var(--rec);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center;padding:0 5px}
.navr{display:flex;gap:8px;align-items:center}
.scrim{position:fixed;inset:0;background:rgba(5,12,16,.45);z-index:20}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);z-index:21;background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px);box-sizing:border-box}
.dhead{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.dhead h3{font-size:1.15rem}
.xbtn{font:inherit;font-size:1.4rem;line-height:1;background:none;border:0;color:var(--muted);cursor:pointer;padding:4px 8px}
.dlist{flex:1;overflow-y:auto;padding:8px 18px}
.dline{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.dline .pimg{border-radius:8px}
.dline .pimg svg{width:85%;height:85%}
.dline b{display:block;font-size:.9rem;line-height:1.3}
.dline small{color:var(--muted);font-variant-numeric:tabular-nums}
.dline .stepper{margin:0;width:104px}
.dline .stepper button{width:30px;height:30px}
.dfoot{padding:16px 18px;border-top:1px solid var(--line);display:grid;gap:10px}
.drow{display:flex;justify-content:space-between;align-items:baseline}
.drow .total{font-size:1.4rem}
.dfoot .btn{justify-content:center}

/* ===== staff area ===== */
.login{max-width:420px;margin:0 auto;display:grid;gap:16px}
.lcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:14px}
.lcard h2{font-size:1.5rem}
.err{color:var(--rec);font-weight:600;font-size:.92rem}
.appbar{background:var(--screen);color:var(--screen-ink);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
.appbar-in{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px}
.appbar .who{font-weight:700;display:flex;align-items:center;gap:10px}
.appbar .who small{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-weight:500}
.appbar .logo{width:34px;height:34px}
.atabs{display:flex;gap:4px;flex:1;overflow-x:auto;scrollbar-width:none}
.atab{font:inherit;font-weight:600;color:var(--screen-ink);opacity:.7;background:none;border:0;padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}
.outbtn{font:inherit;font-weight:600;background:transparent;color:var(--screen-ink);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:7px 14px;cursor:pointer}
@media (max-width:700px){.atabs{order:3;flex-basis:100%}}
.pane{padding-top:24px;display:grid;gap:20px}
.panehead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.panehead h2{font-size:1.4rem}
.panehead p{color:var(--muted);font-size:.92rem}
.sample-note{font-family:var(--mono);font-size:.7rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 8px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:700px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:2px;border-top:3px solid var(--line)}
.kpi b{font-family:var(--display);font-size:1.8rem;font-variant-numeric:tabular-nums;line-height:1.2}
.kpi span{font-size:.85rem;color:var(--muted)}
.kpi.k-new{border-top-color:var(--accent)}.kpi.k-run{border-top-color:#e3a224}.kpi.k-late{border-top-color:var(--rec)}.kpi.k-done{border-top-color:var(--led)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}
.panel-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.panel-h h3{font-size:1.05rem}
.tw{overflow-x:auto}
table.at{width:100%;border-collapse:collapse;font-size:.92rem;min-width:760px}
.at th{text-align:left;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}
.at td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.at tr:last-child td{border-bottom:0}
.at td small{display:block;color:var(--muted);font-size:.8rem}
.at select{padding:6px 8px;width:auto;max-width:170px}
.mono{font-family:var(--mono);font-size:.82rem}
.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;border:1px solid currentColor}
.s-new{color:var(--accent)}.s-assigned{color:#7a5cc2}.s-progress{color:#c27b0e}.s-done{color:var(--led)}
.sla{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.sla.late{color:var(--rec)}.sla.near{color:#c27b0e}
.tag-urgent{font-size:.68rem;font-weight:700;color:var(--rec);text-transform:uppercase;letter-spacing:.06em}
.nform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--bg)}
@media (max-width:760px){.nform{grid-template-columns:1fr}}
.nform .full{grid-column:1/-1}
.nform .acts{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.tcard{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:10px}
.tcard h3{font-size:1.1rem}
.tcard .area{color:var(--muted);font-size:.88rem}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.stats div{background:var(--bg);border-radius:8px;padding:8px 10px}
.stats b{display:block;font-size:1.15rem;font-variant-numeric:tabular-nums}
.stats span{font-size:.75rem;color:var(--muted)}
.rgrid{display:grid;gap:0}
.rrow{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line)}
.rrow:last-child{border-bottom:0}
.rrow small{display:block;color:var(--muted);font-size:.8rem}
.rrow input{text-align:right}
.saved{color:var(--led);font-weight:600;font-size:.88rem}
/* staff */
.jobs{display:grid;gap:12px}
.job{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:6px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;width:100%}
.job:hover{border-color:var(--accent)}
.job .top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.job .meta{color:var(--muted);font-size:.88rem}
.jd{display:grid;gap:16px}
.back{font:inherit;font-weight:600;background:none;border:0;color:var(--accent);cursor:pointer;padding:0;justify-self:start}
.jbox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px}
.jbox h3{font-size:1.05rem}
.kv{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 12px;font-size:.95rem}
.kv span:nth-child(odd){color:var(--muted)}
.clist{display:grid;gap:2px}
.clist label{flex-direction:row;align-items:center;gap:10px;font-weight:500;padding:6px 0;border-bottom:1px dashed var(--line)}
.clist input{width:20px;height:20px;accent-color:var(--led);flex:none}
.prog{height:6px;background:var(--bg);border-radius:99px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--led)}
.photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ph{border:1px dashed var(--line);border-radius:10px;padding:10px;display:grid;gap:8px;font-size:.88rem;font-weight:600}
.ph img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.ph input{font-size:.8rem;padding:6px}
.timer{font-family:var(--mono);font-size:1.1rem;font-weight:600}
footer{border-top:1px solid var(--line);padding-block:28px;color:var(--muted);font-size:.92rem}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.fab{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:6;width:56px;height:56px;border-radius:50%;background:var(--led);display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.fab svg{width:28px;height:28px;fill:#fff}

/* ===== base reset (the design preview added these automatically) ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit}
button[disabled]{opacity:.45;cursor:not-allowed}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h2{font-size:clamp(1.5rem,3.5vw,2rem)}
.h3{font-size:1.1rem}
.muted{color:var(--muted)}
.center{text-align:center}
.nowrap{white-space:nowrap}
.mono{font-family:var(--mono);font-size:.88em}
.warn{color:#c27b0e!important}
.bad{color:var(--rec)}
.gap-top{margin-top:28px;margin-bottom:12px}
code{font-family:var(--mono);background:var(--bg);padding:1px 6px;border-radius:4px;font-size:.88em}

/* public header */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
body.site::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
main>section.wrap,main>.wrap.narrow{padding-block:36px 64px}
.narrow{max-width:560px}
.how{margin-top:40px;display:grid;gap:8px}
ol.steps,ul.plain{list-style:none;margin:0;padding:0}
ul.plain{display:grid;gap:6px}

/* forms */
form{display:grid;gap:14px;min-width:0;margin:0}
form.bare{display:block}
.inline-form{display:flex!important;gap:8px;flex-wrap:wrap;align-items:center}
.inline-form input{width:auto;flex:1;min-width:120px}
.book>form,.lcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:14px}
fieldset{border:0;padding:0;margin:0;min-width:0}
fieldset.chips{display:flex;flex-wrap:wrap;gap:6px 18px}
fieldset.chips legend{font-weight:600;font-size:.92rem;margin-bottom:6px;width:100%}
.trap{position:absolute;left:-9999px}
.wide{width:100%;justify-content:center}
.btn.sm{padding:5px 10px;font-size:.85rem}
.btn-danger{background:transparent;color:var(--rec);border-color:var(--rec)}
.btn:hover{filter:brightness(1.05)}
.num-in{width:96px;text-align:right}
.num-in.sm{width:64px}

/* messages */
.flash{border:1px solid var(--led);background:var(--surface);border-left-width:4px;border-radius:8px;padding:10px 14px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.flash-err{border-color:var(--rec)}
.done-card .big{font-size:1.4rem;color:var(--accent);white-space:nowrap}
.otp-box{display:grid;gap:2px;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:12px 16px}
.otp-box b{font-size:2rem;letter-spacing:.3em;color:var(--ink)}
.otp-box small{color:var(--muted)}
.done-card .btn{justify-content:center}

/* shop tabs as links */
a.tab{text-decoration:none}
.tab[aria-current="page"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.pimg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pimg{overflow:hidden}
.stock.out{color:var(--rec)}
.buy{margin-top:auto}
.dline{grid-template-columns:minmax(0,1fr) auto}

/* reviews + rating */
.score{display:flex;align-items:baseline;gap:12px;margin-bottom:24px;flex-wrap:wrap}
.score b{font-family:var(--display);font-size:2.4rem}
.rev{margin:0}
.rev blockquote{margin:6px 0 0;font-size:1rem}
.starpick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.starpick legend{font-weight:600;font-size:.92rem;margin-bottom:6px}
.starpick input{position:absolute;opacity:0;width:1px;height:1px}
.starpick label{font-size:2.4rem;line-height:1;color:var(--line);cursor:pointer;flex-direction:row}
.starpick input:checked~label,.starpick label:hover,.starpick label:hover~label{color:#e3a224}
.starpick input:focus-visible+label{outline:3px solid var(--accent);border-radius:4px}

/* staff area */
body.app{background:var(--bg)}
body.app::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--screen)}
.appmain{padding-block:24px 64px;display:grid;gap:18px;align-content:start}
.appbar .logo{width:34px;height:34px;flex:none}
a.atab{text-decoration:none}
.atab[aria-current="page"]{opacity:1;background:rgba(255,255,255,.12)}
.install-head{display:flex;gap:14px;align-items:center}
.install-head .logo{width:52px;height:52px}
.install-head h1{font-size:1.6rem}
a.kpi{color:inherit;text-decoration:none}
a.kpi:hover{border-color:var(--accent)}
.panel-h .filters{display:flex;gap:8px;flex-wrap:wrap}
.panel-h .filters select,.panel-h .filters input{width:auto}
.panel-h .acts,.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.panel-f{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end}
.panel{display:block}
.panel.nform{display:grid}
.nform.flat{background:transparent;padding:12px 0 0;border:0;border-top:1px dashed var(--line);grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){.nform.flat{grid-template-columns:1fr 1fr}}
.at td.empty{padding:28px}
.at .stars{color:#e3a224}
.at td.num input{margin-left:auto}
table.at.compact{min-width:640px}
.at input:not([type=checkbox]),.at select{padding:6px 8px}
.tag-repeat{font-size:.68rem;font-weight:700;color:#c27b0e;text-transform:uppercase;letter-spacing:.06em}
.s-cancelled{color:var(--muted)}
.sla.good{color:var(--led)}
.cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.stack{display:grid;gap:16px;align-content:start;min-width:0}
.stack-sm{display:grid;gap:10px;margin-top:10px}
.row-between{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.jbox{min-width:0}
.jbox .btn{justify-content:center}
.back{text-decoration:none;justify-self:start}
details>summary{cursor:pointer;font-weight:600;color:var(--accent)}
details[open]>summary{margin-bottom:8px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.92rem}
.ticks li::before{content:"✓";display:inline-block;width:1.4em;color:var(--led);font-weight:700}
.ticks li.no{color:var(--muted)}
.ticks li.no::before{content:"✗";color:var(--rec)}
.rating-box{background:var(--bg);border-radius:8px;padding:10px 12px}
.rating-box .stars{margin-right:6px}
.ph{margin:0}
.ph img{display:block}
.visits{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.visits li{border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:grid}
.visits li small{color:var(--muted);font-size:.8rem}
.visits li.done{border-color:var(--led)}
.visits li.done small{color:var(--led)}
.visits li.next{border-color:var(--accent);border-width:2px}
table.mini{width:100%;border-collapse:collapse;font-size:.88rem}
table.mini td{padding:6px 4px;border-top:1px solid var(--line)}
.rgrid.two,.rgrid.three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.rgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.rgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.rgrid.two,.rgrid.three{grid-template-columns:1fr}}
.rrow label{font-weight:500;display:block}
.tcard.inactive{opacity:.6}
.thumb{width:52px;height:52px;border-radius:8px;flex:none}
.thumb svg{width:90%;height:90%}
.card.preview{max-width:260px}
h3.sub{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:8px}
.job{text-decoration:none}
.muted-job{opacity:.8}
.timer[data-since]{color:var(--accent)}
.outbtn:hover{background:rgba(255,255,255,.08)}
@media (max-width:480px){.brand-tag{display:none}.brand{font-size:1rem}.logo{width:36px;height:36px}.navr .btn{padding:8px 12px;font-size:.92rem}.nav{flex-wrap:wrap}.links{order:3}}

/* ===== home page v2 ===== */
.btn-lg{padding:13px 22px;font-size:1.05rem}
.hero2{background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.hero2-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:44px;align-items:center;padding-block:52px 60px}
@media (max-width:920px){.hero2-in{grid-template-columns:1fr;gap:32px;padding-block:32px 40px}}
.hero2 h1{font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.15}
.hero2 .lead{color:var(--muted);margin-top:16px;max-width:34em;font-size:1.08rem}
.chips-row{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.chips-row li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:.88rem;color:var(--muted)}
.chips-row b{color:var(--ink)}
.monitor{background:#0b1217;border-radius:16px;padding:12px 12px 10px;box-shadow:0 24px 50px -24px rgba(5,20,30,.55),0 0 0 1px rgba(255,255,255,.06) inset;position:relative;min-width:0}
.monitor-bar,.monitor-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;color:#b9cdd5;padding:2px 4px 10px}
.monitor-foot{padding:10px 4px 2px}
.monitor-foot .ok{color:#3cc477}
.hint-dvr{opacity:.6}
.recdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4b4b;margin:0 4px 0 8px;animation:blink 1.2s infinite}
.feedgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#000;border-radius:6px;overflow:hidden}
@media (max-width:520px){.feedgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.feed{position:relative;aspect-ratio:4/3;max-width:100%;padding:0;border:0;margin:0;background:#1a2228;cursor:zoom-in;display:block;overflow:hidden}
.feed canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.feed-l,.feed-r{position:absolute;font-family:var(--mono);font-size:.62rem;color:#fff;text-shadow:0 1px 2px #000;display:flex;align-items:center;gap:4px}
.feed-l{left:6px;top:5px}.feed-r{right:6px;bottom:4px;opacity:.85}
.feed .dot{width:6px;height:6px}
.feedgrid.one{grid-template-columns:1fr}
.feedgrid.one .feed:not(.solo){display:none}
.feedgrid.one .feed{cursor:zoom-out}
.feedgrid.one .feed-l,.feedgrid.one .feed-r{font-size:.8rem}
.feed:focus-visible{outline:2px solid #4cb3db;outline-offset:-2px}
.monitor-stand{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);width:28%;height:10px;border-radius:0 0 10px 10px;background:#1b252c}
.proof{background:var(--screen);color:var(--screen-ink)}
.proof-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-block:22px}
@media (max-width:760px){.proof-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
.proof b{display:block;font-family:var(--display);font-size:1.35rem;color:#fff}
.proof span{font-size:.88rem;opacity:.8}
.block{padding-block:56px 8px}
.block .sec-head.row-between{flex-direction:row;align-items:flex-end}
.svc2grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.svc2grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.svc2grid{grid-template-columns:1fr}}
.svc2{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.svc2:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 12px 28px -18px rgba(10,108,147,.6)}
.svc2 svg{width:34px;height:34px;stroke:var(--accent);fill:none;stroke-width:1.8;background:var(--bg);border-radius:10px;padding:6px;box-sizing:content-box}
.svc2 h3{font-size:1.12rem}
.svc2 p{color:var(--muted);font-size:.95rem;flex:1}
.from{font-size:.88rem;color:var(--muted)}
.from b{color:var(--accent);font-size:1.05rem}
.svc2-amc{background:var(--screen);color:var(--screen-ink);border-color:var(--screen)}
.svc2-amc h3{color:#fff}.svc2-amc p,.svc2-amc .from{color:#b9cdd5}.svc2-amc .from b{color:#7fd0ef}
.svc2-amc svg{background:rgba(255,255,255,.08);stroke:#7fd0ef}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:none}
@media (max-width:820px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.flow{grid-template-columns:1fr}}
.flow li{position:relative;padding:18px 18px 18px 18px;border-top:3px solid var(--accent);background:var(--surface);border-radius:0 0 12px 12px}
.flow li b{font-family:var(--mono);color:var(--accent);font-size:.85rem}
.flow h3{font-size:1.05rem;margin:4px 0}
.flow p{color:var(--muted);font-size:.93rem}
.band{background:linear-gradient(120deg,#0a6c93,#0b4f6b);color:#fff;margin-top:56px}
.band-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:36px}
.band h2{color:#fff}.band p{opacity:.88;margin-top:6px;max-width:38em}
.band .btn-primary{background:#fff;color:#0a6c93}
.split2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:56px}
@media (max-width:760px){.split2{grid-template-columns:1fr}}
.card2{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:10px;justify-items:start}
.card2 p{color:var(--muted)}
.card2-wa{border-color:var(--led)}
@media (prefers-reduced-motion:reduce){.recdot{animation:none}.svc2{transition:none}}

/* ===== booking charge ===== */
.charge{display:grid;gap:2px;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:10px 14px}
.charge b{font-family:var(--display);font-size:1.3rem}
.charge b small{font-family:var(--body);font-size:.85rem;font-weight:500;color:var(--muted)}
.charge span{font-size:.88rem;color:var(--muted)}
.charge .amc-free{color:var(--led);font-weight:600}

/* ===== customer account ===== */
.acct{padding-block:32px 64px}
.acct-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.sumgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:760px){.sumgrid{grid-template-columns:1fr}}
.sum{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;gap:6px;align-content:start;border-top:4px solid var(--line)}
.sum b{font-family:var(--display);font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}
.sum b.small-b{font-size:1.4rem}
.sum-l{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.sum-s{font-size:.88rem;color:var(--muted)}
.sum-due{border-top-color:var(--rec)}.sum-due b{color:var(--rec)}
.sum-ok{border-top-color:var(--led)}
.job.static{cursor:default}
.otp-inline{background:var(--bg);border-radius:8px;padding:8px 10px;font-size:.92rem}
.otp-inline b{letter-spacing:.2em}
.amc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:16px}
@media (max-width:820px){.amc-body{grid-template-columns:1fr}}
.amc-body .visits{margin:10px 0}
.devgroup{margin-top:10px}
.devs{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.devs li{border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:grid}
.devs small{color:var(--muted)}
ul.small{font-size:.88rem}
.due-line{margin-top:10px;color:var(--rec)}
.gap-b{margin-bottom:16px}
.navr .btn{white-space:nowrap}
@media (max-width:1220px) and (min-width:761px){.links{gap:14px;font-size:.95rem}.brand-tag{display:none}}

/* ===== attendance & payroll ===== */
.punch{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--led);border-radius:12px;padding:16px 18px}
.punch-info{display:grid;gap:2px}
.punch-info b{font-size:1.15rem}
.punch-btn{min-width:150px;justify-content:center}
.attsum{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media (max-width:700px){.attsum{grid-template-columns:repeat(4,minmax(0,1fr))}}
.as{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;text-align:center}
.as b{font-family:var(--display);font-size:1.5rem;font-variant-numeric:tabular-nums}
.as span{font-size:.75rem;color:var(--muted)}
.as-p b{color:var(--led)}.as-a b{color:var(--rec)}.as-h b{color:#c27b0e}
.mark{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.mk-p{color:var(--led)}.mk-h{color:#c27b0e}.mk-a{color:var(--rec)}.mk-l{color:#7a5cc2}.mk-hol{color:var(--accent)}.mk-w{color:var(--muted)}.mk-none{color:var(--line)}
table.grid-att{min-width:0;font-size:.8rem}
.grid-att th,.grid-att td{padding:6px 4px;text-align:center}
.grid-att th:first-child,.grid-att td:first-child{text-align:left;padding-left:12px;position:sticky;left:0;background:var(--surface);z-index:1}
.grid-att th.dcol small{display:block;font-size:.65rem;color:var(--muted);text-transform:none;letter-spacing:0}
.grid-att th.off{background:var(--bg)}
.grid-att a.mk{display:inline-block;min-width:22px;font-weight:700;text-decoration:none;border-radius:4px;font-family:var(--mono);font-size:.72rem}
.grid-att a.mk.late{text-decoration:underline;text-underline-offset:3px}
.grid-att a.mk.noout{background:var(--bg);outline:1px dashed var(--rec)}
table.payroll{min-width:1080px}
.payroll td{vertical-align:middle}
.payroll .num-in{width:84px}
.payroll tr.is-paid td{background:color-mix(in srgb,var(--led) 6%,transparent)}
.payroll tfoot td{font-weight:600;border-top:2px solid var(--line);padding:12px 14px}
.paybox{display:grid!important;gap:6px;min-width:190px}
.paybox select,.paybox input{width:auto;padding:6px 8px;font-size:.85rem}
.paybox .acts{gap:6px}
.payslip{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:16px;max-width:620px}
.ps-head{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}
.ps-head .logo{width:44px;height:44px}
.ps-month{margin-left:auto;text-align:right;display:grid}
.ps-month b{font-family:var(--display);font-size:1.2rem}
.ps-table{width:100%;border-collapse:collapse}
.ps-table td{padding:9px 4px;border-bottom:1px dashed var(--line)}
.ps-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.ps-table tr.cut td{color:var(--rec)}
.ps-table tr.net td{border-top:2px solid var(--ink);border-bottom:0;font-size:1.15rem}
.ps-foot{color:var(--muted);font-size:.9rem}
@media print{.appbar,.noprint,.flash,.back{display:none!important}body.app{background:#fff}.payslip{border:0;max-width:none}}
.payroll th,.payroll td{padding:8px 8px}
.payroll .num-in{width:72px}
.paybox input[type=date]{width:132px}
.paybox input[name=note]{width:100%}
table.attlist{min-width:0;font-size:.88rem}
.attlist th,.attlist td{padding:8px 8px}


/* ===== bright look everywhere (no dark bands) ===== */
.proof{background:#e3f1f7;color:var(--ink);border-block:1px solid #cfe4ee}
.proof b{color:var(--accent)}
.proof span{opacity:1;color:var(--muted)}
.svc2-amc{background:#eaf5fa;color:var(--ink);border-color:#bfdceb}
.svc2-amc h3{color:var(--ink)}.svc2-amc p,.svc2-amc .from{color:var(--muted)}.svc2-amc .from b{color:var(--accent)}
.svc2-amc svg{background:#fff;stroke:var(--accent)}
.appbar{background:var(--accent);color:#fff}
body.app::before{background:var(--accent)}
.atab{color:#fff;opacity:.85}
.atab[aria-current="page"]{opacity:1;background:rgba(255,255,255,.2)}
.outbtn{color:#fff;border-color:rgba(255,255,255,.55)}
.outbtn:hover{background:rgba(255,255,255,.15)}
.appbar .logo path:first-child{fill:#fff}
.appbar .logo text,.appbar .logo circle{fill:var(--accent)}
.appbar .logo path:nth-child(2){stroke:var(--accent)}
.appbar .who small{opacity:.85}

/* Local SEO text on home page */
.localtext { max-width: 820px; color: var(--ink); line-height: 1.65; }
.localtext p { margin: 0 0 .8em; }

/* Quotation table on phones: no sideways scrolling, rate shown under the item */
.qt .item small.qr{display:none}
@media (max-width:640px){
  table.qt{min-width:0;font-size:.9rem}
  .qt th,.qt td{padding:8px 6px}
  .qt th:nth-child(4),.qt td:nth-child(4){display:none}
  .qt tr.group td{padding:6px}
  .qt .item small.qr{display:block;color:var(--ink);font-weight:500}
  .qt input[type=number]{width:52px;padding:6px 4px}
  .qt th:first-child,.qt td:first-child{width:28px}
}

/* Quotation PDF download */
#q-pdf svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.qname{display:block;padding:14px 18px 0;font-size:.9rem;font-weight:500}
.qname input{display:block;width:100%;margin-top:6px}
@media (max-width:640px){#q-pdf{flex:1;justify-content:center}}
.qname strong{display:block;margin-bottom:8px;font-size:.95rem}
.qname .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qname label{font-size:.88rem;font-weight:500}
.qerr{display:block;margin-top:8px;color:#b42318;font-size:.88rem;font-weight:600}
.bad-in{border-color:#d92d20 !important;box-shadow:0 0 0 3px rgba(217,45,32,.15)}
#q-pdf:disabled{opacity:.7;cursor:wait}
@media (max-width:420px){.qname .row{grid-template-columns:1fr}}

/* Admin: quotations list */
.qfilter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}
.qfilter input[name=s]{max-width:260px}
.chips-f{display:flex;flex-wrap:wrap;gap:6px}
.fchip{padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.88rem;font-weight:600}
.fchip span{color:var(--muted);font-weight:500;margin-left:2px}
.fchip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fchip.on span{color:#dff1f8}
.qlist{display:grid;gap:12px}
.qcard{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:14px 16px}
.qcard.st-new{border-left-color:#f59e0b}.qcard.st-called{border-left-color:var(--accent)}.qcard.st-won{border-left-color:#16a34a}.qcard.st-lost{border-left-color:#9aa8b1}
.qc-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.qc-top a{color:var(--ink)}
.qc-total{font-family:var(--display, Martel, serif);font-weight:800;font-size:1.25rem;white-space:nowrap}
.qc-sum{margin:6px 0;color:var(--muted);font-size:.92rem}
.qcard details summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:.9rem;margin:4px 0}
.qitems{margin-top:6px;font-size:.88rem}.qitems small{display:block;color:var(--muted)}
.qc-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.qc-st{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1;min-width:260px}
.qc-st select{width:auto}.qc-st input{flex:1;min-width:140px}
.pill.qs-new{color:#b45309}.pill.qs-called{color:var(--accent)}.pill.qs-won{color:#15803d}.pill.qs-lost{color:#64748b}
.muted{color:var(--muted)}

/* Product cards open the product page */
a.plink{color:inherit;text-decoration:none;transition:box-shadow .15s,transform .15s}
a.plink:hover{box-shadow:0 6px 20px rgba(19,33,43,.10);transform:translateY(-2px)}
a.plink .pname{color:var(--ink)}
.viewbtn{width:100%;justify-content:center;margin-top:8px;padding:8px;font-size:.92rem}
.phcount{position:absolute;right:8px;bottom:8px;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(19,33,43,.72);color:#fff}

/* Product page */
.pdp-wrap{padding-top:18px}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumbs a{color:var(--accent);text-decoration:none}
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:start}
.gal{position:relative;min-width:0}
.gal-main{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border:1px solid var(--line);border-radius:14px;background:var(--pbg);aspect-ratio:1/1;scrollbar-width:none}
.gal-main::-webkit-scrollbar{display:none}
.gal-slide{flex:0 0 100%;scroll-snap-align:start;display:grid;place-items:center;background:#fff}
.gal-slide img{width:100%;height:100%;object-fit:contain}
.gal-slide.art{background:var(--pbg)}.gal-slide.art svg{width:70%;height:70%}
.gal-count{position:absolute;right:12px;top:12px;background:rgba(19,33,43,.72);color:#fff;font-size:.78rem;padding:3px 10px;border-radius:999px}
.gal-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.gal-thumbs button{flex:0 0 64px;height:64px;padding:0;border:2px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;cursor:pointer}
.gal-thumbs button[aria-current]{border-color:var(--accent)}
.gal-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-info{display:flex;flex-direction:column;gap:8px;min-width:0}
.pdp-title{font-family:var(--display);font-size:1.7rem;line-height:1.2;margin:0}
.pdp-spec{color:var(--muted);margin:0}
.pdp-price{font-family:var(--display);font-weight:800;font-size:1.9rem;margin-top:6px}
.pdp-price small{font-family:var(--body);font-size:.85rem;font-weight:500;color:var(--muted)}
.stock-t{align-self:flex-start;font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid currentColor;color:var(--led)}
.stock-t.low{color:#c27b0e}.stock-t.out{color:var(--rec)}
.pdp-buy{display:flex;gap:10px;margin-top:10px;align-items:stretch}
.pdp-buy .buy{flex:1}
.pdp-buy .addbtn{margin-top:0;padding:12px;font-size:1.05rem;height:100%}
.pdp-buy .stepper{height:100%;justify-content:space-between}
.pdp-wa{justify-content:center}
.pdp-details{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.pdp-details h2{margin:0 0 8px}
.pdp-details p{margin:0 0 6px}.pdp-details ul{margin:4px 0 8px;padding-left:20px}.pdp-details li{margin:3px 0}
.pdp-points{margin:12px 0 0;padding:12px 14px 12px 30px;background:var(--bg);border-radius:10px;font-size:.9rem;color:var(--muted)}
.rel-h{margin:36px 0 12px}
@media (max-width:760px){
  .pdp{grid-template-columns:1fr;gap:18px}
  .pdp-title{font-size:1.4rem}.pdp-price{font-size:1.6rem}
}

/* Admin: product photos */
.photos-f{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0;display:flex;flex-direction:column;gap:10px}
.photos-f legend{font-weight:600;padding:0 4px}
.phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.phgrid:empty{display:none}
.phitem{border:1px solid var(--line);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px;background:#fff}
.phitem img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}
.phitem .chk{font-size:.8rem;margin:0}
.phitem .rm{color:var(--rec)}
.phitem.new{border-style:dashed}
.addph input{margin-top:6px}
.pdp-buy .stepper{margin-top:0}

/* ---------- Shop page (products) ---------- */
.shop-hero{background:linear-gradient(180deg,#e6f2f7 0%,var(--bg) 100%);border-bottom:1px solid var(--line)}
.shop-hero-in{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-top:30px;padding-bottom:26px}
.shop-hero .eyebrow{margin-bottom:6px;display:block}
.shop-hero h1{font-size:clamp(1.5rem,3.2vw,2.1rem)}
.shop-hero p{color:var(--muted);margin:6px 0 0}
.shop-trust{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem;font-weight:500}
.shop-trust li{display:flex;align-items:center;gap:8px}
.shop-trust svg{width:18px;height:18px;flex:none;stroke:var(--led);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.shop{padding-top:22px}
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.cat{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.cat:hover{border-color:var(--accent)}
.cat b{display:block;line-height:1.2}
.cat small{color:var(--muted);font-size:.8rem}
.cat-ic{width:42px;height:42px;border-radius:12px;background:#e6f2f7;display:grid;place-items:center;flex:none}
.cat-ic svg{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cat[aria-current]{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(10,108,147,.22)}
.cat[aria-current] small{color:#d4ecf5}
.cat[aria-current] .cat-ic{background:rgba(255,255,255,.16)}.cat[aria-current] .cat-ic svg{stroke:#fff}
.shop-tools,.shop-tools.bare{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:12px;align-items:stretch}
.sbox{position:relative;flex:1;min-width:0}
.sbox svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--muted);fill:none;stroke-width:2;pointer-events:none}
.sbox input{width:100%;padding-left:38px;background:var(--surface)}
.shop-tools select{width:auto;max-width:200px;background-color:var(--surface)}
.bchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:6px;scrollbar-width:none}
.bchips::-webkit-scrollbar{display:none}
.bchips a{flex:none;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-size:.9rem;font-weight:600}
.bchips a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.rcount{font-size:.88rem;color:var(--muted);margin:6px 0 12px}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.sgrid .empty{grid-column:1/-1}
.scard{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.scard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(19,33,43,.10);border-color:#c5d3da}
.simg{position:relative;aspect-ratio:1/1;background:#f3f7f9;display:grid;place-items:center;overflow:hidden}
.simg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.scard:hover .simg img{transform:scale(1.04)}
.simg svg{width:74%;height:74%}
.sbadge{position:absolute;left:10px;top:10px;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.sbadge.low{color:#b45309}.sbadge.out{color:var(--rec)}
.sphotos{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:4px;font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(19,33,43,.7);color:#fff}
.sphotos svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2}
.sbody{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px;flex:1}
.sbrand{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.sname{font-weight:700;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sspec{font-size:.82rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.sfoot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px}
.sprice{font-family:var(--display);font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums}
.sprice .ask{font-family:var(--body);font-size:.95rem;font-weight:700;color:var(--accent)}
.sgo{width:32px;height:32px;border-radius:50%;background:#e6f2f7;display:grid;place-items:center;flex:none;transition:background .15s}
.sgo svg{width:16px;height:16px;stroke:var(--accent);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.scard:hover .sgo{background:var(--accent)}.scard:hover .sgo svg{stroke:#fff}
.shop-help{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.sh-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.sh-card h2{font-size:1.2rem}
.sh-card p{color:var(--muted);margin:0 0 8px}
.sh-q{background:#e6f2f7;border-color:#cfe3ec}
@media (max-width:700px){
  .shop-hero-in{padding-top:20px;padding-bottom:16px;gap:12px}
  .shop-trust{font-size:.85rem;gap:4px}
  .cats{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px}
  .cats::-webkit-scrollbar{display:none}
  .cat{flex:none;padding:8px 14px 8px 8px;border-radius:999px;gap:8px}
  .cat-ic{width:32px;height:32px;border-radius:50%}.cat-ic svg{width:18px;height:18px}
  .cat small{display:none}
  .shop-tools select{max-width:132px;font-size:.92rem}
  .sgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sbody{padding:10px 11px 12px}
  .sname{font-size:.93rem}
  .sprice{font-size:1.05rem}
  .sgo{width:28px;height:28px}
  .shop-help{grid-template-columns:1fr}
}
.wpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.wpgrid .phitem input{font-size:.88rem;padding:6px 8px}

/* =====================================================================
   Public site look (v2): royal blue, Poppins headings, info bar, dark footer
   ===================================================================== */
body.site{--accent:#0d4fa3;--accent-2:#0a3a7a;--navy:#0b2447;--tint:#eef5fd;--display:"Poppins",system-ui,sans-serif}
body.site h1,body.site h2,body.site h3{font-family:var(--display);letter-spacing:-.01em}
body.site .btn-primary{background:var(--accent);box-shadow:0 6px 16px -6px rgba(13,79,163,.55)}
body.site .btn-primary:hover{background:var(--accent-2)}
.btn-outline{background:#fff;color:var(--accent);border:2px solid var(--accent)}
.btn-outline:hover{background:var(--tint)}
.btn-outline-w{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.8)}
.btn-outline-w:hover{background:rgba(255,255,255,.12)}
.btn svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Info bar */
.infobar{background:var(--navy);color:#dce7f5;font-size:.84rem}
.infobar-in{display:flex;gap:22px;align-items:center;min-height:36px;flex-wrap:wrap}
.infobar a,.infobar span{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;white-space:nowrap}
.infobar svg{width:15px;height:15px;stroke:#8fb7ee;fill:none;stroke-width:2}
.infobar .ib-hours{margin-left:auto}
@media (max-width:760px){.infobar-in{gap:14px;font-size:.8rem;min-height:32px}.infobar .ib-mail,.infobar .ib-hours{display:none}}

/* Header */
body.site .topbar{box-shadow:0 2px 10px rgba(11,36,71,.06)}
body.site .brand{font-family:"Martel",Georgia,serif}
body.site .brand-text{display:flex;flex-direction:column;line-height:1.1}
body.site .brand-name b{color:var(--accent)}
.brand-city{font-family:"Martel",Georgia,serif;font-weight:700;font-size:.95rem;color:var(--ink)}
body.site .brand-tag{font-family:var(--body);letter-spacing:.04em;font-size:.6rem;white-space:nowrap;color:var(--accent);margin-top:3px}
body.site .logo{width:46px;height:46px}
body.site .links a{font-weight:600;font-size:.95rem}
body.site .links a[aria-current="page"]{color:var(--accent)}
.bookbtn{padding:10px 16px}
@media (max-width:480px){.brand-city{display:none}.bookbtn span{display:none}.bookbtn{padding:10px 12px}.bookbtn::after{content:"Book";}}

/* Hero */
.hx{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7fbff 0%,#eef5fd 100%)}
.hx-panel{position:absolute;top:0;bottom:0;right:0;width:46%;background:linear-gradient(140deg,#1258b8 0%,#0b3a7a 70%);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.hx-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 40%);clip-path:polygon(14% 0,22% 0,4% 100%,-4% 100%)}
.hx-in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:center;padding-top:48px;padding-bottom:48px}
.hx-eyebrow{display:block;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.hx h1{font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.08;font-weight:800;color:var(--navy)}
.hx h1 span{display:block;color:var(--accent)}
.hx-sub{font-weight:600;font-size:1.08rem;margin:14px 0 0;color:var(--ink)}
.hx-sub i{font-style:normal;color:#9fb3c8;margin:0 4px}
.hx-lead{color:var(--muted);max-width:34em;margin:12px 0 0}
.hx-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hx-feat{list-style:none;padding:0;margin:26px 0 0;display:flex;gap:0;flex-wrap:nowrap}
.hx-feat li{display:flex;align-items:center;gap:9px;padding:2px 14px;border-left:1px solid #cfdcec;font-size:.84rem;line-height:1.25;color:var(--muted)}
.hx-feat li:first-child{padding-left:0;border-left:0}
.hx-feat b{display:block;color:var(--ink);font-weight:700}
.hx-feat svg{width:30px;height:30px;flex:none;stroke:var(--accent);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;padding:5px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(11,36,71,.1)}
.hx-art{position:relative;padding:96px 0 70px 30px;min-width:0}
.hx-art .monitor{position:relative;z-index:2;border:8px solid #1b2530;border-bottom-width:14px;box-shadow:0 30px 60px -20px rgba(0,10,30,.6)}
.hx-script{position:absolute;right:4px;top:-6px;z-index:3;font-family:"Caveat",cursive;font-size:2rem;line-height:1;color:#fff;transform:rotate(-12deg);text-align:right;opacity:.95}
.hx-dome{position:absolute;left:6%;top:34px;width:118px;z-index:3;filter:drop-shadow(0 10px 14px rgba(0,0,0,.25))}
.hx-dome svg{width:100%;height:auto;--pbody:#fff;--pline:#c9d3da}
.hx-switch{position:absolute;left:12%;right:4%;bottom:12px;z-index:1;height:70px;display:flex;justify-content:center}
.hx-switch svg{height:100%;width:auto}
.hx-loc{position:absolute;right:6px;bottom:20px;z-index:4;display:inline-flex;align-items:center;gap:6px;background:#0b1a33;color:#fff;font-weight:600;font-size:.86rem;padding:8px 14px;border-radius:10px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.hx-loc svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
@media (max-width:900px){
  .hx-panel{width:100%;top:auto;height:56%;clip-path:polygon(0 12%,100% 0,100% 100%,0 100%)}
  .hx-in{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px;gap:10px}
  .hx-art{padding:96px 0 70px}
  .hx-script{font-size:1.6rem;top:22px}
  .hx-dome{width:86px;top:40px;left:2%}
}
.hx-switch{display:none}
@media (max-width:1000px) and (min-width:521px){.hx-feat li{padding:2px 10px;font-size:.8rem}}
@media (max-width:520px){
  .hx-feat{gap:12px;flex-wrap:wrap}.hx-feat li{border-left:0;padding:0;flex:1 1 40%}
  .hx-cta .btn{flex:1;justify-content:center}
}

/* Section titles */
.hsec{padding:56px 0}
.hsec-tint{background:var(--tint)}
.htitle{text-align:center;margin-bottom:30px}
.htitle h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--navy);display:inline-flex;align-items:center;gap:14px}
.htitle h2::before,.htitle h2::after{content:"";width:28px;height:2px;background:var(--accent);opacity:.7}
.htitle p{color:var(--accent);margin:4px 0 0;font-weight:500}

/* Services */
.svc3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.svc3-card{display:flex;gap:16px;background:#fff;border:1px solid #e1e9f2;border-radius:14px;padding:18px;box-shadow:0 4px 18px -10px rgba(11,36,71,.18);transition:transform .15s,box-shadow .15s}
.svc3-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(11,36,71,.3)}
.svc3-img{width:96px;height:96px;flex:none;display:grid;place-items:center;background:#f3f7fc;border-radius:12px}
.svc3-img svg{width:84%;height:84%}
.svc3-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.svc3-body h3{font-size:1.08rem;color:var(--navy)}
.svc3-body p{font-size:.9rem;color:var(--muted);margin:0;line-height:1.45}
.svc3-body .from{font-size:.84rem;color:var(--muted)}.svc3-body .from b{color:var(--ink)}
.vbtn{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border:1.5px solid var(--accent);border-radius:999px;color:var(--accent);font-weight:600;font-size:.86rem;text-decoration:none}
.vbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.vbtn:hover{background:var(--accent);color:#fff}
@media (max-width:900px){.svc3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.svc3{grid-template-columns:1fr}.svc3-card{padding:14px}.svc3-img{width:80px;height:80px}}

/* Why choose us */
.why{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.why>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:6px 14px;border-left:1px solid #cddbeb}
.why>div:first-child{border-left:0}
.why-ic{width:58px;height:58px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 6px 16px -8px rgba(11,36,71,.35);margin-bottom:6px}
.why-ic svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.why b{color:var(--navy);font-size:.95rem;line-height:1.25}
.why small{color:var(--muted);font-size:.84rem}
@media (max-width:820px){.why{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.why>div{border-left:0}.why>div:last-child{grid-column:1/-1}}

/* How it works */
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.steps4 li{position:relative;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e1e9f2;border-radius:14px;padding:16px;box-shadow:0 4px 18px -10px rgba(11,36,71,.18)}
.steps4 li:not(:last-child)::after{content:"›";position:absolute;right:-22px;top:50%;transform:translateY(-50%);font-size:1.8rem;color:var(--accent);font-weight:700}
.steps4 b{width:44px;height:44px;flex:none;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:1.15rem}
.steps4 span{font-size:.86rem;color:var(--muted);line-height:1.35}
.steps4 strong{display:block;color:var(--navy);font-size:.98rem;margin-bottom:2px}
@media (max-width:900px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.steps4 li::after{display:none}}
@media (max-width:480px){.steps4{grid-template-columns:1fr}}

/* Real work */
.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:16px;align-items:stretch}
.work-card{background:linear-gradient(150deg,#0d4fa3,#0b2447);color:#fff;border-radius:14px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.work-card h2{font-size:1.35rem;color:#fff}
.work-card p{margin:0 0 6px;color:#d6e4f7;font-size:.94rem}
.work-pics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.work-pics figure{margin:0;min-width:0}
.wp-img{aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #dfe8f2}
.wp-img img{width:100%;height:100%;object-fit:cover;display:block}
.wp-art{display:grid;place-items:center;background:linear-gradient(180deg,#fff,#e9f1fb)}.wp-art svg{width:78%;height:78%}
.work-pics figcaption{font-size:.84rem;font-weight:600;color:var(--accent);margin-top:6px}
@media (max-width:900px){.work{grid-template-columns:1fr}.work-pics{grid-template-columns:repeat(2,minmax(0,1fr))}.wp-img{aspect-ratio:4/3}}

/* Reviews */
.revs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev2{margin:0;background:#fff;border:1px solid #e1e9f2;border-radius:14px;padding:18px;box-shadow:0 4px 18px -10px rgba(11,36,71,.18)}
.rv-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.rv-av{width:42px;height:42px;border-radius:50%;background:var(--tint);color:var(--accent);display:grid;place-items:center;font-weight:700;font-family:var(--display)}
.rv-head b{display:block;color:var(--navy)}.rv-head small{color:var(--muted);font-size:.8rem}
.rev2 blockquote{margin:8px 0 0;color:var(--ink);font-size:.93rem}
.rv-more{text-align:center;margin-top:16px}.rv-more a{color:var(--accent);font-weight:600}
.rev-empty{text-align:center;background:var(--tint);border-radius:14px;padding:22px}.rev-empty p{margin:0 0 12px;color:var(--muted)}
@media (max-width:820px){.revs{grid-template-columns:1fr}}

/* Help band + footer */
.helpband{background:linear-gradient(90deg,#0d4fa3,#0b3a7a);color:#fff}
.helpband-in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.hb-l{display:flex;align-items:center;gap:14px}
.hb-l b{display:block;font-family:var(--display);font-size:1.05rem}.hb-l span{font-size:.88rem;color:#d6e4f7}
.hb-wa{width:48px;height:48px;flex:none;border-radius:50%;background:#25d366;display:grid;place-items:center}
.hb-wa svg{width:28px;height:28px;fill:#fff}
.hb-r{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hb-tel{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.15rem}
.hb-tel svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2}
.helpband .btn-wa{background:#25d366;border-radius:999px;padding:10px 22px}
.sfooter{background:var(--navy);color:#c3d2e6;font-size:.92rem;border:0;padding:0}
.sfooter footer,.sfoot{align-items:start}
.sfoot{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:26px;padding-top:36px;padding-bottom:26px}
.sf-brand{display:flex;gap:12px;align-items:flex-start}
.sf-brand .flogo{width:52px;height:52px}
.sf-brand b{display:block;font-family:"Martel",Georgia,serif;color:#fff;font-size:1.2rem;line-height:1.2}
.sf-brand span{display:block;font-family:"Martel",Georgia,serif;color:#c3d2e6}
.sf-brand small{display:block;margin-top:6px;font-size:.78rem;color:#8fb7ee}
.sfoot h4{font-family:var(--display);color:#fff;font-size:.95rem;margin:0 0 10px}
.sfoot h4.fol{margin-top:16px}
.sfoot a,.sfoot>div>span{display:flex;align-items:center;gap:8px;color:#c3d2e6;text-decoration:none;margin:5px 0}
.sfoot a:hover{color:#fff}
.sfoot svg{width:15px;height:15px;stroke:#8fb7ee;fill:none;stroke-width:2;flex:none}
.soc{display:flex;gap:10px}
.soc a{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;margin:0}
.soc svg{width:18px;height:18px;fill:var(--navy);stroke:none}
.sfoot-b{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.12);padding-top:14px;padding-bottom:18px;font-size:.82rem;color:#8ea6c6}
@media (max-width:820px){.sfoot{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}}
@media (max-width:480px){.helpband-in{flex-direction:column;align-items:flex-start}.hb-r{width:100%;justify-content:space-between}}
/* hero fixes */
.hx-feat li span{white-space:nowrap;font-size:.8rem}
.hx-art .feedgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){
  .hx-panel{display:none}
  .hx-art{background:linear-gradient(140deg,#1258b8 0%,#0b3a7a 75%);border-radius:18px;padding:104px 12px 62px;margin-top:14px}
  .hx-art .monitor{border-width:5px;border-bottom-width:9px}
  .hx-script{right:16px;top:14px}
  .hx-dome{top:18px;left:14px;width:80px}
  .hx-loc{right:12px;bottom:14px}
}
@media (max-width:520px){
  .hx-cta .btn{font-size:.95rem;padding:12px 10px;gap:6px}
  .hx-art .monitor-foot .hint-dvr{display:none}
  .hx-art .monitor-bar,.hx-art .monitor-foot{font-size:.62rem}
}

/* ---------- Phone side menu ---------- */
.menubtn{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.menubtn span{display:block;width:20px;height:2px;border-radius:2px;background:var(--navy,#0b2447)}
.mscrim{position:fixed;inset:0;background:rgba(5,15,30,.45);z-index:40}
.mnav{position:fixed;top:0;right:0;bottom:0;width:min(84vw,330px);background:#fff;z-index:41;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.mnav.open{transform:none}
.mnav-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--line);background:var(--tint,#eef5fd)}
.mnav-head .logo{width:40px;height:40px}
.mnav-head b{display:block;font-family:"Martel",Georgia,serif;color:var(--navy,#0b2447);line-height:1.2}
.mnav-head small{color:var(--muted)}
.mnav-head .xbtn{margin-left:auto}
.mnav nav{display:flex;flex-direction:column;padding:8px 10px}
.mnav nav a{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:1.02rem}
.mnav nav a svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mnav nav a[aria-current]{background:var(--tint,#eef5fd);color:var(--accent)}
.mnav-foot{margin-top:auto;padding:14px 16px 18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.mnav-foot .btn{justify-content:center}
.mnav-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mnav-foot p{margin:4px 0 0;font-size:.85rem;color:var(--muted)}
body.noscroll{overflow:hidden}
@media (max-width:760px){
  body.site .infobar{display:none}
  body.site .links{display:none}
  body.site .menubtn{display:flex}
  body.site .bookbtn{display:none}
  body.site .nav{flex-wrap:nowrap;padding-block:10px}
  body.site .brand-tag{display:block}
  body.site .brand-city{display:block}
  body.site .logo{width:42px;height:42px}
  body.site .cartbtn{width:44px;height:44px;padding:0;justify-content:center}
}
@media (max-width:380px){body.site .brand-tag{display:none}}
@media (max-width:760px){
  body.site .brand{min-width:0;gap:8px}
  body.site .brand-text{min-width:0}
  body.site .brand-tag{overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
  body.site .navr{gap:6px;flex:none}
  body.site .menubtn,body.site .cartbtn{width:42px;height:42px}
}
/* DVR: enlarge works inside the hero, live time on each camera, real photos */
.hx-art .feedgrid.one{grid-template-columns:1fr}
.feed-t{position:absolute;right:6px;top:5px;font-family:var(--mono);font-size:.55rem;color:#fff;text-shadow:0 1px 2px #000;opacity:.9}
.feedgrid.one .feed-t{font-size:.8rem;top:8px;right:10px}
.feed.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:auto}
.feed.photo{background:#000}
.feed-l,.feed-r,.feed-t{z-index:1}
.feedgrid:not(.one) .ft-d{display:none}
@media (max-width:520px){.feedgrid:not(.one) .feed-t{display:none}}
.dvrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.dvr-th{position:relative;aspect-ratio:4/3;background:#1a2228;border-radius:6px;overflow:hidden;display:grid;place-items:center;color:#9fb3c0;text-align:center;font-size:.85rem}
.dvr-th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dvr-th b{position:absolute;left:6px;top:4px;color:#fff;font-family:var(--mono);font-size:.7rem;text-shadow:0 1px 2px #000}
.dvrgrid .phitem input{font-size:.85rem;padding:6px 8px}
