/* SampleDocument.com — "Swiss Utility" design system, with "Night Desk" dark mode.
   Light: white, near-black ink, cobalt accent, hard rules, registry numbering.
   Dark:  charcoal desk, glowing white documents, brightened cobalt.
   Type: Inter-class grotesque via Archivo (display) + Public Sans (body) + IBM Plex Mono (registry labels). */
:root{
  --bg:#FFFFFF; --bg2:#FAFAFA; --ink:#0A0A0A; --mut:#5A5A5A; --faint:#9A9A9A;
  --line:#DEDEDE; --line2:#0A0A0A; --acc:#1D4ED8; --acc-ink:#FFFFFF;
  --sheet:#FFFFFF; --sheet-edge:#E4E4E4; --well:#F7F7F7;
  --badge:#1D4ED8; --shadow:rgba(10,10,10,.10);
  --disp:'Archivo',sans-serif; --body:'Public Sans',sans-serif; --mono:'IBM Plex Mono',monospace;
}
html[data-theme="dark"]{
  --bg:#16181D; --bg2:#1B1E24; --ink:#EDEBE4; --mut:#9BA0AB; --faint:#6E737E;
  --line:#2B2F37; --line2:#EDEBE4; --acc:#6E96F4; --acc-ink:#0E1320;
  --sheet:#FDFDFB; --sheet-edge:#FDFDFB; --well:#1F2229;
  --badge:#6E96F4; --shadow:rgba(0,0,0,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{font-family:var(--body);background:var(--bg);color:var(--ink);line-height:1.6;font-size:16px}
a{color:inherit}
main{max-width:1100px;margin:0 auto;padding:0 20px}
h1,h2{font-family:var(--disp);line-height:1.08;letter-spacing:-.02em}
:focus-visible{outline:2.5px solid var(--acc);outline-offset:2px}
img{display:block;max-width:100%;height:auto}

/* ---------- header ---------- */
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto;padding:16px 20px;border-bottom:2.5px solid var(--line2);flex-wrap:wrap}
.logo{font-family:var(--disp);font-weight:700;font-size:18px;text-decoration:none;letter-spacing:-.01em}
.logo span{color:var(--acc)}
.logo em{font-style:normal;color:var(--faint);font-weight:500;font-size:.85em}
.hd-nav{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
.hd-nav a{font-size:13.5px;font-weight:500;text-decoration:none;color:var(--mut);padding:7px 10px}
.hd-nav a:hover{color:var(--ink)}
#themeBtn{font-size:17px;line-height:1;background:none;border:1.5px solid var(--line);border-radius:5px;color:var(--mut);padding:5px 9px;cursor:pointer;margin-left:6px}
#themeBtn:hover{color:var(--ink);border-color:var(--ink)}
.dd{position:relative}
.dd summary{font-size:13.5px;font-weight:500;color:var(--mut);padding:7px 10px;cursor:pointer;list-style:none}
.dd summary::-webkit-details-marker{display:none}
.dd summary::after{content:" ▾";font-size:10px}
.dd summary:hover{color:var(--ink)}
.dd[open] summary{color:var(--acc)}
.dd-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg);border:1.5px solid var(--line2);min-width:210px;z-index:60;box-shadow:5px 5px 0 var(--shadow)}
.dd-menu a{display:block;padding:10px 14px;font-size:13.5px;border-bottom:1px solid var(--line)}
.dd-menu a:last-child{border-bottom:none}
.dd-menu a:hover{background:var(--bg2);color:var(--acc)}

/* ---------- hero ---------- */
.hero{position:relative;text-align:left;padding:58px 0 40px;border-bottom:1px solid var(--line);
  background-image:repeating-linear-gradient(90deg,transparent,transparent calc(10% - 1px),var(--bg2) calc(10% - 1px),var(--bg2) 10%)}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.hero h1{font-size:clamp(42px,7vw,76px);font-weight:700;letter-spacing:-.035em;line-height:1.0;margin:16px 0 14px;max-width:760px}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero-sub{color:var(--mut);max-width:520px;font-size:16.5px}
.search-wrap{position:relative;max-width:520px;margin:26px 0 0}
#q{width:100%;padding:15px 18px;font:500 15.5px var(--body);border:2px solid var(--line2);background:var(--bg);color:var(--ink)}
#q::placeholder{color:var(--faint)}
.results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg);border:2px solid var(--line2);box-shadow:6px 6px 0 var(--shadow);z-index:40;text-align:left;overflow:hidden}
.results a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:11px 16px;text-decoration:none;border-bottom:1px solid var(--line);font-size:14.5px}
.results a:last-child{border-bottom:none}
.results a:hover{background:var(--bg2);color:var(--acc)}
.results a span{font-family:var(--mono);font-size:11px;color:var(--faint);white-space:nowrap}
.res-empty{padding:14px 16px;font-size:14px;color:var(--mut)}

/* ---------- category tabs as index row ---------- */
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.tab{flex:1 1 auto;text-align:center;font-size:13.5px;font-weight:600;text-decoration:none;padding:14px 10px;border-right:1px solid var(--line);color:var(--mut)}
.tab:last-child{border-right:none}
.tab:hover{color:var(--acc);background:var(--bg2)}
.tab-n{font-family:var(--mono);font-size:11px;color:var(--acc);margin-right:7px}

/* ---------- bands & grid ---------- */
.band{padding:36px 0 10px}
.band-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.band-hd .eyebrow{color:var(--ink);font-weight:500}
.band-hd .eyebrow::before{content:"— ";color:var(--acc)}
.band-desc{color:var(--mut);font-size:14.5px;margin-top:5px;max-width:520px}
.more{font-size:14px;font-weight:600;text-decoration:none;color:var(--acc);white-space:nowrap}
.more:hover{text-decoration:underline;text-underline-offset:3px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid-page{padding:8px 0 28px}
@media(max-width:920px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- cards: documents in ruled cells ---------- */
.card{text-decoration:none;display:block;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 16px 14px;background:var(--bg)}
.card:hover{background:var(--bg2)}
.card-paper{position:relative;background:var(--well);height:188px;overflow:hidden;display:flex;justify-content:center;padding:14px 18px 0}
.card-img{width:auto;max-width:100%;height:auto;border:1px solid var(--sheet-edge);background:var(--sheet);box-shadow:0 6px 18px var(--shadow);transition:transform .16s ease}
.card:hover .card-img{transform:translateY(-6px)}
.card-body{padding:11px 0 0}
.card-kind{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.05em}
.card-kind sup{font-size:8px}
.card-kind .rg{font-weight:500;color:var(--acc)}
.card h3{font-family:var(--body);font-size:14.5px;font-weight:600;margin-top:4px;line-height:1.35;color:var(--ink)}
.card:hover h3{color:var(--acc)}
.stamp{position:absolute;top:12px;right:10px;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.12em;color:var(--acc);border:2px solid var(--acc);padding:2px 7px;background:var(--bg);transform:rotate(0deg)}
.stamp-lg{font-size:13px;padding:5px 12px;top:22px;right:20px}

/* ---------- country chips ---------- */
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media(max-width:640px){.cgrid{grid-template-columns:repeat(2,1fr)}}
.cchip{display:flex;align-items:center;gap:12px;text-decoration:none;padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14.5px;font-weight:600}
.cchip:hover{background:var(--bg2);color:var(--acc)}
.cchip b{font-family:var(--mono);font-size:11px;font-weight:500;color:var(--acc);border:1.5px solid var(--acc);padding:3px 7px;min-width:42px;text-align:center}
.cnotes{list-style:none}
.cnotes li{padding:7px 0 7px 24px;position:relative;font-size:15px;color:var(--ink)}
.cnotes li::before{content:"—";position:absolute;left:0;color:var(--acc);font-weight:700}

/* ---------- template page ---------- */
.crumbs{font-size:13.5px;color:var(--mut);padding:20px 0 4px}
.crumbs a{color:var(--mut)}
.crumbs a:hover{color:var(--acc)}
.tpl{display:grid;grid-template-columns:360px 1fr;gap:44px;padding:24px 0 12px}
@media(max-width:780px){.tpl{grid-template-columns:1fr}}
.tpl-preview{position:relative;background:var(--well);border:1px solid var(--line);padding:28px 28px 40px;align-self:start}
.tpl-preview a{display:block}
.tpl-img{width:100%;border:1px solid var(--sheet-edge);background:var(--sheet);box-shadow:0 10px 30px var(--shadow)}
.tpl-preview a:hover .tpl-img{box-shadow:0 14px 36px var(--shadow)}
.prev-hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:12.5px;color:var(--faint)}
.tpl-info h1{font-size:clamp(30px,4vw,44px);font-weight:700;margin:10px 0 14px}
.tpl-desc{color:var(--mut);font-size:16.5px;max-width:540px}
.vrow{display:flex;align-items:center;gap:8px;margin:22px 0 0;flex-wrap:wrap}
.vlabel{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.vbtn{font:600 13px var(--body);padding:8px 14px;border:1.5px solid var(--line);background:var(--bg);color:var(--mut);cursor:pointer}
.vbtn:hover{border-color:var(--ink);color:var(--ink)}
.vbtn.active{border-color:var(--acc);background:var(--acc);color:var(--acc-ink)}
.dl-row{display:flex;gap:12px;margin:18px 0 10px;flex-wrap:wrap}
.btn{font:600 15px var(--body);text-decoration:none;padding:14px 24px;display:inline-block;border:2px solid var(--ink);transition:transform .1s}
.btn:active{transform:translate(1px,1px)}
.btn-primary{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);box-shadow:4px 4px 0 var(--shadow)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{color:var(--ink);background:var(--bg)}
.btn-ghost:hover{background:var(--bg2)}
.dl-note{font-size:13px;color:var(--mut)}
.tpl-info h2{font-size:20px;margin:28px 0 10px}
.inside{list-style:none}
.inside li{padding:6px 0 6px 26px;position:relative;font-size:15px;color:var(--ink)}
.inside li::before{content:"✓";position:absolute;left:2px;color:var(--acc);font-weight:700}

/* ---------- how-to, covers, faq, prose ---------- */
.covers{max-width:760px;padding:6px 0 4px}
.covers h2{font-size:21px;margin:18px 0 10px}
.covers p{color:var(--ink);font-size:15.5px}
.upd{font-size:13.5px!important;color:var(--mut)!important;margin-top:14px}
.upd sup{font-size:8px}
.howto{background:var(--bg2);border:1px solid var(--line);border-left:4px solid var(--acc);padding:28px 32px;margin:30px 0}
.howto h2{font-size:21px;margin-bottom:14px}
.howto ol{padding-left:20px}
.howto li{margin-bottom:10px;font-size:15px}
.disclaimer{font-size:13px;color:var(--mut);margin-top:18px;border-top:1px dashed var(--line);padding-top:14px}
.faqs{max-width:760px;padding:10px 0 6px}
.faqs h2{font-size:21px;margin:14px 0 14px}
.faq{border:1px solid var(--line);margin-bottom:-1px;background:var(--bg)}
.faq summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:15px;list-style:none;position:relative;padding-right:42px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:18px;color:var(--acc)}
.faq[open] summary::after{content:"–"}
.faq[open] summary{border-bottom:1px solid var(--line)}
.faq p{padding:13px 18px 15px;color:var(--mut);font-size:14.5px}
.how{padding:48px 0 32px}
.how .eyebrow{color:var(--ink);font-weight:500}
.how .eyebrow::before{content:"— ";color:var(--acc)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:22px;border:1px solid var(--line)}
@media(max-width:700px){.how-grid{grid-template-columns:1fr}}
.how-grid > div{padding:24px 26px;border-right:1px solid var(--line)}
.how-grid > div:last-child{border-right:none}
@media(max-width:700px){.how-grid > div{border-right:none;border-bottom:1px solid var(--line)}.how-grid > div:last-child{border-bottom:none}}
.how-grid b{font-family:var(--mono);font-size:13px;display:block;margin-bottom:8px;color:var(--acc)}
.how-grid p{font-size:14.5px;color:var(--mut)}
.cat-hero{padding:32px 0 24px;border-bottom:1px solid var(--line)}
.cat-hero h1{font-size:clamp(32px,5vw,52px);font-weight:700;margin:10px 0 10px}
.cat-hero .hero-sub{color:var(--mut);margin:0;max-width:620px}
.prose{max-width:680px;padding:24px 0 60px}
.prose h1{font-size:clamp(30px,4.5vw,44px);font-weight:700;margin:8px 0 20px}
.prose h2{font-size:20px;margin:26px 0 8px}
.prose p{margin-bottom:14px;color:var(--ink)}
.prose a{color:var(--acc)}
.prose-post h1{margin-top:12px}
.prose-post em{color:var(--ink)}

/* ---------- blog ---------- */
.posts{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:6px 0 30px}
@media(max-width:720px){.posts{grid-template-columns:1fr}}
.post{display:block;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 26px;background:var(--bg)}
.post:hover{background:var(--bg2)}
.post-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--acc)}
.post h2{font-size:19px;margin:8px 0 8px;line-height:1.25}
.post p{font-size:14px;color:var(--mut)}
.post-go{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--acc)}
.post:hover .post-go{text-decoration:underline;text-underline-offset:3px}
.cta{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:center;background:var(--ink);color:var(--bg);padding:30px 34px;margin:34px 0;max-width:760px;overflow:hidden}
html[data-theme="dark"] .cta{background:var(--bg2);color:var(--ink);border:1px solid var(--line)}
@media(max-width:640px){.cta{grid-template-columns:1fr}.cta-img{display:none}}
.cta .eyebrow{color:var(--acc)}
html[data-theme="dark"] .cta .eyebrow{color:var(--acc)}
.cta h2{font-size:24px;margin:8px 0 8px}
.cta p{font-size:14.5px;margin-bottom:18px;opacity:.8}
.cta-img{border:1px solid var(--sheet-edge);background:var(--sheet);box-shadow:0 10px 28px rgba(0,0,0,.4)}

/* ---------- footer ---------- */
.ft{border-top:2.5px solid var(--line2);margin-top:60px;background:var(--bg2)}
.ft-in{max-width:1100px;margin:0 auto;padding:36px 20px 12px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.logo-ft{font-size:17px;text-decoration:none}
.ft-tag{color:var(--mut);font-size:13.5px;max-width:380px;margin-top:8px}
.ft-links{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start}
.ft-links a{font-size:14px;font-weight:500;color:var(--mut);text-decoration:none}
.ft-links a:hover{color:var(--acc)}
.ft-legal{max-width:1100px;margin:0 auto;padding:8px 20px 28px;font-size:12px;color:var(--faint)}

@media(max-width:640px){
  .hd-nav{display:flex;width:100%;justify-content:flex-start;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .hd-nav a,.dd summary{font-size:13px;padding:6px 8px;white-space:nowrap}
  .dd-menu{left:0;right:auto}
  .hero{padding:40px 0 32px}
}

/* before-you-send checklist */
.usebox{border:1.5px solid var(--acc);padding:14px 18px;margin:14px 0 4px;max-width:540px}
.use-h{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);display:block;margin-bottom:6px}
.usebox ul{list-style:none}
.usebox li{font-size:14px;padding:3px 0 3px 20px;position:relative;color:var(--ink)}
.usebox li::before{content:"!";position:absolute;left:2px;font-family:var(--mono);color:var(--acc);font-weight:500}
