/* ============================================================
   GKAF Private Trust — site styles
   Navy / old-paper / gold. Regal, restrained, print-like.
   Relative-path asset model so the site works mounted at a
   subfolder (test) or a domain root (production) unchanged.
   ============================================================ */

:root{
  --navy:    #0b1836;
  --navy-2:  #0e1f44;
  --navy-3:  #13284f;
  --ink:     #16294e;
  --ink-2:   #34466a;

  --paper:   #efe7d3;
  --paper-2: #f4eee0;
  --paper-3: #faf6ec;
  --line:    #dccfb0;

  --gold:    #c39a3e;
  --gold-2:  #d8b669;

  --on-navy:       #ece4cf;
  --on-navy-muted: #aab4cb;

  --display: 'Cinzel', 'EB Garamond', Georgia, serif;
  --serif:   'EB Garamond', Georgia, 'Times New Roman', serif;

  --wrap: 1300px;
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--serif);
  font-size:18px;
  line-height:1.66;
  color:var(--ink);
  background:var(--paper-2);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 28px; }

.rule{
  width:62px; height:2px; border:0; margin:18px 0;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
}
.rule.center{ margin-left:auto; margin-right:auto; }

/* ============================================================
   Top bar
   ============================================================ */
.topbar{
  position:sticky; top:0; z-index:40;
  background:rgba(9,20,46,.94);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid rgba(196,156,64,.22);
}
.topbar .wrap{ position:relative; display:flex; align-items:center; gap:26px; min-height:78px; }
.brand{ display:flex; align-items:center; gap:14px; text-decoration:none; }
.brand img{ width:42px; height:42px; }
.brand .wordmark{ font-family:var(--display); color:var(--on-navy); line-height:1;
  font-size:19px; letter-spacing:.04em; white-space:nowrap; }
.brand .wordmark b{ font-weight:700; }
.brand .wordmark b::after{ content:"\00a0"; }
.brand .wordmark span{
  display:inline; font-size:19px; font-weight:400; letter-spacing:.04em;
  color:var(--on-navy); text-transform:none; margin:0;
}
.nav{ margin-left:auto; display:flex; align-items:center; gap:15px; }
.nav a{
  font-family:var(--display); font-size:11px; font-weight:600;
  letter-spacing:.085em; text-transform:uppercase; text-decoration:none;
  color:var(--on-navy-muted); padding:6px 0; position:relative;
  transition:color .18s; white-space:nowrap;
}
.nav a:hover{ color:var(--on-navy); }
.nav a.active{ color:#fff; }
.nav a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
}

/* Finex gold "Member Login" box — furthest right on the bar */
.nav a.nav-login{
  color:#22180a; background:linear-gradient(180deg,var(--gold-2),var(--gold));
  border:1px solid var(--gold); border-radius:2px;
  padding:8px 14px; margin-left:4px; letter-spacing:.075em;
  transition:filter .18s;
}
.nav a.nav-login:hover{ color:#22180a; filter:brightness(1.05); }
.nav a.nav-login.active{ color:#22180a; filter:brightness(1.05); }
.nav a.nav-login.active::after{ display:none; }

/* mobile menu — CSS-only checkbox toggle */
.nav-toggle{ display:none; }
.nav-burger{ display:none; }

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 80% 6%, #16305f 0%, rgba(22,48,95,0) 55%),
    linear-gradient(150deg,#0a142e 0%,#0c1c40 55%,#0e2048 100%);
  color:var(--on-navy);
}
.hero-grid{
  position:relative; z-index:3;
  display:grid; grid-template-columns:1fr; align-items:center;
  gap:30px; padding:64px 0 72px;
}
.hero-text{ max-width:min(560px,50%); }
/* left scrim: hold it dark across the whole copy column (ends ~50%) so the text
   never falls on the lightened medal photo, then fade so the medal still shows */
.hero::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, #0a142e 0%, rgba(10,20,46,.95) 46%, rgba(11,26,60,.7) 58%, rgba(11,26,60,0) 80%);
}
.hero-crest{ width:clamp(120px,13vw,148px); height:auto; margin:0 0 18px; display:block;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.45)); }
.hero h1{
  font-family:var(--display); font-weight:700; white-space:nowrap;
  font-size:clamp(26px,4.7vw,47px); line-height:1.04; margin:0;
  letter-spacing:.02em; color:#fbf7ec;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.hero-rule{ width:66px; margin:16px 0; }
.hero .tagline{
  font-family:var(--display); font-weight:600; text-align:left;
  letter-spacing:.13em; text-transform:uppercase;
  font-size:clamp(14px,1.45vw,17.5px); color:#ccd5e6; margin:8px 0 26px;
  text-shadow:0 1px 12px rgba(0,0,0,.6);
}
.hero p{ max-width:none; color:#d3dcec; margin:0 0 16px; font-size:17px; line-height:1.62;
  text-shadow:0 1px 12px rgba(0,0,0,.6); }
/* medal photo (muted, left edge feathered into the navy) bleeding off the right */
.hero-art{
  /* full-bleed: the image is composed with navy on the left for the copy and the
     medal on the right, so it covers the whole hero rather than a right-side panel */
  position:absolute; inset:0;
  width:100%; height:100%; max-width:none;
  object-fit:cover; object-position:right center;
  z-index:1; pointer-events:none;
}

/* ============================================================
   Cards
   ============================================================ */
.cards-section{ background:var(--paper-2); padding:62px 0; border-top:3px solid var(--navy); }
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.card{
  background:var(--paper); border:1px solid var(--line);
  border-radius:4px; padding:40px 32px 32px; text-align:center;
  display:flex; flex-direction:column; align-items:center;
  box-shadow:0 18px 40px -30px rgba(11,24,54,.6);
}
.card .ico{ color:var(--ink); margin-bottom:20px; }
.card .ico svg{ width:60px; height:60px; }
.card h3{
  font-family:var(--display); font-weight:700; font-size:20px;
  letter-spacing:.06em; color:var(--ink); margin:2px 0 0; line-height:1.28;
  min-height:2.56em;   /* reserve two lines so the rule/body/button align across all cards */
}
.card p{ color:var(--ink-2); font-size:16px; margin:18px 0 26px; line-height:1.6; }
.card .spacer{ flex:1; }

/* ---- buttons (single line, arrow pinned right) ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:space-between; gap:16px;
  width:100%; max-width:340px; white-space:nowrap;
  font-family:var(--display); font-weight:600; font-size:12px;
  letter-spacing:.085em; text-transform:uppercase; text-decoration:none;
  color:var(--on-navy); background:var(--navy); border:1px solid var(--navy);
  padding:15px 20px; border-radius:2px; cursor:pointer;
  transition:background .18s, border-color .18s, color .18s, transform .18s;
}
.btn svg{ width:20px; height:20px; color:var(--gold-2); flex:none; transition:transform .18s; }
.btn:hover{ background:#0f2350; border-color:var(--gold); }
.btn:hover svg{ transform:translateX(4px); }
.btn.gold{ background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#22180a; border-color:var(--gold); }
.btn.gold svg{ color:#22180a; }
.btn.gold:hover{ filter:brightness(1.04); }

/* ============================================================
   Assurance strip
   ============================================================ */
.strip{ background:var(--paper-2); padding:0 0 56px; }
.strip .wrap{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px;
  padding-top:34px; border-top:1px solid var(--line); }
.strip .col{ display:flex; gap:16px; }
.strip .col svg{ width:62px; height:62px; color:var(--ink); flex:none; margin-top:2px; }
.strip h4{ font-family:var(--display); font-weight:700; font-size:15px;
  letter-spacing:.07em; color:var(--ink); margin:0 0 7px; }
.strip p{ margin:0; font-size:15.5px; color:var(--ink-2); line-height:1.55; }
.strip address{ font-style:normal; font-size:15.5px; color:var(--ink-2); line-height:1.6; }

/* ============================================================
   Footer
   ============================================================ */
.footer{ background:var(--navy); color:var(--on-navy); padding:50px 0 0; border-top:3px solid var(--gold); }
.footer-grid{ display:grid; grid-template-columns:1.1fr 1.3fr .8fr; gap:40px; padding-bottom:40px; }
.footer .fbrand{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.footer .fbrand img{ width:54px; height:54px; opacity:.96; }
.footer .fbrand .wordmark b{ font-family:var(--display); font-size:18px; letter-spacing:.06em; color:var(--on-navy); display:block; }
.footer .fbrand .wordmark span{ font-family:var(--display); font-size:10.5px; letter-spacing:.32em; color:var(--on-navy-muted); }
.footer h4{ font-family:var(--display); font-weight:700; font-size:12.5px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold-2); margin:0 0 14px; }
.footer p{ font-size:14.5px; color:var(--on-navy-muted); margin:0 0 12px; line-height:1.6; }
.footer ul{ list-style:none; padding:0; margin:0; }
.footer ul li{ margin-bottom:11px; }
.footer ul a{ font-size:14.5px; color:#cbd3e3; text-decoration:none; border-bottom:1px solid rgba(203,211,227,.28); padding-bottom:2px; }
.footer ul a:hover{ color:#fff; border-color:var(--gold-2); }
.footer-medal p{ color:#cbd3e3; }
.footer-medal a{ color:#cbd3e3; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }
.footer-medal a:hover{ color:#fff; }
.footer-crest{ display:block; width:260px; max-width:92%; height:auto; margin:0; opacity:.95; }
.footer-bar{ border-top:1px solid rgba(255,255,255,.1); padding:18px 0; }
.footer-bar .wrap{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.footer-bar span{ font-size:13px; color:var(--on-navy-muted); letter-spacing:.02em; }

/* ============================================================
   Interior pages (login / form / text)
   ============================================================ */
.page{ background:var(--paper-2); }
.page-hero{ background:linear-gradient(150deg,#0a142e,#0e2048); color:var(--on-navy); padding:52px 0 46px; border-bottom:3px solid var(--gold); }
.page-hero .eyebrow{ font-family:var(--display); font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; font-size:12px; color:var(--gold-2); margin:0 0 10px; }
.page-hero h1{ font-family:var(--display); font-weight:700; font-size:clamp(30px,4.4vw,46px);
  margin:0; color:#fbf7ec; letter-spacing:.02em; }
.page-hero p{ max-width:42em; color:#cbd3e3; margin:16px 0 0; }

.panel-wrap{ padding:54px 0 72px; }
.panel{
  background:var(--paper); border:1px solid var(--line); border-radius:4px;
  padding:40px 42px; box-shadow:0 18px 40px -30px rgba(11,24,54,.6);
}
.panel.narrow{ max-width:560px; margin:0 auto; }
.panel.mid{ max-width:760px; margin:0 auto; }
.panel.wide{ max-width:920px; margin:0 auto; }
.panel h2 + .lead{ margin-top:2px; }
.panel .rule{ margin:30px 0 24px; }
.panel h2{ font-family:var(--display); font-weight:700; font-size:23px; letter-spacing:.04em;
  color:var(--ink); margin:0 0 6px; }
.panel .lead{ color:var(--ink-2); margin:0 0 26px; }
.panel p{ color:var(--ink-2); }
.panel a.inline{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }

/* forms */
.field{ margin-bottom:20px; }
.field label{ display:block; font-family:var(--display); font-weight:600; font-size:12px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink); margin-bottom:8px; }
.field input, .field textarea{
  width:100%; font-family:var(--serif); font-size:17px; color:var(--ink);
  background:var(--paper-3); border:1px solid var(--line); border-radius:3px;
  padding:13px 15px; outline:none; transition:border-color .16s, box-shadow .16s;
}
.field textarea{ min-height:148px; resize:vertical; }
.field input:focus, .field textarea:focus{ border-color:var(--gold); box-shadow:0 0 0 3px rgba(195,154,62,.18); }
.field .hint{ font-size:13.5px; color:var(--ink-2); margin-top:7px; }
.form-actions{ margin-top:28px; }
.note{
  background:var(--paper-3); border:1px solid var(--line); border-left:3px solid var(--gold);
  border-radius:3px; padding:16px 18px; font-size:15px; color:var(--ink-2); margin:24px 0 0;
}
.contact-line{ font-family:var(--display); letter-spacing:.04em; font-size:19px; color:var(--ink); }
.contact-line a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }
/* anti-scrape email rendered as an image (no mailto text on the page) */
/* anti-scrape email addresses: mask glyphs painted in currentColor so they take the
   EXACT colour, weight and size of whatever text they sit in (rendered at body weight) */
.email{ display:inline-block; height:1em; vertical-align:-0.296em; background:currentColor;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:0 center; mask-position:0 center;
  -webkit-mask-size:contain; mask-size:contain; }
.email.factsheets{ width:9.335em; -webkit-mask-image:url(email-factsheets.png); mask-image:url(email-factsheets.png); }
.email.providers{ width:9.131em; -webkit-mask-image:url(email-providers.png); mask-image:url(email-providers.png); }
.email.info{ width:7.282em; -webkit-mask-image:url(email-info.png); mask-image:url(email-info.png); }
.enquiry-out{ white-space:pre-wrap; font-family:var(--serif); font-size:15.5px; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:3px; padding:12px 14px;
  margin:10px 0 0; line-height:1.5; }
/* emphasised note — matches the "How to Submit" h2 size, in deep red */
.note.emphasis{ font-size:23px; line-height:1.5; color:#7a1c1c; }
.note.emphasis strong{ color:inherit; }

.kv{ list-style:none; padding:0; margin:22px 0 0; }
.kv li{ display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line); }
.kv li:first-child{ border-top:0; }
.kv svg{ width:26px; height:26px; color:var(--ink); flex:none; margin-top:2px; }
.kv b{ font-family:var(--display); font-weight:700; letter-spacing:.04em; color:var(--ink); display:block; font-size:15px; }
.kv span{ color:var(--ink-2); font-size:16px; }

/* ============================================================
   Legal pages (privacy / cookies / terms / accessibility)
   ============================================================ */
.legal h2{ font-family:var(--display); font-weight:700; font-size:21px; letter-spacing:.04em;
  color:var(--ink); margin:36px 0 10px; }
.legal > .panel > h2:first-child, .legal .lead:first-child{ margin-top:0; }
.legal p{ color:var(--ink-2); margin:0 0 14px; }
/* legal pages carry `.legal` on <body>, so keep the navy hero subtitle light
   (otherwise `.legal p` above overrides `.page-hero p` and it goes dark-on-navy) */
.legal .page-hero p{ color:#cbd3e3; }
/* same reason: shield the navy footer from `.legal p`/`.legal ul` body-copy rules */
.legal .footer p{ color:var(--on-navy-muted); }
.legal .footer-medal p{ color:#cbd3e3; }
.legal .footer ul{ padding-left:0; }
.legal .lead{ color:var(--ink-2); font-size:19px; margin:0 0 8px; }
.legal ul{ margin:12px 0 16px; padding-left:1.3em; color:var(--ink-2); }
.legal li{ margin-bottom:9px; padding-left:4px; line-height:1.55; }
.legal li::marker{ color:var(--gold); }
.legal a.inline{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; }
.legal .updated{ font-size:14px; color:var(--ink-2); font-style:italic; margin:30px 0 0;
  padding-top:18px; border-top:1px solid var(--line); }
.legal address{ font-style:normal; color:var(--ink-2); line-height:1.7; }

.cookie-table{ width:100%; border-collapse:collapse; margin:16px 0 6px; font-size:16px; }
.cookie-table th, .cookie-table td{ text-align:left; padding:12px 14px; border:1px solid var(--line);
  color:var(--ink-2); vertical-align:top; }
.cookie-table th{ font-family:var(--display); font-weight:700; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink); background:var(--paper-3); }
.table-scroll{ overflow-x:auto; }

/* ---- investment proposals: criteria + allocations ---- */
.criteria{ display:grid; grid-template-columns:1fr 1fr; gap:34px; margin:22px 0 4px; }
.crit-h{ font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink); margin:0 0 10px; }
.crit-list{ margin:0; padding-left:1.3em; color:var(--ink-2); }
.crit-list li{ margin-bottom:9px; padding-left:4px; line-height:1.5; }
.crit-list li::marker{ color:var(--gold); }

.alloc-section{ background:var(--paper-2); padding:6px 0 66px; }
.alloc-title{ font-family:var(--display); font-weight:700; font-size:22px; letter-spacing:.05em;
  color:var(--ink); text-align:center; margin:0; }
.alloc-section .rule{ margin:14px auto 30px; }
.alloc-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.alloc-cell{ display:flex; align-items:center; justify-content:center; text-align:center;
  min-height:118px; padding:24px 20px; background:var(--navy); border:1px solid rgba(196,156,64,.20);
  border-radius:3px; }
.alloc-cell img{ max-height:52px; max-width:84%; width:auto; height:auto; opacity:.96; }
.alloc-cell span{ font-family:var(--display); font-weight:600; font-size:14px; letter-spacing:.04em;
  color:var(--on-navy); line-height:1.3; }

/* ============================================================
   Responsive
   ============================================================ */

/* tablet + mobile — hero stacks: medal + ribbon cut-out centred above the text */
@media (max-width:980px){
  /* medal stays a FULL-BLEED background; the copy sits on top of it with a
     vertical navy scrim for legibility (no more separate boxed medal above) */
  .hero-grid{ padding:56px 24px 60px; }
  .hero-text{ max-width:none; }
  .hero-art{ object-position:72% center; }
  .hero::after{
    display:block;
    background:linear-gradient(180deg, rgba(9,18,42,.42) 0%, rgba(9,18,42,.72) 52%, rgba(9,18,42,.93) 100%);
  }
}

/* burger nav — the full bar now carries six items incl. the gold Member Login
   box, so the horizontal bar only fits on wide desktops; collapse to a dropdown
   below 1300px (the content-wrap width) so the wordmark never collides with it */
@media (max-width:1300px){
  .nav-burger{
    display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
    width:46px; height:40px; margin-left:auto; padding:0 10px; cursor:pointer;
    background:transparent; border:1px solid rgba(196,156,64,.38); border-radius:5px;
  }
  .nav-burger span{ display:block; width:100%; height:2px; border-radius:2px;
    background:var(--on-navy); transition:transform .2s, opacity .2s; }
  .nav{
    position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0; margin:0; padding:6px 0;
    background:rgba(7,16,38,.99); backdrop-filter:saturate(140%) blur(8px);
    border-top:1px solid rgba(196,156,64,.22);
    border-bottom:1px solid rgba(196,156,64,.22);
    box-shadow:0 18px 30px -18px rgba(0,0,0,.6);
    display:none;
  }
  .nav a{ display:block; padding:14px 28px; font-size:13px; letter-spacing:.14em; color:var(--on-navy); }
  .nav a + a{ border-top:1px solid rgba(255,255,255,.06); }
  .nav a.active{ color:#fff; }
  .nav a.active::after{ display:none; }
  /* the gold box reverts to a plain dropdown row */
  .nav a.nav-login{ background:none; border:0; border-radius:0; color:var(--gold-2);
    margin-left:0; padding:14px 28px; letter-spacing:.14em; }
  .nav a.nav-login:hover, .nav a.nav-login.active{ filter:none; color:#fff; }
  .nav-toggle:checked ~ .nav{ display:flex; }
  .nav-toggle:checked ~ .nav-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle:checked ~ .nav-burger span:nth-child(2){ opacity:0; }
  .nav-toggle:checked ~ .nav-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}

/* collapse three-up grids */
@media (max-width:880px){
  .cards{ grid-template-columns:1fr; }
  .strip .wrap{ grid-template-columns:1fr; gap:24px; }
  .footer-grid{ grid-template-columns:1fr; gap:30px; }
  .criteria{ grid-template-columns:1fr; gap:6px; }
  .alloc-grid{ grid-template-columns:repeat(3,1fr); }
}

/* phones */
@media (max-width:560px){
  body{ font-size:17px; }
  .wrap{ padding:0 20px; }
  .topbar .wrap{ min-height:64px; gap:14px; }
  .brand img{ width:40px; height:40px; }
  .brand .wordmark b{ font-size:18px; }
  .brand .wordmark span{ font-size:10px; letter-spacing:.28em; }
  .hero-grid{ padding:44px 22px 48px; }
  .hero-crest{ width:110px; margin:0 0 14px; }
  .hero h1{ white-space:normal; }   /* let the title wrap instead of overflowing */
  .hero p{ font-size:16px; }
  .cards-section{ padding:42px 0; }
  .card{ padding:30px 22px 24px; }
  .btn{ max-width:none; }
  .strip{ padding-bottom:42px; }
  .panel-wrap{ padding:38px 0 52px; }
  .panel{ padding:26px 20px; }
  .page-hero{ padding:40px 0 32px; }
  .footer{ padding-top:40px; }
  .footer-bar .wrap{ justify-content:center; text-align:center; }
  .alloc-grid{ grid-template-columns:repeat(2,1fr); }
}

/* footer coat of arms */
@media (max-width:880px){ .footer-crest{ width:210px; margin-top:8px; } }

/* ============================================================
   Language switch (EN | PL) in the top bar
   ============================================================ */
.lang-switch{ display:inline-flex; align-items:center; gap:6px; margin-left:4px;
  font-family:var(--display); font-size:11px; letter-spacing:.085em; }
.lang-switch a{ display:inline-flex; align-items:center; gap:5px; color:var(--on-navy-muted);
  text-decoration:none; padding:6px 2px; transition:color .18s; }
.lang-switch a:hover{ color:var(--on-navy); }
.lang-switch a.active{ color:#fff; }
.lang-switch a.active::after{ display:none; }   /* suppress the .nav active underline here */
.lang-switch span{ color:rgba(203,211,227,.4); }
/* flag swatches, drawn inline as SVG (no image assets to manage) */
.lang-switch a::before{ content:""; display:inline-block; flex:none; width:15px; height:auto;
  aspect-ratio:2/1; vertical-align:-2px; border-radius:2px; background-repeat:no-repeat;
  background-size:cover; box-shadow:0 0 0 1px rgba(255,255,255,.18); }
.lang-switch a[data-lang="en"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23ffffff' stroke-width='6'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23c8102e' stroke-width='2'/%3E%3Cpath d='M30,0 V30 M0,15 H60' stroke='%23ffffff' stroke-width='10'/%3E%3Cpath d='M30,0 V30 M0,15 H60' stroke='%23c8102e' stroke-width='6'/%3E%3C/svg%3E"); }
.lang-switch a[data-lang="pl"]::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='15' fill='%23ffffff'/%3E%3Crect y='15' width='60' height='15' fill='%23dc143c'/%3E%3C/svg%3E"); }
@media (max-width:1300px){
  .lang-switch{ justify-content:center; gap:10px; padding:12px 28px; font-size:13px; letter-spacing:.14em;
    border-top:1px solid rgba(255,255,255,.06); }
  .lang-switch a{ display:inline-flex; padding:0 4px; color:var(--on-navy); }
  .lang-switch a.active{ color:#fff; }
  .lang-switch a::before{ width:17px; }
}
/* Polish nav labels run longer than English; tighten the DESKTOP bar (only) so it
   fits the wrap and does not collide with the wordmark. Mobile burger untouched. */
@media (min-width:1301px){
  html[lang="pl"] .topbar .wrap{ gap:14px; }
  html[lang="pl"] .brand .wordmark, html[lang="pl"] .brand .wordmark span{ font-size:17px; }
  html[lang="pl"] .nav{ gap:9px; }
  html[lang="pl"] .nav a{ font-size:10px; letter-spacing:.04em; }
  html[lang="pl"] .lang-switch{ font-size:10px; letter-spacing:.04em; }
  html[lang="pl"] .nav a.nav-login{ padding:7px 11px; letter-spacing:.04em; }
}

/* ============================================================
   Print — "Print / Save as PDF" (.print-btn) renders the page
   as a plain corporate document; applies to any printed page.
   ============================================================ */
.print-btn{ margin:22px 0 0; }
@media print{
  @page{ margin:18mm 16mm; }
  .nav, .nav-burger, .nav-toggle, .lang-switch, .print-btn, .no-print,
  .footer-medal, .footer-grid > div:last-child, .alloc-section{ display:none !important; }
  body{ background:#fff; }
  .topbar{ border-bottom:1px solid #999; }
  .page-hero{ background:none; color:#000; border-bottom:2px solid #000; padding:16px 0; }
  .page-hero .eyebrow{ color:#333; text-shadow:none; }
  .page-hero h1{ color:#000; text-shadow:none; }
  .page-hero p, .legal .page-hero p{ color:#222; text-shadow:none; }
  .panel-wrap{ padding:14px 0 24px; }
  .panel{ box-shadow:none; border:none; padding:0; }
  .panel h2{ color:#000; }
  .panel p, .panel .lead{ color:#111; }
  .panel a.inline{ color:#000; text-decoration:underline; }
  .footer{ background:#fff; color:#000; border-top:1px solid #000; padding-top:14px; }
  .footer-grid{ padding-bottom:0; }
  .footer h4{ color:#000; }
  .footer p, .legal .footer p{ color:#333; }
  .footer-bar{ border-top:none; }
  .footer-bar span{ color:#000; }
}


/* WordPress admin-bar compatibility */
.admin-bar .topbar{ top:32px; }
@media (max-width:782px){ .admin-bar .topbar{ top:46px; } }
