/* ==================================================
   SwedLife — Premium Dark UI
   ================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --bg:    #060810;
  --bg2:   #0c0f1e;
  --bg3:   #111428;
  --b:     rgba(255,255,255,.06);
  --bh:    rgba(255,255,255,.12);
  --text:  #f0f4ff;
  --muted: #6b7db3;
  --dim:   #3d4f78;
  --p:     #6366f1;
  --pl:    #818cf8;
  --cyan:  #06b6d4;
  --grn:   #10b981;
  --amb:   #f59e0b;
  --rose:  #f43f5e;
  --font:  'Inter', sans-serif;
  --r:     14px;
  --rl:    20px;
  --tr:    all .22s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--font); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
input, select, button { font-family:var(--font); }

/* Utils */
.grad { background:linear-gradient(135deg,var(--pl),var(--cyan)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.eyebrow { display:inline-block; background:rgba(99,102,241,.1); border:1px solid rgba(99,102,241,.2); color:var(--pl); padding:.3rem .9rem; border-radius:30px; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.9rem; }
.pli-link { display:inline-flex; align-items:center; gap:.3rem; color:var(--pl); font-size:.8rem; font-weight:600; transition:var(--tr); }
.pli-link:hover { gap:.5rem; }
.affiliate-link .aff-badge { background:rgba(16,185,129,.15); color:var(--grn); font-size:.65rem; font-weight:700; padding:.1rem .4rem; border-radius:20px; }

/* Source bar */
.src-bar { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem .6rem; padding:.75rem 1rem; background:rgba(99,102,241,.05); border:1px solid rgba(99,102,241,.12); border-radius:var(--r); margin-bottom:1.5rem; font-size:.78rem; color:var(--muted); }
.src-bar i { color:var(--pl); }
.src-bar a { color:var(--pl); font-weight:600; }
.src-bar a:hover { text-decoration:underline; }

/* Navbar */
.navbar { position:fixed; top:0; left:0; right:0; z-index:900; background:rgba(6,8,16,.6); backdrop-filter:blur(20px); border-bottom:1px solid var(--b); transition:background .3s; }
.nav-inner { max-width:1200px; margin:0 auto; padding:0 2rem; height:64px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:.5rem; font-size:1.4rem; font-weight:800; cursor:pointer; }
.logo em { color:var(--pl); font-style:normal; }
.nav-right { display:flex; align-items:center; gap:.75rem; }
.nav-pill { display:flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.05); border:1px solid var(--b); color:var(--muted); padding:.45rem 1rem; border-radius:8px; font-size:.82rem; font-weight:500; cursor:pointer; transition:var(--tr); }
.nav-pill:hover { color:var(--text); border-color:var(--bh); }
.nav-pill.primary { background:linear-gradient(135deg,var(--p),#4f46e5); border-color:transparent; color:#fff; font-weight:600; }
.nav-pill.primary:hover { opacity:.9; transform:translateY(-1px); }

/* Hero */
.hero { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:8rem 2rem 5rem; position:relative; overflow:hidden; }
.glow { position:absolute; border-radius:50%; pointer-events:none; filter:blur(100px); opacity:.14; }
.g1 { width:700px; height:700px; background:radial-gradient(#6366f1,transparent); top:-300px; left:-150px; animation:gd 18s ease-in-out infinite alternate; }
.g2 { width:500px; height:500px; background:radial-gradient(#06b6d4,transparent); top:-150px; right:-100px; animation:gd 22s ease-in-out infinite alternate; animation-delay:-6s; }
.g3 { width:400px; height:400px; background:radial-gradient(#8b5cf6,transparent); bottom:-100px; left:45%; animation:gd 26s ease-in-out infinite alternate; animation-delay:-12s; }
@keyframes gd { to { transform:translate(40px,30px) scale(1.15); } }
.hero-content { position:relative; z-index:2; max-width:860px; }
.hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.04); border:1px solid var(--b); color:var(--muted); padding:.4rem 1rem; border-radius:30px; font-size:.8rem; font-weight:500; margin-bottom:1.75rem; }
.dot { width:7px; height:7px; border-radius:50%; background:var(--grn); box-shadow:0 0 8px var(--grn); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(.8)} }
.hero h1 { font-size:4.2rem; font-weight:900; letter-spacing:-.03em; line-height:1.1; margin-bottom:1.25rem; }
.hero p { font-size:1.15rem; color:var(--muted); max-width:600px; margin:0 auto 2.5rem; line-height:1.7; }
.hero-cta { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-bottom:3rem; }
.btn-primary { display:inline-flex; align-items:center; gap:.6rem; background:linear-gradient(135deg,var(--p),#4f46e5); color:#fff; padding:.85rem 2rem; border-radius:10px; font-size:.95rem; font-weight:700; border:none; cursor:pointer; transition:var(--tr); box-shadow:0 4px 24px rgba(99,102,241,.35); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 6px 30px rgba(99,102,241,.5); }
.btn-ghost { display:inline-flex; align-items:center; gap:.6rem; background:rgba(255,255,255,.05); border:1px solid var(--b); color:var(--text); padding:.85rem 2rem; border-radius:10px; font-size:.95rem; font-weight:600; cursor:pointer; transition:var(--tr); }
.btn-ghost:hover { background:rgba(255,255,255,.08); border-color:var(--bh); }
.hero-stats { display:flex; align-items:center; justify-content:center; gap:2rem; }
.hstat { display:flex; flex-direction:column; align-items:center; }
.hstat span { font-size:1.7rem; font-weight:800; background:linear-gradient(135deg,#fff,#94a3b8); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.hstat label { font-size:.75rem; color:var(--muted); font-weight:500; }
.sep { width:1px; height:36px; background:var(--b); }
.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); color:var(--dim); animation:bob 2s ease-in-out infinite; }
@keyframes bob { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }

/* Steps strip */
.steps-strip { background:rgba(99,102,241,.05); border-top:1px solid rgba(99,102,241,.1); border-bottom:1px solid rgba(99,102,241,.1); padding:1.1rem 0; }
.steps-inner { max-width:1200px; margin:0 auto; padding:0 2rem; display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.steps-label { font-size:.78rem; font-weight:700; color:var(--pl); white-space:nowrap; }
.steps-flow { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.steps-flow span { font-size:.8rem; color:var(--muted); font-weight:500; }
.steps-flow i { color:var(--dim); font-size:.65rem; }

/* Departments */
.departments { max-width:1200px; margin:0 auto; padding:5rem 2rem 6rem; }
.dept-header { text-align:center; margin-bottom:3.5rem; }
.dept-header h2 { font-size:2.2rem; font-weight:800; margin-bottom:.75rem; letter-spacing:-.02em; }
.dept-header p { color:var(--muted); }
.cards-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }

/* Card */
.dept-card { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:var(--rl); padding:1.5rem; cursor:pointer; transition:var(--tr); position:relative; overflow:hidden; display:flex; flex-direction:column; gap:1rem; }
.dept-card:hover { background:rgba(255,255,255,.04); border-color:var(--bh); transform:translateY(-4px); box-shadow:0 8px 32px rgba(0,0,0,.4); }
.card-accent { position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--c1),var(--c2)); opacity:0; transition:var(--tr); }
.dept-card:hover .card-accent { opacity:1; }
.card-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.2rem; flex-shrink:0; }
.nl-icon { background:linear-gradient(135deg,#8b5cf6,#06b6d4) !important; }
.card-body h3 { font-size:.95rem; font-weight:700; margin-bottom:.4rem; }
.card-body p { font-size:.78rem; color:var(--muted); line-height:1.5; margin-bottom:.75rem; }
.card-tags { display:flex; flex-wrap:wrap; gap:.3rem; }
.card-tags span { background:rgba(255,255,255,.04); border:1px solid var(--b); color:var(--muted); font-size:.65rem; font-weight:500; padding:.15rem .5rem; border-radius:20px; }
.card-meta { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--b); padding-top:.75rem; font-size:.72rem; color:var(--muted); }
.card-arrow { width:26px; height:26px; border-radius:8px; background:rgba(99,102,241,.1); color:var(--pl); display:flex; align-items:center; justify-content:center; font-size:.7rem; transition:var(--tr); }
.dept-card:hover .card-arrow { background:var(--p); color:#fff; transform:translateX(3px); }

/* Newsletter section */
.nl-section { background:var(--bg2); border-top:1px solid var(--b); border-bottom:1px solid var(--b); padding:5rem 2rem; }
.nl-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.nl-text h2 { font-size:2rem; font-weight:800; margin-bottom:1rem; letter-spacing:-.02em; line-height:1.2; }
.nl-text p { color:var(--muted); margin-bottom:1.5rem; }
.nl-perks { display:flex; flex-direction:column; gap:.6rem; }
.nl-perks li { display:flex; align-items:center; gap:.6rem; font-size:.88rem; color:var(--muted); }
.nl-perks i { color:var(--grn); font-size:.8rem; }
.nl-form-box { display:flex; flex-direction:column; gap:.75rem; }
.nl-form-box input { background:rgba(255,255,255,.04); border:1px solid var(--b); border-radius:10px; padding:.9rem 1.1rem; color:var(--text); font-size:.95rem; outline:none; transition:var(--tr); }
.nl-form-box input:focus { border-color:var(--p); }
.nl-form-box button { background:linear-gradient(135deg,var(--p),#4f46e5); color:#fff; border:none; border-radius:10px; padding:.9rem; font-size:.95rem; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:.5rem; transition:var(--tr); box-shadow:0 4px 20px rgba(99,102,241,.3); }
.nl-form-box button:hover { transform:translateY(-2px); }
.nl-note { font-size:.75rem; color:var(--dim); text-align:center; }

/* Footer */
.footer { padding:4rem 2rem 2rem; border-top:1px solid var(--b); }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand p { font-size:.85rem; color:var(--muted); line-height:1.6; margin:.75rem 0 1.25rem; }
.social-row { display:flex; gap:.6rem; }
.social-row a { width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.04); border:1px solid var(--b); display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.85rem; transition:var(--tr); }
.social-row a:hover { color:var(--text); border-color:var(--bh); }
.footer-col h4 { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--dim); margin-bottom:1rem; }
.footer-col ul { display:flex; flex-direction:column; gap:.6rem; }
.footer-col a { font-size:.85rem; color:var(--muted); transition:var(--tr); }
.footer-col a:hover { color:var(--text); }
.footer-bottom { max-width:1100px; margin:0 auto; border-top:1px solid var(--b); padding-top:1.5rem; text-align:center; }
.footer-bottom p { font-size:.78rem; color:var(--dim); margin-bottom:.3rem; }
.disclaimer { font-size:.7rem; opacity:.6; }

/* Overlay + Panel */
.overlay { position:fixed; inset:0; background:rgba(0,0,0,.65); backdrop-filter:blur(4px); z-index:1000; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.overlay.active { opacity:1; pointer-events:all; }
.panel { position:fixed; top:0; right:0; bottom:0; width:min(680px,100vw); background:#0f1225; border-left:1px solid var(--b); z-index:1001; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .38s cubic-bezier(.4,0,.2,1); }
.panel.open { transform:translateX(0); }
.panel-header { background:rgba(255,255,255,.02); border-bottom:1px solid var(--b); padding:1.5rem 2rem; flex-shrink:0; position:sticky; top:0; }
.panel-close { position:absolute; top:1.25rem; right:1.5rem; width:32px; height:32px; border-radius:8px; background:rgba(255,255,255,.05); border:1px solid var(--b); color:var(--muted); font-size:.9rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:var(--tr); }
.panel-close:hover { color:var(--text); border-color:var(--bh); }
.panel-title-wrap { display:flex; align-items:center; gap:1rem; padding-right:3rem; }
.panel-icon { width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.3rem; flex-shrink:0; }
.panel-title-wrap h2 { font-size:1.3rem; font-weight:800; }
.panel-title-wrap p { font-size:.82rem; color:var(--muted); }
.panel-body { flex:1; overflow-y:auto; padding:2rem; scrollbar-width:thin; scrollbar-color:var(--b) transparent; }
.panel-body::-webkit-scrollbar { width:5px; }
.panel-body::-webkit-scrollbar-thumb { background:var(--b); border-radius:10px; }

/* Panel content shared */
.pl-section { margin-bottom:2.5rem; }
.pl-stitle { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); display:flex; align-items:center; gap:.5rem; margin-bottom:1.25rem; padding-bottom:.75rem; border-bottom:1px solid var(--b); }
.pl-tip { background:rgba(99,102,241,.06); border:1px solid rgba(99,102,241,.15); border-radius:var(--r); padding:1rem 1.1rem; font-size:.83rem; color:var(--muted); display:flex; gap:.6rem; align-items:flex-start; line-height:1.6; margin-top:1rem; }
.pl-tip i { color:var(--pl); margin-top:.15rem; flex-shrink:0; }
.pl-tip a { color:var(--pl); }
.warn-tip { background:rgba(245,158,11,.05); border-color:rgba(245,158,11,.2); }
.warn-tip i { color:var(--amb); }
.pl-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.pl-item { background:rgba(255,255,255,.025); border:1px solid var(--b); border-radius:var(--r); padding:1.5rem; display:flex; flex-direction:column; gap:.75rem; transition:var(--tr); }
.pl-item:hover { border-color:var(--bh); }
.pl-item.featured { grid-column:1/-1; background:rgba(99,102,241,.04); border-color:rgba(99,102,241,.2); }
.pli-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.1rem; }
.pli-tag { display:inline-block; background:rgba(99,102,241,.15); color:var(--pl); font-size:.65rem; font-weight:700; padding:.15rem .5rem; border-radius:20px; text-transform:uppercase; letter-spacing:.06em; }
.pl-item h4 { font-size:.95rem; font-weight:700; }
.pl-item p { font-size:.82rem; color:var(--muted); line-height:1.55; flex:1; }
.pli-meta { display:flex; gap:1rem; font-size:.72rem; color:var(--dim); }

/* Transport */
.ticket-list { border:1px solid var(--b); border-radius:var(--r); overflow:hidden; margin-bottom:1.25rem; }
.tkt-row { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--b); background:rgba(255,255,255,.01); transition:var(--tr); gap:1rem; }
.tkt-row:last-child { border-bottom:none; }
.tkt-row:hover { background:rgba(255,255,255,.03); }
.hl-row { background:rgba(99,102,241,.05) !important; }
.hl-green { background:rgba(16,185,129,.04) !important; }
.tkt-l { display:flex; align-items:center; gap:.9rem; flex:1; }
.tkt-ico { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:.85rem; flex-shrink:0; }
.tkt-ico.indigo { background:rgba(99,102,241,.15); color:var(--pl); }
.tkt-ico.cyan   { background:rgba(6,182,212,.15);  color:var(--cyan); }
.tkt-ico.green  { background:rgba(16,185,129,.15); color:var(--grn); }
.tkt-ico.amber  { background:rgba(245,158,11,.15); color:var(--amb); }
.tkt-ico.rose   { background:rgba(244,63,94,.15);  color:var(--rose); }
.tkt-ico.purple { background:rgba(139,92,246,.15); color:#8b5cf6; }
.tkt-n { display:block; font-size:.88rem; font-weight:600; }
.tkt-d { display:block; font-size:.72rem; color:var(--muted); }
.tkt-p { font-size:1.05rem; font-weight:800; white-space:nowrap; }
.alt-tlist { display:flex; flex-direction:column; gap:1rem; }
.alt-t { display:flex; gap:1rem; align-items:flex-start; padding:1rem; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); }
.alt-ico { font-size:1.4rem; flex-shrink:0; margin-top:.1rem; }
.alt-t strong { display:block; font-size:.9rem; font-weight:700; margin-bottom:.2rem; }
.alt-t p { font-size:.8rem; color:var(--muted); margin-bottom:.3rem; }

/* Jobs */
.jobs-list { display:flex; flex-direction:column; gap:1rem; }
.job-row { display:flex; gap:1.25rem; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.5rem; transition:var(--tr); }
.job-row:hover { border-color:var(--bh); }
.jnum { width:36px; height:36px; border-radius:10px; color:#fff; font-size:.75rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; letter-spacing:.05em; }
.jbody { flex:1; }
.jtop { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:.5rem; }
.jtop h4 { font-size:.95rem; font-weight:700; }
.jen { font-weight:400; color:var(--muted); font-size:.82rem; }
.jpay { font-size:.78rem; font-weight:700; color:var(--grn); white-space:nowrap; background:rgba(16,185,129,.1); padding:.2rem .5rem; border-radius:6px; }
.jbody p { font-size:.82rem; color:var(--muted); line-height:1.55; margin-bottom:.75rem; }
.jpills { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.75rem; }
.jpills span { background:rgba(255,255,255,.04); border:1px solid var(--b); font-size:.68rem; font-weight:500; padding:.18rem .5rem; border-radius:20px; color:var(--muted); }
.jlinks { font-size:.78rem; color:var(--dim); }
.jlinks strong { color:var(--muted); }

/* Housing */
.rent-tbl { border:1px solid var(--b); border-radius:var(--r); overflow:hidden; margin-bottom:1.25rem; }
.rrow { display:flex; justify-content:space-between; padding:.85rem 1.25rem; border-bottom:1px solid var(--b); font-size:.85rem; }
.rrow:last-child { border-bottom:none; }
.rrow.hdr { background:rgba(255,255,255,.03); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--dim); }
.rp { color:var(--pl); font-weight:600; }
.platlist { display:flex; flex-direction:column; gap:.85rem; }
.plat { display:flex; gap:1rem; align-items:flex-start; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.1rem 1.25rem; transition:var(--tr); }
.plat:hover { border-color:var(--bh); }
.plat > span { font-size:1.2rem; flex-shrink:0; line-height:1.4; }
.plat strong { display:block; font-size:.9rem; font-weight:700; margin-bottom:.2rem; }
.plat p { font-size:.8rem; color:var(--muted); margin-bottom:.3rem; }

/* Society rules */
.rules-list { display:flex; flex-direction:column; border:1px solid var(--b); border-radius:var(--r); overflow:hidden; }
.rule-r { display:flex; gap:1.1rem; padding:1.2rem 1.5rem; border-bottom:1px solid var(--b); transition:var(--tr); }
.rule-r:last-child { border-bottom:none; }
.rule-r:hover { background:rgba(255,255,255,.02); }
.rnum { font-size:.7rem; font-weight:800; color:var(--pl); letter-spacing:.05em; white-space:nowrap; padding-top:.15rem; min-width:20px; }
.rule-r strong { display:block; font-size:.9rem; font-weight:700; margin-bottom:.3rem; }
.rule-r p { font-size:.8rem; color:var(--muted); line-height:1.55; }

/* SFI */
.sfi-list { display:flex; flex-direction:column; }
.sfi-s { display:flex; gap:1.1rem; padding:1.2rem 0; border-bottom:1px solid var(--b); }
.sfi-s:last-child { border-bottom:none; }
.snum { width:28px; height:28px; border-radius:50%; background:rgba(99,102,241,.12); color:var(--pl); font-size:.75rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:.1rem; }
.sfi-s strong { display:block; font-size:.9rem; font-weight:700; margin-bottom:.25rem; }
.sfi-s p { font-size:.8rem; color:var(--muted); line-height:1.55; }
.sfi-s a { color:var(--pl); }
.lvl-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:1.25rem; }
.lvl { background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.1rem; display:flex; flex-direction:column; gap:.4rem; }
.lbadge { display:inline-block; font-size:.7rem; font-weight:700; padding:.2rem .6rem; border-radius:20px; margin-bottom:.1rem; }
.lvl strong { font-size:.85rem; font-weight:700; }
.lvl p { font-size:.78rem; color:var(--muted); }

/* Cars */
.car-list { display:flex; flex-direction:column; gap:.85rem; }
.car-p { display:flex; gap:1rem; align-items:flex-start; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.1rem 1.25rem; transition:var(--tr); }
.car-p:hover { border-color:var(--bh); }
.car-p > span { font-size:1.2rem; flex-shrink:0; line-height:1.4; }
.car-p strong { display:block; font-size:.9rem; font-weight:700; margin-bottom:.2rem; }
.car-p p { font-size:.8rem; color:var(--muted); margin-bottom:.3rem; }
.prbadge { display:inline-block; background:rgba(99,102,241,.1); color:var(--pl); font-size:.68rem; font-weight:600; padding:.15rem .5rem; border-radius:20px; margin-right:.5rem; }

/* Airlines */
.air-list { display:flex; flex-direction:column; gap:1rem; }
.air-row { display:flex; align-items:flex-start; gap:1rem; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.25rem; transition:var(--tr); }
.air-row:hover { border-color:var(--bh); }
.air-logo { display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.75rem; border-radius:10px; font-size:1.4rem; min-width:80px; text-align:center; flex-shrink:0; }
.air-logo span { font-size:.7rem; font-weight:700; }
.air-info { flex:1; }
.air-ap { font-size:.78rem; color:var(--muted); margin-bottom:.4rem; }
.air-ap i { margin-right:.3rem; }
.air-rt { font-size:.82rem; margin-bottom:.4rem; line-height:1.5; }
.air-tip { font-size:.75rem; color:var(--muted); }
.air-tip i { color:var(--amb); margin-right:.3rem; }
.btn-air { display:flex; align-items:center; gap:.3rem; background:rgba(99,102,241,.1); color:var(--pl); border:1px solid rgba(99,102,241,.2); padding:.5rem .85rem; border-radius:8px; font-size:.78rem; font-weight:600; cursor:pointer; transition:var(--tr); white-space:nowrap; align-self:flex-start; }
.btn-air:hover { background:rgba(99,102,241,.2); }
.ft-list { display:flex; flex-direction:column; gap:.85rem; }
.ft { display:flex; gap:1rem; align-items:flex-start; }
.ft > span { font-size:1.4rem; flex-shrink:0; line-height:1; }
.ft strong { display:block; font-size:.88rem; font-weight:700; margin-bottom:.2rem; }
.ft p { font-size:.78rem; color:var(--muted); margin-bottom:.3rem; }

/* Calculator */
.calc-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.cf { display:flex; flex-direction:column; gap:.45rem; }
.cf label { font-size:.75rem; font-weight:600; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.cf input, .cf select { background:rgba(255,255,255,.04); border:1px solid var(--b); border-radius:10px; padding:.85rem 1rem; color:var(--text); font-size:1rem; outline:none; transition:var(--tr); }
.cf input:focus, .cf select:focus { border-color:var(--p); }
.cf select option { background:#0f1225; }
.calc-res { border:1px solid var(--b); border-radius:var(--r); overflow:hidden; margin-bottom:1.25rem; }
.cr-row { display:flex; justify-content:space-between; align-items:center; padding:.9rem 1.25rem; border-bottom:1px solid var(--b); font-size:.85rem; }
.cr-row:last-child { border-bottom:none; }
.cr-row.total { background:rgba(16,185,129,.05); font-weight:700; font-size:.95rem; }
.cr-v { font-weight:700; }
.cr-v.red { color:var(--rose); }
.cr-v.grn { color:var(--grn); font-size:1.2rem; }
.tf-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-top:1.5rem; }
.tf { display:flex; gap:.75rem; align-items:flex-start; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1rem; }
.tf > span { font-size:1.3rem; flex-shrink:0; }
.tf div { font-size:.78rem; color:var(--muted); }
.tf strong { display:block; color:var(--text); font-size:.82rem; font-weight:700; margin-bottom:.2rem; }

/* Services */
.srv-list { display:flex; flex-direction:column; gap:1rem; }
.srv { display:flex; align-items:center; gap:1.1rem; background:rgba(255,255,255,.02); border:1px solid var(--b); border-radius:var(--r); padding:1.25rem; transition:var(--tr); }
.srv:hover { border-color:var(--bh); }
.srv-ico { font-size:1.6rem; flex-shrink:0; }
.srv-info { flex:1; }
.srv-info h4 { font-size:.95rem; font-weight:700; margin-bottom:.2rem; }
.stars-r { display:flex; align-items:center; gap:.4rem; margin-bottom:.3rem; }
.stars { color:var(--amb); font-size:.85rem; }
.rc { font-size:.72rem; color:var(--dim); }
.srv-info p { font-size:.8rem; color:var(--muted); line-height:1.5; }
.srv-btn { display:flex; align-items:center; gap:.5rem; background:rgba(99,102,241,.1); color:var(--pl); border:1px solid rgba(99,102,241,.2); padding:.6rem 1rem; border-radius:9px; font-size:.8rem; font-weight:600; cursor:pointer; transition:var(--tr); white-space:nowrap; font-family:var(--font); }
.srv-btn:hover { background:rgba(99,102,241,.18); }
.bchip { background:rgba(16,185,129,.15); color:var(--grn); font-size:.65rem; padding:.1rem .4rem; border-radius:20px; }

/* Responsive */
@media(max-width:1100px){ .cards-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:860px){
  .hero h1 { font-size:2.8rem; }
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .nl-inner { grid-template-columns:1fr; gap:3rem; }
  .footer-inner { grid-template-columns:1fr 1fr; }
  .pl-grid { grid-template-columns:1fr; }
  .pl-item.featured { grid-column:1; }
  .calc-form { grid-template-columns:1fr; }
  .tf-grid { grid-template-columns:1fr; }
  .lvl-grid { grid-template-columns:1fr; }
}
@media(max-width:640px){
  .hero h1 { font-size:2.2rem; }
  .cards-grid { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; }
  .hero-stats { gap:1rem; flex-wrap:wrap; }
  .steps-flow { display:none; }
  .panel { width:100vw; }
  .air-row { flex-wrap:wrap; }
  .job-row { flex-direction:column; }
}
