/* =====================================================================
   BEYIK UMMAN: SHARED STYLES
   Fonts are self-hosted (./fonts). Change a font in ONE place: the two
   variables --font-sans and --font-mono below. Brand blue and charcoal were
   sampled from the supplied logo (blue #04467B, charcoal #212120).
   ===================================================================== */

:root{
  /* TYPOGRAPHY: the ONLY place a font is chosen. Inter for all text, IBM Plex Mono for technical data
     (casing sizes, depths, reference numbers). The files are embedded in fonts.css (no path to fail).
     The stacks end in a generic family only as a safety net. */
  --font-sans:"Inter",sans-serif;
  --font-mono:"IBM Plex Mono",monospace;
  /* type scale */
  --fs-h1:clamp(2.1rem,5vw,3.75rem);
  --fs-hero:clamp(1.6rem,.9rem + 3.2vw,3.2rem);
  --fs-h2:clamp(1.65rem,3.1vw,2.45rem);
  --fs-h3:22px;
  --fs-body:18px;
  --fs-small:14px;
  --fs-caption:12px;
  /* weights: 400 body, 500 buttons/nav/labels, 600 strong, 700 headings */
  --fw-regular:400; --fw-medium:500; --fw-strong:600; --fw-bold:700;
  --ls-head:-.02em;
  /* BRAND (from the logo) */
  --blue:#04467B; --blue-d:#033559; --blue-l:#1F78B7; --sky:#8EC3EA; --char:#212120; --ink:#081523;
  --sea0:#F3F8FC; --sea1:#E3EEF6; --sea2:#C8DDEC; --deep:#052A47; --abyss:#030F1B;
  --amber:#F2A93B; --muted:#3B4D60; --rule:rgba(8,21,35,.18); --rule-d:rgba(190,220,240,.26);
  --err:#9B1C1C;
}
html,body,.site,button,input,select,textarea,a,table,th,td,summary,label,legend,option,figcaption,svg,svg text,svg tspan{font-family:var(--font-sans)}
.site *,.site *::before,.site *::after{font-family:inherit}
button,input,select,textarea{font:inherit;font-family:inherit;letter-spacing:inherit}
.mono,.mono *{font-family:var(--font-mono)}
.site,.site *{box-sizing:border-box}
.site{font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.6;color:var(--ink);background:var(--sea0);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;overflow-wrap:break-word}
:where(.site) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0;padding:0}
:where(.site) :where(ul,ol){list-style:none}
.site a{color:inherit}
.site :focus-visible{outline:3px solid #1F7FBF;outline-offset:3px;border-radius:2px}
.site .dark :focus-visible,.site .abyss :focus-visible,.site .ftr :focus-visible{outline-color:var(--amber)}
.skip{position:absolute;left:-9999px;top:8px}
.skip:focus{left:12px;z-index:100;background:#fff;color:var(--ink);padding:12px 16px;border:2px solid var(--blue)}
.wrap{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sec{padding:clamp(64px,9vw,112px) 0}
.sec-s{padding:clamp(48px,6vw,72px) 0}
.light{background:var(--sea1);color:var(--ink)}
.pale{background:var(--sea0);color:var(--ink)}
.dark{background:var(--deep);color:#E4F0F7}
.abyss{background:linear-gradient(var(--deep) 0%,var(--abyss) 38%);color:#E4F0F7}
.band-down{height:clamp(120px,16vw,220px);background:linear-gradient(#E3EEF6 0%,#A6C8DD 30%,#37789F 62%,#052A47 100%)}
.band-up{height:clamp(120px,16vw,220px);background:linear-gradient(#052A47 0%,#37789F 38%,#A6C8DD 70%,#E3EEF6 100%)}
.muted{color:var(--muted)}
.dark .muted,.abyss .muted{color:#B3CADA}
.eyebrow{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.4;color:var(--blue-d)}
.dark .eyebrow,.abyss .eyebrow{color:var(--sky)}
.caption{font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1.55;color:var(--muted)}
.site figcaption{font-style:italic}
.site blockquote,.site q{font-style:italic}
.small{font-size:var(--fs-small);line-height:1.6}
.dark .caption,.abyss .caption{color:#B3CADA}
.site h1{font-weight:var(--fw-bold);font-size:var(--fs-h1);line-height:1.06;letter-spacing:var(--ls-head);text-wrap:balance;max-width:24ch}
.site h2{font-weight:var(--fw-bold);font-size:var(--fs-h2);line-height:1.12;letter-spacing:var(--ls-head);text-wrap:balance;max-width:28ch}
.site h3{font-weight:var(--fw-strong);font-size:var(--fs-h3);line-height:1.28;letter-spacing:var(--ls-head)}
.lead{font-size:var(--fs-body);line-height:1.55;max-width:62ch;text-wrap:pretty}
.prose p{max-width:68ch;text-wrap:pretty}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:1em}
.stack>*+*{margin-top:20px}
.mt1{margin-top:12px}.mt2{margin-top:24px}.mt3{margin-top:40px}.mt4{margin-top:64px}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.accent{color:var(--amber)}
[hidden]{display:none!important}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;border-radius:4px;font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;text-align:center;transition:background .2s,color .2s,border-color .2s}
.btn-sm{min-height:44px;padding:8px 18px;font-size:var(--fs-small)}
.btn-primary{background:var(--amber);color:#1A1405}
.btn-primary:hover{background:#FFC261}
.btn-ghost{border-color:var(--blue);color:var(--blue-d);background:transparent}
.btn-ghost:hover{background:var(--blue);color:#fff}
.link{display:inline-block;font-weight:var(--fw-strong);text-decoration:none;border-bottom:2px solid var(--blue);padding:11px 0 2px;margin-top:-11px}
.link:hover{color:var(--blue)}
.dark .link,.abyss .link{border-color:var(--sky)}

/* header */
.hdr{position:sticky;top:0;z-index:40;background:rgba(243,248,252,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);margin-right:auto;min-height:44px}
.brand img{display:block;height:44px;width:auto}
.brand b{display:block;font-size:var(--fs-small);font-weight:var(--fw-bold);line-height:1.1}
.brand small{display:block;font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1.3;color:var(--muted);margin-top:3px}
.nav{display:flex;gap:2px}
.nav a{white-space:nowrap;display:inline-flex;align-items:center;min-height:44px;padding:0 11px;text-decoration:none;font-weight:var(--fw-medium);font-size:var(--fs-small);border-bottom:2px solid transparent}
.nav a:hover{color:var(--blue)}
.nav a[aria-current=page]{border-bottom-color:var(--blue);color:var(--blue-d);font-weight:var(--fw-medium)}
.lang{display:flex;gap:2px;font-size:var(--fs-small);font-weight:var(--fw-medium)}
.lang button{min-height:44px;min-width:44px;padding:0 8px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer}
.lang button:hover{color:var(--blue)}
.lang button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--blue);cursor:default}
.menu{display:none}
.menu summary{list-style:none;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1.5px solid var(--ink);border-radius:4px;font-weight:var(--fw-medium);font-size:var(--fs-small);cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu-p{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--rule);padding:8px clamp(20px,4vw,48px) 20px;display:grid;gap:0}
.menu-p a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-weight:var(--fw-medium);font-size:var(--fs-small);border-bottom:1px solid var(--rule)}
.menu-p .lang{margin-top:8px}
@media(max-width:1380px){.nav,.lang-hdr{display:none}.menu{display:block}}
@media(max-width:600px){.brand small{display:none}.hdr-in{gap:10px}.brand img{height:38px}}
@media(max-width:400px){.hdr .btn-sm{padding:8px 12px}}

/* footer */
.ftr{background:var(--abyss);color:#D2E4EF;padding:64px 0 32px}
.ftr a{color:#D2E4EF;text-underline-offset:3px}
.ftr h2{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.4;color:var(--sky);margin-bottom:14px;max-width:none}
.ftr .small{font-size:var(--fs-small);line-height:1.6}
.ftr-end{margin-top:48px;padding-top:20px;border-top:1px solid var(--rule-d)}


/* image slots: fixed aspect ratio, empty frame until a file is set in content.js */
.ph{position:relative;display:block;margin:0;border-radius:4px;overflow:hidden;background:#C6D4DE;border:1px solid var(--rule)}
.ph>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
.ph-wrap{min-width:0}
.ph-cap{margin-top:6px;font-size:var(--fs-caption);font-style:italic;line-height:1.4;color:var(--muted)}
@media(max-width:600px){.ph>img{object-position:var(--posm,center)}.ph.banner{aspect-ratio:16/9!important}}
.ph.is-empty{background:linear-gradient(135deg,#D3DEE6,#BDCBD6)}
.ph.is-empty>img{display:none}
.ph-brief{display:none}
.ph.is-empty .ph-brief{display:flex;flex-direction:column;gap:6px;position:absolute;inset:0;padding:18px;align-items:flex-start;justify-content:flex-end;font-size:var(--fs-small);font-weight:var(--fw-regular);line-height:1.45;color:#33424F;background:repeating-linear-gradient(135deg,transparent 0 14px,rgba(8,21,35,.04) 14px 15px)}
.ph-brief b{font-weight:var(--fw-strong);font-size:var(--fs-caption);color:#1C2B38}
.ph-brief span{max-width:44ch}
.ph.sq .ph-brief{font-size:var(--fs-caption);padding:12px}

/* hero (home): portal reveal */
.hero{position:relative;min-height:780px;overflow:hidden;background:var(--sea1);color:var(--ink);display:flex}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,21,35,.66) 0%,rgba(8,21,35,.42) 30%,rgba(8,21,35,0) 62%);animation:fadeIn 1s ease-out 1.2s both}
.hero-cap{position:absolute;right:16px;bottom:12px;z-index:3;margin:0;padding:3px 10px;border-radius:4px;background:rgba(8,21,35,.66);color:#fff;font-size:var(--fs-caption);font-style:italic;line-height:1.4}
.hero .hero-bg{position:absolute;inset:0;border-radius:0;border:0;animation:portal 2.2s cubic-bezier(.7,0,.2,1) both}
.hero .hero-bg.is-empty{background:linear-gradient(180deg,#DCE7EF 0%,#BCCFDC 55%,#9FB6C7 100%)}
.hero .hero-bg .ph-brief{justify-content:flex-end;align-items:flex-end;text-align:left}
.portal-logo{position:absolute;left:50%;top:50%;width:76px;height:auto;margin:-41px 0 0 -38px;animation:logoOut 2.2s ease-in both;z-index:2}
.hero-copy{position:relative;z-index:3;align-self:flex-start;margin:clamp(48px,9vw,110px) 0 clamp(120px,14vw,170px);animation:fadeUp .9s ease-out 1.5s both}
.hero-panel{background:rgba(243,248,252,.95);padding:clamp(18px,4vw,48px);border-radius:6px;max-width:940px;border:1px solid var(--rule)}
.hero-panel h1{margin-top:0;max-width:none;font-size:calc(var(--fs-hero) * var(--hero-scale, 1))}
.hero-panel .lead{margin-top:20px;color:#1E3345;font-size:calc(16px * var(--hero-scale-s, 1))}
.hero-panel .row{margin-top:32px}
@keyframes portal{0%,10%{clip-path:circle(3% at 50% 50%)}100%{clip-path:circle(150% at 50% 50%)}}
@keyframes logoOut{0%,12%{opacity:1;transform:scale(1)}65%,100%{opacity:0;transform:scale(7)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.fade{animation:fadeIn .6s ease-out both}

/* depth gauge (home only) */
.gauge{position:fixed;right:10px;top:96px;bottom:40px;width:64px;pointer-events:none;z-index:30}
.gauge-line{position:absolute;right:8px;top:0;bottom:0;width:2px;background:#4F8FB1}
.gauge-t{position:absolute;right:18px;font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1;color:#3C7CA0;white-space:nowrap;transform:translateY(-50%)}
.gauge-t::after{content:"";position:absolute;right:-12px;top:50%;width:10px;height:1px;background:#4F8FB1}
.gauge-m{position:absolute;right:1px;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#fff;border:4px solid var(--blue);transition:top .12s linear}
@media(max-width:1280px){.gauge{display:none}}

/* grids / cards */
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:clamp(32px,5vw,64px);align-items:center}
.g2t{align-items:start}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px}
.g4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:20px}
.card{align-self:stretch;background:#fff;border:1px solid var(--rule);border-radius:6px;padding:28px;display:flex;flex-direction:column;gap:12px}
.card .num{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d)}
.card p{color:var(--muted)}
.card .link{margin-top:auto;align-self:flex-start}
.pcard{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:14px}
.pcard .logo-slot{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:4px}
.pcard .logo-slot img{max-width:100%;max-height:100%;object-fit:contain}
.person{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:12px}

/* agent vs partner */
.vs{display:grid;gap:10px;margin-top:40px}
.vs-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1.25fr);gap:10px}
.vs-row>div{padding:18px 22px;display:flex;align-items:center}
.vs-k{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.4;color:var(--sky)}
.vs-a{background:#20303B;color:#BCCAD5}
.vs-b{background:var(--blue);color:#fff;font-weight:var(--fw-strong)}
.vs-head .vs-a,.vs-head .vs-b{font-size:var(--fs-small);font-weight:var(--fw-strong);min-height:52px}
.vs-head .vs-b{background:#fff;color:var(--blue-d)}
.vs-pre{display:none}
@media(max-width:760px){.vs-row{grid-template-columns:1fr;gap:0;margin-bottom:16px}.vs-head{display:none}.vs-k{padding-bottom:6px}.vs-row>div{display:block}.vs-pre{display:inline;font-weight:var(--fw-regular);opacity:.85;margin-right:4px}}

/* commitments */
.checks{display:grid;gap:0;margin-top:32px;max-width:860px}
.checks li{display:flex;gap:18px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--rule);font-size:var(--fs-body);line-height:1.5}
.checks li:last-child{border-bottom:1px solid var(--rule)}
.checks svg{flex:none;margin-top:2px}

/* well diagram: line art is SVG; all labels are real HTML text positioned over it (strings come from text.js) */
.csg-box{position:relative;container-type:inline-size;width:100%;max-width:640px;aspect-ratio:640/600;color:var(--sky)}
.light .csg-box,.pale .csg-box{color:var(--blue-d)}
.csg-box{margin-bottom:56px}
@media(max-width:560px){.csg-box{aspect-ratio:640/1250}}
.csg{position:absolute;inset:0;display:block;width:100%;height:100%}
.csg .w{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.csg .l{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:2 4;opacity:.7;vector-effect:non-scaling-stroke}
.csg .g{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:6 5;opacity:.6;vector-effect:non-scaling-stroke}
.csg-l{position:absolute;left:52%;right:0;transform:translateY(-15px);font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1.35;color:inherit}
.csg-l small{display:block;width:fit-content;margin-top:2px;font-family:var(--font-mono)}
.csg-s{position:absolute;left:3%;top:-1px;font-size:var(--fs-caption);font-weight:var(--fw-regular);line-height:1.35;color:inherit;transform:translateY(-100%)}
.armed .w{stroke-dasharray:900;stroke-dashoffset:900}
.armed.in .w{animation:drawl .9s ease-out forwards}
.armed.in .w:nth-of-type(2){animation-delay:.12s}.armed.in .w:nth-of-type(3){animation-delay:.24s}.armed.in .w:nth-of-type(4){animation-delay:.36s}.armed.in .w:nth-of-type(5){animation-delay:.5s}
@keyframes drawl{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.hero .hero-bg,.hero::after,.hero-copy,.fade,.portal-logo{animation:none!important}.portal-logo{display:none}.armed .w{stroke-dasharray:none;stroke-dashoffset:0}.armed.in .w{animation:none}.gauge-m,.btn{transition:none}}

/* services: project lifecycle */
.grp-lab{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d)}
.flow{display:grid;grid-template-columns:1fr 56px 1fr 56px 1fr;align-items:stretch;gap:0}
.flow .box{border:1.5px solid var(--blue);border-radius:6px;padding:20px;background:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:4px}
.flow .box.me{background:var(--blue);color:#fff}
.flow .arr{position:relative}
.flow .arr::after{content:"";position:absolute;left:6px;right:10px;top:50%;height:2px;background:var(--blue)}
.flow .arr::before{content:"";position:absolute;right:4px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:10px solid var(--blue)}
.ret{position:relative;margin:0 16.5%;height:56px;border:2px solid #B87408;border-top:0;border-radius:0 0 10px 10px}
.ret::before{content:"";position:absolute;left:-7px;top:-12px;border:6px solid transparent;border-bottom:11px solid #B87408}
.ret-t{text-align:center;max-width:620px;margin:14px auto 0;font-weight:var(--fw-strong)}
@media(max-width:760px){.flow{grid-template-columns:1fr;gap:0}.flow .arr{height:40px}.flow .arr::after{left:50%;right:auto;top:6px;bottom:10px;width:2px;height:auto}.flow .arr::before{right:auto;left:50%;top:auto;bottom:4px;margin:0 0 0 -6px;border:6px solid transparent;border-top:10px solid var(--blue)}.ret{margin:0 8%}}
.frow{display:grid;grid-template-columns:56px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:24px;padding:32px 0;border-top:1px solid var(--rule)}
.frow:last-child{border-bottom:1px solid var(--rule)}
.frow .s{color:var(--muted);margin-top:6px}
.frow ul{display:grid;gap:8px}
.frow li{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.frow .n{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d)}
.frow h4{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d);margin-bottom:6px}
@media(max-width:1180px){.frow{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr);}.frow>h3{grid-column:2/4}.frow>div:nth-of-type(1){grid-column:2/4}.frow>div:nth-of-type(2){grid-column:2/3}.frow>div:nth-of-type(3){grid-column:3/4}}
@media(max-width:760px){.frow{grid-template-columns:1fr;gap:12px}.frow>h3,.frow>div:nth-of-type(n){grid-column:auto}}

/* partners timeline */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:48px}
.step{position:relative;border-top:2px solid var(--blue);padding:28px 22px 0 0}
.step::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--blue)}
.step .num{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d)}
.step h3{margin-top:6px}
@media(max-width:1000px){.steps{grid-template-columns:1fr}.step{border-top:0;border-left:2px solid var(--blue);padding:0 0 32px 24px}.step::before{top:0;left:-7px}}
.panel{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:clamp(24px,4vw,44px)}
.list2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:0 48px}
.list2 li{padding:14px 0;border-top:1px solid var(--rule);display:flex;gap:12px}
.list2 li::before{content:"—";color:var(--blue);font-weight:var(--fw-strong);flex:none}
.list1{grid-template-columns:1fr}

/* status badges & data sheets */
.badge{display:inline-block;font-size:var(--fs-small);font-weight:var(--fw-medium);line-height:1.45;border:1.5px solid var(--blue-d);color:var(--blue-d);padding:5px 12px;border-radius:999px;background:#fff}
.sheet>div{display:grid;grid-template-columns:minmax(140px,260px) 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--rule)}
.sheet>div:last-child{border-bottom:1px solid var(--rule)}
.sheet dt{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.6;color:var(--muted)}
.abyss .sheet>div{border-color:var(--rule-d)}
.abyss .sheet dt{color:#B3CADA}
@media(max-width:640px){.sheet>div{grid-template-columns:1fr;gap:2px}}
.dlist li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--rule)}

/* forms */
.form{display:grid;gap:20px}
.field{display:grid;gap:6px}
.field label,.field legend{font-weight:var(--fw-strong);font-size:var(--fs-small)}
.field input,.field select,.field textarea{min-height:48px;padding:10px 14px;border:1.5px solid #5A6F82;border-radius:4px;background:#fff;color:var(--ink);width:100%}
.field textarea{min-height:150px;resize:vertical}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err);border-width:2px}
.err{color:var(--err);font-weight:var(--fw-strong);font-size:var(--fs-small);line-height:1.4}
.err-sum{border:2px solid var(--err);border-radius:6px;padding:12px 16px;color:var(--err);font-weight:var(--fw-strong)}
.f2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px}
.check{display:flex;gap:14px;align-items:flex-start}
.check input{flex:none;width:24px;height:24px;margin:3px 0 0;accent-color:var(--blue)}
.bigmail{font-weight:var(--fw-bold);font-size:var(--fs-h2);letter-spacing:var(--ls-head);word-break:break-word;line-height:1.2}
.map{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:16px}
.map svg{display:block;width:100%;height:auto}

/* legal pages */
.legal h2{font-size:var(--fs-h3);font-weight:var(--fw-strong);margin-top:2.2em;margin-bottom:.5em}
.legal p,.legal li{max-width:68ch}
.legal ul{list-style:disc;padding-left:1.3em;margin-top:.6em}
.legal li+li{margin-top:.4em}
.legal p+p{margin-top:.9em}

/* map legend (replaces SVG text so every word is real, translatable HTML) */
.map-leg{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:12px;font-size:var(--fs-small);color:var(--muted)}
.map-leg b{font-weight:var(--fw-strong);color:var(--ink)}
.site .btn-sm{font-size:var(--fs-small)}
.mailto{font-weight:var(--fw-bold)}
.field .check label{font-weight:var(--fw-regular);font-size:var(--fs-small)}

/* lifecycle diagram (inline SVG line art, labels are HTML) */
.lc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:40px}
.lc li{position:relative;padding-right:20px}
.lc-gfx{position:relative;height:56px}
.lc-gfx svg{display:block;width:100%;height:56px;overflow:visible}
.lc-c{fill:var(--blue)}
.lc-end{fill:none;stroke:var(--blue);stroke-width:2}
.lc-l{stroke:var(--blue);stroke-width:2;fill:none}
.lc-a{fill:var(--blue)}
.lc-n{position:absolute;left:0;top:0;width:36px;height:56px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--fs-small);font-weight:var(--fw-bold)}
.lc-gfx .lc-v{display:none}
.lc h3{margin-top:10px}
.lc p{color:var(--muted);margin-top:6px}
.lc-note{margin-top:32px;padding:16px 20px;border-left:3px solid var(--blue);background:#fff}
@media(max-width:1000px){
 .lc{grid-template-columns:1fr}
 .lc li{padding:0 0 28px 64px;min-height:84px}
 .lc li:last-child{padding-bottom:0}
 .lc-gfx{position:absolute;left:0;top:0;bottom:0;width:44px;height:auto}
 .lc-gfx .lc-h{display:none}.lc-gfx .lc-v{display:block;width:44px;height:100%}
 .lc-n{width:44px;height:44px}
 .lc h3{margin-top:0}
}

/* working in Turkmenistan strip, engagement cards */
.tk-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:20px;margin-top:32px}
.tk-in>div{border-top:2px solid var(--blue);padding-top:16px}
.tk-in p{color:var(--muted);margin-top:6px}
.g8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media(max-width:1100px){.g8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.g8{grid-template-columns:1fr}}
.card .s{color:var(--muted)}
.eng{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:24px;margin-top:32px}
.eng h3+p{color:var(--muted)}
.eng ul{display:grid;gap:0;margin-top:8px}
.eng li{padding:10px 0;border-top:1px solid var(--rule);display:flex;gap:12px}
.eng li::before{content:"—";color:var(--blue);font-weight:var(--fw-strong);flex:none}
.eng h4{font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--blue-d);margin-top:12px}

/* FAQ */
.faq{max-width:900px;margin-top:32px}
.faq details{border-top:1px solid var(--rule)}
.faq details:last-child{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:var(--fw-strong);position:relative;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:24px;line-height:1;color:var(--blue)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 40px 20px 0;color:var(--muted);max-width:68ch}

/* download card, footer contact */
.dcard{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;border:1px solid var(--rule);border-radius:6px;padding:18px 20px;background:#fff}
.dcard b{display:block;font-weight:var(--fw-strong)}
.dcard span.d{display:block;color:var(--muted);font-size:var(--fs-small)}
.ftr .dcard{background:transparent;border-color:var(--rule-d);color:#D2E4EF}
.ftr .dcard span.d{color:#B9D0DE}

.ftr-media{margin-top:32px;color:#D2E4EF}
.ftr-media+.ftr-end{margin-top:12px}

/* ===== contact block: one component for footer, Contact page and contact strips ===== */
.cb{display:block;margin:0}
.cb>div{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:4px 16px;align-items:start;padding:10px 0;border-top:1px solid var(--rule)}
.cb>div:last-child{border-bottom:1px solid var(--rule)}
.cb dt{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.6;color:var(--muted);padding-top:10px}
.cb dd{margin:0;font-size:var(--fs-body);line-height:1.5;overflow-wrap:anywhere;min-width:0;padding:10px 0}
.cb a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--fw-bold);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px;margin:-10px 0}
@media(max-width:640px){.cb>div{grid-template-columns:minmax(0,1fr);gap:0}.cb dt{padding-top:10px}.cb dd{padding-top:2px}}

/* footer: 1 column (phone) -> 2 columns (tablet) -> 4 columns (desktop) */
.ftr{background:var(--abyss);color:#E4EFF6;padding:56px 0 32px}
.ftr a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ftr a:hover{text-decoration-thickness:2px}
.ftr h2{font-size:var(--fs-small);font-weight:var(--fw-strong);line-height:1.4;color:#9FD0EE;margin-bottom:10px;max-width:none}
.ftr .small,.ftr-end,.ftr-media{font-size:var(--fs-small);line-height:1.6}
.ftr-in{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.ftr-in>*{min-width:0}
.f-co .ft-logo{display:inline-block;background:#fff;border-radius:6px;padding:10px 14px;text-decoration:none;max-width:100%}
.f-co .ft-logo img{display:block;width:100%;max-width:220px;height:auto}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.ftr .cb>div{border:0;padding:0;grid-template-columns:minmax(0,1fr);gap:0;margin-top:6px}
.ftr .cb dt{color:#9FD0EE;padding:0;font-size:var(--fs-small)}
.ftr .cb dd{color:#E4EFF6;padding:0;font-size:var(--fs-small)}
.ftr .cb a{margin:-8px 0;font-weight:var(--fw-medium)}
.map .map-leg{display:block}
.ftr .map{background:transparent;border:0;padding:0;margin:0;max-width:none}
.ftr .map svg{border-radius:4px}
.ftr .map-leg{margin-top:8px;color:#E4EFF6;font-size:var(--fs-small)}
.ftr .dcard{background:transparent;border-color:var(--rule-d);color:#E4EFF6;margin-top:16px}
.ftr .dcard span.d{color:#C7DCE9}
.ftr .f-lang{margin:0;flex-wrap:wrap;align-self:start;align-items:flex-start}
.ftr .lang button{color:#E4EFF6}.ftr .lang button:hover{color:#fff}.ftr .lang button[aria-pressed=true]{color:#fff;border-bottom-color:#9FD0EE}
.ftr-media{margin-top:32px;color:#E4EFF6}
.ftr-media+.ftr-end{margin-top:12px}
.ftr-end{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule-d);color:#C7DCE9}
@media(max-width:599px){
  .f-site ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
}
@media(min-width:600px){
  .ftr-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}
}
@media(min-width:1024px){
  .ftr-in{grid-template-columns:1fr 1.35fr 1fr 1fr;grid-template-areas:"co ct site legal" "co map site lang";gap:36px 32px;align-items:start}
  .f-co{grid-area:co}.f-ct{grid-area:ct}.f-map{grid-area:map}.f-site{grid-area:site}.f-legal{grid-area:legal}.f-lang{grid-area:lang;align-self:start}
}

/* Russian (Cyrillic is wider): one rule, same variables, same font. Keeps the RU hero the same number of lines as EN. */
:lang(ru){--hero-scale:.88;--hero-scale-s:1}
:lang(ru) .site h1,:lang(ru) .site h2{letter-spacing:-.035em}
.site h3{text-wrap:balance}

/* sections with a background picture: the picture fits the section text; the scrim keeps every width at AA contrast */
.bgsec{position:relative;isolation:isolate;overflow:hidden;background:#0B2A45;color:#fff}
.bgsec>.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);z-index:-2;display:block}
.bgsec::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,24,42,.86) 0%,rgba(6,24,42,.80) 55%,rgba(6,24,42,.74) 100%)}
.bgsec .hero-cap{z-index:1}
.bgsec h2,.bgsec h3,.bgsec p{color:#fff}
.bgsec .eyebrow{color:#9FD0EE}
.bgsec .tk-in>div{border-top-color:#9FD0EE}
.bgsec .tk-in p{color:#E4EFF6}
.bgsec .lead.muted{color:#E4EFF6}
.bgsec .cb>div{border-color:rgba(255,255,255,.28)}
.bgsec .cb dt{color:#9FD0EE}
.bgsec .cb dd{color:#fff}
.bgsec .cb a{color:#fff}
.bgsec .btn-ghost{border-color:#fff;color:#fff}
.bgsec .btn-ghost:hover{background:#fff;color:#0B2A45}
.bgsec a:not(.btn){color:#fff}
.site .bgsec :focus-visible{outline-color:var(--amber)}
@media(max-width:600px){.bgsec>.bgimg{object-position:var(--posm,center)}.bgsec::before{background:rgba(6,24,42,.82)}}
@media(max-width:380px){:lang(ru){--hero-scale:.8}}

.btn{text-wrap:balance}
.form .btn{width:100%}
.sheet dd a{display:inline-flex;align-items:center;min-height:44px;font-weight:var(--fw-medium);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.form .btn{font-size:16px;padding-inline:14px}

.map-leg{font-size:16px}
@media(max-width:600px){.lc-note.small{font-size:16px}}

.stack>.cb{margin-top:24px}
