:root{
  --tint:#E7EFE9; --tint-2:#F2F7F2; --tint-3:#DCE7DE;
  --guilloche:#9DB6AE;
  --ink:#1B2C42; --ink-soft:#55677A; --rule:#C2D4CB;
  --intaglio:#8C2F4A; --seal:#26674E; --foil:#6B5424;
  --band:#16232E; --band-text:#B7C7CE; --band-strong:#E6EEF1;
  --band-dim:#8FA5AE; --band-gold:#C6A45E;
  --didone:"Bodoni Moda",Didot,"Times New Roman",serif;
  --grot:"Schibsted Grotesk",system-ui,-apple-system,Arial,sans-serif;
  --mono:"Azeret Mono",ui-monospace,Consolas,monospace;
  --wrap:min(64rem,100% - 2.5rem);
  --gap:clamp(2.75rem,6vw,4.5rem);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --tint:#101817; --tint-2:#17211F; --tint-3:#1D2A27;
    --guilloche:#2E4A44;
    --ink:#E4EDE7; --ink-soft:#9BB0AA; --rule:#2A3B37;
    --intaglio:#E38199; --seal:#5CBE93; --foil:#C6A45E;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--tint);color:var(--ink);font-family:var(--grot);
  font-size:1.0625rem;line-height:1.62;font-feature-settings:"kern","liga";
  touch-action:manipulation;-webkit-tap-highlight-color:rgb(140 47 74 / .16)}
.wrap{width:var(--wrap);margin-inline:auto}
p{margin:0 0 1rem}
a{color:inherit}
a:focus-visible,summary:focus-visible{outline:3px solid var(--intaglio);outline-offset:3px}
.skip{position:absolute;left:.5rem;top:.5rem;z-index:20;background:#1B2C42;color:#fff;
  padding:.7rem 1.1rem;font-weight:600;text-decoration:none;transform:translateY(-200%);
  transition:transform .15s ease}
.skip:focus{transform:translateY(0)}

h1,h2,h3{font-family:var(--didone);font-weight:700;margin:0;line-height:1.02;
  letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(3rem,11vw,7rem);font-weight:900;letter-spacing:-.02em}
h2{font-size:clamp(1.75rem,4.6vw,3rem);scroll-margin-top:1.5rem}
h3{font-size:1.125rem;font-weight:700}
.k{font-family:var(--mono);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-soft);display:block}
.lede{font-family:var(--didone);font-style:italic;font-size:clamp(1.0625rem,2.4vw,1.375rem);
  line-height:1.45;color:var(--ink-soft);max-width:46ch;margin:.75rem 0 2rem}

.page{position:relative;overflow:hidden;background:var(--tint-2);border-bottom:1px solid var(--rule)}
.rosette{position:absolute;right:-3rem;top:50%;transform:translateY(-50%);
  width:min(32rem,60vw);opacity:.7;pointer-events:none}
@media (max-width:52rem){.rosette{right:-34%;top:20%;opacity:.28}}
.page .wrap{position:relative;padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem)}
.page h1{margin:.55rem 0 0;max-width:12ch}
.page h1 em{font-style:italic;color:var(--intaglio)}
.fields{margin-top:clamp(2rem,4vw,3rem);max-width:40rem}
.fld{display:grid;grid-template-columns:1fr auto;gap:.3rem 1.25rem;align-items:baseline;
  padding:.85rem 0;border-bottom:1px solid var(--rule)}
.fld:first-child{border-top:1px solid var(--rule)}
.fld .v{font-family:var(--didone);font-weight:700;font-size:clamp(1.15rem,3.6vw,1.6rem);
  font-variant-numeric:tabular-nums}
.fld .v.no{color:var(--ink-soft);font-weight:400;text-decoration:line-through;
  text-decoration-thickness:1.5px;text-decoration-color:var(--intaglio)}
.fld .v.yes{color:var(--seal)}
.fld .v.new{color:var(--intaglio)}

.engrave{height:7px;background:repeating-linear-gradient(90deg,var(--guilloche) 0 2px,transparent 2px 7px);opacity:.55}

.toc{padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.toc ol{list-style:none;margin:.55rem 0 0;padding:0;counter-reset:t;display:grid;gap:.3rem 1.5rem;
  grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}
.toc li{counter-increment:t}
.toc a{font-size:.9375rem;text-decoration-color:var(--rule);text-underline-offset:3px}
.toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:.7rem;
  color:var(--foil);margin-right:.6rem}
.toc a:hover{text-decoration-color:var(--intaglio)}

section{padding:var(--gap) 0}
section+section{border-top:1px solid var(--rule)}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:1.75rem 2.25rem}
.item .v{font-family:var(--didone);font-weight:700;font-size:clamp(1.9rem,5vw,2.6rem);
  display:block;margin:.3rem 0 .35rem;line-height:1;font-variant-numeric:tabular-nums}
.item p{margin:0;font-size:.875rem;color:var(--ink-soft);line-height:1.5}

.two{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.card{border:1px solid var(--rule);background:var(--tint-2);padding:1.5rem}
.card.off{border-color:var(--seal);box-shadow:inset 0 0 0 1px var(--seal)}
.card .amt{font-family:var(--didone);font-weight:900;font-size:clamp(2.1rem,7vw,3.1rem);
  display:block;margin:.35rem 0 .5rem;line-height:1;font-variant-numeric:tabular-nums}
.card.off .amt{color:var(--seal)} .card.mid .amt{color:var(--intaglio)}
.card p{margin:0;font-size:.9375rem;color:var(--ink-soft)}
@media (max-width:36rem){.two{grid-template-columns:1fr}}
.quote{border-left:2px solid var(--foil);padding-left:1.35rem;margin:1.75rem 0 0;max-width:62ch;
  font-family:var(--didone);font-style:italic;font-size:1.0625rem;line-height:1.5;color:var(--ink-soft)}
.quote b{font-style:normal;font-family:var(--grot);font-weight:600;color:var(--ink);font-size:.9375rem}

/* real vs lookalike domains */
.domains{border-top:1px solid var(--rule)}
.dom{border-bottom:1px solid var(--rule);padding:1.05rem 0;display:grid;
  grid-template-columns:1fr auto;gap:.4rem 1.25rem;align-items:center}
.dom code{font-family:var(--mono);font-size:.9375rem;word-break:break-all}
.dom .verdict{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  white-space:nowrap;padding:.3rem .6rem;border:1px solid currentColor}
.dom.real .verdict{color:var(--seal)} .dom.real code{font-weight:500}
.dom.fake .verdict{color:var(--intaglio)} .dom.fake code{color:var(--ink-soft)}

.scens{border-top:1px solid var(--rule)}
.scen{border-bottom:1px solid var(--rule);padding:1.35rem 0;display:grid;
  grid-template-columns:1fr auto;gap:.5rem 1.5rem;align-items:start}
.scen .q{font-family:var(--didone);font-weight:700;font-size:1.1875rem;margin:0;line-height:1.25}
.scen .a{grid-column:1/-1;margin:0;color:var(--ink-soft);font-size:.9375rem;max-width:68ch}
.tag{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  white-space:nowrap;padding:.3rem .6rem;border:1px solid currentColor}
.tag.need{color:var(--seal)} .tag.notneed{color:var(--ink-soft)} .tag.warn{color:var(--intaglio)}

.warn{border-left:2px solid var(--intaglio);padding-left:1.35rem}
.warn ul{margin:0;padding-left:1.1rem}
.warn li{margin-bottom:.65rem}

ol.steps{counter-reset:s;list-style:none;margin:0;padding:0}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;
  padding:1rem 0;border-top:1px solid var(--rule)}
ol.steps li:last-child{border-bottom:1px solid var(--rule)}
ol.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--mono);font-size:.75rem;
  color:var(--foil);padding-top:.35rem}
ol.steps li>span{min-width:0}

.stuck{margin:0}
.stuck>div{border-top:1px solid var(--rule);padding:1.5rem 0}
.stuck>div:last-child{border-bottom:1px solid var(--rule)}
.stuck dt{font-family:var(--didone);font-weight:700;font-size:1.1875rem;margin-bottom:.55rem}
.stuck dd{margin:0;max-width:68ch;color:var(--ink-soft)}
.stuck dd p{margin:0 0 .55rem} .stuck dd p:last-child{margin-bottom:0}
.stuck dd strong{color:var(--ink);font-weight:600}
.say{font-family:var(--mono);background:var(--tint-3);border:1px solid var(--rule);
  padding:.1rem .4rem;font-size:.9em;color:var(--ink)}

.nope{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.nope li{display:grid;grid-template-columns:1.5rem 1fr;gap:.85rem;align-items:start}
.nope li::before{content:"\2715";font-family:var(--grot);color:var(--intaglio);font-size:1.05rem;
  line-height:1.5;font-weight:700}
.nope b{font-weight:600}

.tl{list-style:none;margin:0;padding:0}
.tl li{display:grid;grid-template-columns:10rem 1fr;gap:1.25rem;padding:1rem 0;border-top:1px solid var(--rule)}
.tl li:last-child{border-bottom:1px solid var(--rule)}
.tl time{font-family:var(--mono);font-size:.75rem;color:var(--ink-soft);letter-spacing:.04em;padding-top:.25rem}
.tl p{margin:0}
.tl .now{color:var(--intaglio);font-weight:600}
@media (max-width:34rem){.tl li{grid-template-columns:1fr;gap:.2rem}}

.endorse{background:var(--tint-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.endorse .wrap{display:grid;grid-template-columns:auto 1fr;gap:1.35rem;align-items:start;padding:1.85rem 0}
.endorse .mk{font-family:var(--mono);font-size:.6875rem;letter-spacing:.12em;color:var(--intaglio);
  border:1.5px solid var(--intaglio);padding:.4rem .6rem;transform:rotate(-3deg);white-space:nowrap}
.endorse h2{font-size:1.3rem;margin-bottom:.25rem}
.endorse p{margin:0;color:var(--ink-soft);max-width:64ch}

details{border-top:1px solid var(--rule)}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;list-style:none;padding:1.1rem 2.25rem 1.1rem 0;position:relative;
  font-family:var(--didone);font-weight:700;font-size:1.125rem}
summary::-webkit-details-marker{display:none}
summary:hover{color:var(--intaglio)}
summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);
  font-family:var(--mono);color:var(--foil);font-size:1.15rem}
details[open] summary::after{content:"\2212"}
details .ans{padding:0 0 1.2rem;color:var(--ink-soft);max-width:66ch}
details .ans p:last-child{margin-bottom:0}

.src{color:var(--ink-soft);font-size:.9375rem}
.src ul{padding-left:1.1rem;margin:.5rem 0 0}
.src li{margin-bottom:.45rem}
.src a,ol.steps a,.card a,.stuck a,.dom a,.scen a{color:var(--ink);
  text-decoration-color:var(--foil);text-decoration-thickness:2px}
.src a:hover,ol.steps a:hover,.card a:hover,.stuck a:hover,.dom a:hover{text-decoration-color:var(--intaglio)}
.checked{font-family:var(--mono);font-size:.75rem;color:var(--ink-soft);margin-top:1.5rem}

.mrz{background:var(--band);color:var(--band-strong);overflow-x:auto}
.mrz .wrap{padding:1.1rem 0}
.mrz code{display:block;font-family:var(--mono);white-space:pre;letter-spacing:.12em;color:var(--band-strong);
  font-size:clamp(.62rem,1.75vw,.95rem);line-height:1.85}
.mrz code+code{opacity:.6}
footer{background:var(--band);color:var(--band-text);font-size:.875rem;
  padding:0 env(safe-area-inset-right) calc(2.25rem + env(safe-area-inset-bottom)) env(safe-area-inset-left)}
footer .wrap{padding-top:1.5rem;border-top:1px solid rgb(255 255 255/.12)}
footer .k{color:var(--foil);margin-bottom:.55rem}
footer p{max-width:64ch;margin:0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- homepage: permit index ---------- */
.idx{border-top:1px solid var(--rule)}
.idx-row{border-bottom:1px solid var(--rule);padding:1.15rem 0;display:grid;
  grid-template-columns:1fr auto auto;gap:.4rem 1.75rem;align-items:baseline}
.idx-row .who{grid-column:1/-1;margin:.15rem 0 0;font-size:.875rem;color:var(--ink-soft)}
.idx-row .name{font-family:var(--didone);font-weight:700;font-size:1.1875rem;margin:0;line-height:1.2}
.idx-row .name a{text-decoration-color:var(--rule);text-underline-offset:3px}
.idx-row .name a:hover{text-decoration-color:var(--intaglio)}
.idx-row .official{font-family:var(--didone);font-weight:700;font-size:1.25rem;
  color:var(--seal);white-space:nowrap;font-variant-numeric:tabular-nums}
.idx-row .agency{font-family:var(--mono);font-size:.8125rem;color:var(--ink-soft);
  white-space:nowrap;text-decoration:line-through;text-decoration-color:var(--intaglio)}
.idx-head{display:grid;grid-template-columns:1fr auto auto;gap:1.75rem;padding-bottom:.5rem}
.idx-head span{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-soft)}
.idx-head span:not(:first-child){text-align:right}
@media (max-width:40rem){
  .idx-head{display:none}
  .idx-row{grid-template-columns:1fr auto}
  .idx-row .agency{grid-column:2;text-align:right}
}
.grouplabel{font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--intaglio);margin:2.25rem 0 .5rem;display:block}
.grouplabel:first-of-type{margin-top:0}

/* language row */
.langs{display:flex;flex-wrap:wrap;gap:.5rem}
.langs a{font-family:var(--mono);font-size:.8125rem;letter-spacing:.06em;padding:.45rem .8rem;
  border:1px solid var(--rule);text-decoration:none}
.langs a:hover{border-color:var(--intaglio);color:var(--intaglio)}

/* ---------- masthead: link back to the index ---------- */
.masthead{background:var(--tint-2);border-bottom:1px solid var(--rule)}
.masthead .wrap{padding:.8rem 0;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;flex-wrap:wrap}
.masthead a.home{font-family:var(--mono);font-size:.75rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink);text-decoration:none}
.masthead a.home:hover{color:var(--intaglio)}
.masthead .when{font-family:var(--mono);font-size:.6875rem;color:var(--ink-soft)}

/* ---------- site footer ---------- */
footer{background:var(--band);color:var(--band-text);font-size:.9375rem;
  padding:0 env(safe-area-inset-right) calc(2.5rem + env(safe-area-inset-bottom)) env(safe-area-inset-left)}
footer .wrap{padding-top:2.5rem}
footer .k{color:var(--band-gold);margin-bottom:.7rem}
.foot-grid{display:grid;gap:2rem 3rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  padding-bottom:2rem;border-bottom:1px solid rgb(255 255 255/.14)}
.foot-col{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.foot-col a{color:var(--band-strong);text-decoration-color:rgb(255 255 255/.28);text-underline-offset:3px}
.foot-col a:hover{color:#fff;text-decoration-color:var(--band-gold)}
.foot-blurb{margin:0;color:var(--band-dim);max-width:32ch;font-size:.875rem;line-height:1.5}
.foot-legal{padding-top:1.75rem}
.foot-legal p{max-width:70ch;margin:0 0 .8rem;color:var(--band-dim);font-size:.875rem;line-height:1.55}
.foot-meta{font-family:var(--mono);font-size:.75rem;color:var(--band-dim)}

/* ---------- legal / prose pages ---------- */
.prose{max-width:70ch}
.prose h3{margin:2rem 0 .5rem;font-size:1.1875rem}
.prose p,.prose li{color:var(--ink-soft)}
.prose ul{padding-left:1.15rem;margin:.5rem 0 1rem}
.prose li{margin-bottom:.5rem}
.prose strong{color:var(--ink);font-weight:600}
.todo,.notice{border-left:3px solid var(--intaglio);background:var(--tint-2);padding:1rem 1.25rem;margin:1.25rem 0}
.todo p,.notice p{margin:0;color:var(--ink)}
.todo .k,.notice .k{color:var(--intaglio);margin-bottom:.4rem}
