/* ABC Translation – Danmark. Self-hosted fonts (GDPR: no Google Fonts requests). */
@font-face{font-family:"Source Serif 4";src:url(/assets/fonts/source-serif-4-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(/assets/fonts/source-serif-4-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/assets/fonts/public-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --paper:#f5f6f3;      /* page */
  --sheet:#ffffff;      /* documents, form */
  --ink:#16233f;        /* navy ink: text, hero */
  --ink-2:#4a556b;      /* secondary text */
  --rule:#d5dae2;       /* hairlines */
  --seal:#b4202e;       /* wax-seal red – used sparingly */
  --stamp:#2d6a66;      /* stamp-ink teal: ticks, tags */
  --tint:#e9ede9;       /* quiet band */
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --step-0:1.0625rem; --step-1:1.25rem; --step-2:1.6rem; --step-3:2.1rem; --step-4:clamp(2.4rem,5.2vw,3.7rem);
  --gap:clamp(1rem,3vw,2rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--step-0)/1.6 var(--sans);text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--seal)}
:focus-visible{outline:3px solid var(--seal);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .6em;text-wrap:balance}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1)}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 2rem);margin-inline:auto}
.narrow{max-width:46rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none}
.ic-lg{width:2rem;height:2rem}
.ic-xl{width:3rem;height:3rem;color:var(--seal);margin-bottom:.75rem}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(245,246,243,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--rule)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.25rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand-mark{width:2.4rem;height:2.4rem}
.brand-mark circle{fill:var(--ink)}
.brand-mark .ring{fill:none;stroke:#fff;stroke-width:1;stroke-dasharray:2 2}
.brand-mark text{fill:#fff;font:600 11px var(--serif)}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-weight:600;font-size:1.2rem}
.brand-sub{font-size:.8rem;color:var(--ink-2)}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav ul{display:flex;gap:1.3rem;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-size:.97rem}
.nav ul a[aria-current]{box-shadow:inset 0 -2px 0 var(--seal)}
.lang-switch{font-size:.9rem;border:1px solid var(--rule);padding:.25rem .6rem;border-radius:2rem}
.nav-toggle{display:none;font:inherit;background:none;border:1px solid var(--ink);color:var(--ink);padding:.4rem .9rem;border-radius:2rem;cursor:pointer}
@media (max-width:960px){
  .nav-toggle{display:block}
  .nav{position:absolute;inset:4.25rem 0 auto 0;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;padding:1rem 1rem 1.5rem;gap:1rem;display:none}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:.9rem}
  .nav a{font-size:1.1rem}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--seal);color:#fff;border:0;border-radius:.3rem;padding:.85rem 1.35rem;font:600 1rem/1 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:#951a26;color:#fff}
.btn-small{padding:.55rem .95rem;font-size:.92rem}
.btn-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.btn-ghost:hover{background:transparent;color:inherit;box-shadow:inset 0 0 0 2px currentColor}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}

/* hero */
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero a:not(.btn){color:#fff}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-block:clamp(3rem,7vw,6rem)}
.hero h1{max-width:13ch}
.lead{font-size:var(--step-1);line-height:1.5;color:var(--ink-2);max-width:40rem}
.hero .lead{color:#cfd6e4}
.facts{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid rgba(255,255,255,.2);padding-top:1.25rem}
.facts li{display:flex;flex-direction:column;font-size:.92rem;color:#cfd6e4}
.facts strong{color:#fff;font-weight:600;font-size:1rem}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero h1{max-width:none}}
@media (max-width:520px){.facts{grid-template-columns:1fr}}

/* the apostille */
.apostille{margin:0;position:relative}
.ap-paper{background:var(--sheet);color:#1d2433;padding:1.6rem 1.7rem 1.4rem;border:1px solid #c9ced8;outline:1px solid #c9ced8;outline-offset:-8px;transform:rotate(1.6deg);box-shadow:0 30px 60px -25px rgba(0,0,0,.55);font-family:var(--serif);font-size:.95rem;max-width:30rem;margin-inline:auto;animation:settle .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes settle{from{transform:rotate(5deg) translateY(24px);opacity:0}to{transform:rotate(1.6deg);opacity:1}}
.ap-h{text-align:center;font-weight:600;font-size:1.6rem;letter-spacing:.32em;margin:.2rem 0 0}
.ap-sub{text-align:center;font-style:italic;font-size:.82rem;color:#55607a;margin:0 0 1rem}
.ap-row{display:grid;grid-template-columns:1.6rem auto 1fr;gap:.35rem;align-items:baseline;padding:.28rem 0;border-bottom:1px dotted #b9c0cc}
.ap-n{color:#55607a;font-size:.85rem}
.ap-k{color:#55607a;font-size:.88rem}
.ap-v{font-family:"Courier New",monospace;font-size:.9rem;color:#1b3a8a;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-mid{text-align:center;font-weight:600;letter-spacing:.2em;margin:.7rem 0 .2rem;font-size:.9rem}
.ap-foot{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.9rem;align-items:end}
.ap-seal-wrap,.ap-sig{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.ap-seal{width:5.6rem;height:5.6rem;margin-top:.2rem;transform:rotate(-12deg)}
.ap-seal .s1{fill:var(--seal)}
.ap-seal .s2{fill:none;stroke:#f3c6c9;stroke-width:1.5}
.ap-seal .s3{fill:#f8dfe1;font:600 9.6px var(--sans);letter-spacing:.06em}
.ap-seal .s4{stroke:#f3c6c9;stroke-width:2;stroke-linecap:round}
.ap-sig svg{width:100%;height:2.6rem;fill:none;stroke:#1b3a8a;stroke-width:1.6;stroke-linecap:round}
.apostille figcaption{font-size:.8rem;color:#9fabc2;text-align:center;margin-top:1.4rem}
@media (max-width:520px){.ap-paper{padding:1.2rem;font-size:.85rem;transform:none;animation:none}.ap-k{font-size:.78rem}.ap-v{font-size:.8rem}}

/* generic sections */
.block{padding-block:clamp(2.5rem,6vw,4.5rem)}
.block + .block{padding-top:0}
.band{background:var(--tint)}
.band + .block{padding-top:clamp(2.5rem,6vw,4.5rem)}
.sub{color:var(--ink-2);max-width:42rem;margin-top:-.2rem}
.page-head{padding-block:clamp(2.5rem,6vw,4.5rem) 1rem}
.page-head h1{max-width:22ch}
.native{font-family:var(--serif);font-size:var(--step-2);color:var(--stamp);margin-bottom:.4rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;padding:1rem 0 0;margin:0;font-size:.88rem;color:var(--ink-2)}
.crumbs li+li::before{content:"/";margin-right:.35rem;color:var(--rule)}
.crumbs a{color:var(--ink-2)}
.prose{max-width:42rem}
.prose p{font-size:1.08rem}
.prose h2{font-size:var(--step-2);margin-top:1.6em}
.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.two-col.even{grid-template-columns:1fr 1fr}
@media (max-width:860px){.two-col,.two-col.even{grid-template-columns:1fr}}
.listbox{background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--ink);padding:1.4rem 1.5rem}
.listbox h2{font-size:var(--step-1);display:flex;gap:.5rem;align-items:center}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{padding:.42rem 0 .42rem 1.6rem;border-bottom:1px solid var(--tint);position:relative}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.85rem;width:.75rem;height:.4rem;border-left:2px solid var(--stamp);border-bottom:2px solid var(--stamp);transform:rotate(-45deg)}
.facts-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.97rem}
.facts-dl dt{color:var(--ink-2)}
.facts-dl dd{margin:0;font-weight:600}

/* services register: a ruled list, like an index of documents */
.register{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.register li{border-bottom:1px solid var(--rule)}
.register a{display:grid;grid-template-columns:3rem minmax(12rem,22rem) 1fr;gap:1rem 1.5rem;align-items:center;padding:1.25rem .25rem;text-decoration:none;color:var(--ink)}
.register a:hover{background:var(--sheet)}
.register a:hover .reg-name{color:var(--seal)}
.register .ic{color:var(--stamp)}
.reg-name{font-family:var(--serif);font-weight:600;font-size:var(--step-1);line-height:1.25}
.reg-desc{color:var(--ink-2);font-size:.98rem}
@media (max-width:700px){.register a{grid-template-columns:2.5rem 1fr}.reg-desc{grid-column:2}}

.why{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.why h3{font-size:1.15rem;padding-top:.8rem;border-top:2px solid var(--ink)}
.why p{color:var(--ink-2);font-size:.98rem}
@media (max-width:900px){.why{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.why{grid-template-columns:1fr}}

/* steps – a real sequence, so numbered */
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1.5rem}
.steps li{counter-increment:s;position:relative;padding-top:3rem}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:2.2rem;height:2.2rem;border-radius:50%;border:1.5px solid var(--seal);color:var(--seal);display:grid;place-items:center;font:600 1rem var(--serif)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:1.1rem;left:2.9rem;right:-.8rem;border-top:1px dashed #b5bdc9}
.steps h3{font-size:1.1rem;margin-bottom:.3rem}
.steps p{color:var(--ink-2);font-size:.96rem;margin:0}

.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.chips a{display:inline-block;padding:.38rem .8rem;border:1px solid var(--rule);background:var(--sheet);border-radius:2rem;text-decoration:none;font-size:.94rem}
.chips a:hover{border-color:var(--seal)}
.regions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 2rem;border-top:2px solid var(--ink)}
.regions a{display:flex;flex-direction:column;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.rg-name{font-family:var(--serif);font-weight:600;font-size:1.15rem}
.rg-cities{color:var(--ink-2);font-size:.92rem}
.regions-all{display:grid;gap:2.2rem}
.region-block h2{font-size:var(--step-2)}
.region-block h2 a{text-decoration:none}
.plain-cols{columns:3 14rem;padding-left:1.1rem;margin:0}

.ctable{width:100%;max-width:46rem;border-collapse:collapse;background:var(--sheet);border:1px solid var(--rule)}
.ctable th,.ctable td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--rule)}
.ctable th{font-size:.88rem;color:var(--ink-2);font-weight:600;background:var(--tint)}
.tag{display:inline-block;font-size:.85rem;padding:.12rem .55rem;border-radius:.25rem;border:1px solid}
.tag-yes{color:var(--stamp);border-color:#9cc3bf}
.tag-no{color:var(--seal);border-color:#e3a9ae}
.tag-chk{color:var(--ink-2);border-color:var(--rule)}

/* faq */
.faq{padding-block:clamp(2.5rem,6vw,4.5rem)}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-of-type{border-top:2px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 2.5rem 1.05rem 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:.85rem;font:400 1.5rem/1 var(--serif);color:var(--seal);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);padding-bottom:1rem;margin:0}

/* quote form */
.quote{background:var(--ink);color:#fff;padding-block:clamp(3rem,7vw,5rem)}
.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.quote-intro p{color:#cfd6e4}
.quote a{color:#fff}
.qform a{color:var(--ink)}
.direct{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1rem}
.direct a{display:flex;gap:.9rem;align-items:center;text-decoration:none;font-size:1.1rem}
.direct .ic{width:1.6rem;height:1.6rem;color:#f0b3b8}
.direct small{display:block;font-size:.82rem;color:#9fabc2}
.qform{background:var(--sheet);color:var(--ink);padding:clamp(1.25rem,3vw,2rem);border-radius:.3rem;display:grid;gap:1rem}
.qform .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:860px){.quote-grid{grid-template-columns:1fr}}
@media (max-width:560px){.qform .row2{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:.3rem;font-size:.92rem;font-weight:600}
.fld input,.fld select,.fld textarea{font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid #b9c1ce;border-radius:.25rem;padding:.65rem .75rem;width:100%}
.fld input[type=file]{padding:.5rem;background:var(--paper)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--ink);outline-offset:0;border-color:var(--ink)}
.fld .invalid,.qform .invalid{border-color:var(--seal);outline:1px solid var(--seal)}
.hint{font-weight:400;color:var(--ink-2)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--ink-2)}
.check input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--seal)}
.qform .btn{justify-self:start}
.qform .btn[disabled]{opacity:.6;cursor:wait}
.form-status{margin:0;font-weight:600}
.form-status.ok{color:var(--stamp)}
.form-status.err{color:var(--seal)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* footer */
.site-foot{background:#0f1a31;color:#c3cbdb;font-size:.95rem;padding-top:3.5rem}
.site-foot a{color:#e6eaf2;text-decoration:none}
.site-foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font:600 1.3rem var(--serif);color:#fff}
.foot-h{font-weight:600;color:#fff;margin-bottom:.6rem}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.foot-contact{display:grid;gap:.5rem}
.foot-contact a{display:flex;gap:.5rem;align-items:center}
.foot-cities{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;border-top:1px solid #26324d;margin-top:2.5rem;padding-top:1.2rem;font-size:.9rem}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid #26324d;margin-top:1.2rem;padding-block:1.2rem 2rem;font-size:.85rem}
.foot-base p{margin:0;display:flex;gap:1.2rem}
