/* ==========================================================
   aXeL Cro Webdesign – egységes, modern kék-fehér design rendszer
   Tiszta CSS, framework nélkül.
   ========================================================== */

:root{
  --blue-950:#0b1b4f;
  --blue-900:#0f2f7e;
  --blue-800:#1746a2;
  --blue-700:#1d4ed8;
  --blue-600:#2563eb;
  --blue-500:#3b82f6;
  --blue-400:#60a5fa;
  --sky-500:#0ea5e9;
  --cyan-400:#22d3ee;

  --bg:#f6faff;
  --surface:#ffffff;
  --surface-2:#f8fbff;
  --text:#0f172a;
  --text-soft:#334155;
  --muted:#64748b;
  --line:#dce8f7;

  --success:#16a34a;
  --danger:#dc2626;
  --warning:#f59e0b;

  --shadow-xs:0 1px 2px rgba(15, 23, 42, .06);
  --shadow-sm:0 10px 30px rgba(15, 23, 42, .08);
  --shadow-md:0 18px 60px rgba(15, 23, 42, .12);
  --shadow-blue:0 18px 50px rgba(29, 78, 216, .16);

  --radius-sm:12px;
  --radius:18px;
  --radius-lg:26px;
  --radius-xl:34px;

  --container:1120px;
  --section:72px;
  --gap:18px;
  --header-h:76px;

  --font:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(900px 480px at 10% -5%, rgba(59,130,246,.18), transparent 62%),
    radial-gradient(820px 520px at 92% 0%, rgba(14,165,233,.13), transparent 58%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 48%, #f7fbff 100%);
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
p{margin:0 0 1rem}
h1,h2,h3,h4{margin:0;color:var(--text);line-height:1.08;letter-spacing:-.035em}
h1{font-size:clamp(2.55rem, 6vw, 4.85rem)}
h2{font-size:clamp(2rem, 4vw, 3rem)}
h3{font-size:1.22rem}
ul{margin:0;padding:0}
.container{width:min(var(--container), calc(100% - 40px));margin-inline:auto}
.site-main{min-height:58vh}

:focus-visible{outline:4px solid rgba(37,99,235,.24);outline-offset:3px;border-radius:10px}
.skip-link{position:absolute;left:-999px;top:14px;background:var(--blue-950);color:#fff;padding:10px 14px;border-radius:999px;z-index:9999}
.skip-link:focus{left:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(220,232,247,.82);
}

.site-header.is-scrolled{box-shadow:0 12px 34px rgba(15,23,42,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:245px}
.brand-mark{
  width:46px;height:46px;display:grid;place-items:center;
  border-radius:16px;
  color:#fff;
  font-weight:900;
  letter-spacing:-.06em;
  background:linear-gradient(135deg, var(--blue-700), var(--sky-500));
  box-shadow:var(--shadow-blue);
}
.brand-text{display:flex;flex-direction:column;gap:2px;line-height:1.15}
.brand-name{font-weight:900;letter-spacing:-.03em}
.brand-tagline{font-size:.77rem;color:var(--muted);font-weight:650}

.site-nav{display:flex;align-items:center;gap:6px}
.nav-link{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:999px;
  color:var(--text-soft);
  font-weight:750;
  font-size:.93rem;
  border:1px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.nav-link:hover{background:#eff6ff;color:var(--blue-700);border-color:#dbeafe;transform:translateY(-1px)}
.nav-link.is-active{background:#eaf3ff;color:var(--blue-800);border-color:#cfe2ff}
.nav-cta{
  margin-left:4px;
  color:#fff !important;
  background:linear-gradient(135deg,var(--blue-700),var(--sky-500)) !important;
  box-shadow:var(--shadow-blue);
  border-color:transparent !important;
}
.nav-toggle{
  display:none;
  width:46px;height:46px;border:1px solid var(--line);border-radius:16px;background:#fff;
  box-shadow:var(--shadow-xs);position:relative;
}
.nav-toggle-lines,.nav-toggle-lines::before,.nav-toggle-lines::after{
  content:"";position:absolute;left:50%;width:20px;height:2px;background:var(--blue-900);border-radius:999px;transform:translateX(-50%);
}
.nav-toggle-lines{top:50%}
.nav-toggle-lines::before{top:-7px}
.nav-toggle-lines::after{top:7px}

/* Page sections */
.hero{position:relative;padding:86px 0 58px;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(540px 300px at 80% 18%, rgba(14,165,233,.16), transparent 66%),
    radial-gradient(460px 280px at 22% 28%, rgba(37,99,235,.15), transparent 70%);
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:42px;align-items:center}
.hero-copy{max-width:690px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 12px;margin-bottom:18px;
  border:1px solid #dbeafe;border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--blue-700);
  font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.075em;
  box-shadow:var(--shadow-xs);
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:99px;background:linear-gradient(135deg,var(--blue-600),var(--sky-500))}
.accent{
  color:transparent;
  background:linear-gradient(100deg,var(--blue-800),var(--blue-500),var(--sky-500));
  -webkit-background-clip:text;background-clip:text;
}
.lead{font-size:clamp(1.05rem, 1.6vw, 1.25rem);color:var(--text-soft);max-width:62ch;margin:18px 0 0}
.lead-sm{font-size:1.02rem;color:var(--text-soft);margin:0}
.hero-actions,.cta-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}

/* Buttons */
.btn{
  --btn-bg:#fff;
  --btn-color:var(--text);
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  border:1px solid #d7e5f7;
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-color);
  font-weight:850;
  font-size:.95rem;
  line-height:1;
  white-space:nowrap;
  box-shadow:var(--shadow-xs);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:#c7d8ee}
.btn:active{transform:translateY(0)}
.btn-primary{
  --btn-bg:linear-gradient(135deg,var(--blue-700),var(--sky-500));
  --btn-color:#fff;
  border-color:transparent;
  box-shadow:var(--shadow-blue);
}
.btn-ghost{--btn-bg:#ffffff;--btn-color:var(--blue-800)}
.btn-block{width:100%}

/* Hero proof + visual */
.proof{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:14px;margin-top:30px}
.proof-item{
  min-height:106px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.84);
  box-shadow:var(--shadow-xs);
}
.proof-num{font-size:1rem;font-weight:950;color:var(--blue-900);letter-spacing:-.03em}
.proof-label{margin-top:6px;color:var(--muted);font-size:.9rem;line-height:1.35}
.hero-card{position:relative}
.glass-card{
  border:1px solid rgba(220,232,247,.94);
  border-radius:var(--radius-xl);
  overflow:hidden;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow-md);
}
.glass-top{height:50px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#f8fbff)}
.dot{width:10px;height:10px;border-radius:99px}.d1{background:#ef4444}.d2{background:#f59e0b}.d3{background:#22c55e}
.glass-title{font-size:.82rem;color:var(--muted);font-weight:850;margin-left:4px}
.glass-body{padding:22px}
.kpi{
  display:grid;grid-template-columns:1fr auto;gap:12px;
  padding:14px 0;border-bottom:1px dashed #d9e8f8;align-items:center;
}
.kpi:first-child{padding-top:0}.kpi:last-of-type{border-bottom:0}
.kpi-label{font-size:.82rem;color:var(--muted);font-weight:800}
.kpi-value{font-weight:950;color:var(--blue-900)}
.mini-list{display:grid;gap:10px;margin:16px 0 18px}
.mini-item{padding:11px 12px;border:1px solid #e0ecfa;background:#f8fbff;border-radius:14px;color:var(--text-soft);font-weight:650}
.hero-bg{display:none}

/* Generic sections/components */
.section{padding:var(--section) 0}
.section-alt{background:linear-gradient(180deg,rgba(239,246,255,.78),rgba(255,255,255,.86));border-block:1px solid var(--line)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.section-head h2{max-width:760px}
.section-head .muted{max-width:630px}
.muted{color:var(--muted)}
.small{font-size:.86rem}
.center{text-align:center}
.mt-16{margin-top:16px}.mt-24{margin-top:24px}

.page-hero{position:relative;padding:62px 0 34px;overflow:hidden}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(520px 260px at 82% 10%, rgba(14,165,233,.12), transparent 68%),
    radial-gradient(480px 260px at 16% 20%, rgba(29,78,216,.12), transparent 70%);
}
.page-hero .container{max-width:var(--container)}
.page-hero h1{font-size:clamp(2.4rem, 5vw, 4.4rem)}
.page-hero .lead{max-width:760px}

/* Cards/grids */
.card-grid,.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:var(--gap);
  align-items:stretch;
}
.card,.portfolio-card,.quote,.cta{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}
.card,.portfolio-card{
  min-height:100%;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.card h2,.card h3,.portfolio-card h3{letter-spacing:-.035em}
.card p,.portfolio-card p{color:var(--text-soft)}
.card-meta{margin-top:auto;color:var(--muted);font-size:.9rem;font-weight:750;padding-top:10px}
.portfolio-card{overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.portfolio-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#c8def7}
.portfolio-card img{width:100%;height:220px;object-fit:cover;border-radius:18px;border:1px solid var(--line);background:#eef6ff}
.portfolio-top{display:flex;flex-direction:column;gap:12px;min-height:100%}
.portfolio-badge,.badge,.chip{
  display:inline-flex;align-items:center;justify-content:center;
  width:max-content;min-height:28px;padding:0 10px;border-radius:999px;
  border:1px solid #d7e8fb;background:#eff6ff;color:var(--blue-800);
  font-size:.78rem;font-weight:900;
}
.portfolio-actions{margin-top:auto;padding-top:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.link{color:var(--blue-700);font-weight:900}
.link:hover{text-decoration:underline;text-underline-offset:3px}

.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:stretch}
.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.pill{
  display:inline-flex;align-items:center;min-height:30px;padding:0 11px;
  border:1px solid #dcecff;border-radius:999px;
  background:#f4f9ff;color:var(--blue-900);
  font-size:.82rem;font-weight:850;
}
.quote{padding:28px;background:linear-gradient(135deg,#fff,#f2f8ff)}
.quote-text{font-size:1.25rem;font-weight:850;line-height:1.35;color:var(--blue-950);margin:0}
.quote-by{margin:12px 0 0;color:var(--muted);font-weight:750}
.cta{padding:26px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(135deg,#fff,#eff7ff)}
.cta h2{font-size:clamp(1.5rem, 3vw, 2.1rem)}
.cta .muted{margin:8px 0 0}

/* Lists/forms */
.checklist{display:grid;gap:10px;list-style:none;padding:0;margin:4px 0 0;color:var(--text-soft)}
.checklist li{position:relative;padding-left:30px}
.checklist li::before{
  content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:7px;
  background:linear-gradient(135deg,var(--blue-700),var(--sky-500));
  box-shadow:0 8px 18px rgba(29,78,216,.18);
}
.checklist li::after{
  content:"";position:absolute;left:7px;top:.48em;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.form{display:grid;gap:14px;margin-top:14px}
.field{display:grid;gap:7px;margin:0}
label{font-size:.9rem;font-weight:850;color:var(--blue-950)}
input,select,textarea{
  width:100%;
  min-height:48px;
  border:1px solid #d8e5f5;
  border-radius:16px;
  background:#fff;
  color:var(--text);
  padding:12px 14px;
  outline:0;
  box-shadow:var(--shadow-xs);
  transition:border-color .18s ease, box-shadow .18s ease;
}
textarea{min-height:140px;resize:vertical}
select{appearance:auto}
input:focus,select:focus,textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 4px rgba(59,130,246,.13)}
.hp{display:none}
.alert{padding:14px 16px;border-radius:16px;border:1px solid var(--line);margin:14px 0 0;font-weight:750}
.alert-success{border-color:rgba(34,197,94,.25);background:#ecfdf5;color:#166534}
.alert-error{border-color:rgba(220,38,38,.24);background:#fef2f2;color:#991b1b}
.divider{height:1px;background:var(--line);margin:16px 0}
.prose{display:block}
.prose p{color:var(--text-soft);margin-bottom:1rem}
.prose h2{margin:0 0 1rem}
.prose h3{margin:1.2rem 0 .5rem}

/* Footer */
.site-footer{margin-top:40px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#f6faff)}
.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr 1fr;gap:26px;padding:38px 0}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-title{font-weight:950;letter-spacing:-.035em}.footer-sub{font-size:.85rem;color:var(--muted);font-weight:700}
.footer-note{margin-top:14px;color:var(--text-soft);max-width:48ch}
.footer-col-title{font-weight:950;margin-bottom:10px;color:var(--blue-950)}
.footer-link{display:block;padding:7px 0;color:var(--text-soft);font-weight:650}
.footer-link:hover{color:var(--blue-700)}
.footer-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0 28px;color:var(--muted);border-top:1px solid var(--line)}
.to-top{font-weight:850;color:var(--blue-700)}

/* Admin shared elements */
.admin-wrap{background:linear-gradient(180deg,#f7fbff,#fff)}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.table{font-size:.94rem}
.table .btn{min-height:38px;padding:0 13px;font-size:.86rem}

/* Responsive */
@media (max-width: 1020px){
  :root{--section:58px}
  .hero-grid{grid-template-columns:1fr;gap:28px}
  .hero-copy{max-width:none}
  .hero-card{max-width:620px}
  .proof{grid-template-columns:repeat(3,1fr)}
  .card-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .container{width:min(100% - 28px, var(--container))}
  .site-header{min-height:68px}
  .brand{min-width:auto}.brand-tagline{display:none}
  .nav-toggle{display:inline-block}
  .site-nav{
    display:none;position:absolute;top:calc(100% + 10px);left:14px;right:14px;
    flex-direction:column;align-items:stretch;gap:6px;
    padding:10px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-md)
  }
  .site-nav.is-open{display:flex}
  .nav-link{justify-content:flex-start;width:100%}.nav-cta{margin-left:0;justify-content:center}
  .hero{padding:54px 0 38px}
  .proof,.card-grid,.portfolio-grid,.split{grid-template-columns:1fr}
  .section-head,.cta{display:block}
  .cta-actions{margin-top:18px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .portfolio-card img{height:200px}
}
@media (max-width: 430px){
  h1{font-size:2.35rem}
  .btn{width:100%}
  .hero-actions,.cta-actions{width:100%}
  .glass-body,.card,.portfolio-card,.cta,.quote{padding:18px}
}

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

/* --------------------------------------------------------------------------
   Compact design finomhangolás
   Cél: ugyanaz a modern kék-fehér irány, de kevésbé "óriási" méretek.
-------------------------------------------------------------------------- */

:root{
  --container: 1060px;
  --radius: 14px;
  --radius2: 20px;
  --shadow: 0 14px 42px rgba(15, 23, 42, .09);
  --shadow2: 0 8px 22px rgba(15, 23, 42, .06);
}

body{
  font-size: 15.5px;
  line-height: 1.58;
}

.container{
  width: min(var(--container), calc(100% - 36px));
}

.site-header .header-inner,
.header-inner{
  padding: 10px 0;
}

.brand-mark{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  font-size: 14px;
}

.brand-name{
  font-size: 14.5px;
}

.brand-tagline{
  font-size: 11px;
}

.nav-link{
  padding: 8px 10px;
  border-radius: 10px;
  font-size: 14px;
}

.hero{
  padding: 38px 0 16px;
}

.hero-grid{
  gap: 22px;
}

.hero h1{
  font-size: clamp(31px, 4.2vw, 46px);
  line-height: 1.08;
  letter-spacing: -1px;
  margin: 8px 0 10px;
}

.lead{
  font-size: 16.5px;
  max-width: 60ch;
  margin-bottom: 14px;
}

.lead-sm{
  font-size: 15.5px;
}

.eyebrow{
  font-size: 11px;
}

.hero-actions{
  margin: 14px 0 14px;
  gap: 8px;
}

.btn{
  padding: 10px 13px;
  border-radius: 12px;
  font-size: 14px;
  min-height: 40px;
}

.proof{
  gap: 10px;
  margin-top: 12px;
}

.proof-item{
  padding: 10px 11px;
  border-radius: 14px;
}

.proof-num{
  font-size: 14px;
}

.proof-label{
  font-size: 11.5px;
}

.hero-card{
  top: 78px;
}

.glass-card{
  border-radius: 20px;
}

.glass-top{
  padding: 11px 12px;
}

.glass-body{
  padding: 13px 14px 15px;
}

.kpi{
  padding: 8px 0;
}

.kpi-value{
  font-size: 14px;
}

.mini-list{
  margin: 9px 0 13px;
}

.mini-item{
  font-size: 12.5px;
  padding: 4px 0;
}

.section{
  padding: 34px 0;
}

.section-head{
  margin-bottom: 14px;
}

.section-head h2{
  font-size: clamp(23px, 3vw, 28px);
  line-height: 1.15;
  margin-bottom: 5px;
}

.card-grid,
.portfolio-grid{
  gap: 12px;
}

.card,
.portfolio-card{
  padding: 15px;
  border-radius: 15px;
}

.card h2,
.card h3,
.portfolio-card h3{
  margin-top: 0;
  line-height: 1.22;
}

.card h2{
  font-size: 21px;
}

.card h3,
.portfolio-card h3{
  font-size: 18px;
}

.card p,
.portfolio-card p{
  margin-top: 6px;
  margin-bottom: 8px;
}

.card-meta{
  margin-top: 8px;
  font-size: 11.5px;
}

.checklist{
  margin-top: 9px;
}

.checklist li{
  margin: 6px 0;
}

.split{
  gap: 12px;
}

.pill-row{
  gap: 8px;
  margin-top: 10px;
}

.pill,
.badge,
.chip{
  padding: 6px 9px;
  font-size: 11.5px;
}

.quote{
  padding: 18px;
  border-radius: 19px;
}

.quote-text{
  font-size: 16.5px;
}

.cta{
  padding: 15px;
  border-radius: 20px;
}

.cta h2{
  font-size: 20px;
}

.page-hero{
  padding: 28px 0 6px;
}

.page-hero h1{
  font-size: clamp(30px, 4vw, 39px);
  margin: 7px 0 8px;
}

.portfolio-badge{
  padding: 5px 9px;
  font-size: 11.5px;
  margin-bottom: 8px;
}

.field{
  gap: 5px;
  margin: 10px 0;
}

label{
  font-size: 12.5px;
}

input,
textarea,
select{
  padding: 10px 11px;
  border-radius: 12px;
  font-size: 14px;
}

textarea{
  min-height: 130px;
}

.alert{
  padding: 10px 11px;
  border-radius: 12px;
}

.divider{
  margin: 12px 0;
}

.mt-16{
  margin-top: 13px;
}

.mt-24{
  margin-top: 18px;
}

.footer-grid{
  padding: 22px 0;
  gap: 14px;
}

.footer-note{
  margin-top: 10px;
}

.footer-link{
  padding: 6px 0;
}

.footer-bottom{
  padding: 12px 0 18px;
}

.admin-wrap{
  padding: 18px 0 34px;
}

.admin-topbar{
  padding: 12px 14px;
  border-radius: 18px;
}

.table th,
.table td{
  padding: 10px 10px;
}

@media (max-width: 980px){
  .hero{
    padding-top: 30px;
  }

  .section{
    padding: 30px 0;
  }
}

@media (max-width: 720px){
  .container{
    width: min(var(--container), calc(100% - 28px));
  }

  .site-nav{
    top: 60px;
  }

  .hero h1{
    font-size: clamp(29px, 9vw, 38px);
  }

  .lead{
    font-size: 15.5px;
  }

  .section{
    padding: 28px 0;
  }

  .card,
  .portfolio-card{
    padding: 14px;
  }

  .cta{
    align-items: flex-start;
  }
}

/* --------------------------------------------------------------------------
   Interaktív showcase + webdesign demo komponensek
-------------------------------------------------------------------------- */

.section-head-center{
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.section-showcase{
  position: relative;
  overflow: hidden;
}

.section-showcase::before{
  content:"";
  position:absolute;
  inset: 30px auto auto 50%;
  width: 520px;
  height: 520px;
  transform: translateX(-50%);
  background: radial-gradient(circle, rgba(29,78,216,.08), transparent 62%);
  pointer-events:none;
}

.showcase-grid{
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.showcase-card{
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 16px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.90));
  box-shadow: var(--shadow2);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.showcase-card:hover{
  transform: translateY(-3px);
  border-color: rgba(29,78,216,.20);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .10);
}

.showcase-icon{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(29,78,216,.13), rgba(14,165,233,.12));
  color: var(--accent);
  font-size: 20px;
  font-weight: 950;
  border: 1px solid rgba(29,78,216,.12);
}

.showcase-card h3{
  margin: 0;
  font-size: 17px;
  line-height: 1.22;
}

.showcase-card p{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.mini-ajax-demo{
  margin-top: auto;
}

.mini-form-row{
  display:flex;
  gap: 8px;
  margin-top: 7px;
}

.mini-form-row input{
  min-width: 0;
}

.demo-result,
.demo-panel{
  margin-top: 9px;
  padding: 10px 11px;
  border-radius: 13px;
  border: 1px dashed rgba(29,78,216,.24);
  background: rgba(29,78,216,.055);
  color: var(--muted);
  font-size: 13px;
}

.demo-result.is-success{
  color: #14532d;
  border-color: rgba(34,197,94,.28);
  background: rgba(34,197,94,.10);
}

.pjax-demo{
  display:flex;
  flex-wrap:wrap;
  gap: 7px;
  margin-top: auto;
}

.demo-tab{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.88);
  color: var(--muted);
  border-radius: 999px;
  padding: 7px 10px;
  font-weight: 900;
  font-size: 12px;
  cursor:pointer;
  transition: .18s ease;
}

.demo-tab:hover,
.demo-tab.is-active{
  color: var(--accent);
  border-color: rgba(29,78,216,.22);
  background: rgba(29,78,216,.08);
}

.demo-panel{
  transition: opacity .18s ease, transform .18s ease;
}

.demo-panel.is-changing{
  opacity: .15;
  transform: translateY(3px);
}

.parallax-demo{
  position: relative;
  min-height: 152px;
  margin-top: auto;
  border-radius: 17px;
  overflow: hidden;
  border: 1px solid rgba(29,78,216,.12);
  background:
    radial-gradient(circle at 25% 20%, rgba(14,165,233,.18), transparent 28%),
    radial-gradient(circle at 82% 72%, rgba(29,78,216,.16), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(239,248,255,.92));
}

.parallax-orb{
  position:absolute;
  display:block;
  border-radius: 999px;
  filter: blur(.2px);
  transition: transform .18s linear;
}

.orb-one{
  width: 74px;
  height: 74px;
  left: 18px;
  top: 22px;
  background: rgba(14,165,233,.22);
}

.orb-two{
  width: 96px;
  height: 96px;
  right: -18px;
  bottom: -16px;
  background: rgba(29,78,216,.18);
}

.orb-three{
  width: 34px;
  height: 34px;
  right: 48px;
  top: 28px;
  background: rgba(56,189,248,.32);
}

.parallax-card{
  position:absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  padding: 11px;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow2);
}

.parallax-card strong,
.parallax-card span{
  display:block;
}

.parallax-card strong{
  font-size: 14px;
}

.parallax-card span{
  color: var(--muted2);
  font-size: 12px;
}

.compact-feature-list{
  margin: auto 0 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-size: 13px;
}

.compact-feature-list li{
  position: relative;
  padding-left: 18px;
  margin: 6px 0;
}

.compact-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
}

.tech-section{
  padding-top: 22px;
}

.tech-shell{
  display:grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 22px;
  align-items:center;
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow2);
}

.tech-shell h2{
  margin: 6px 0 6px;
  font-size: clamp(23px, 3vw, 28px);
  line-height: 1.12;
}

.tech-cloud{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 8px;
}

.tech-cloud span{
  display:inline-flex;
  align-items:center;
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(29,78,216,.15);
  background: rgba(29,78,216,.06);
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 900;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.tech-cloud span:hover{
  transform: translateY(-2px);
  background: rgba(29,78,216,.10);
  color: var(--accent);
}

.reveal-on-scroll{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
}

.reveal-on-scroll.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Finomabb, egységesebb hoverek a meglévő komponenseken */
.card,
.portfolio-card,
.cta,
.glass-card{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.card:hover,
.portfolio-card:hover{
  transform: translateY(-2px);
  border-color: rgba(29,78,216,.18);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .09);
}

.btn{
  position: relative;
  overflow: hidden;
}

.btn::after{
  content:"";
  position:absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent);
  transform: translateX(-120%);
  transition: transform .45s ease;
}

.btn:hover::after{
  transform: translateX(120%);
}

.btn > *,
.btn{
  isolation: isolate;
}

@media (max-width: 1080px){
  .showcase-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px){
  .showcase-grid{
    grid-template-columns: 1fr;
  }

  .tech-shell{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .tech-cloud{
    justify-content:flex-start;
  }

  .mini-form-row{
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce){
  .reveal-on-scroll{
    opacity:1;
    transform:none;
  }

  .parallax-orb,
  .demo-panel,
  .showcase-card,
  .card,
  .portfolio-card,
  .btn::after{
    transition:none !important;
  }
}

/* --------------------------------------------------------------------------
   Showcase fejléc javítás
   A section-head-center mostantól nem örököl széteső grid/flex viselkedést.
-------------------------------------------------------------------------- */

.section-showcase .section-head-center{
  display: block;
  text-align: center;
  max-width: 820px;
  margin: 0 auto 22px;
}

.section-showcase .section-head-center .eyebrow{
  display: inline-flex;
  margin: 0 auto 10px;
  align-items: center;
  justify-content: center;
}

.section-showcase .section-head-center h2{
  max-width: 680px;
  margin: 0 auto 10px;
  text-align: center;
}

.section-showcase .section-head-center .muted{
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  font-size: 15.5px;
}

.section-showcase .showcase-grid{
  margin-top: 18px;
}

@media (max-width: 760px){
  .section-showcase .section-head-center{
    text-align: left;
    margin-bottom: 18px;
  }

  .section-showcase .section-head-center .eyebrow{
    margin-left: 0;
    margin-right: 0;
  }

  .section-showcase .section-head-center h2,
  .section-showcase .section-head-center .muted{
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
}

/* --------------------------------------------------------------------------
   Showcase fejléc balra zárása
   Következetesebb az előtte lévő "Miért működik?" szekcióval.
-------------------------------------------------------------------------- */

.section-showcase .section-head-center{
  display: block;
  text-align: left;
  max-width: 100%;
  margin: 0 0 18px;
}

.section-showcase .section-head-center .eyebrow{
  display: inline-flex;
  margin: 0 0 10px;
  align-items: center;
  justify-content: flex-start;
}

.section-showcase .section-head-center h2{
  max-width: 760px;
  margin: 0 0 8px;
  text-align: left;
}

.section-showcase .section-head-center .muted{
  max-width: 780px;
  margin: 0;
  text-align: left;
  font-size: 15.5px;
}

.section-showcase .showcase-grid{
  margin-top: 18px;
}

/* --------------------------------------------------------------------------
   2. kör – főoldal letisztítás és egységesítés
   Cél: kevesebb zsúfoltság, erősebb ügyfélfókusz, a meglévő kék-fehér arculat megtartásával.
-------------------------------------------------------------------------- */

:root{
  --accent: var(--blue-700);
  --accent2: var(--sky-500);
  --muted2: #94a3b8;
  --radius2: 20px;
}

.home-hero-clean{
  padding-top: 44px;
  padding-bottom: 34px;
}

.home-hero-clean .hero-grid{
  align-items: center;
  gap: 34px;
}

.home-hero-clean .hero-card{
  top: auto;
}

.home-hero-clean .lead{
  max-width: 62ch;
}

.proof-clean{
  margin-top: 18px;
}

.proof-clean .proof-item{
  min-height: auto;
}

.home-services .section-head,
.home-process .section-head{
  align-items: flex-start;
}

.service-grid-clean{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-card-clean{
  position: relative;
  overflow: hidden;
  gap: 10px;
}

.service-card-clean::after{
  content:"";
  position:absolute;
  inset: auto 18px 0 18px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(29,78,216,.22), rgba(14,165,233,.22));
}

.service-card-highlight{
  border-color: rgba(29,78,216,.22);
  background: linear-gradient(180deg, #ffffff, #f2f8ff);
}

.card-kicker{
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid #d7e8fb;
  background: #eff6ff;
  color: var(--blue-800);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.home-about-strip .split-balanced{
  grid-template-columns: 1.08fr .92fr;
  align-items: stretch;
}

.about-card-clean,
.why-card-clean{
  justify-content: center;
}

.about-card-clean h2{
  font-size: clamp(24px, 3.1vw, 34px);
  line-height: 1.13;
}

.checklist-roomy{
  gap: 13px;
}

.process-grid-clean{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.process-card-clean{
  min-height: 100%;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow2);
}

.process-card-clean span{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 11px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(29,78,216,.12), rgba(14,165,233,.12));
  color: var(--blue-800);
  font-size: 13px;
  font-weight: 950;
  border: 1px solid rgba(29,78,216,.12);
}

.process-card-clean h3{
  margin-bottom: 7px;
  font-size: 17px;
}

.process-card-clean p{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.cta-clean{
  align-items: center;
}

.cta-clean .eyebrow{
  margin-bottom: 10px;
}

.final-panel-clean{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  border-radius: var(--radius2);
  border: 1px solid rgba(29,78,216,.16);
  background:
    radial-gradient(440px 180px at 82% 10%, rgba(14,165,233,.13), transparent 68%),
    linear-gradient(135deg, #ffffff, #eff7ff);
  box-shadow: var(--shadow-sm);
}

.final-panel-clean h2{
  font-size: clamp(24px, 3.3vw, 34px);
  line-height: 1.13;
}

.final-panel-clean .muted{
  max-width: 660px;
  margin-top: 8px;
}

.home-final-cta{
  padding-top: 24px;
}

/* A 2. körben a főoldali technikai demók kikerültek, a kapcsolódó régi blokkok rejtve maradnak, ha cache-ből még megjelennének. */
.home-hero-clean ~ .section-showcase,
.home-hero-clean ~ .tech-section{
  display: none;
}

@media (max-width: 1020px){
  .home-hero-clean .hero-grid,
  .home-about-strip .split-balanced{
    grid-template-columns: 1fr;
  }

  .home-hero-clean .hero-card{
    max-width: 620px;
  }

  .process-grid-clean{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px){
  .home-hero-clean{
    padding-top: 34px;
    padding-bottom: 24px;
  }

  .service-grid-clean,
  .process-grid-clean{
    grid-template-columns: 1fr;
  }

  .proof-clean{
    grid-template-columns: 1fr;
  }

  .home-services .section-head,
  .home-process .section-head{
    display: block;
  }

  .final-panel-clean,
  .cta-clean{
    display: block;
  }

  .final-panel-clean .cta-actions,
  .cta-clean .cta-actions{
    margin-top: 18px;
  }
}

@media (max-width: 430px){
  .final-panel-clean,
  .process-card-clean{
    padding: 18px;
  }
}

/* --------------------------------------------------------------------------
   3. kör – aloldalak egységesítése és ügyfélszerzésre hangolása
   Cél: Szolgáltatások, Rólam, Kapcsolat és Referenciák oldalak egységesebb,
   bizalomépítőbb és kevésbé technikai megfogalmazása.
-------------------------------------------------------------------------- */

.services-hero .lead,
.about-hero .lead,
.contact-hero .lead,
.portfolio-hero .lead{
  max-width: 820px;
}

.services-hero .hero-actions,
.contact-hero .hero-actions,
.portfolio-hero .hero-actions{
  margin-top: 18px;
}

.services-grid-pro{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-detail-card{
  position: relative;
  overflow: hidden;
}

.service-detail-card::after{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(29,78,216,.20), rgba(14,165,233,.20));
}

.service-detail-main{
  border-color: rgba(29,78,216,.24);
  background:
    radial-gradient(320px 160px at 88% 0%, rgba(14,165,233,.12), transparent 66%),
    linear-gradient(180deg, #ffffff, #f3f9ff);
}

.solution-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.solution-card{
  min-height: 100%;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow2);
}

.solution-card strong{
  display:block;
  margin-bottom: 7px;
  color: var(--blue-950);
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.solution-card p{
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.services-cta{
  border-color: rgba(29,78,216,.16);
}

.about-hero-grid,
.contact-hero-grid,
.portfolio-hero-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
  gap: 22px;
  align-items: center;
}

.about-profile-card,
.contact-mini-card,
.portfolio-note-card{
  padding: 18px;
  border: 1px solid rgba(220,232,247,.96);
  border-radius: var(--radius2);
  background:
    radial-gradient(260px 130px at 85% 0%, rgba(14,165,233,.12), transparent 70%),
    rgba(255,255,255,.88);
  box-shadow: var(--shadow2);
}

.about-profile-card h2{
  margin: 10px 0 7px;
  font-size: 20px;
}

.about-profile-card p,
.contact-mini-card p,
.portfolio-note-card p{
  margin: 0;
  color: var(--muted);
}

.contact-mini-card strong,
.portfolio-note-card strong{
  display:block;
  margin-bottom: 8px;
  color: var(--blue-950);
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.profile-mark{
  width: 50px;
  height: 50px;
  display:grid;
  place-items:center;
  border-radius: 18px;
  color:#fff;
  font-weight: 950;
  letter-spacing: -.05em;
  background: linear-gradient(135deg, var(--blue-700), var(--sky-500));
  box-shadow: var(--shadow-blue);
}

.about-split-pro{
  grid-template-columns: 1.1fr .9fr;
}

.about-story-card h2{
  font-size: clamp(24px, 3.2vw, 34px);
  line-height: 1.14;
}

.about-story-card p:last-child{
  margin-bottom: 0;
}

.about-values-card{
  justify-content: center;
}

.about-tech-shell{
  align-items: flex-start;
}

.about-fit-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-layout-pro{
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  align-items: start;
}

.contact-form-card h2,
.contact-help-card h2,
.contact-direct-card h2{
  font-size: clamp(22px, 3vw, 28px);
}

.contact-side-stack{
  display:grid;
  gap: 12px;
}

.contact-form-pro{
  gap: 12px;
}

.form-row-2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.check-consent{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid #d8e5f5;
  border-radius: 14px;
  background: #f8fbff;
  color: var(--text-soft);
  font-size: 13px;
  line-height: 1.45;
}

.check-consent input{
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 1px;
  padding: 0;
  box-shadow: none;
}

.contact-direct-card{
  background: linear-gradient(135deg, #fff, #f2f8ff);
}

.portfolio-filter-card{
  gap: 14px;
}

.filter-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 18px;
}

.filter-head h2{
  font-size: clamp(22px, 3vw, 28px);
}

.filter-head .muted{
  max-width: 430px;
}

.portfolio-filter-form{
  margin-top: 0;
}

.filter-actions{
  margin-top: 4px;
}

.portfolio-grid-pro{
  align-items: stretch;
}

.portfolio-card-pro{
  position: relative;
  overflow: hidden;
}

.portfolio-card-pro::after{
  content:"";
  position:absolute;
  inset: auto 18px 0 18px;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(29,78,216,.18), rgba(14,165,233,.18));
}

.portfolio-placeholder{
  width: 100%;
  height: 190px;
  display:grid;
  place-items:center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background:
    radial-gradient(220px 120px at 75% 10%, rgba(14,165,233,.18), transparent 65%),
    linear-gradient(135deg, #eff6ff, #ffffff);
}

.portfolio-placeholder span{
  width: 58px;
  height: 58px;
  display:grid;
  place-items:center;
  border-radius: 20px;
  color:#fff;
  font-weight:950;
  letter-spacing:-.05em;
  background: linear-gradient(135deg, var(--blue-700), var(--sky-500));
  box-shadow: var(--shadow-blue);
}

.portfolio-empty-card{
  grid-column: 1 / -1;
  min-height: auto;
}

.portfolio-cta-pro{
  background:
    radial-gradient(360px 160px at 84% 0%, rgba(14,165,233,.12), transparent 68%),
    linear-gradient(135deg, #ffffff, #eff7ff);
}

@media (max-width: 1020px){
  .services-grid-pro,
  .solution-grid,
  .about-fit-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-hero-grid,
  .contact-hero-grid,
  .portfolio-hero-grid,
  .about-split-pro,
  .contact-layout-pro{
    grid-template-columns: 1fr;
  }

  .about-profile-card,
  .contact-mini-card,
  .portfolio-note-card{
    max-width: 640px;
  }
}

@media (max-width: 760px){
  .services-grid-pro,
  .solution-grid,
  .about-fit-grid,
  .form-row-2{
    grid-template-columns: 1fr;
  }

  .filter-head{
    display:block;
  }

  .filter-head .muted{
    max-width: none;
  }

  .contact-mini-card,
  .portfolio-note-card,
  .about-profile-card{
    padding: 16px;
  }
}

/* --------------------------------------------------------------------------
   4. kor - mobilnezet, finomhangolas es reszletpolir
   Cel: kenyelmesebb telefonos hasznalat, egysegesebb kartyak, jobb urlap UX.
-------------------------------------------------------------------------- */

body.nav-open{
  overflow: hidden;
}

.site-header{
  transition: box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines{
  background: transparent;
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines::before{
  top: 0;
  transform: translateX(-50%) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle-lines::after{
  top: 0;
  transform: translateX(-50%) rotate(-45deg);
}

.card,
.portfolio-card,
.cta,
.quote,
.contact-mini-card,
.portfolio-note-card,
.about-profile-card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover,
.contact-mini-card:hover,
.portfolio-note-card:hover,
.about-profile-card:hover{
  border-color: #cbdff7;
}

input:focus,
textarea:focus,
select:focus{
  border-color: rgba(37,99,235,.48);
  box-shadow: 0 0 0 4px rgba(37,99,235,.10), var(--shadow-xs);
  outline: none;
}

input::placeholder,
textarea::placeholder{
  color: #94a3b8;
}

.field-hint{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.form-footer-row{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-top: 4px;
}

.form-footer-row .small{
  margin: 0;
}

.btn.is-loading{
  opacity: .82;
  pointer-events: none;
}

.contact-response-card{
  background:
    radial-gradient(260px 130px at 88% 0%, rgba(37,99,235,.10), transparent 70%),
    linear-gradient(135deg, #ffffff, #f5faff);
}

.response-list{
  margin: 2px 0 0;
  padding-left: 20px;
  color: var(--text-soft);
}

.response-list li{
  margin: 8px 0;
  padding-left: 4px;
}

.filter-summary{
  max-width: 460px;
  display:grid;
  gap: 8px;
  justify-items: end;
  text-align: right;
}

.filter-summary .muted{
  margin: 0;
}

.portfolio-card-pro .portfolio-placeholder,
.portfolio-card-pro img{
  margin-bottom: 2px;
}

.portfolio-card-pro .pill-row{
  margin-top: 2px;
}

.portfolio-actions .link{
  min-height: 34px;
  display:inline-flex;
  align-items:center;
}

.alert{
  position: relative;
  padding-left: 42px;
}

.alert::before{
  position:absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.alert-success::before{
  content: "✓";
  color:#fff;
  background:#16a34a;
}

.alert-error::before{
  content: "!";
  color:#fff;
  background:#dc2626;
}

.footer-link,
.link{
  text-underline-offset: 3px;
}

.footer-link:hover,
.link:hover{
  text-decoration: underline;
}

@media (max-width: 980px){
  .filter-summary{
    justify-items: start;
    text-align: left;
    max-width: none;
  }

  .contact-side-stack{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-direct-card{
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px){
  .site-header{
    min-height: 64px;
  }

  .brand{
    min-width: 0;
  }

  .brand-tagline{
    max-width: 176px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .site-nav{
    left: 14px;
    right: 14px;
    width: auto;
    max-height: calc(100vh - 82px);
    overflow-y: auto;
    padding: 12px;
    border-radius: 20px;
    box-shadow: 0 22px 70px rgba(15,23,42,.18);
  }

  .site-nav::before{
    content:"";
    position:fixed;
    inset: 64px 0 0;
    z-index:-1;
    background: rgba(15,23,42,.14);
    backdrop-filter: blur(2px);
  }

  .nav-link{
    min-height: 46px;
    border-radius: 14px;
  }

  .page-hero{
    padding-top: 26px;
  }

  .page-hero h1,
  .hero h1{
    letter-spacing: -.8px;
  }

  .hero-actions,
  .cta-actions,
  .filter-actions{
    width: 100%;
  }

  .hero-actions .btn,
  .cta-actions .btn,
  .filter-actions .btn{
    flex: 1 1 180px;
  }

  .contact-side-stack{
    grid-template-columns: 1fr;
  }

  .contact-direct-card{
    grid-column: auto;
  }

  .form-footer-row{
    display:grid;
    gap: 10px;
  }

  .form-footer-row .btn{
    width: 100%;
  }

  .field-hint{
    align-items:flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .portfolio-placeholder,
  .portfolio-card img{
    height: 170px;
  }

  .portfolio-actions{
    gap: 10px;
  }
}

@media (max-width: 430px){
  .container{
    width: min(var(--container), calc(100% - 24px));
  }

  .brand-mark{
    width: 36px;
    height: 36px;
  }

  .brand-name{
    font-size: 13.5px;
  }

  .brand-tagline{
    max-width: 132px;
    font-size: 10.5px;
  }

  .hero-actions .btn,
  .cta-actions .btn,
  .filter-actions .btn,
  .contact-form-pro .btn{
    width: 100%;
    flex-basis: 100%;
  }

  .card,
  .portfolio-card,
  .cta,
  .quote,
  .contact-mini-card,
  .portfolio-note-card,
  .about-profile-card{
    border-radius: 18px;
  }

  .portfolio-placeholder,
  .portfolio-card img{
    height: 155px;
  }

  .alert{
    padding: 12px 12px 12px 40px;
  }
}

@media (max-width: 760px){
  body.nav-open::before{
    content:"";
    position: fixed;
    inset: 64px 0 0;
    z-index: 99;
    background: rgba(15,23,42,.14);
    backdrop-filter: blur(2px);
  }

  .site-nav::before{
    content: none;
  }
}

/* --------------------------------------------------------------------------
   6. kor - elesites elotti vegso finomhangolas
   Cel: referencia reszletezo, admin portfoliotippek, ugyfelbarat ures allapotok.
-------------------------------------------------------------------------- */

.project-hero-pro .lead{
  max-width: 780px;
}

.project-hero-grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
  gap: 22px;
  align-items: center;
}

.project-summary-card,
.project-empty-gallery,
.admin-launch-card{
  border: 1px solid rgba(220,232,247,.96);
  border-radius: var(--radius2);
  background:
    radial-gradient(300px 150px at 85% 0%, rgba(14,165,233,.12), transparent 70%),
    rgba(255,255,255,.92);
  box-shadow: var(--shadow2);
}

.project-summary-card{
  padding: 18px;
}

.project-facts{
  list-style:none;
  padding:0;
  margin: 10px 0 0;
  display:grid;
  gap: 10px;
}

.project-facts li{
  display:flex;
  justify-content:space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(226,232,240,.86);
}

.project-facts li:last-child{
  border-bottom:0;
}

.project-facts span{
  color: var(--muted);
  font-size: 13px;
}

.project-facts strong{
  color: var(--blue-950);
  text-align:right;
  font-size: 13px;
}

.project-detail-layout{
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
  align-items:start;
}

.project-story-card h2,
.project-cta-card h2,
.project-empty-gallery h2{
  font-size: clamp(22px, 3vw, 30px);
}

.project-story-card p:last-child{
  margin-bottom: 0;
}

.reference-writing-tip{
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #d8e5f5;
  border-radius: 16px;
  background: #f8fbff;
  color: var(--text-soft);
  display:grid;
  gap: 4px;
}

.reference-writing-tip strong{
  color: var(--blue-950);
}

.project-cta-card{
  display:grid;
  gap: 12px;
}

.project-cta-card .btn{
  width: fit-content;
}

.project-gallery-card{
  margin:0;
}

.project-gallery-card img{
  display:block;
}

.project-empty-gallery{
  padding: 20px;
}

.admin-launch-card{
  margin-top: 14px;
  padding: 16px;
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
  gap: 18px;
  align-items:start;
}

.admin-launch-card h2{
  margin: 4px 0 8px;
  font-size: clamp(20px, 3vw, 26px);
}

.admin-launch-card .checklist{
  margin:0;
}

@media (max-width: 1020px){
  .project-hero-grid,
  .project-detail-layout,
  .admin-launch-card{
    grid-template-columns: 1fr;
  }

  .project-summary-card{
    max-width: 680px;
  }
}

@media (max-width: 760px){
  .project-facts li{
    display:grid;
    gap: 4px;
  }

  .project-facts strong{
    text-align:left;
  }

  .project-cta-card .btn{
    width: 100%;
  }
}
