/* Nyertes pályázatok — közös stílus a listaoldalhoz és a projekt-adatlapokhoz.
   Egy helyen szerkeszthető; mindhárom oldal ezt hivatkozza. */

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ background:#FFFFFF; color:#16151A; font-family:'Instrument Sans',sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
a{ color:#9A7440; text-decoration:none; }
a:hover{ color:#16151A; }
img{ display:block; max-width:100%; height:auto; }

.pad{ max-width:1180px; margin:0 auto; padding:0 40px; }
.eyebrow{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:#9A7440; }
.back{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:#6E6D73; display:inline-flex; align-items:center; gap:8px; }
.back:hover{ color:#9A7440; }

.head-wrap{ padding:56px 40px 0; }
.hero{ padding:64px 40px 72px; border-bottom:1px solid #E8E5DF; }
.hero h1{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(36px,6vw,68px); line-height:1.02; letter-spacing:-0.03em; margin-top:22px; }
.hero p{ max-width:620px; margin-top:26px; font-size:18px; color:#6E6D73; }

.status{ display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; border-radius:999px; padding:6px 13px; line-height:1; }
.status-run{ color:#8C6A3F; background:#FAF9F7; border:1px solid #EAE6DE; }
.status-done{ color:#6E6D73; background:#F6F6F5; border:1px solid #E8E5DF; }

/* ── Listaoldal ─────────────────────────────────────────────────────────── */
.lista{ padding:78px 40px; }
.lista-cim{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#9A7440; margin-bottom:26px; }
.kartyak{ display:grid; gap:22px; }
.kartya{ display:block; color:inherit; border:1px solid #E8E5DF; border-radius:8px; padding:34px 36px; background:#FFFFFF; transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; scroll-margin-top:24px; }
.kartya:hover{ color:inherit; border-color:#D8D3C9; box-shadow:0 10px 30px rgba(22,21,26,0.07); transform:translateY(-2px); }
.kartya:focus-visible{ outline:2px solid #9A7440; outline-offset:3px; }
.kartya-fej{ display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin-bottom:16px; }
.kartya-no{ font-family:'Space Grotesk',sans-serif; font-size:44px; font-weight:600; line-height:1; color:transparent; -webkit-text-stroke:1px #C9C6BF; }
.kartya-id{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:#8A8990; letter-spacing:0.02em; }
.kartya h2{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(22px,2.6vw,30px); letter-spacing:-0.02em; max-width:820px; margin-bottom:14px; }
.kartya p{ color:#6E6D73; max-width:720px; }
.kartya-tovabb{ display:inline-flex; align-items:center; gap:9px; margin-top:22px; font-family:'IBM Plex Mono',monospace; font-size:13px; letter-spacing:0.04em; color:#9A7440; }
.kartya:hover .kartya-tovabb{ gap:14px; }
.kartya-tovabb span{ transition:transform .25s ease; }

/* ── Projekt-adatlap ────────────────────────────────────────────────────── */
.proj{ padding:64px 40px 78px; }
.proj-id{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:#8A8990; letter-spacing:0.02em; }
.proj h1{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(28px,3.8vw,44px); letter-spacing:-0.02em; margin:18px 0 34px; max-width:900px; line-height:1.1; }

.facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); background:#FFFFFF; border-top:1px solid #E8E5DF; border-left:1px solid #E8E5DF; border-radius:6px; overflow:hidden; margin-bottom:44px; }
.fact{ padding:22px 24px; border-right:1px solid #E8E5DF; border-bottom:1px solid #E8E5DF; }
.fact dt{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:#8A8990; margin-bottom:9px; }
.fact dd{ font-size:16px; color:#16151A; }
.fact dd strong{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:24px; letter-spacing:-0.01em; }

.body-txt{ max-width:800px; }
.body-txt h3{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:#9A7440; margin-bottom:18px; }
.body-txt p{ color:#55545A; margin-bottom:18px; text-align:justify; hyphens:auto; -webkit-hyphens:auto; text-wrap:pretty; }
.body-txt p.lead{ color:#16151A; font-weight:500; }

.tools{ margin-top:46px; }
.tool-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); background:#FFFFFF; border-top:1px solid #E8E5DF; border-left:1px solid #E8E5DF; border-radius:6px; overflow:hidden; list-style:none; }
.tool-grid li{ padding:20px 24px; border-right:1px solid #E8E5DF; border-bottom:1px solid #E8E5DF; }
.tool-grid strong{ display:block; font-family:'IBM Plex Mono',monospace; font-size:13px; font-weight:500; color:#16151A; letter-spacing:0.01em; }
.tool-grid span{ font-size:14px; color:#6E6D73; }

/* Kötelező arculati logóblokkok kerete. A belső padding miatt a lekerekítés
   nem vágja a képet — a logóblokk torzítás és takarás nélkül jelenik meg. */
.arculat{ margin-top:44px; border:1px solid #E8E5DF; border-radius:6px; padding:8px; background:#FFFFFF; }
.arculat-tervplusz{ max-width:496px; }   /* 480×144 logósáv */
.arculat-erfa{ max-width:436px; }        /* 1453×1004 infoblokk */

footer{ padding:64px 40px; border-top:1px solid #E8E5DF; }
.foot-inner{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:#6E6D73; }

@media (max-width:640px){
  .pad, .head-wrap, .hero, .proj, .lista, footer{ padding-left:22px !important; padding-right:22px !important; }
  .hero{ padding-top:44px; padding-bottom:52px; }
  .lista{ padding-top:52px; padding-bottom:56px; }
  .proj{ padding-top:44px; padding-bottom:56px; }
  .kartya{ padding:26px 22px; }
  .body-txt p{ text-align:left; }
}
