/* TeraForm — ink header & hero, white/mist content bands, red reserved for route, markers and calls to action. */
@font-face{font-family:"Archivo";src:url("fonts/Archivo-Variable.ttf") format("truetype");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/IBMPlexSans-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/IBMPlexSans-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("fonts/IBMPlexSans-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}

:root{
  --red:#E62F2D;--red-ink:#C42421;--ink:#101820;--ink-2:#1B2631;--ink-line:#22303d;
  --paper:#FFFFFF;--mist:#F2F4F6;--line:#DCE1E6;
  --fg:#101820;--muted:#56626E;--on-ink:#F4F6F8;--on-ink-muted:#9AA6B2;
  --bg:var(--paper);--surface:var(--mist);
  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --body:"IBM Plex Sans","Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gl:max(16px, env(safe-area-inset-left, 0px));--gr:max(16px, env(safe-area-inset-right, 0px));
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#0B1117;--surface:#131C25;--fg:#E8ECF0;--muted:#98A4B0;--line:#24303C;--red-ink:#FF5A55;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0B1117;--surface:#131C25;--fg:#E8ECF0;--muted:#98A4B0;--line:#24303C;--red-ink:#FF5A55;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--ink)}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}
h1,h2,h3{font-family:var(--display);font-stretch:118%;text-wrap:balance;margin:0;line-height:1.08;letter-spacing:-.01em}
h2{font-size:clamp(30px,4.2vw,50px);font-weight:800}
h3{font-size:20px;font-weight:750;font-stretch:110%;letter-spacing:0}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-ink);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--red);flex:none}
.lead{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;text-decoration:none;padding:14px 22px;border:1.5px solid transparent;transition:background .15s,color .15s,border-color .15s;font-family:inherit;cursor:pointer}
.btn.primary{background:var(--red);color:#fff}
.btn.primary:hover{background:#c8211f}
.btn.ghost{border-color:#3a4956;color:#fff}
.btn.ghost:hover{border-color:#fff}
.btn.line{border-color:var(--fg);color:var(--fg)}
.btn.line:hover{background:var(--fg);color:var(--bg)}
.btn[disabled]{opacity:.6;cursor:wait}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--ink);color:var(--on-ink);border-bottom:1px solid var(--ink-line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.mark{display:flex;align-items:center;min-width:0;flex:0 1 auto}
.mark img{display:block;height:40px;width:auto;max-width:100%}
nav.links{display:flex;gap:24px;font-size:14.5px}
nav.links a{text-decoration:none;color:var(--on-ink-muted)}
nav.links a:hover,nav.links a[aria-current="page"]{color:#fff}
.hdr-right{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid #33424f}
.lang button{all:unset;cursor:pointer;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;padding:6px 10px;color:var(--on-ink-muted)}
.lang button[aria-pressed="true"]{background:var(--red);color:#fff}
.lang button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.menu-btn{all:unset;display:none;cursor:pointer;width:38px;height:34px;border:1px solid #33424f;place-items:center;color:#fff}
.menu-btn svg{display:block}
.menu-btn:focus-visible{outline:2px solid #fff}
@media (max-width:920px){
  .menu-btn{display:grid}
  nav.links{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);flex-direction:column;gap:0;padding:8px var(--gr) 16px var(--gl);border-bottom:1px solid var(--ink-line)}
  nav.links.open{display:flex}
  nav.links a{padding:12px 0;border-top:1px solid var(--ink-line);font-size:16px}
}
@media (max-width:480px){.mark img{height:30px}.lang button{padding:6px 8px}}

/* hero */
.hero{color:var(--on-ink);position:relative;background-color:var(--ink);background-image:linear-gradient(90deg,rgba(16,24,32,.94) 0%,rgba(16,24,32,.78) 45%,rgba(16,24,32,.35) 100%),var(--hero-img,none);background-size:cover;background-position:15% 55%}
.hero .wrap{padding-block:clamp(64px,10vw,130px) 0}
.hero h1{font-size:clamp(38px,6.6vw,88px);font-weight:900;font-stretch:120%;max-width:15ch;color:#fff}
.hero h1 em{font-style:normal;color:var(--red);display:block}
.hero .lead{color:#C4CDD6;margin-top:26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.route{margin-top:clamp(48px,7vw,84px);border-top:1px solid rgba(255,255,255,.14);padding-block:26px 34px}
.route svg{display:block;width:100%;height:auto;overflow:visible}
.route .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.1em;fill:#B4BFCA}
.route .city{font-family:var(--display);font-stretch:115%;font-weight:800;font-size:20px;fill:#fff}
.dash{stroke-dasharray:6 8;animation:flow 1.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-28}}
.credit{position:absolute;right:var(--gr);bottom:8px;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.5)}

/* sub-page header */
.pagehead{background:var(--ink);color:var(--on-ink)}
.pagehead .wrap{padding-block:clamp(48px,7vw,88px);display:grid;gap:18px}
.pagehead h1{font-size:clamp(34px,5.4vw,68px);font-weight:900;font-stretch:120%;color:#fff;max-width:18ch}
.pagehead .lead{color:var(--on-ink-muted)}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jump a{font-size:14px;text-decoration:none;padding:7px 12px;border:1px solid #33424f;color:var(--on-ink)}
.jump a:hover{border-color:#fff}

/* stats */
.stats{background:var(--ink);color:var(--on-ink);border-top:1px solid var(--ink-line)}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{display:grid;gap:6px;padding:26px 20px 30px 0;min-width:0;align-content:start}
.stat + .stat{padding-left:20px;border-left:1px solid var(--ink-line)}
.stat .num{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:clamp(28px,3.6vw,44px);line-height:1;color:#fff}
.stat:first-child .num{color:var(--red)}
.stat .cap{font-size:14px;color:var(--on-ink-muted);line-height:1.4}
@media (max-width:760px){.stats-row{grid-template-columns:1fr 1fr}.stat:nth-child(3){padding-left:0;border-left:none}.stat:nth-child(n+3){border-top:1px solid var(--ink-line)}}

/* bands */
section.band{padding-block:clamp(64px,9vw,112px)}
.head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,56px);max-width:760px}
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:clamp(36px,5vw,56px)}
.head-row .head{margin-bottom:0}
.alt{background:var(--surface)}
.dark{background:var(--ink);color:var(--on-ink)}
.dark .lead{color:var(--on-ink-muted)}
.dark h2{color:#fff}

.regions{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--fg)}
.region{padding:26px 26px 30px 0;display:grid;gap:12px;align-content:start;min-width:0}
.region + .region{padding-left:26px;border-left:1px solid var(--line)}
.region .code{font-family:var(--mono);font-size:13px;color:var(--red-ink);letter-spacing:.1em}
.region p{color:var(--muted);font-size:16px}
@media (max-width:820px){.regions{grid-template-columns:1fr}.region,.region + .region{padding:22px 0;border-left:none;border-bottom:1px solid var(--line)}}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,24px)}
.pillar{background:var(--bg);padding:clamp(22px,2.4vw,30px);display:grid;gap:14px;align-content:start;min-width:0;border:1px solid var(--line);text-decoration:none;color:inherit;transition:border-color .15s}
a.pillar:hover{border-color:var(--fg)}
.pillar ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pillar li{display:grid;grid-template-columns:14px 1fr;gap:8px;font-size:15.5px}
.pillar li::before{content:"";width:7px;height:7px;background:var(--red);margin-top:9px}
.verb{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:clamp(26px,2.6vw,34px);line-height:1;color:var(--red-ink)}
.pdesc{color:var(--muted);font-size:16px}
.more{font-size:14px;font-weight:600;color:var(--fg);margin-top:auto}
.pillar.new{border-color:var(--red)}
.badge{justify-self:start;font-family:var(--mono);font-size:11px;letter-spacing:.12em;background:var(--red);color:#fff;padding:3px 8px}
@media (max-width:1040px){.pillars{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pillars{grid-template-columns:1fr}}
.foundation{margin-top:clamp(28px,4vw,44px);max-width:72ch;font-size:16.5px;color:var(--muted);padding-top:22px;border-top:1px solid var(--line)}
.foundation strong{color:var(--fg);font-weight:600}

.sectors{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #2a3846;border-left:1px solid #2a3846}
.sector{padding:26px;border-right:1px solid #2a3846;border-bottom:1px solid #2a3846;display:grid;gap:10px;align-content:start;min-width:0;transition:background .2s}
.sector:hover{background:var(--ink-2)}
.sector .k{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--red)}
.sector h3{color:#fff}
.sector p{color:var(--on-ink-muted);font-size:15.5px}
@media (max-width:900px){.sectors{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.sectors{grid-template-columns:1fr}}

.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.project{display:grid;gap:14px;align-content:start;padding:clamp(22px,2.6vw,30px);border:1px solid var(--line);border-top:4px solid var(--red);background:var(--bg);min-width:0}
.pmeta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pmeta span:first-child{color:var(--red-ink)}
.project p{color:var(--muted);font-size:16px}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{font-size:13px;padding:4px 10px;background:var(--surface);color:var(--fg)}
@media (max-width:900px){.projects{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,28px)}
.step{display:grid;gap:10px;align-content:start;padding-top:18px;border-top:3px solid var(--fg);min-width:0}
.step .n{font-family:var(--display);font-stretch:125%;font-weight:900;font-size:40px;color:var(--red-ink);line-height:1}
.step p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.team{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,3vw,32px)}
.member{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:clamp(22px,2.6vw,30px);background:var(--bg);border:1px solid var(--line);min-width:0}
.avatar{width:84px;height:84px;background:var(--ink);color:#fff;display:grid;place-items:center;font-family:var(--display);font-stretch:125%;font-weight:900;font-size:28px;position:relative;overflow:hidden}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avatar::after{content:"";position:absolute;left:0;bottom:0;width:22px;height:22px;background:var(--red)}
.member .role{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-ink);margin-top:6px}
.member p{color:var(--muted);font-size:15.5px;margin-top:10px}
@media (max-width:760px){.team{grid-template-columns:1fr}}
@media (max-width:420px){.member{grid-template-columns:1fr}}

.values{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:start}
.values .quote{font-family:var(--display);font-stretch:112%;font-weight:700;font-size:clamp(24px,3vw,36px);line-height:1.2;text-wrap:balance}
.values .quote span{color:var(--red-ink)}
.vlist{display:grid;gap:22px}
.v{display:grid;gap:6px;padding-left:18px;border-left:3px solid var(--red)}
.v p{color:var(--muted);font-size:16px}
@media (max-width:820px){.values{grid-template-columns:1fr}}

/* blog cards */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.post-card{display:grid;gap:12px;align-content:start;text-decoration:none;color:inherit;padding-top:18px;border-top:3px solid var(--fg);min-width:0}
.post-card:hover h3{color:var(--red-ink)}
.post-card .meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:flex;gap:12px;flex-wrap:wrap}
.post-card .meta .cat{color:var(--red-ink)}
.post-card p{color:var(--muted);font-size:16px}
.post-card .more{margin-top:4px}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* article */
.article{max-width:740px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr);padding-block:clamp(48px,7vw,80px)}
.article .meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.article .meta .cat{color:var(--red-ink)}
.article h1{font-size:clamp(32px,4.6vw,52px);font-weight:900;font-stretch:118%}
.prose{display:grid;gap:18px;margin-top:28px;font-size:18px;line-height:1.7}
.prose h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin-top:14px}
.prose .intro{font-size:20px;color:var(--muted)}
.prose ul{margin:0;padding-left:1.2em;display:grid;gap:8px}
.prose li::marker{color:var(--red)}
.article .back{display:inline-block;margin-top:40px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--red)}
.draftnote{font-size:14px;background:var(--surface);border-left:3px solid var(--red);padding:12px 16px;color:var(--muted)}

/* services page */
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,72px);padding-block:clamp(56px,7vw,88px);border-top:1px solid var(--line)}
.svc:first-child{border-top:none}
.svc-side{display:grid;gap:14px;align-content:start;position:sticky;top:96px}
.svc-side .idx{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--red-ink)}
.svc-side h2{font-size:clamp(28px,3.4vw,42px)}
.svc-side p{color:var(--muted)}
.svc-body{display:grid;gap:28px;min-width:0}
.offer{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--fg)}
.offer > div{padding:18px 20px 20px 0;border-bottom:1px solid var(--line);display:grid;gap:6px;min-width:0}
.offer > div:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.offer h3{font-size:17px}
.offer p{color:var(--muted);font-size:15.5px}
.forwhom{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:15.5px}
.forwhom dt{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red-ink);padding-top:3px}
.forwhom dd{margin:0;color:var(--muted)}
@media (max-width:860px){.svc{grid-template-columns:1fr}.svc-side{position:static}}
@media (max-width:560px){.offer{grid-template-columns:1fr}.offer > div:nth-child(even){padding-left:0;border-left:none}.forwhom{grid-template-columns:1fr}}

/* contact & form */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,28px)}
.office{background:var(--ink-2);padding:clamp(24px,3vw,34px);display:grid;gap:14px;min-width:0}
.office .tag{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--red)}
.office h3{color:#fff;font-size:22px}
.office address{font-style:normal;color:var(--on-ink-muted);font-size:15.5px;line-height:1.7}
.office .web{font-family:var(--mono);font-size:14px;color:#fff}
@media (max-width:760px){.offices{grid-template-columns:1fr}}
.mailrow{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.mail{font-family:var(--display);font-stretch:118%;font-weight:800;font-size:clamp(22px,3.4vw,36px);color:#fff;user-select:all;word-break:break-all}
.copy{all:unset;cursor:pointer;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;padding:8px 12px;border:1px solid #3a4956;color:var(--on-ink)}
.copy:hover{border-color:#fff}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}}
.side-stack{display:grid;gap:16px}
.inq{background:var(--ink-2);padding:clamp(22px,3vw,36px);display:grid;gap:18px;min-width:0}
.inq h3{color:#fff;font-size:22px}
.inq .hint{font-size:14px;color:var(--on-ink-muted);margin-top:-8px}
.inq label{display:grid;gap:6px;font-size:14px;color:var(--on-ink-muted);min-width:0}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.frow{grid-template-columns:1fr}}
.inq input[type=text],.inq input[type=email],.inq input[type=tel],.inq select,.inq textarea{font:inherit;font-size:16px;color:#fff;background:#0E151C;border:1px solid #33424f;border-radius:0;padding:11px 12px;width:100%;color-scheme:dark}
.inq textarea{resize:vertical}
.inq input:focus,.inq select:focus,.inq textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.inq [aria-invalid=true]{border-color:var(--red)}
.chips{border:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend{font-size:14px;color:var(--on-ink-muted);margin-bottom:8px;padding:0}
.chips label{display:block!important;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:7px 12px;border:1px solid #33424f;color:var(--on-ink);font-size:14.5px;cursor:pointer;transition:background .12s,border-color .12s}
.chips input:checked + span{background:var(--red);border-color:var(--red);color:#fff}
.chips input:focus-visible + span{outline:2px solid #fff;outline-offset:2px}
.inq label.chk{display:flex;align-items:flex-start;gap:10px;color:var(--on-ink-muted);font-size:14px}
.inq .chk input{accent-color:var(--red);width:18px;height:18px;margin-top:2px;flex:none}
.inq .chk a{color:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fsubmit{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.fstatus{font-size:15px;color:var(--on-ink-muted);min-width:0}
.fstatus.ok{color:#7FD49B}.fstatus.err{color:#FF8A86}

/* legal */
.legaltext{max-width:760px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr);padding-block:clamp(40px,6vw,72px);display:grid;gap:16px;font-size:16.5px}
.legaltext h2{font-size:clamp(20px,2.4vw,26px);font-weight:800;margin-top:18px}
.legaltext h3{font-size:17px;margin-top:6px}
.legaltext p,.legaltext li{color:var(--fg)}
.legaltext ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.todo{background:#FFF1C2;color:#5A4500;padding:0 4px;font-family:var(--mono);font-size:.88em}

footer.site{background:var(--ink);color:var(--on-ink-muted);border-top:1px solid var(--ink-line);font-size:13.5px}
footer.site .wrap{padding-block:30px;display:grid;grid-template-columns:auto 1fr;gap:20px 40px;align-items:center}
footer.site .flinks{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:flex-end}
footer.site a{color:var(--on-ink);text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site .copyr{grid-column:1/-1;border-top:1px solid var(--ink-line);padding-top:16px}
@media (max-width:700px){footer.site .wrap{grid-template-columns:1fr}footer.site .flinks{justify-content:flex-start}}
.regions-ext{grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:0}
.regions-ext .region .code{color:var(--muted)}
@media (max-width:820px){.regions-ext{grid-template-columns:1fr;border-top:none}}
@media (max-width:760px){
  .hero[style]{background-image:linear-gradient(180deg,rgba(16,24,32,.80) 0%,rgba(16,24,32,.88) 60%,rgba(16,24,32,.95) 100%),url("img/bosporus.jpg")!important;background-position:58% center}
}
