/* Eurochair help center. Palette and type follow eurochair.biz / brand/dist/tokens:
   Manrope for display + UI, Inter for body, navy/bronze on paper, square corners. */
:root{
  --navy:#081B34; --navy-tint:#1F304A; --navy-text:#8898B8;
  --bronze:#735C00; --gold:#E9C349; --gold-field:#FBF3D9;
  --ink:#1A1C1D; --muted:#454652; --rule:#C6C5D4; --rule-soft:#E4E4EC;
  --paper:#F9F9FB; --paper-alt:#F3F3F5; --card:#FFFFFF;
  --head:'Manrope',sans-serif; --body:'Inter',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15.5px/1.65 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--bronze)}
img{max-width:100%;display:block}
kbd{font:600 12px var(--body);border:1px solid var(--rule);border-bottom-width:2px;padding:1px 6px;background:var(--card);border-radius:2px}
.wrap{max-width:1320px;margin:0 auto;padding:0 24px}
.eyebrow{font:700 11px var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--bronze);margin-bottom:10px}
.eyebrow.light{color:var(--gold)}
h1,h2,h3{font-family:var(--head);color:var(--navy);letter-spacing:-.02em;margin:0}

/* top bar */
.top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule-soft)}
.top .wrap{height:72px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:14px;flex-shrink:0}
.logo img{height:26px;width:auto}
.logo span{font:700 13px var(--head);color:var(--muted);padding-left:14px;border-left:1px solid var(--rule)}
.srch{position:relative;flex:1;max-width:560px;margin-left:auto}
.srch svg{position:absolute;left:14px;top:13px;color:var(--muted)}
.srch input{width:100%;height:44px;border:1px solid var(--rule);background:var(--paper);padding:0 14px 0 42px;font:15px var(--body);color:var(--ink);border-radius:2px;outline:none}
.srch input:focus{border-color:var(--navy);background:var(--card);box-shadow:0 0 0 3px rgba(8,27,52,.08)}
.qr{position:absolute;left:0;right:0;top:50px;background:var(--card);border:1px solid var(--rule);box-shadow:0 24px 48px -12px rgba(8,27,52,.18);max-height:420px;overflow:auto}
.qr a{display:block;padding:12px 16px;border-bottom:1px solid var(--rule-soft)}
.qr a:hover,.qr a.on{background:var(--paper-alt)}
.qr a b{display:block;font:700 14.5px var(--head);color:var(--navy)}
.qr a small{color:var(--muted);font-size:12.5px}
.qr .none{padding:16px;color:var(--muted);font-size:14px}
.open{font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--navy);padding:13px 18px;white-space:nowrap}
.open:hover{color:#fff;background:var(--navy-tint)}

/* hero + home */
.hero{background:var(--navy);color:#fff;padding:72px 0 64px}
.hero h1{color:#fff;font-size:52px;font-weight:800;line-height:1}
.hero p{color:var(--navy-text);font-size:18px;max-width:620px;margin:18px 0 28px}
.start{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;font:700 12px var(--body);letter-spacing:.12em;text-transform:uppercase;padding:15px 22px;background:var(--gold);color:var(--navy)}
.btn:hover{color:var(--navy);opacity:.92}
.btn.ghost{background:transparent;color:#fff;border:1px solid var(--navy-tint)}
.btn.ghost:hover{color:var(--gold);border-color:var(--gold)}
.home{padding:48px 24px 72px}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cat{background:var(--card);border:1px solid var(--rule-soft);padding:26px 26px 18px;scroll-margin-top:96px}
.cat .ci{width:42px;height:42px;background:var(--gold-field);color:var(--bronze);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.cat h2{font-size:20px}
.cat>p{color:var(--muted);font-size:14px;margin:6px 0 14px}
.cat ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule-soft)}
.cat li a{display:block;padding:12px 0;border-bottom:1px solid var(--rule-soft);font:700 14.5px var(--head)}
.cat li:last-child a{border-bottom:0}
.cat li a span{display:block;font:400 13px var(--body);color:var(--muted);margin-top:2px}
.flowcard{margin-top:28px;background:var(--card);border:1px solid var(--rule-soft);padding:28px}
.flowcard h2{font-size:24px;margin-bottom:20px}

/* article layout */
.art{padding:22px 24px 72px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs b{color:var(--ink);font-weight:600}
.cols{display:grid;grid-template-columns:240px minmax(0,1fr) 210px;gap:28px;align-items:start}
.side,.toc{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow:auto}
.sidetog{display:none}
.ng{margin-bottom:18px}
.nh{font:700 11px var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:6px}
.sidenav a{display:block;padding:6px 10px;font-size:14px;color:var(--muted);border-left:2px solid transparent}
.sidenav a:hover{color:var(--navy)}
.sidenav a.on{color:var(--navy);font-weight:600;border-left-color:var(--gold);background:var(--card)}
.toc .tt{font:700 12px var(--head);color:var(--navy);margin-bottom:8px}
.toc a{display:block;font-size:13px;color:var(--muted);padding:5px 0 5px 12px;border-left:1px solid var(--rule)}
.toc a.on{color:var(--navy);border-left:2px solid var(--navy);font-weight:600;padding-left:11px}
.doc{background:var(--card);border:1px solid var(--rule-soft);padding:40px 44px 34px;min-width:0}
.doc h1{font-size:36px;font-weight:800;line-height:1.1}
.lede{font-size:17px;color:var(--muted);margin:12px 0 4px}
.doc section{margin-top:38px}
.doc h2{font-size:22px;font-weight:700;padding-bottom:10px;border-bottom:1px solid var(--rule-soft);margin-bottom:16px}
.doc p{margin:0 0 14px}
.note{padding:14px 16px;margin:18px 0;font-size:14.5px;border-left:3px solid var(--navy);background:var(--paper-alt)}
.note b{font-family:var(--head)}
.note.tip{border-color:var(--bronze);background:var(--gold-field)}
.note.warn{border-color:#A93B27;background:#F6E4DF}
.tbl{overflow-x:auto;margin:6px 0 18px;border:1px solid var(--rule-soft)}
.tbl table{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;background:var(--paper-alt);font:700 12px var(--head);color:var(--navy);padding:10px 14px;border-bottom:1px solid var(--rule)}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td:first-child{font-weight:600;color:var(--navy);white-space:nowrap}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps>li{position:relative;padding:0 0 26px 30px;border-left:2px solid var(--rule-soft);margin-left:10px}
.steps>li:last-child{border-left-color:transparent}
.steps>li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;background:var(--navy)}
.sn{font:700 11px var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.st{margin:2px 0 12px}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:44px;padding-top:22px;border-top:1px solid var(--rule-soft)}
.pn a{font:700 15px var(--head);max-width:48%}
.pn a small{display:block;font:600 11px var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.pn .nx{text-align:right;margin-left:auto}

/* annotated screenshot */
.shot{margin:8px 0 26px}
.frame{position:relative;border:1px solid var(--rule);background:var(--paper-alt);box-shadow:0 24px 48px -12px rgba(8,27,52,.08)}
.canvas{position:relative;width:100%}
.canvas img{width:100%;height:100%}
.focus{position:absolute;outline:3px solid #D4353F;outline-offset:3px;pointer-events:none;animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{outline-color:rgba(212,53,63,.35)}}
.pin{position:absolute;background:transparent;border:0;padding:0;cursor:pointer;outline:1px dashed rgba(8,27,52,.38);outline-offset:1px}
.pin:hover,.pin.on{outline:2px solid var(--gold);outline-offset:2px;background:rgba(233,195,73,.12)}
.num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:var(--navy);color:#fff;font:700 12px var(--head);box-shadow:0 0 0 2px #fff,0 4px 10px rgba(8,27,52,.35)}
/* badge sits on the box corner, mostly outside it, so it never hides the label */
.pin>.num{position:absolute;left:0;top:0;transform:translate(-82%,-82%);z-index:2}
.pin.on>.num,.pin:hover>.num{background:var(--gold);color:var(--navy)}
.tip{display:none;position:absolute;left:0;top:calc(100% + 10px);z-index:5;width:280px;background:var(--navy);color:#fff;text-align:left;font:13.5px/1.5 var(--body);padding:12px 14px;box-shadow:0 12px 28px rgba(8,27,52,.35)}
.tip b{display:block;font:700 14px var(--head);color:var(--gold);margin-bottom:3px}
.tip kbd{color:var(--ink)}
.pin:hover .tip,.pin.on .tip{display:block}
.pin.flip .tip{top:auto;bottom:calc(100% + 10px)}
.pin.right .tip{left:auto;right:0}
.zoom{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border:1px solid var(--rule);background:rgba(255,255,255,.95);font-size:17px;cursor:zoom-in;color:var(--navy)}
.shot figcaption,.diagram figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.legend{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 22px}
.legend li{display:flex;gap:12px;padding:9px 8px;cursor:pointer;border-bottom:1px solid var(--rule-soft)}
.legend li:hover,.legend li.on{background:var(--gold-field)}
.legend li .num{flex-shrink:0;box-shadow:none}
.legend b{font:700 14px var(--head);color:var(--navy)}
.legend p{margin:1px 0 0;font-size:13.5px;color:var(--muted)}
.diagram{margin:8px 0 24px;padding:20px;border:1px solid var(--rule-soft);background:var(--card)}

/* lightbox */
.lb{position:fixed;inset:0;z-index:60;background:rgba(8,27,52,.92);display:flex;align-items:center;justify-content:center;padding:28px}
.lb[hidden]{display:none}
.lbc{max-width:min(1600px,100%);max-height:100%;overflow:auto}
.lbc .canvas{width:min(1600px,92vw)}
.lbx{position:fixed;right:18px;top:12px;font-size:34px;color:#fff;background:none;border:0;cursor:pointer}

.foot{background:var(--navy);padding:34px 0;margin-top:20px}
.foot img{height:22px;width:auto}
.foot p{color:var(--navy-text);font-size:13px;margin:10px 0 0}
.nf{padding:80px 24px}

@media(max-width:1180px){.cols{grid-template-columns:220px minmax(0,1fr)}.toc{display:none}.cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
  .top .wrap{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;gap:12px}
  .logo span{display:none}.open{padding:11px 14px;margin-left:auto}
  .srch{order:3;max-width:none;flex-basis:100%;margin:0}
  .wrap{padding:0 16px}.art{padding:16px 16px 48px}.home{padding:28px 16px 48px}
  .hero{padding:44px 0}.hero h1{font-size:38px}
  .cols{grid-template-columns:minmax(0,1fr)}
  .side{position:static;max-height:none}
  .sidetog{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--rule);background:var(--card);font:700 14px var(--head);color:var(--navy)}
  .sidenav{display:none;background:var(--card);border:1px solid var(--rule);border-top:0;padding:14px}
  .side.open .sidenav{display:block}
  .doc{padding:24px 18px}.doc h1{font-size:28px}
  .cats{grid-template-columns:1fr}.legend{grid-template-columns:1fr}
  .pin>.num{min-width:18px;height:18px;font-size:10.5px}
  .tip{display:none!important}
  /* on phones the enlarged view is wider than the screen: pan to read it */
  .lb{padding:52px 0 0;align-items:flex-start;justify-content:flex-start}
  .lbc{max-width:none;width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}
  .lbc .canvas{width:1100px;max-width:none}
}
@media print{.top,.side,.toc,.foot,.zoom,.pin{display:none}.cols{display:block}.doc{border:0;padding:0}}
