/* ABC Translation Armenia — site styles
   Palette: navy ink on white paper, violet-blue stamp ink as the single accent,
   apricot reserved for focus and the seal highlight. */

@font-face{font-family:"ABC Sans";src:url(/assets/fonts/sans-latin.woff) format("woff");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"ABC Sans";src:url(/assets/fonts/sans-armenian.woff) format("woff");font-weight:400 700;font-display:swap;unicode-range:U+0530-058F,U+FB13-FB17}
@font-face{font-family:"ABC Serif";src:url(/assets/fonts/serif-latin.woff) format("woff");font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:"ABC Serif";src:url(/assets/fonts/serif-armenian.woff) format("woff");font-weight:400 700;font-display:swap;unicode-range:U+0530-058F,U+FB13-FB17}

:root{
  --ink:#1B2545;
  --ink-soft:#4A5470;
  --paper:#FFFFFF;
  --mist:#F0F2F7;
  --rule:#D5DAE5;
  --stamp:#3B3E9E;
  --stamp-deep:#2B2D7A;
  --stamp-wash:#E6E7F6;
  --apricot:#E39B2E;
  --ok:#1F6B45;
  --err:#A3242E;
  --sans:"ABC Sans","Noto Sans Armenian","Segoe UI",system-ui,-apple-system,sans-serif;
  --serif:"ABC Serif","Noto Serif Armenian",Georgia,"Times New Roman",serif;
  --wrap:1160px;
  --measure:46rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.68 var(--sans);text-rendering:optimizeLegibility}
:lang(hy) body, body:lang(hy){line-height:1.75}
img,svg{max-width:100%}
a{color:var(--stamp);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--stamp-deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--apricot);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.22;margin:0 0 .6em;letter-spacing:-.005em}
h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.15rem);line-height:1.12;max-width:22ch}
:lang(hy) h1{max-width:30ch;font-size:clamp(1.7rem,1.15rem + 1.9vw,2.5rem);line-height:1.2}
h2{font-size:clamp(1.45rem,1.2rem + .9vw,1.9rem)}
h3{font-size:1.15rem}
h2 a,h3 a{color:inherit;text-decoration:none}
h2 a:hover,h3 a:hover{color:var(--stamp);text-decoration:underline}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;background:var(--paper);padding:.5em 1em;z-index:10}
.lead{font-size:clamp(1.1rem,1rem + .35vw,1.28rem);color:var(--ink-soft);max-width:var(--measure)}

/* Buttons */
.btn{display:inline-block;background:var(--stamp);color:#fff;border:2px solid var(--stamp);padding:.72em 1.3em;border-radius:6px;font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--stamp-deep);border-color:var(--stamp-deep);color:#fff;text-decoration:none}
.btn-ghost{background:transparent;color:var(--stamp)}
.btn-ghost:hover{background:var(--stamp-wash);color:var(--stamp-deep)}
.btn-sm{padding:.5em .9em;font-size:.92rem}

/* Header */
.top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:5}
.top-in{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none;margin-right:auto}
.brand:hover{color:var(--ink);text-decoration:none}
.brand-mark{width:38px;height:38px;color:var(--stamp)}
.brand-name{font:600 1.12rem/1.1 var(--serif);display:flex;flex-direction:column}
.brand-name small{font:400 .8rem/1.3 var(--sans);color:var(--ink-soft)}
.nav{display:flex;align-items:center;gap:1.25rem}
.nav ul{list-style:none;display:flex;gap:1.1rem;margin:0;padding:0}
.nav ul a{color:var(--ink);text-decoration:none;font-size:.97rem;padding:.3em 0;border-bottom:2px solid transparent}
.nav ul a:hover,.nav ul a[aria-current]{border-bottom-color:var(--stamp);color:var(--ink)}
.lang-switch{font-size:.93rem;color:var(--ink-soft);text-decoration:none;border:1px solid var(--rule);border-radius:4px;padding:.25em .6em}
.lang-switch:hover{border-color:var(--stamp);color:var(--stamp)}
.menu-btn{display:none;background:none;border:1px solid var(--rule);border-radius:6px;padding:.45em .8em;font:500 .95rem var(--sans);color:var(--ink)}
@media (max-width:1020px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;padding:1rem clamp(16px,4vw,40px) 1.4rem;gap:1rem}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:.4rem;width:100%}
  .nav ul a{display:block;padding:.45em 0;font-size:1.05rem}
  .top{position:relative}
}

/* Hero */
.hero{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem);border-bottom:1px solid var(--rule)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1rem}
.hero-note{font-size:.95rem;color:var(--ink-soft);max-width:38rem}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* The apostille specimen — the one memorable element */
.specimen{margin:0}
.apostille{position:relative;border:1.5px solid var(--ink);padding:1.4rem 1.5rem 1.2rem;background:
  repeating-linear-gradient(0deg,transparent 0 27px,rgba(27,37,69,.035) 27px 28px),var(--paper);
  box-shadow:6px 6px 0 var(--mist);font-family:var(--serif)}
.apostille::before{content:"";position:absolute;inset:5px;border:.5px solid var(--ink);pointer-events:none}
.ap-title{text-align:center;font:700 1.6rem/1 var(--serif);letter-spacing:.32em;text-transform:uppercase;margin:.2rem 0 .3rem;padding-left:.32em}
.ap-sub{text-align:center;font:italic 400 .8rem/1.3 var(--serif);color:var(--ink-soft);margin:0 0 1rem}
.ap-fields{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:1.2rem;font-size:.92rem;line-height:1.35}
.ap-fields li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .4rem;padding:.38rem 0;border-bottom:1px dotted var(--rule)}
.ap-fields .f-wide,.ap-fields .f-head{grid-column:1/-1}
.ap-fields .f-head{justify-content:center;font-weight:600;border-bottom:0;padding:.55rem 0 .15rem;letter-spacing:.02em}
.ap-fields .n{font-weight:700;min-width:1.6em}
.ap-fields .k{color:var(--ink-soft)}
.ap-fields .v{font-family:var(--sans);font-weight:600;color:var(--stamp-deep)}
.ap-fields .f-sig{min-height:4.4rem;align-items:flex-start;border-bottom:0}
.sig{width:120px;height:32px;color:var(--stamp-deep);margin-left:auto}
.stamp{position:absolute;width:142px;height:142px;left:calc(25% - 64px);bottom:-40px;color:var(--stamp);opacity:.88;transform:rotate(-14deg);mix-blend-mode:multiply}
.stamp text{fill:currentColor;font-family:var(--sans);font-weight:700}
.stamp .ring{font-size:15px;letter-spacing:.06em}
.stamp .core{font:700 26px var(--serif)}
.stamp .core2{font-size:12px;letter-spacing:.04em}
.specimen figcaption{font-size:.9rem;color:var(--ink-soft);margin-top:2.8rem;max-width:30rem}
@media (prefers-reduced-motion:no-preference){
  .stamp{animation:land .55s cubic-bezier(.2,.9,.3,1.2) .5s both}
  @keyframes land{from{opacity:0;transform:rotate(-24deg) scale(1.6)}to{opacity:.88;transform:rotate(-14deg) scale(1)}}
}
@media (max-width:520px){.apostille{padding:1.1rem 1rem 1rem}.ap-fields{font-size:.86rem;column-gap:.8rem}.ap-title{font-size:1.25rem}.stamp{width:112px;height:112px;left:calc(25% - 50px);bottom:-20px}.sig{width:90px}}

/* Sections */
.sec{padding:clamp(2.75rem,6vw,4.75rem) 0}
.sec-mist{background:var(--mist)}
.sec-head{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:end;margin-bottom:1.5rem}
.sec-head p{color:var(--ink-soft);margin:0}
@media (max-width:800px){.sec-head{grid-template-columns:1fr;gap:.4rem}}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}

/* Service register (rows, not cards) */
.svc-group{display:grid;grid-template-columns:12rem 1fr;gap:1.5rem;border-top:2px solid var(--ink);padding-top:.9rem;margin-top:1.4rem}
.svc-group-h{font:600 .98rem/1.4 var(--sans);color:var(--ink-soft);margin:.35rem 0 0}
@media (max-width:760px){.svc-group{grid-template-columns:1fr;gap:.2rem}}
.register{list-style:none;margin:0;padding:0}
.register li{border-bottom:1px solid var(--rule)}
.register li:last-child{border-bottom:0}
.register a{display:grid;grid-template-columns:minmax(10rem,16rem) 1fr;gap:.3rem 1.5rem;padding:.85rem 0;text-decoration:none;color:var(--ink)}
.register a:hover .r-name{color:var(--stamp);text-decoration:underline}
.r-name{font:600 1.08rem/1.35 var(--serif)}
.r-desc{color:var(--ink-soft);font-size:.97rem}
@media (max-width:640px){.register a{grid-template-columns:1fr}}
.content .register{border-top:1px solid var(--rule)}
.content .register li:last-child{border-bottom:1px solid var(--rule)}

/* Steps: a real sequence, so numbered */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:1.1rem}
.steps li{counter-increment:s;position:relative;padding-left:3.1rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border:1.5px solid var(--stamp);border-radius:50%;display:grid;place-items:center;font:600 1rem var(--serif);color:var(--stamp)}
.steps h3{font-size:1.06rem;margin:0 0 .2rem}
.steps p{margin:0;color:var(--ink-soft)}
.steps-row{grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:1.4rem}
.steps-row li{padding:2.8rem 0 0}
.steps-row li::before{top:0}
@media (max-width:900px){.steps-row{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.steps-row{grid-template-columns:1fr}.steps-row li{padding:0 0 0 3.1rem}}

/* Regions */
.regions{display:grid;grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));gap:1.6rem 2rem}
.region h3{font-size:1.02rem;margin:0 0 .35rem;padding-bottom:.35rem;border-bottom:1px solid var(--rule)}
.region ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem .9rem}
.region li a{font-size:.97rem}

/* Link lists */
.inline-links{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.inline-links a{display:inline-block;padding:.28em .7em;border:1px solid var(--rule);border-radius:999px;text-decoration:none;font-size:.95rem;color:var(--ink);background:var(--paper)}
.inline-links a:hover{border-color:var(--stamp);color:var(--stamp)}
.linkgrid{list-style:none;margin:0;padding:0;columns:3 11rem;column-gap:1.5rem}
.linkgrid li{break-inside:avoid;padding:.22rem 0}
.list-h{font:600 .98rem/1.4 var(--sans);color:var(--ink-soft);margin:1.2rem 0 .5rem}
.more{margin-top:.8rem;font-weight:600}

/* Why */
.why{margin:0;display:grid;gap:1.1rem}
.why dt{font:600 1.08rem/1.35 var(--serif)}
.why dd{margin:.2rem 0 0;color:var(--ink-soft)}

/* FAQ */
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:.9rem 2rem .9rem 0;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:.75rem;font:400 1.4rem/1 var(--sans);color:var(--stamp)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 1rem;color:var(--ink-soft)}

/* Inner pages */
.page-head{background:var(--mist);padding:clamp(1.6rem,3.5vw,2.6rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule)}
.page-head .head-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 0}
.crumbs ol{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.2rem;font-size:.9rem;color:var(--ink-soft)}
.crumbs li+li::before{content:"/";margin:0 .45rem;color:var(--rule)}
.crumbs a{color:var(--ink-soft)}
.page-body{padding-top:clamp(2rem,4vw,3rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.content{max-width:var(--measure)}
.blk{margin:0 0 clamp(2rem,4vw,2.8rem)}
.blk h2{font-size:clamp(1.3rem,1.15rem + .6vw,1.6rem)}
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.6rem}
.checklist li{position:relative;padding-left:1.6rem}
.checklist li::before{content:"";position:absolute;left:0;top:.5em;width:.8rem;height:.45rem;border-left:2px solid var(--stamp);border-bottom:2px solid var(--stamp);transform:rotate(-45deg)}
@media (max-width:640px){.checklist{grid-template-columns:1fr}}
.facts{margin:0;border-top:2px solid var(--ink)}
.facts div{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule)}
.facts dt{color:var(--ink-soft)}
.facts dd{margin:0;font-weight:600}
@media (max-width:560px){.facts div{grid-template-columns:1fr;gap:.1rem}}

/* Contact band and form */
.contact-band{background:var(--ink);color:#E9ECF4;padding:clamp(3rem,6vw,5rem) 0}
.contact-band h2{color:#fff}
.contact-band a{color:#C9CBFF}
.contact-band a:hover{color:#fff}
.contact-grid,.contact-page{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:start}
@media (max-width:900px){.contact-grid,.contact-page{grid-template-columns:1fr}}
.direct{margin-top:1.8rem}
.direct-h{font-weight:600;margin-bottom:.4rem}
.direct p{margin:0 0 .3rem}
.big-link{font:600 1.25rem/1.4 var(--serif);text-decoration:none;word-break:break-word}
.big-link:hover{text-decoration:underline}
.contact-page .why{margin-top:2rem}
.quote{display:grid;gap:1rem;background:var(--paper);color:var(--ink);padding:clamp(1.2rem,3vw,2rem);border-radius:8px}
.contact-page .quote{border:1px solid var(--rule)}
.quote .row{display:grid;gap:1rem}
.quote .two{grid-template-columns:1fr 1fr}
.quote .three{grid-template-columns:1fr 1fr 1.3fr}
@media (max-width:640px){.quote .two,.quote .three{grid-template-columns:1fr}}
.quote label{display:flex;flex-direction:column;gap:.3rem;font-size:.93rem;font-weight:600}
.quote label>span{line-height:1.35}
.quote abbr{text-decoration:none;color:var(--err)}
.quote input[type=text],.quote input[type=email],.quote input[type=tel],.quote select,.quote textarea{font:400 1rem/1.4 var(--sans);color:var(--ink);background:var(--paper);border:1.5px solid #B8C0D2;border-radius:6px;padding:.62em .7em;width:100%}
.quote textarea{resize:vertical;min-height:7.5rem}
.quote input:focus,.quote select:focus,.quote textarea:focus{border-color:var(--stamp);outline:3px solid var(--stamp-wash);outline-offset:0}
.quote .files input{font:400 .95rem var(--sans)}
.quote small{font-weight:400;color:var(--ink-soft)}
.quote .consent{flex-direction:row;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.9rem}
.quote .consent input{margin-top:.25rem;width:1.1rem;height:1.1rem;flex:none;accent-color:var(--stamp)}
.quote .consent a{color:var(--stamp)}
.quote .btn{justify-self:start;font-size:1.05rem}
.quote [aria-invalid=true]{border-color:var(--err)!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{margin:0;font-weight:600}
.status.ok{color:var(--ok)}
.status.err{color:var(--err)}
.quote.sent>*:not(.status){display:none}
.quote.sent .status{font:600 1.15rem/1.5 var(--serif)}

/* Footer */
.foot{background:#141B33;color:#BFC6D8;padding:3.2rem 0 1.5rem;font-size:.95rem}
.foot a{color:#E3E6F0;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:2rem}
@media (max-width:980px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font:600 1.15rem var(--serif);color:#fff}
.foot-brand span{font:400 .9rem var(--sans);color:#BFC6D8}
.foot-h{color:#fff;font-weight:600;margin-bottom:.6rem}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:.15rem 0}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid #2A3355;margin-top:2.4rem;padding-top:1.2rem;font-size:.88rem}
.foot-bottom p{margin:0}

/* Side panel on inner pages */
.with-side{display:grid;grid-template-columns:minmax(0,var(--measure)) 17.5rem;gap:clamp(2rem,5vw,4.5rem);justify-content:space-between;align-items:start}
.side{position:sticky;top:92px}
.side-in{border-top:3px solid var(--stamp);background:var(--mist);padding:1.3rem 1.3rem 1rem;font-size:.95rem;color:var(--ink-soft)}
.side-h{font:600 1.15rem/1.3 var(--serif);color:var(--ink);margin-bottom:.5rem}
.side-direct{font-size:.93rem;word-break:break-word}
@media (max-width:980px){.with-side{grid-template-columns:1fr}.side{display:none}}

/* 404 */
.notfound{padding:5rem 0}
@media print{.top,.contact-band,.foot,.head-cta{display:none}}
