/* ==========================================================================
   tercumeburo.com — Design system
   Concept: an official-document / notary dossier aesthetic.
   Palette pulls from stamp ink, wax-seal red, brass foil and the pale
   teal-green guilloché tint of Turkish security paper.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,500&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  /* --- palette --- */
  --ink:        #16213d;
  --ink-soft:   #48536a;
  --ink-faint:  #7c8598;
  --paper:      #eef1e9;
  --paper-alt:  #e4e9dc;
  --surface:    #fffef9;
  --border:     #d7dcca;
  --border-soft:#e6e9dc;
  --seal:       #a32620;
  --seal-dark:  #7c1c17;
  --seal-tint:  #f4e3df;
  --brass:      #8a6f2e;
  --brass-tint: #f1e9d2;
  --teal:       #1f5c52;
  --teal-tint:  #dfe9e2;

  /* --- type --- */
  --font-display: 'Newsreader', 'Iowan Old Style', Georgia, serif;
  --font-body:    'IBM Plex Sans', -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SFMono-Regular', monospace;

  --radius-sm: 3px;
  --radius: 6px;
  --shadow-card: 0 1px 2px rgba(22,33,61,.06), 0 6px 20px -10px rgba(22,33,61,.18);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  width:100%;
}
img,svg{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.15;
  margin:0 0 .5em;
  text-wrap:balance;
  color:var(--ink);
}
h1{ font-size:clamp(2.1rem,4.4vw,3.4rem); font-weight:500; }
h2{ font-size:clamp(1.55rem,2.6vw,2.15rem); }
h3{ font-size:1.2rem; font-weight:600; }
p{ margin:0 0 1em; color:var(--ink-soft); }
p:last-child{ margin-bottom:0; }
ul,ol{ padding-left:1.15em; color:var(--ink-soft); }
li{ margin-bottom:.4em; }
strong{ color:var(--ink); }
em{ font-style:italic; }
.serif-em{ font-family:var(--font-display); font-style:italic; color:var(--seal); }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
}

/* --- layout --- */
.container{ width:100%; max-width:1180px; margin:0 auto; padding:0 24px; }
.section{ padding:76px 0; }
.section--tight{ padding:52px 0; }
.section--alt{ background:var(--paper-alt); }
.section--ink{ background:var(--ink); color:#eef1ea; }
.section--ink h2, .section--ink h3{ color:#f6f4ec; }
.section--ink p{ color:#c3cad9; }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--seal);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  margin-bottom:.9em;
}
.eyebrow::before{
  content:"";
  width:15px; height:15px;
  background-color:var(--seal);
  display:inline-block; flex:none;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 5h9M8 3v2M8 5c0 4-1.6 7-5 9M6 9c1.2 2 3 3.5 5 4.5'/%3E%3Cpath d='M13 21l4.5-11L22 21M14.3 18h6.4'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 5h9M8 3v2M8 5c0 4-1.6 7-5 9M6 9c1.2 2 3 3.5 5 4.5'/%3E%3Cpath d='M13 21l4.5-11L22 21M14.3 18h6.4'/%3E%3C/svg%3E");
  -webkit-mask-size:contain; mask-size:contain;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}
.section--ink .eyebrow{ color:#e0c9a6; }
.section--ink .eyebrow::before{ background-color:#e0c9a6; }

/* subtle translation-motif watermark behind hero sections */
.hero{ position:relative; }
.hero::after{
  content:"";
  position:absolute; top:18px; right:24px; width:120px; height:120px;
  background-color:var(--ink);
  opacity:.045;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.8 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.8-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.8 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.8-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E");
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  pointer-events:none; display:none;
}
@media (min-width:981px){ .hero::after{ display:block; } }

.lede{ font-size:1.1rem; max-width:60ch; }

.grid{ display:grid; gap:28px; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
.grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:920px){
  .grid-3,.grid-4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .grid-2,.grid-3,.grid-4{ grid-template-columns:1fr; }
  .section{ padding:52px 0; }
}

/* --- guilloché divider: nod to security-paper engraving --- */
.divider{
  height:14px;
  background-image:repeating-linear-gradient(115deg, transparent 0 6px, rgba(31,92,82,.14) 6px 7px),
                    repeating-linear-gradient(65deg, transparent 0 6px, rgba(163,38,32,.10) 6px 7px);
  background-color:var(--paper);
}

/* --- buttons --- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font-family:var(--font-body); font-weight:600; font-size:.95rem;
  padding:.85em 1.5em;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  transition:transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.btn svg{ width:18px; height:18px; flex:none; }
.btn:active{ transform:translateY(1px); }
.btn-seal{ background:var(--seal); color:#fdf6f3; }
.btn-seal:hover{ background:var(--seal-dark); }
.btn-outline{ background:transparent; border-color:var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:var(--paper); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--border); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-wa{ background:#1f5c42; color:#eef7ee; }
.btn-wa:hover{ background:#173f2e; }
.btn-block{ width:100%; }
.btn-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:1.6em; }

/* --- header --- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(238,241,233,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.header-bar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:20px;
}
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark{ height:38px; width:auto; flex:none; }
.footer-brand .brand-mark{
  height:34px; background:var(--paper); border-radius:6px; padding:4px 6px;
}
.brand-word{ font-family:var(--font-display); font-size:1.28rem; color:var(--ink); font-weight:600; }
.brand-word small{ display:block; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.12em; color:var(--seal); font-weight:500; text-transform:uppercase; }

.nav{ display:flex; align-items:center; gap:22px; }
.nav a{
  text-decoration:none; color:var(--ink-soft); font-size:.92rem; font-weight:500;
  padding:6px 2px; border-bottom:2px solid transparent; white-space:nowrap;
}
.nav a:hover, .nav a[aria-current="page"]{ color:var(--ink); border-color:var(--seal); }
.nav-drop{ position:relative; }
.nav-caret{ display:inline-block; font-size:.78em; }
.nav-drop-panel{
  display:none; position:absolute; top:100%; left:-14px; padding-top:14px; min-width:250px;
}
.nav-drop:hover .nav-drop-panel, .nav-drop:focus-within .nav-drop-panel{ display:block; }
.nav-drop-inner{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-card); padding:8px; display:flex; flex-direction:column;
}
.nav-drop-inner a{ padding:9px 12px; border-radius:4px; border-bottom:none; color:var(--ink); }
.nav-drop-inner a:hover{ background:var(--paper-alt); }

.header-cta{ display:flex; align-items:center; gap:12px; }
.header-phone{ display:flex; flex-direction:column; text-decoration:none; text-align:right; white-space:nowrap; }
.header-phone span{ font-size:.68rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.08em; }
.header-phone strong{ font-family:var(--font-mono); font-size:.98rem; color:var(--ink); white-space:nowrap; }

.header-right{ display:flex; align-items:center; gap:8px; }
.search-btn, .lang-switch-btn, .nav-toggle{
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:38px; height:38px; border:1px solid var(--border); border-radius:var(--radius-sm);
  background:var(--surface); cursor:pointer; color:var(--ink); padding:0;
}
.search-btn svg, .lang-switch-btn svg{ width:18px; height:18px; flex:none; }
.search-btn:hover, .lang-switch-btn:hover{ border-color:var(--seal); color:var(--seal); }
.lang-switch{ position:relative; }
.lang-switch-btn{ width:auto; padding:0 10px; }
.lang-switch-btn span{ font-size:.82rem; font-weight:500; }
.lang-switch-panel{
  display:none; position:absolute; top:calc(100% + 10px); right:0; min-width:190px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-card); padding:8px; flex-direction:column; z-index:50;
}
.lang-switch.is-open .lang-switch-panel{ display:flex; }
.lang-switch-panel a{
  display:flex; align-items:center; gap:10px; padding:8px 10px; border-radius:4px;
  text-decoration:none; color:var(--ink); font-size:.86rem;
}
.lang-switch-panel a:hover{ background:var(--paper-alt); }
.lang-switch-panel img{ border-radius:2px; box-shadow:0 0 0 1px rgba(22,33,61,.12); flex:none; }

.nav-mobile-cta{ display:none; }

.nav-toggle{ display:none; }
@media (max-width:1140px){
  .nav{
    position:fixed; inset:0 0 0 auto; width:min(320px,84vw); height:100vh;
    overflow-y:auto;
    background:var(--surface); flex-direction:column; align-items:flex-start;
    padding:90px 28px 28px; gap:4px; transform:translateX(100%);
    transition:transform .25s ease; box-shadow:-8px 0 30px rgba(0,0,0,.15);
  }
  .nav.is-open{ transform:translateX(0); }
  .nav a{ width:100%; padding:12px 0; border-bottom:1px solid var(--border-soft); }
  .nav-drop-panel{ display:none !important; }
  .nav-caret{ display:none; }
  .header-cta{ display:none; }
  .lang-switch{ display:none; }
  .nav-mobile-cta{
    display:flex; flex-direction:column; gap:10px; width:100%; margin-top:18px;
    padding-top:18px; border-top:1px solid var(--border-soft);
  }
  .nav-mobile-cta .btn{
    width:100%; justify-content:center; padding:.85em 1.5em !important;
    border-bottom:none !important;
  }
  .nav-mobile-cta .btn-seal{ color:#fdf6f3 !important; }
  .nav-mobile-cta .btn-wa{ color:#eef7ee !important; }
  .nav-mobile-cta .nav-mobile-phone{ padding:6px 0 !important; border-bottom:none !important; color:var(--ink) !important; }
  .nav-mobile-lang-label{
    font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--ink-faint);
  }
  .nav-mobile-lang{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
  .nav-mobile-lang a{
    display:flex; align-items:center; gap:6px; width:auto; padding:6px 10px !important;
    border:1px solid var(--border); border-radius:20px; font-size:.8rem; color:var(--ink);
    text-decoration:none;
  }
  .nav-mobile-lang a:hover{ border-color:var(--seal); }
  .nav-mobile-lang img{ border-radius:2px; box-shadow:0 0 0 1px rgba(22,33,61,.12); }
  .nav-mobile-phone{
    display:flex; align-items:center; justify-content:center; gap:8px;
    text-decoration:none; color:var(--ink); font-family:var(--font-mono); font-size:.92rem;
    padding:6px 0;
  }
  .nav-mobile-phone svg{ width:16px; height:16px; }
  .nav-toggle{
    display:flex; align-items:center; justify-content:center;
    width:40px; height:40px; border:1px solid var(--border); border-radius:var(--radius-sm);
    background:var(--surface); cursor:pointer;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{
    content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative;
    transition:.2s;
  }
  .nav-toggle span::before{ position:absolute; top:-6px; }
  .nav-toggle span::after{ position:absolute; top:6px; }
  .nav-scrim{ display:none; position:fixed; inset:0; background:rgba(22,33,61,.4); z-index:39; }
  .nav-scrim.is-open{ display:block; }
}
@media (min-width:1141px){ .nav-toggle,.nav-scrim{ display:none; } }
@media (max-width:400px){
  .brand-word{ font-size:1.08rem; }
  .brand-word small{ font-size:.52rem; letter-spacing:.08em; }
  .lang-switch-btn span{ display:none; }
  .lang-switch-btn{ width:38px; padding:0; }
}

/* --- search overlay --- */
.search-overlay{
  display:none; position:fixed; inset:0; z-index:60;
  background:rgba(22,33,61,.55); backdrop-filter:blur(2px);
  padding:12vh 20px 20px;
}
.search-overlay.is-open{ display:block; }
.search-panel{
  max-width:640px; margin:0 auto; background:var(--surface);
  border-radius:var(--radius); box-shadow:0 20px 60px -20px rgba(0,0,0,.4);
  overflow:hidden;
}
.search-input-row{
  display:flex; align-items:center; gap:12px; padding:16px 20px;
  border-bottom:1px solid var(--border-soft);
}
.search-input-row svg{ width:20px; height:20px; color:var(--ink-faint); flex:none; }
.search-input{
  flex:1; border:none; outline:none; background:transparent;
  font-family:var(--font-body); font-size:1rem; color:var(--ink);
}
.search-input::placeholder{ color:var(--ink-faint); }
.search-close{
  display:flex; align-items:center; justify-content:center; width:30px; height:30px;
  border:none; background:transparent; color:var(--ink-faint); cursor:pointer; flex:none;
}
.search-close svg{ width:16px; height:16px; }
.search-close:hover{ color:var(--seal); }
.search-results{ max-height:52vh; overflow-y:auto; padding:8px; }
.search-hint{ padding:14px 12px; color:var(--ink-faint); font-size:.88rem; }
.search-result{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:11px 12px; border-radius:4px; text-decoration:none; color:var(--ink);
}
.search-result:hover{ background:var(--paper-alt); }
.search-result-title{ font-size:.94rem; }
.search-result-type{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--seal); border:1px solid var(--seal-tint); background:var(--seal-tint);
  padding:3px 8px; border-radius:20px; flex:none;
}

/* --- floating call / WhatsApp buttons --- */
.float-actions{
  position:fixed; right:20px; bottom:20px; z-index:45;
  display:flex; flex-direction:column; align-items:flex-end; gap:12px;
}
.float-btn{
  display:flex; align-items:center; gap:9px;
  text-decoration:none;
  padding:14px; border-radius:50px;
  transition:padding .2s ease, box-shadow .2s ease;
}
.wa-float{
  background:#1f5c42; color:#eef7ee;
  box-shadow:0 10px 26px -8px rgba(31,92,66,.55);
}
.wa-float:hover{ box-shadow:0 14px 30px -8px rgba(31,92,66,.7); }
.call-float{
  background:var(--seal); color:#fdf6f3;
  box-shadow:0 10px 26px -8px rgba(122,28,23,.55);
}
.call-float:hover{ box-shadow:0 14px 30px -8px rgba(122,28,23,.7); }
.float-btn svg{ width:26px; height:26px; flex:none; }
.float-btn-label{
  max-width:0; overflow:hidden; white-space:nowrap; font-weight:600; font-size:.88rem;
  transition:max-width .25s ease;
}
@media (min-width:768px){
  .float-btn:hover .float-btn-label{ max-width:180px; }
  .float-btn:hover{ padding:14px 20px 14px 16px; }
}
@media (max-width:767px){
  .float-actions{ right:14px; bottom:14px; gap:10px; }
  .float-btn{ padding:13px; }
}

/* --- hero --- */
.hero{ padding:64px 0 56px; position:relative; }
.hero-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; }
@media (max-width:920px){ .hero-grid{ grid-template-columns:1fr; } }
.hero-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:1.8em; }
.badge{
  display:inline-flex; align-items:center; gap:.45em;
  font-size:.78rem; font-weight:500; color:var(--ink-soft);
  background:var(--surface); border:1px solid var(--border);
  padding:.5em .85em; border-radius:99px;
}
.badge::before{ content:"✓"; color:var(--teal); font-weight:700; }
.hero-panel{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow-card); padding:26px;
}
.hero-panel h3{ margin-bottom:.9em; }
.stamp-line{ display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--border-soft); }
.stamp-line:last-child{ border-bottom:none; }
.stamp-line svg{ width:22px; height:22px; flex:none; color:var(--seal); }
.stamp-line span{ font-size:.9rem; color:var(--ink-soft); }

/* --- cards --- */
.card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:26px; box-shadow:var(--shadow-card); height:100%;
}
.service-card{ display:flex; flex-direction:column; text-decoration:none; }
.service-card .num{ font-family:var(--font-mono); font-size:.78rem; color:var(--seal); margin-bottom:.8em; }
.service-card h3{ margin-bottom:.5em; }
.service-card p{ font-size:.92rem; flex:1; }
.service-card .go{ margin-top:1em; font-size:.85rem; font-weight:600; color:var(--ink); }
.service-card:hover{ border-color:var(--seal); }

.icon-tile{
  width:44px; height:44px; border-radius:8px; background:var(--teal-tint); color:var(--teal);
  display:flex; align-items:center; justify-content:center; margin-bottom:1em;
}
.icon-tile svg{ width:22px; height:22px; }

/* --- blog / rehber cards --- */
.blog-card{ display:flex; flex-direction:column; text-decoration:none; }
.blog-card .cat{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--teal); margin-bottom:.7em;
}
.blog-card h3{ margin-bottom:.5em; font-size:1.08rem; }
.blog-card p{ font-size:.92rem; flex:1; }
.blog-card .go{ margin-top:1em; font-size:.85rem; font-weight:600; color:var(--ink); }
.blog-card:hover{ border-color:var(--seal); }

/* --- long-form article prose --- */
.prose{ max-width:760px; }
.prose h2{ margin-top:1.7em; margin-bottom:.6em; }
.prose h3{ margin-top:1.3em; margin-bottom:.5em; }
.prose p{ font-size:1rem; }
.prose ul, .prose ol{ margin:0 0 1.2em; padding-left:1.35em; color:var(--ink-soft); }
.prose li{ margin-bottom:.45em; }
.prose .callout{
  background:var(--paper-alt); border-left:3px solid var(--seal); border-radius:4px;
  padding:16px 20px; margin:1.6em 0; font-size:.92rem; color:var(--ink);
}
.prose .callout strong{ color:var(--seal); }
.article-meta{
  display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:.76rem;
  color:var(--ink-faint); text-transform:uppercase; letter-spacing:.06em; margin-bottom:1.2em;
}
.article-meta .dot{ width:3px; height:3px; border-radius:50%; background:var(--ink-faint); }

/* --- pricing factors --- */
.price-factors{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:28px; }
@media (max-width:700px){ .price-factors{ grid-template-columns:1fr; } }
.price-factor{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:22px; box-shadow:var(--shadow-card);
}
.price-factor h3{ display:flex; align-items:center; gap:10px; font-size:1.02rem; margin-bottom:.5em; }
.price-factor h3 svg{ width:20px; height:20px; color:var(--seal); flex:none; }
.price-factor p{ font-size:.92rem; margin:0; }

/* --- clause list (numbered document items) --- */
.clause-list{ list-style:none; padding:0; margin:0; counter-reset:clause; }
.clause-list li{
  counter-increment:clause; position:relative;
  padding:16px 0 16px 48px; border-bottom:1px solid var(--border-soft);
}
.clause-list li:first-child{ padding-top:0; }
.clause-list li::before{
  content:counter(clause,decimal-leading-zero);
  position:absolute; left:0; top:16px;
  font-family:var(--font-mono); font-size:.82rem; color:var(--seal);
}
.clause-list li:first-child::before{ top:0; }
.clause-list strong{ display:block; margin-bottom:.15em; }
.clause-list p{ margin:0; font-size:.92rem; }

/* --- process steps --- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:step; }
@media (max-width:920px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; padding-top:44px; }
.step::before{
  counter-increment:step; content:counter(step);
  position:absolute; top:0; left:0;
  width:34px; height:34px; border-radius:50%;
  background:var(--ink); color:var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:.85rem;
}
.step h3{ font-size:1.02rem; margin-bottom:.4em; }
.step p{ font-size:.9rem; }

/* --- language chips --- */
.lang-grid{ display:flex; flex-wrap:wrap; gap:9px; }
.lang-chip{
  font-family:var(--font-mono); font-size:.82rem; color:var(--ink-soft);
  border:1px solid var(--border); background:var(--surface);
  padding:.5em .8em; border-radius:5px;
}
.lang-chip--link{ text-decoration:none; transition:border-color .12s ease; }
.lang-chip--link:hover{ border-color:var(--seal); color:var(--ink); }
.lang-group + .lang-group{ margin-top:2.2em; }
.lang-group h3{ font-size:.95rem; color:var(--brass); text-transform:uppercase; letter-spacing:.06em; font-family:var(--font-mono); font-weight:500; margin-bottom:.8em; }

/* --- flag icons + language cards --- */
.flag-icon{
  border-radius:3px; object-fit:cover; border:1px solid rgba(22,33,61,.14);
  box-shadow:0 1px 2px rgba(22,33,61,.12); flex:none; vertical-align:middle;
}
.flag-icon--generic{
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--teal-tint); color:var(--teal); border-radius:50%; padding:4px;
}
.flag-icon--generic svg{ width:100%; height:100%; }
.flag-hero{ display:flex; justify-content:flex-start; margin-bottom:1.1em; }
.flag-hero .flag-icon, .flag-hero .flag-icon--generic{ width:56px; height:37px; border-radius:5px; }

.lang-card-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:10px; }
.lang-card{
  display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm);
  padding:.65em .8em; text-decoration:none; color:var(--ink);
  font-size:.88rem; font-weight:500; transition:border-color .12s ease, transform .12s ease;
}
.lang-card:hover{ border-color:var(--seal); transform:translateY(-1px); }
.lang-card--more{
  justify-content:center; color:var(--seal); font-family:var(--font-mono); font-size:.82rem;
  border-style:dashed;
}

/* --- FAQ accordion --- */
.faq-item{ border-bottom:1px solid var(--border); }
.faq-item:first-child{ border-top:1px solid var(--border); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:20px 4px; display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:var(--font-display); font-size:1.06rem; color:var(--ink); font-weight:500;
}
.faq-q .plus{ font-family:var(--font-mono); font-size:1.1rem; color:var(--seal); flex:none; transition:transform .2s; }
.faq-item[open] .plus{ transform:rotate(45deg); }
.faq-a{ padding:0 4px 22px; font-size:.95rem; max-width:70ch; }
.faq-q::-webkit-details-marker{ display:none; }

/* --- info / trust strip --- */
.trust-strip{ display:flex; flex-wrap:wrap; gap:34px; padding:26px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.trust-item{ display:flex; align-items:baseline; gap:10px; }
.trust-item .n{ font-family:var(--font-display); font-size:1.7rem; color:var(--seal); font-style:italic; }
.trust-item .t{ font-size:.82rem; color:var(--ink-soft); max-width:16ch; }

/* --- institutions list --- */
.inst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 24px; }
@media (max-width:700px){ .inst-grid{ grid-template-columns:1fr 1fr; } }
.inst-grid li{ list-style:none; font-size:.9rem; padding:8px 0 8px 20px; position:relative; border-bottom:1px solid var(--border-soft); margin:0; }
.inst-grid li::before{ content:"§"; position:absolute; left:0; color:var(--brass); font-family:var(--font-mono); }

/* --- forms --- */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .form-grid{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:6px; }
.field.full{ grid-column:1/-1; }
.field label{ font-size:.82rem; font-weight:600; color:var(--ink); }
.field input, .field select, .field textarea{
  font-family:var(--font-body); font-size:.95rem; color:var(--ink);
  border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--surface);
  padding:.75em .85em;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:2px solid var(--seal); outline-offset:1px; }
.field textarea{ resize:vertical; min-height:110px; }
.form-note{ font-size:.8rem; color:var(--ink-faint); margin-top:.9em; }
#formStatus{ font-size:.88rem; margin-top:1em; }

/* --- contact blocks --- */
.contact-block{ display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--border-soft); }
.contact-block:last-child{ border-bottom:none; }
.contact-block svg{ width:22px; height:22px; color:var(--seal); flex:none; margin-top:2px; }
.contact-block h3{ font-size:.95rem; margin-bottom:.25em; }
.contact-block a, .contact-block p{ font-size:.92rem; }
.map-frame{ border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; height:340px; }
.map-frame iframe{ width:100%; height:100%; border:0; }

/* --- CTA band --- */
.cta-band{
  background:var(--ink); color:#f4f1e8; border-radius:var(--radius);
  padding:44px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
}
.cta-band h2{ color:#faf8f1; margin:0; font-size:1.5rem; }
.cta-band p{ color:#c3cad9; margin:.35em 0 0; }

/* --- breadcrumb --- */
.breadcrumb{ font-family:var(--font-mono); font-size:.76rem; color:var(--ink-faint); padding:18px 0 0; }
.breadcrumb a{ color:var(--ink-faint); text-decoration:none; }
.breadcrumb a:hover{ color:var(--seal); }

/* --- footer --- */
.site-footer{ background:var(--ink); color:#c3cad9; padding-top:56px; }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1.1fr; gap:36px; padding-bottom:40px; }
@media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h3{ color:#f4f1e8; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; font-family:var(--font-mono); font-weight:500; margin-bottom:1em; }
.footer-brand .brand-word{ color:#f4f1e8; }
.footer-brand p{ color:#9aa5bc; font-size:.88rem; margin-top:1em; }
.footer-grid ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6em; }
.footer-grid a{ color:#c3cad9; text-decoration:none; font-size:.88rem; }
.footer-grid a:hover{ color:#fff; }
.footer-map{
  height:220px; margin-bottom:36px;
  border-color:rgba(255,255,255,.14);
  filter:saturate(.9);
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); padding:20px 0; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:10px; font-size:.78rem; color:#8b96ad;
}
.footer-seal{ color:#e0c9a6; font-family:var(--font-mono); }

.skip-link{ position:absolute; left:-999px; top:0; background:var(--ink); color:#fff; padding:10px 16px; z-index:100; }
.skip-link:focus{ left:16px; top:16px; }

/* visually hidden */
.vh{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
