/* CuraMeno design system (v1.0, design_system_starter) + alkalmazás-szintű
   generikus komponensek (kártya, form, táblázat, tag stb.), hogy a marketing
   makett stílusai és a 20 app-modul funkcionális oldalai ugyanazt a
   vizuális nyelvet használják. */

:root{
  --ink:#1E3A3D; --teal-deep:#2F6169; --teal:#4A8990; --teal-soft:#8FBAB9;
  --mist:#D9E8E3; --paper:#F2F6F4; --paper-alt:#FFFFFF;
  --coral:#E2735C; --coral-deep:#C85A45; --gold:#C79A46; --gold-light:#E8D5A8;
  --r-s:8px; --r-m:16px; --r-l:28px; --maxw:1220px;
  --border:rgba(47,97,105,.14);
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#E7F0EE; --teal-deep:#8FC0CA; --teal:#6FA8B3; --teal-soft:#3d6f7a;
    --mist:#26383a; --paper:#16211f; --paper-alt:#1c2b29;
    --coral:#E0997F; --coral-deep:#e2a68f; --gold:#d9b878; --gold-light:#3a3222;
    --border:rgba(255,255,255,.12);
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Work Sans',sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:500; margin:0 0 .4em; color:var(--teal-deep); letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.eyebrow{font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:var(--coral-deep); font-weight:500; display:flex; align-items:center; gap:.55em;}
.eyebrow::before{content:""; width:18px; height:1px; background:var(--coral-deep); display:inline-block;}

/* ---- buttons ---- */
.btn{display:inline-flex; align-items:center; gap:8px; font-family:'Work Sans',sans-serif; font-weight:600; font-size:.92rem; padding:11px 22px; border-radius:999px; cursor:pointer; border:none; background:var(--teal-deep); color:#fff;}
.btn:hover{background:var(--teal);}
.btn-primary{background:var(--coral); color:#fff;}
.btn-primary:hover{background:var(--coral-deep);}
.btn-ghost{background:transparent; color:var(--teal-deep); border:1.5px solid var(--teal-deep);}
.btn-ghost:hover{background:var(--mist);}

/* ---- flag ---- */
.planflag{background:var(--teal-deep); color:#fff; text-align:center; padding:9px 16px; font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;}

/* ---- NAV ---- */
header.site{position:sticky; top:0; z-index:60; background:rgba(242,246,244,0.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
@media (prefers-color-scheme: dark){ header.site{ background:rgba(22,33,31,0.94); } }
.navrow{max-width:var(--maxw); margin:0 auto; padding:12px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{width:32px; height:32px; border-radius:8px; border:1px solid var(--border); background:#fff; object-fit:cover;}
.brand span{font-family:'Fraunces',serif; font-weight:600; font-size:1.15rem; color:var(--teal-deep);}
nav.links{display:flex; gap:18px; flex-wrap:wrap; row-gap:6px;}
nav.links a{font-size:.85rem; font-weight:500; color:var(--ink); opacity:.8; white-space:nowrap;}
nav.links a:hover{color:var(--coral-deep); opacity:1;}
nav.links .tag.badge-expert{opacity:1;}
.navcta{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.navcta .login{font-size:.85rem; opacity:.75;}
.navcta form{margin:0;}
.langswitch select{font-size:.8rem; padding:4px 8px; border-radius:999px; border:1px solid var(--border); background:var(--paper-alt); color:var(--ink);}
.searchrow{background:var(--paper-alt); border-bottom:1px solid var(--border); padding:10px 0;}
.searchrow input[type=search]{width:100%; max-width:var(--maxw); margin:0 auto; display:block;}

/* ---- HERO ---- */
.hero{padding:70px 0 50px;}
.hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:50px; align-items:center;}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2.2rem,4vw,3.4rem); line-height:1.08; margin-top:16px;}
.hero h1 em{font-style:normal; color:var(--coral-deep);}
.hero p.lead{font-size:1.1rem; color:var(--ink); opacity:.78; max-width:480px; margin-top:18px;}
.hero .ctas{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
.trustline{margin-top:34px; display:flex; gap:26px; flex-wrap:wrap;}
.trustline .t{font-family:'IBM Plex Mono',monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--teal);}
.trustline .t b{display:block; font-family:'Fraunces',serif; font-size:1.15rem; text-transform:none; letter-spacing:0; color:var(--ink); font-weight:500;}

.hero-visual{position:relative; min-height:340px;}
.float-card{position:relative; background:var(--paper-alt); border-radius:var(--r-m); box-shadow:0 24px 50px -20px rgba(47,97,105,0.35); border:1px solid var(--border); padding:20px; margin-bottom:16px; max-width:320px;}
.card-tracker .we{font-family:'IBM Plex Mono',monospace; font-size:.64rem; text-transform:uppercase; letter-spacing:.08em; color:var(--teal);}
.card-tracker h4{font-size:1.05rem; margin-top:6px;}
.card-tracker .row{display:flex; justify-content:space-between; align-items:center; background:var(--mist); border-radius:10px; padding:10px 14px; margin-top:10px;}
.card-tracker .row .l{font-size:.78rem; color:var(--teal-deep); font-weight:500;}
.card-tracker .row .v{font-family:'Fraunces',serif; color:var(--coral-deep); font-size:1rem;}
.card-ai .we{font-family:'IBM Plex Mono',monospace; font-size:.62rem; text-transform:uppercase; letter-spacing:.08em; color:var(--coral-deep);}
.card-ai p{font-size:.85rem; margin:10px 0 0; background:var(--paper); border-radius:12px; padding:10px 12px;}
.card-ai .src{font-size:.68rem; opacity:.55; margin-top:8px;}

/* ---- generic section ---- */
section{padding:70px 0;}
.sechead{max-width:640px; margin-bottom:40px;}
.sechead h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-top:12px;}
.sechead p{margin-top:14px; opacity:.75; font-size:1.02rem;}
.sechead.center{margin-left:auto; margin-right:auto; text-align:center;}
.sechead.center .eyebrow{justify-content:center;}

/* ---- pillars ---- */
.pillars{background:var(--paper-alt);}
.pillar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:900px){.pillar-grid{grid-template-columns:1fr;}}
.pillar-card{background:var(--paper); border-radius:var(--r-m); padding:30px 26px; border:1px solid var(--border);}
.pillar-icon{width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; color:#fff; font-size:1.2rem; margin-bottom:18px; background:var(--teal-deep);}
.pillar-card h3{font-size:1.2rem;}
.pillar-card p{font-size:.92rem; opacity:.75; margin-top:10px;}
.pillar-card a{font-size:.82rem; font-weight:600; color:var(--coral-deep); margin-top:16px; display:inline-block;}

/* ---- AI section ---- */
.ai-section{background:var(--teal-deep); color:#fff;}
.ai-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr;}}
.ai-section .eyebrow{color:var(--gold-light);}
.ai-section .eyebrow::before{background:var(--gold-light);}
.ai-section h2{color:#fff; margin-top:12px;}
.ai-section p.lead{color:var(--mist); margin-top:14px; opacity:.9;}
.ai-list{margin-top:22px; display:flex; flex-direction:column; gap:12px;}
.ai-list div{display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--mist);}
.ai-list span.dot{width:6px; height:6px; border-radius:50%; background:var(--gold); margin-top:8px; flex:none;}
.chatmock{background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); border-radius:var(--r-m); padding:24px;}
.bubble{border-radius:14px; padding:12px 16px; font-size:.88rem; margin-bottom:12px; max-width:88%;}
.bubble.user{background:rgba(255,255,255,0.14); margin-left:auto; color:#fff;}
.bubble.ai{background:#fff; color:var(--ink);}
.bubble.ai .cite{display:block; margin-top:8px; font-family:'IBM Plex Mono',monospace; font-size:.66rem; color:var(--teal); opacity:.8;}

/* ---- knowledge preview / cards ---- */
.article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:900px){.article-grid{grid-template-columns:1fr;}}
.article-card{background:var(--paper-alt); border-radius:var(--r-m); overflow:hidden; border:1px solid var(--border);}
.article-thumb{height:150px; background:linear-gradient(135deg,var(--mist),var(--teal-soft));}
.article-body{padding:20px;}
.article-card h4{font-size:1.05rem; margin-top:12px; line-height:1.3;}
.article-card .meta{font-size:.76rem; opacity:.55; margin-top:10px;}

/* ---- providers ---- */
.providers{background:var(--paper-alt);}
.prov-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:900px){.prov-grid{grid-template-columns:1fr;}}
.prov-card{border:1px solid var(--border); border-radius:var(--r-m); padding:24px; display:flex; gap:16px; align-items:flex-start;}
.avatar{width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-weight:600; color:#fff; font-size:1.1rem; flex:none; background:var(--coral-deep);}
.prov-card h4{font-size:1.05rem;}
.prov-card .role{font-size:.8rem; color:var(--teal); font-weight:500; margin-top:2px;}
.prov-card .book{font-size:.78rem; font-weight:600; color:var(--coral-deep); margin-top:10px; display:inline-block;}

/* ---- community ---- */
.community{text-align:center;}
.quote{font-family:'Fraunces',serif; font-size:clamp(1.4rem,2.6vw,2rem); color:var(--teal-deep); max-width:720px; margin:0 auto; line-height:1.4;}
.quote-src{margin-top:18px; font-family:'IBM Plex Mono',monospace; font-size:.74rem; color:var(--coral-deep); text-transform:uppercase; letter-spacing:.06em;}

/* ---- cta band ---- */
.ctaband{background:var(--coral); color:#fff; text-align:center;}
.ctaband h2{color:#fff; font-size:clamp(1.8rem,3.4vw,2.6rem);}
.ctaband p{opacity:.9; margin-top:12px; font-size:1.05rem;}
.ctaband .btn-primary{background:#fff; color:var(--coral-deep); margin-top:26px;}

/* ---- footer ---- */
footer{background:var(--teal-deep); color:var(--mist); padding:60px 0 30px;}
.foot-grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px;}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-brand .brand span{color:#fff;}
.foot-brand p{font-size:.85rem; opacity:.75; margin-top:14px; max-width:280px;}
footer h5{font-family:'IBM Plex Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-light); margin-bottom:14px;}
footer ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
footer ul a{font-size:.86rem; opacity:.85;}
footer ul a:hover{opacity:1; color:#fff;}
.foot-bottom{margin-top:50px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.15); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.78rem; opacity:.65;}

/* ================================================================
   Alkalmazás-szintű generikus komponensek (a 20 funkcionális
   app-modul oldalaihoz -- a makett ezekre nem tért ki, mert
   marketing-oldalra készült, de az egész oldalnak ugyanazt a
   design-nyelvet kell használnia).
   ================================================================ */
.container{max-width:860px; margin:0 auto; padding:24px 32px;}

.card{background:var(--paper-alt); border:1px solid var(--border); border-radius:var(--r-m); padding:20px 22px; margin-bottom:16px;}
.card h3{margin-top:0;}

form p{display:flex; flex-direction:column; gap:.3rem; margin:0 0 12px;}
label{font-size:.85rem; font-weight:600; color:var(--teal-deep);}
input, textarea, select{padding:10px 12px; border:1px solid var(--border); border-radius:var(--r-s); font-size:.95rem; font-family:'Work Sans',sans-serif; background:var(--paper-alt); color:var(--ink);}
input:focus, textarea:focus, select:focus{outline:2px solid var(--teal-soft); outline-offset:1px;}

.muted{color:var(--ink); opacity:.6; font-size:.9rem;}

.messages{list-style:none; padding:0; margin:0 0 16px;}
.messages li{background:var(--gold-light); border:1px solid var(--gold); padding:.6rem .9rem; border-radius:var(--r-s); margin-bottom:.5rem; font-size:.92rem;}

.tag{display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; background:var(--mist); color:var(--teal-deep); padding:4px 10px; border-radius:999px; margin-right:4px;}
.tag.badge-expert{background:var(--gold-light); color:var(--ink);}

table{border-collapse:collapse; width:100%; margin-bottom:1rem;}
th, td{padding:.5rem .7rem; border-bottom:1px solid var(--border); text-align:left; font-size:.9rem;}
th{font-family:'IBM Plex Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--teal-deep);}

pre{background:var(--mist); padding:12px; border-radius:var(--r-s); overflow-x:auto; font-size:.85rem;}
