/* ABC Translation Polska – site.css
   Palette: ink navy (documents), wine seal (sealing wax), stamp blue (official ink) */
:root{
  --ink:#14213D;
  --ink-2:#3A4A68;
  --muted:#5B6A84;
  --paper:#FFFFFF;
  --ground:#EEF1F5;
  --rule:#CFD6E0;
  --seal:#8B1E3F;
  --seal-dark:#6E1631;
  --seal-tint:#F6E9ED;
  --stamp:#2F5D8A;
  --ok:#1F6B45;
  --err:#A4262C;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",P052,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:72rem;
  --narrow:46rem;
  --r-s:4px;
  --r-m:10px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.6;color:var(--ink);background:var(--paper)}
img,svg{max-width:100%}
a{color:var(--stamp);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--seal)}
:focus-visible{outline:3px solid var(--stamp);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.18;color:var(--ink);margin:0 0 .6em;letter-spacing:-.005em}
h1{font-size:clamp(2.05rem,1.3rem + 3vw,3.35rem)}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.05rem)}
h3{font-size:1.22rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
.narrow{max-width:var(--narrow)}
.wrap.narrow{max-width:var(--wrap)}
.wrap.narrow>*{max-width:var(--narrow)}
.muted{color:var(--muted);font-size:.93rem}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:1rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:2.9rem;padding:.7rem 1.35rem;border:2px solid var(--seal);border-radius:var(--r-s);background:var(--seal);color:#fff;font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:var(--seal-dark);border-color:var(--seal-dark);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-small{min-height:2.35rem;padding:.4rem .95rem;font-size:.93rem}
.btn[disabled]{opacity:.65;cursor:progress}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;gap:1.25rem;min-height:4.25rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.logo-mark{width:2.3rem;height:2.3rem;flex:none}
.logo-text{font:600 1.15rem/1.05 var(--serif);display:flex;flex-direction:column}
.logo-text small{font:500 .78rem/1.2 var(--sans);color:var(--muted);letter-spacing:.02em}
.site-nav{display:flex;align-items:center;gap:1.25rem;margin-left:auto}
.site-nav ul{display:flex;gap:1.15rem;list-style:none;margin:0;padding:0}
.site-nav ul a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent}
.site-nav ul a:hover,.site-nav ul a[aria-current]{border-bottom-color:var(--seal)}
.bar-actions{display:flex;align-items:center;gap:.9rem}
.bar-phone{color:var(--ink);font-weight:600;text-decoration:none;font-size:.95rem;white-space:nowrap}
.lang-switch{font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none;border:1px solid var(--rule);border-radius:var(--r-s);padding:.2rem .5rem}
.lang-switch:hover{border-color:var(--ink)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--ink);border-radius:var(--r-s);padding:.45rem .85rem;font:600 .95rem var(--sans);color:var(--ink);cursor:pointer}
@media (max-width:1060px){.bar-phone{display:none}}
@media (max-width:900px){
  .nav-toggle{display:inline-block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.25rem;gap:1rem}
  .site-nav.open,.no-js .site-nav{display:flex}
  .no-js .nav-toggle{display:none}
  .site-nav ul{flex-direction:column;gap:0}
  .site-nav ul a{display:block;padding:.7rem 0;border-bottom:1px solid var(--ground)}
  .bar-actions{flex-wrap:wrap}
  .bar-phone{display:inline}
}

/* breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:1rem 0 0;font-size:.88rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.3rem;color:var(--rule)}
.crumbs a{color:var(--muted)}

/* hero */
.hero{background:var(--ground);padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{max-width:22ch;font-size:clamp(2.05rem,1.2rem + 2.7vw,3.1rem)}
.lead{font-size:1.18rem;color:var(--ink-2);max-width:40rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0 1rem}
.hero-note{font-size:.93rem;color:var(--muted)}

/* the certificate */
.cert{position:relative}
.cert-paper{position:relative;background:var(--paper);padding:2rem 2rem 2.2rem;transform:rotate(-1.6deg);
  box-shadow:0 1px 0 var(--rule),0 18px 40px -22px rgba(20,33,61,.45);
  border:10px solid transparent;
  border-image:repeating-linear-gradient(45deg,#DCE3EC 0 2px,#fff 2px 6px) 10;
  font-family:var(--serif)}
.cert-title{font-size:2rem;text-align:center;letter-spacing:.14em;margin:0;color:var(--ink)}
.cert-sub{text-align:center;font-size:.85rem;font-style:italic;color:var(--muted);margin:0 0 1.2rem}
.cert-fields{counter-reset:f;list-style:none;margin:0;padding:0;font-size:.95rem}
.cert-fields li{counter-increment:f;display:flex;flex-wrap:wrap;gap:.35rem;align-items:baseline;padding:.32rem 0;border-bottom:1px dotted var(--rule)}
.cert-fields li::before{content:counter(f) ".";color:var(--stamp);font-weight:700;min-width:1.4em}
.cert-fields span{color:var(--muted);font-style:italic}
.cert-fields b{font-weight:600;color:var(--stamp)}
.cert-foot{display:flex;justify-content:space-between;margin-top:1.1rem;font-size:.9rem;color:var(--muted);font-style:italic}
.cert-foot span{border-top:1px solid var(--rule);padding-top:.3rem;min-width:40%}
.cert-seal{position:absolute;width:clamp(7.5rem,13vw,9.5rem);right:-1.4rem;bottom:-2.4rem;transform:rotate(-12deg);animation:press .7s cubic-bezier(.2,.8,.2,1) .35s both}
.cert-caption{text-align:right;font-size:.8rem;color:var(--muted);margin:1.6rem .5rem 0 0}
@keyframes press{0%{opacity:0;transform:scale(1.35) rotate(-24deg)}70%{opacity:1;transform:scale(.96) rotate(-10deg)}100%{transform:scale(1) rotate(-12deg)}}

.seal-svg{display:block;width:100%;height:auto}
.seal-edge{fill:var(--seal-dark)}
.seal-body{fill:var(--seal)}
.seal-inner{fill:none;stroke:#F3D9DF;stroke-width:1.5}
.seal-ring{font:600 12px var(--sans);fill:#F3D9DF}
.seal-mark{font:700 38px var(--serif);fill:#fff;letter-spacing:.02em}

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .cert{max-width:30rem;margin:0 auto 1.5rem;width:100%}
  .cert-seal{right:-.5rem}
}

/* sections */
.section{padding:clamp(2.5rem,5vw,4rem) 0}
.section+.section{padding-top:0}
.section-lead{color:var(--ink-2);max-width:42rem;margin-top:-.2rem}
.page-head{background:var(--ground);padding:clamp(2rem,4vw,3.25rem) 0;margin-top:1rem}
.page-head .lead{margin-bottom:0}
.page-head + .section{padding-top:clamp(2.5rem,5vw,4rem)}
.prose p{max-width:68ch}
.prose h2{margin-top:1.8rem;font-size:1.4rem}

/* service register */
.register{list-style:none;margin:1.5rem 0 0;padding:0;border-top:2px solid var(--ink)}
.reg-row{display:grid;grid-template-columns:minmax(12rem,20rem) 1fr;gap:.5rem 2rem;padding:1.15rem 0;border-bottom:1px solid var(--rule)}
.reg-title{margin:0;font-size:1.25rem}
.reg-title a{color:var(--ink);text-decoration:none}
.reg-title a:hover{color:var(--seal);text-decoration:underline}
.reg-row p{margin:0;color:var(--ink-2)}
@media (max-width:700px){.reg-row{grid-template-columns:1fr}}

/* process steps (a real sequence) */
.process{background:var(--paper)}
.steps{counter-reset:s;list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem}
.steps li{counter-increment:s;position:relative;padding-top:3.1rem}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:2.3rem;height:2.3rem;border:2px solid var(--stamp);border-radius:50%;display:grid;place-items:center;font:700 1.05rem var(--serif);color:var(--stamp)}
.steps li:not(:last-child)::after{content:"";position:absolute;top:1.15rem;left:2.9rem;right:-1.2rem;border-top:1px dashed var(--rule)}
.steps h3{font-size:1.12rem;margin-bottom:.35rem}
.steps p{color:var(--ink-2);font-size:.98rem;margin:0}
@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li::after{display:none}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* why */
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem}
.why dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}
.why dt{font:600 1.12rem/1.3 var(--serif);margin-bottom:.35rem}
.why dd{margin:0;color:var(--ink-2)}
@media (max-width:860px){.why-grid{grid-template-columns:1fr}.why dl{grid-template-columns:1fr}}

/* lists of links */
.cols{list-style:none;margin:1.25rem 0 0;padding:0;columns:4 12rem;column-gap:2rem}
.cols li{break-inside:avoid;padding:.3rem 0;border-bottom:1px solid var(--ground)}
.cols a{text-decoration:none;color:var(--ink)}
.cols a:hover{color:var(--seal);text-decoration:underline}
.inline-links{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.inline-links a{display:inline-block;padding:.35rem .75rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.94rem;background:#fff}
.inline-links a:hover{border-color:var(--seal);color:var(--seal)}
.two-links{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media (max-width:760px){.two-links{grid-template-columns:1fr}}

.regions{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem 2rem}
.regions li{padding-top:.75rem;border-top:1px solid var(--rule)}
.region-name{font:600 1.05rem var(--serif);color:var(--ink);text-decoration:none}
.region-name:hover{color:var(--seal);text-decoration:underline}
.regions p{margin:.3rem 0 0;font-size:.93rem;color:var(--muted)}
.regions p a{color:var(--ink-2)}

/* split layout for service/language pages */
.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.doclist{background:var(--ground);padding:1.5rem 1.6rem;border-left:4px solid var(--seal)}
.doclist h2{font-size:1.25rem}
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:.35rem 0 .35rem 1.6rem}
.ticks li::before{content:"";position:absolute;left:.1rem;top:.85rem;width:.55rem;height:.3rem;border-left:2px solid var(--seal);border-bottom:2px solid var(--seal);transform:rotate(-45deg)}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* FAQ */
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item:first-of-type{border-top:2px solid var(--ink)}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 2.2rem 1rem 0;position:relative;font:600 1.08rem/1.35 var(--serif)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:.2rem;top:.8rem;font:400 1.5rem var(--sans);color:var(--seal);transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{margin:0 0 1.1rem;color:var(--ink-2);max-width:66ch}

/* contact */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem}
.contact-cards h2{font-size:1.2rem}
.big-link{font:600 1.35rem var(--serif);color:var(--ink);word-break:break-word}

/* quote form */
.quote{background:var(--ink);color:#E6EAF1;padding:clamp(3rem,6vw,5rem) 0}
.section.quote{padding-top:clamp(3rem,6vw,5rem)}
.quote h2{color:#fff}
.quote a{color:#F3D9DF}
.quote-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.quote-intro .seal-svg{width:8rem;margin-top:2rem;transform:rotate(-10deg);opacity:.95}
.direct{font-size:.97rem}
.quote-form{background:var(--paper);color:var(--ink);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--r-m)}
.quote-form a{color:var(--stamp)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.field{margin-bottom:1rem}
.field label{display:block;font-weight:600;font-size:.93rem;margin-bottom:.3rem}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #AEB8C6;border-radius:var(--r-s);padding:.6rem .7rem;min-height:2.8rem}
.field textarea{resize:vertical;min-height:7.5rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--stamp);box-shadow:0 0 0 3px rgba(47,93,138,.22)}
.field input[type=file]{font-size:.95rem;max-width:100%}
.field [aria-invalid=true]{border-color:var(--err)}
.hint{font-size:.85rem;color:var(--muted);margin:.3rem 0 0}
.check{display:flex;gap:.65rem;align-items:flex-start}
.check input{width:1.15rem;height:1.15rem;margin-top:.2rem;flex:none;accent-color:var(--seal)}
.check label{font-weight:400;font-size:.9rem;margin:0}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.form-status{margin:0;font-weight:600;font-size:.95rem}
.form-status.ok{color:var(--ok)}
.form-status.err{color:var(--err)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:860px){.quote-grid{grid-template-columns:1fr}.quote-intro .seal-svg{display:none}}
@media (max-width:560px){.grid-2{grid-template-columns:1fr}}

/* footer */
.site-footer{background:#0F1A31;color:#C3CBD8;padding:3rem 0 1.5rem;font-size:.94rem}
.site-footer a{color:#E6EAF1;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#fff}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.site-footer h2{font:600 1rem var(--sans);color:#fff;margin-bottom:.8rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{padding:.2rem 0}
.foot-logo{display:flex;align-items:center;gap:.6rem;font:600 1.15rem var(--serif);color:#fff}
.foot-logo .logo-mark{width:2rem;height:2rem}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid #26324D;margin-top:2.5rem;padding-top:1.25rem;font-size:.87rem}
.foot-legal p{margin:0}
.foot-legal a{margin-left:1rem}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}.foot-legal a{margin:0 1rem 0 0}}

@media print{.site-header,.quote,.site-footer,.cert{display:none}}
