@import url("assets/fonts/fonts.css");

/*
  ALL IN ONE Solutions
  Hlavné farby, rozostupy a písmo sú sústredené v premenných nižšie.
  Pre zmenu vzhľadu stačí upraviť najmä hodnoty v :root.
*/
:root { --navy:#06152a; --navy-deep:#030d1c; --surface:#0a213d; --surface-2:#0e2b4d; --gold:#dba646; --gold-light:#f2c972; --white:#f7f4ee; --muted:#b5c0cf; --line:rgba(202,217,235,.16); --shadow:0 24px 55px rgba(0,0,0,.25); --serif:"Cormorant Garamond", Georgia, serif; --sans:"Plus Jakarta Sans", Arial, sans-serif; --container:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:86px; }
body { margin:0; color:var(--white); background:var(--navy-deep); font-family:var(--sans); font-size:16px; line-height:1.6; overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.55; background-image:radial-gradient(circle at 80% 4%, rgba(30,82,138,.2), transparent 27rem), linear-gradient(125deg, transparent 0 48%, rgba(26,70,116,.12) 48.1%, transparent 48.5%); }
a { color:inherit; text-decoration:none; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } img { max-width:100%; display:block; } .container { width:min(var(--container), calc(100% - 48px)); margin:auto; position:relative; } .section-shell { position:relative; padding:104px 0; } .eyebrow { color:var(--gold-light); text-transform:uppercase; font-size:.73rem; font-weight:700; letter-spacing:.15em; margin:0 0 10px; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:var(--serif); line-height:1.08; letter-spacing:-.028em; } h1 { font-size:clamp(2.75rem, 5.4vw, 5.2rem); max-width:750px; margin-bottom:24px; } h2 { font-size:clamp(2.15rem, 3.5vw, 3.45rem); margin-bottom:20px; } h3 { line-height:1.25; } em { color:var(--gold-light); font-style:normal; } .skip-link { position:fixed; left:10px; top:-100px; z-index:99; padding:10px 16px; background:#fff; color:#000; } .skip-link:focus { top:10px; }
/* Header */
.site-header { position:sticky; top:0; z-index:20; border-bottom:1px solid transparent; background:rgba(3,13,28,.6); backdrop-filter:blur(18px); transition:.25s ease; } .site-header.scrolled { border-color:var(--line); background:rgba(3,13,28,.91); } .header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; } .brand-mark { display:grid; place-items:center; width:38px; height:38px; overflow:hidden; border-radius:50%; border:1px solid rgba(219,166,70,.55); background:#fff; } .brand-mark img { width:100%; height:100%; object-fit:cover; } .brand-name { color:#fff; font-weight:700; font-size:1rem; line-height:1; letter-spacing:.11em; } .brand-name small { display:block; margin-top:4px; font-size:.53rem; letter-spacing:.22em; color:var(--muted); } .main-nav { display:flex; align-items:center; gap:30px; margin-left:auto; } .main-nav a { color:#e7ecf2; font-size:.91rem; font-weight:600; position:relative; } .main-nav a::after { content:""; position:absolute; left:0; right:0; bottom:-9px; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .2s; } .main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a[aria-current="page"]::after { transform:scaleX(1); } .button { display:inline-flex; justify-content:center; align-items:center; gap:20px; padding:14px 21px; min-height:50px; border:1px solid transparent; border-radius:4px; color:#16110a; background:linear-gradient(135deg, var(--gold-light), #bd8130); box-shadow:0 8px 20px rgba(0,0,0,.18); font-size:.9rem; font-weight:700; transition:transform .2s, box-shadow .2s, filter .2s; } .button:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.3); filter:brightness(1.06); } .button-small { min-height:42px; padding:10px 15px; font-size:.8rem; white-space:nowrap; } .nav-toggle { display:none; background:none; border:0; padding:6px; } .nav-toggle span { display:block; width:24px; height:2px; margin:5px; background:#fff; }
/* Hero */
.hero { min-height:636px; display:flex; align-items:center; padding-top:66px; overflow:hidden; background:radial-gradient(ellipse at 78% 53%, rgba(18,68,117,.35), transparent 33%), linear-gradient(125deg, rgba(3,14,29,.3), rgba(6,29,57,.55)); } .hero::after { content:""; position:absolute; width:1200px; height:370px; left:45%; top:20%; border:1px solid rgba(96,152,204,.13); border-radius:50%; transform:rotate(-15deg); box-shadow:0 0 0 90px rgba(22,70,114,.04),0 0 0 180px rgba(22,70,114,.03); } .hero-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:38px; } .hero-copy { position:relative; z-index:1; } .hero-lead { max-width:590px; color:#e1e6ed; font-size:1.11rem; line-height:1.65; } .hero-actions { display:flex; align-items:center; gap:27px; margin-top:30px; } .text-link,.text-button { display:inline-flex; align-items:center; gap:9px; color:var(--gold-light); border:0; background:transparent; font-weight:700; font-size:.9rem; padding:0; } .text-link:hover,.text-button:hover { color:#fff; } .hero-visual { height:390px; position:relative; z-index:1; } .visual-glow { position:absolute; inset:10% 6%; background:radial-gradient(ellipse, rgba(218,166,75,.21), transparent 64%); filter:blur(14px); } .dashboard-card { position:absolute; top:25px; left:36px; z-index:2; width:min(88%,530px); padding:19px 20px 15px; border:1px solid rgba(169,195,224,.25); border-radius:10px; background:linear-gradient(135deg, rgba(16,42,76,.94), rgba(6,22,42,.9)); box-shadow:var(--shadow); transform:perspective(1000px) rotateY(-6deg) rotateX(3deg); } .dashboard-top { display:flex; justify-content:space-between; color:#d9e3ec; font-size:.72rem; font-weight:600; } .status-dot { width:7px; height:7px; border-radius:50%; background:#54c895; box-shadow:0 0 8px #54c895; } .chart-wrap { padding:19px 0 7px; } .chart-wrap svg { width:100%; height:auto; overflow:visible; } .grid-line { fill:none; stroke:rgba(197,213,231,.12); stroke-width:1; } .chart-area { fill:url(#chartFill); } .chart-line { fill:none; stroke:var(--gold-light); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; } .chart-dots { fill:var(--gold-light); stroke:#fff; stroke-width:1; } .dashboard-footer { display:flex; justify-content:space-between; color:#7890aa; font-size:.59rem; } .metric-card { position:absolute; z-index:3; display:flex; flex-direction:column; width:158px; padding:16px; border:1px solid rgba(189,208,230,.19); border-radius:8px; background:linear-gradient(135deg, rgba(12,38,68,.97), rgba(5,19,37,.94)); box-shadow:var(--shadow); } .metric-card small { color:#aebfd0; font-size:.66rem; } .metric-card strong { margin:5px 0; font-family:var(--serif); color:var(--gold-light); font-size:1.47rem; line-height:1; } .metric-card span { color:#879bb0; font-size:.59rem; line-height:1.35; } .metric-card-top { right:0; top:79px; } .metric-card-bottom { left:5px; bottom:8px; } .pie-chart { position:absolute; z-index:4; right:52px; bottom:8px; width:145px; aspect-ratio:1; border-radius:50%; background:conic-gradient(var(--gold-light) 0 17%, #355878 17% 46%, #193958 46% 75%, #7c92a6 75% 90%, #d8a849 90%); border:7px solid #0d2948; box-shadow:0 16px 25px rgba(0,0,0,.38); transform:rotate(-18deg); } .pie-chart i { position:absolute; inset:29%; border-radius:50%; background:var(--navy); }
/* Shared sections */
.proof { padding-top:8px; } .proof-inner { padding:38px 48px 30px; border:1px solid var(--line); border-radius:9px; background:linear-gradient(120deg, rgba(12,41,73,.75), rgba(7,24,46,.72)); } .section-intro.centered { max-width:760px; margin:0 auto 42px; text-align:center; } .section-intro.centered p:last-child { color:#d2dae4; margin:0; } .proof-list { display:grid; grid-template-columns:repeat(5,1fr); } .proof-list article { padding:6px 22px 0; text-align:center; border-right:1px solid var(--line); } .proof-list article:last-child { border:0; } .proof-list h3 { margin:9px 0 7px; font-size:1rem; } .proof-list p { color:var(--muted); font-size:.77rem; line-height:1.5; margin:0; } .icon { display:inline-block; width:38px; height:38px; background:linear-gradient(135deg,var(--gold-light),#ad7428); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; } .icon-briefcase { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2M3 12h18M10 12v2h4v-2'/%3E%3C/svg%3E"); } .icon-bars { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 21V10h4v11M10 21V3h4v18M17 21v-7h4v7'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M3 21V10h4v11M10 21V3h4v18M17 21v-7h4v7'/%3E%3C/svg%3E"); }.icon-flow { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M7 7h11M7 17h11M14 3l4 4-4 4M10 13l-4 4 4 4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M7 7h11M7 17h11M14 3l4 4-4 4M10 13l-4 4 4 4'/%3E%3C/svg%3E"); }.icon-report { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h9l5 5v13H4ZM14 3v6h6M8 17v-4M12 17V9M16 17v-2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h9l5 5v13H4ZM14 3v6h6M8 17v-4M12 17V9M16 17v-2'/%3E%3C/svg%3E"); }.icon-target { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='m16 8 5-5M17 3h4v4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='m16 8 5-5M17 3h4v4'/%3E%3C/svg%3E"); }.icon-calculator { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M8 6h8M8 11h.01M12 11h.01M16 11h.01M8 15h.01M12 15h.01M16 15h.01M8 19h.01M12 19h4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M8 6h8M8 11h.01M12 11h.01M16 11h.01M8 15h.01M12 15h.01M16 15h.01M8 19h.01M12 19h4'/%3E%3C/svg%3E"); }.icon-docs { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4ZM14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='M4 4a2 2 0 0 1 2-2h9l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4ZM14 2v6h6M8 13h8M8 17h6'/%3E%3C/svg%3E"); }.icon-compass { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15 9-2 4-4 2 2-4 4-2Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m15 9-2 4-4 2 2-4 4-2Z'/%3E%3C/svg%3E"); }.icon-search { -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.2-4.2M8 11h6M11 8v6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.2-4.2M8 11h6M11 8v6'/%3E%3C/svg%3E"); }
/* Services */
.services { background:linear-gradient(180deg, transparent, rgba(9,33,62,.51), transparent); }.section-heading { display:flex; justify-content:space-between; align-items:end; gap:45px; margin-bottom:40px; }.section-heading h2 { margin:0; }.section-heading > p { max-width:440px; color:var(--muted); margin:0 0 4px; }.services-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }.service-card { position:relative; min-height:333px; display:flex; flex-direction:column; align-items:flex-start; padding:25px 20px 20px; overflow:hidden; border:1px solid rgba(172,202,233,.2); border-radius:8px; background:linear-gradient(160deg, rgba(17,52,89,.9), rgba(6,27,52,.92)); transition:transform .25s, border-color .25s, background .25s; }.service-card::after { content:""; position:absolute; width:180px; height:180px; right:-70px; top:-70px; border-radius:50%; background:radial-gradient(circle, rgba(224,172,71,.2), transparent 65%); }.service-card:hover { transform:translateY(-7px); border-color:rgba(233,182,82,.8); background:linear-gradient(160deg, rgba(22,61,101,.95), rgba(8,31,58,.98)); }.card-number { position:absolute; top:15px; right:15px; color:rgba(237,244,250,.25); font-family:var(--serif); font-size:1.35rem; }.service-card .icon { width:34px; height:34px; margin-bottom:23px; }.service-card h3 { position:relative; z-index:1; font-family:var(--serif); font-size:1.25rem; margin:0 0 12px; }.service-card p { position:relative; z-index:1; color:#c4cfdb; font-size:.82rem; line-height:1.55; }.service-card a { position:relative; z-index:1; margin-top:auto; color:var(--gold-light); font-size:.78rem; font-weight:700; }.service-card a span { margin-left:7px; transition:margin .2s; }.service-card a:hover span { margin-left:12px; }.service-featured { border-color:rgba(220,168,67,.55); }
/* Process / about */
.process { padding-top:65px; }.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.process-card { display:flex; align-items:center; gap:17px; padding:25px; border:1px solid var(--line); border-radius:8px; background:rgba(8,32,60,.68); }.process-card > span { display:grid; place-items:center; flex:0 0 auto; width:41px; height:41px; border-radius:50%; background:linear-gradient(135deg,var(--gold-light),#b98131); color:#11131a; font-family:var(--serif); font-size:1.35rem; font-weight:700; }.process-card h3 { margin:0 0 5px; font-size:1rem; }.process-card p { color:var(--muted); font-size:.78rem; line-height:1.5; margin:0; }.process-active { border-color:var(--gold); background:linear-gradient(120deg, #c9923d, #e8bd69); color:#15181c; box-shadow:0 12px 28px rgba(0,0,0,.22); }.process-active > span { color:#fff; background:var(--navy); }.process-active p { color:#30343a; }.about { overflow:hidden; }.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }.about-visual { min-height:430px; position:relative; }.photo-placeholder { position:absolute; inset:15px 35px 17px 0; display:flex; align-items:center; justify-content:center; flex-direction:column; border:1px solid rgba(199,218,238,.28); border-radius:8px; background:linear-gradient(145deg, rgba(22,59,96,.96), rgba(8,28,51,.95)); text-align:center; }.photo-placeholder::before,.photo-placeholder::after { content:""; position:absolute; border:1px solid rgba(219,166,70,.33); border-radius:50%; }.photo-placeholder::before { width:190px; height:190px; }.photo-placeholder::after { width:270px; height:270px; }.placeholder-icon { z-index:1; display:grid; place-items:center; width:85px; height:85px; margin-bottom:12px; border-radius:50%; background:radial-gradient(circle,rgba(219,166,70,.38),rgba(219,166,70,.03)); color:var(--gold-light); font-size:2.2rem; }.photo-placeholder p { z-index:1; color:#c2ccda; font-family:var(--serif); font-size:1.15rem; line-height:1.4; margin:0; }.experience-badge { position:absolute; display:flex; align-items:center; gap:11px; right:0; bottom:0; padding:19px 21px; border:1px solid rgba(232,187,100,.7); border-radius:5px; background:var(--navy); box-shadow:var(--shadow); }.experience-badge strong { color:var(--gold-light); font-family:var(--serif); font-size:2rem; line-height:1; }.experience-badge span { color:#dce3eb; font-size:.71rem; line-height:1.35; }.about-copy > p:not(.eyebrow) { max-width:600px; color:#d2dae4; }.values-list { display:grid; gap:11px; margin:25px 0; }.values-list > div { display:flex; align-items:center; gap:11px; }.values-list span { display:grid; place-items:center; flex:0 0 auto; width:23px; height:23px; border-radius:50%; background:rgba(220,168,69,.16); color:var(--gold-light); font-size:.76rem; }.values-list p { margin:0; color:var(--muted); font-size:.86rem; }.values-list strong { color:#f1f3f6; margin-right:4px; }
/* Testimonials & blog */
.testimonials { background:linear-gradient(135deg, rgba(8,35,66,.77), rgba(5,18,36,.25)); }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.testimonial { display:flex; flex-direction:column; min-height:245px; margin:0; padding:26px; border:1px solid var(--line); border-radius:8px; background:rgba(5,25,48,.7); }.testimonial blockquote { margin:0; color:#e3e9f0; font-family:var(--serif); font-size:1.14rem; line-height:1.55; }.testimonial blockquote::before { content:"“"; display:block; height:22px; color:var(--gold-light); font-family:var(--serif); font-size:3.3rem; line-height:1; }.testimonial figcaption { display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:20px; }.avatar { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:linear-gradient(135deg,#dcb15f,#8d5d20); color:#101725; font-size:.7rem; font-weight:700; }.testimonial figcaption strong,.testimonial figcaption small { display:block; line-height:1.3; }.testimonial figcaption strong { font-size:.79rem; }.testimonial figcaption small { color:var(--muted); font-size:.68rem; }.blog { padding-bottom:116px; }.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.blog-card { display:flex; flex-direction:column; min-height:307px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:rgba(10,37,69,.62); transition:transform .22s,border-color .22s; }.blog-card:hover { transform:translateY(-5px); border-color:rgba(219,166,70,.63); }.blog-card-visual { position:relative; height:116px; overflow:hidden; background:linear-gradient(135deg,#193e68,#0b213d); }.blog-card-visual::before { content:""; position:absolute; width:230px; height:100px; right:-30px; top:16px; border:1px solid rgba(220,168,70,.39); border-radius:50%; transform:rotate(-22deg); }.blog-card-visual::after { content:""; position:absolute; width:80px; height:80px; right:44px; top:17px; border-radius:50%; border:16px solid rgba(222,172,77,.68); border-left-color:rgba(97,143,184,.8); transform:rotate(-25deg); }.blog-card:nth-child(2) .blog-card-visual { background:linear-gradient(135deg,#4b3520,#0b213d); }.blog-card:nth-child(3) .blog-card-visual { background:linear-gradient(135deg,#154b54,#0b213d); }.blog-card-body { display:flex; flex:1; flex-direction:column; padding:20px; }.blog-meta { margin-bottom:11px; color:var(--gold-light); font-size:.67rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.blog-card h3 { font-family:var(--serif); font-size:1.28rem; margin:0 0 8px; }.blog-card p { color:var(--muted); font-size:.8rem; line-height:1.5; }.blog-card a { margin-top:auto; color:var(--gold-light); font-size:.77rem; font-weight:700; }.blog-card a span { margin-left:7px; }.empty-blog { grid-column:1/-1; padding:35px; border:1px dashed var(--line); border-radius:8px; color:var(--muted); text-align:center; }
/* Contact & footer */
.contact { padding-bottom:80px; background:linear-gradient(180deg, rgba(8,35,66,.47), transparent); }.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:center; }.contact-copy > p:not(.eyebrow) { max-width:470px; color:#c9d3de; }.contact-details { display:grid; gap:15px; margin-top:28px; }.contact-details > * { display:flex; align-items:center; gap:12px; color:#eaf0f4; font-size:.9rem; }.contact-details > * > span { display:grid; place-items:center; width:32px; height:32px; color:var(--gold-light); border:1px solid rgba(219,166,70,.35); border-radius:50%; }.contact-details small { display:block; color:var(--muted); font-size:.68rem; }.contact-form { padding:31px; border:1px solid rgba(179,207,234,.23); border-radius:9px; background:linear-gradient(135deg,rgba(16,50,85,.93),rgba(5,25,47,.94)); box-shadow:var(--shadow); }.contact-form h3 { margin:0 0 20px; font-family:var(--serif); font-size:1.55rem; }.contact-form label,.admin-login label,.admin-panel label { display:block; color:#dfe7ee; font-size:.73rem; font-weight:600; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; } input,textarea,select { width:100%; display:block; margin:5px 0 14px; padding:11px 12px; border:1px solid rgba(180,205,230,.22); border-radius:4px; outline:0; color:#fff; background:rgba(2,14,29,.45); font-size:.83rem; transition:border-color .2s,background .2s; } select { appearance:auto; } option { color:#111; } textarea { resize:vertical; } input::placeholder,textarea::placeholder { color:#8295aa; } input:focus,textarea:focus,select:focus { border-color:var(--gold); background:rgba(2,14,29,.65); }.form-status { min-height:18px; margin:11px 0 0; color:#8fe0b5; font-size:.78rem; }.map-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:2px; min-height:190px; margin-top:63px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background-color:#0a2443; background-image:linear-gradient(rgba(123,161,195,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(123,161,195,.12) 1px,transparent 1px),radial-gradient(ellipse at center,rgba(57,104,151,.42),transparent 60%); background-size:28px 28px,28px 28px,auto; text-align:center; }.map-marker { display:grid; place-items:center; width:42px; height:42px; margin-bottom:3px; border-radius:50% 50% 50% 0; background:var(--gold-light); color:#101a28; font-size:1.55rem; transform:rotate(-45deg); }.map-marker::first-letter { transform:rotate(45deg); }.map-placeholder strong { font-family:var(--serif); font-size:1.2rem; }.map-placeholder span { color:var(--muted); font-size:.76rem; }.site-footer { border-top:1px solid var(--line); background:#030c19; }.footer-main { display:grid; grid-template-columns:1fr 1.3fr; gap:70px; padding:56px 0 43px; }.footer-main > div:first-child > p { max-width:280px; margin:18px 0 0; color:var(--muted); font-size:.82rem; }.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }.footer-links h3 { margin:0 0 13px; color:var(--gold-light); font-size:.78rem; text-transform:uppercase; letter-spacing:.09em; }.footer-links a { display:block; margin:6px 0; color:#c9d3de; font-size:.78rem; }.footer-links a:hover { color:var(--gold-light); }.socials { display:flex; gap:7px; }.socials a { display:grid; place-items:center; width:29px; height:29px; margin:0; border:1px solid rgba(218,166,70,.53); border-radius:50%; color:var(--gold-light); font-weight:700; }.footer-bottom { display:flex; justify-content:space-between; gap:10px; padding:17px 0; border-top:1px solid var(--line); color:#8d9bad; font-size:.68rem; }.footer-bottom a { margin-left:13px; }.footer-bottom a:hover { color:#fff; }
/* Modal blog administration */
.blog-card-visual img { width:100%; height:100%; object-fit:cover; }
.blog-card-visual.has-image::before,.blog-card-visual.has-image::after { display:none; }
.image-upload-hint { display:block; margin:-7px 0 14px; color:var(--muted); font-size:.68rem; font-weight:400; }
.modal.article-modal { width:min(760px,calc(100% - 32px)); max-height:min(760px,calc(100vh - 32px)); overflow:auto; }.article-modal-content { padding:52px 48px 44px; }.article-modal h2 { max-width:620px; margin-bottom:16px; font-size:clamp(2rem,4vw,3.4rem); }.article-modal-lead { max-width:650px; margin-bottom:27px; color:#d7e1eb; font-family:var(--serif); font-size:1.2rem; line-height:1.55; }.article-modal-body { max-width:650px; margin-bottom:31px; color:#c9d4df; }.article-modal-body p { margin-bottom:17px; }.article-modal .button { margin-top:3px; }.blog-card-actions,.admin-post-actions { display:flex; align-items:center; gap:12px; }.delete-blog-card { margin-top:0; }.cancel-edit-button { margin-left:16px; }
.modal { width:min(620px,calc(100% - 32px)); padding:0; overflow:visible; border:1px solid rgba(218,166,70,.55); border-radius:8px; color:var(--white); background:linear-gradient(145deg,#11345c,#06172c); box-shadow:0 28px 70px rgba(0,0,0,.6); }.modal::backdrop { background:rgba(0,7,15,.77); backdrop-filter:blur(4px); }.modal-close { position:absolute; top:11px; right:12px; z-index:2; width:32px; height:32px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.1); font-size:1.5rem; line-height:1; }.admin-login,.admin-panel { padding:37px; }.admin-login h2,.admin-panel h2 { margin:0 0 12px; }.admin-login > p:not(.eyebrow) { color:var(--muted); font-size:.85rem; }.admin-login code { padding:2px 5px; border-radius:3px; color:var(--gold-light); background:rgba(0,0,0,.25); }.admin-posts { margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }.admin-posts h3 { margin:0 0 10px; font-size:.95rem; }.admin-post-item { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#dce4eb; font-size:.78rem; }.delete-post { border:0; color:#f4a9a9; background:none; font-size:.73rem; }.logout-button { margin-top:19px; color:#b7c4d1; }.logout-button:hover { color:#fff; }
/* Animation and responsive styling */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }.reveal.is-visible { opacity:1; transform:none; }.delay-1 { transition-delay:.1s; }.delay-2 { transition-delay:.2s; } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } .reveal { opacity:1; transform:none; } }
@media (max-width:1020px) { .main-nav { gap:18px; }.header-cta { display:none; }.hero-grid { gap:15px; }.services-grid { grid-template-columns:repeat(3,1fr); }.service-card { min-height:280px; }.services-grid .service-card:nth-child(4) { grid-column:1 / span 1; }.proof-list article { padding-inline:12px; }.about-grid,.contact-grid { gap:55px; }.footer-main { gap:35px; } }
@media (max-width:760px) { .container { width:min(100% - 34px, var(--container)); }.section-shell { padding:73px 0; }.site-header { background:rgba(3,13,28,.95); }.header-inner { min-height:69px; }.nav-toggle { display:block; margin-left:auto; }.main-nav { position:absolute; top:69px; left:0; right:0; display:grid; gap:0; max-height:0; overflow:hidden; margin:0; border-bottom:1px solid transparent; background:#06152a; transition:max-height .25s,border-color .25s; }.main-nav.open { max-height:320px; border-color:var(--line); }.main-nav a { padding:13px 18px; }.main-nav a::after { display:none; }.hero { min-height:auto; padding:69px 0 59px; }.hero-grid { grid-template-columns:1fr; gap:22px; }.hero h1 { font-size:clamp(2.45rem,12vw,3.5rem); }.hero-lead { font-size:1rem; }.hero-visual { width:min(100%,540px); height:300px; margin:auto; }.dashboard-card { left:10px; top:10px; }.metric-card { transform:scale(.84); transform-origin:right top; }.metric-card-top { right:-9px; top:42px; }.metric-card-bottom { left:-15px; bottom:-10px; transform-origin:left bottom; }.pie-chart { right:26px; bottom:10px; width:112px; }.proof { padding-top:0; }.proof-inner { padding:30px 19px 24px; }.section-intro.centered { margin-bottom:30px; }.proof-list { grid-template-columns:repeat(2,1fr); gap:20px 0; }.proof-list article { border-right:1px solid var(--line); }.proof-list article:nth-child(2n) { border-right:0; }.proof-list article:last-child { grid-column:1/-1; }.section-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:29px; }.section-heading > p { font-size:.9rem; }.services-grid { grid-template-columns:repeat(2,1fr); }.service-card { min-height:260px; padding:20px 16px 16px; }.process { padding-top:25px; }.process-grid { grid-template-columns:1fr; }.process-card { padding:21px; }.about-grid { grid-template-columns:1fr; gap:43px; }.about-visual { min-height:345px; }.about-copy { order:-1; }.testimonial-grid,.blog-grid { grid-template-columns:1fr; }.testimonial { min-height:210px; }.contact-grid { grid-template-columns:1fr; gap:36px; }.contact-form { padding:23px 18px; }.footer-main { grid-template-columns:1fr; gap:38px; padding:42px 0 33px; }.footer-links { grid-template-columns:1fr 1fr; }.footer-links > div:last-child { grid-column:1/-1; }.footer-bottom { flex-direction:column; }.footer-bottom a:first-child { margin-left:0; }.modal { width:calc(100% - 22px); }.admin-login,.admin-panel { padding:28px 18px; } }
@media (max-width:430px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }.services-grid { grid-template-columns:1fr; }.services-grid .service-card:nth-child(4) { grid-column:auto; }.service-card { min-height:220px; }.proof-list { grid-template-columns:1fr; }.proof-list article,.proof-list article:nth-child(2n) { border-right:0; }.proof-list article:not(:last-child) { border-bottom:1px solid var(--line); padding-bottom:14px; }.form-row { grid-template-columns:1fr; gap:0; }.experience-badge { padding:14px; }.about-visual { min-height:310px; }.footer-links { grid-template-columns:1fr; }.footer-links > div:last-child { grid-column:auto; } }

/* Vnútorné podstránky */
.page-hero { padding:90px 0 82px; overflow:hidden; background:radial-gradient(ellipse at 81% 45%, rgba(28,82,137,.35), transparent 34rem), linear-gradient(120deg, rgba(9,36,67,.92), rgba(3,14,29,.9)); }.page-hero::after { content:""; position:absolute; width:760px; height:240px; right:-160px; top:80px; border:1px solid rgba(142,188,226,.18); border-radius:50%; transform:rotate(-15deg); box-shadow:0 0 0 70px rgba(47,99,149,.05),0 0 0 140px rgba(47,99,149,.04); }.page-hero-inner { position:relative; z-index:1; max-width:790px; }.page-hero h1 { margin-bottom:18px; }.page-hero .lead { max-width:650px; color:#d6e0ea; font-size:1.1rem; }.breadcrumb { display:flex; gap:9px; align-items:center; margin-bottom:25px; color:#aebdcd; font-size:.77rem; }.breadcrumb a:hover { color:var(--gold-light); }.breadcrumb span { color:var(--gold-light); }.page-section { padding:86px 0; }.page-section-alt { background:linear-gradient(140deg,rgba(8,35,65,.72),rgba(4,17,33,.2)); }.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.detail-card { padding:28px 24px; border:1px solid var(--line); border-radius:8px; background:linear-gradient(150deg,rgba(15,51,86,.72),rgba(5,25,47,.76)); }.detail-card .icon { width:34px; height:34px; margin-bottom:18px; }.detail-card h3 { margin-bottom:9px; font-family:var(--serif); font-size:1.35rem; }.detail-card p { margin:0; color:var(--muted); font-size:.88rem; }.split-content { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.copy-muted { color:#c6d1dc; }.check-list { display:grid; gap:12px; padding:0; margin:26px 0 0; list-style:none; }.check-list li { display:flex; gap:10px; align-items:flex-start; color:#dce4eb; font-size:.9rem; }.check-list li::before { content:"✓"; display:grid; flex:0 0 auto; place-items:center; width:21px; height:21px; border-radius:50%; color:#0b1b31; background:var(--gold-light); font-size:.7rem; font-weight:700; }.focus-panel { padding:34px; border:1px solid rgba(220,168,69,.52); border-radius:8px; background:linear-gradient(135deg,rgba(19,55,91,.95),rgba(6,24,45,.95)); box-shadow:var(--shadow); }.focus-panel h3 { margin:0 0 18px; color:var(--gold-light); font-family:var(--serif); font-size:1.55rem; }.focus-panel p { color:#ced9e5; }.focus-panel hr { border:0; border-top:1px solid rgba(219,166,70,.28); margin:19px 0; }.timeline { position:relative; display:grid; gap:0; max-width:880px; margin:0 auto; }.timeline::before { content:""; position:absolute; top:22px; bottom:22px; left:22px; width:1px; background:rgba(219,166,70,.5); }.timeline-item { position:relative; display:grid; grid-template-columns:70px 1fr; gap:22px; padding:0 0 29px; }.timeline-item:last-child { padding-bottom:0; }.timeline-number { position:relative; z-index:1; display:grid; place-items:center; width:45px; height:45px; border:1px solid var(--gold); border-radius:50%; color:var(--gold-light); background:var(--navy); font-family:var(--serif); font-size:1.25rem; }.timeline-item h3 { margin:5px 0 6px; font-family:var(--serif); font-size:1.35rem; }.timeline-item p { max-width:650px; margin:0; color:var(--muted); }.highlight-quote { max-width:890px; margin:auto; padding:43px 58px; border:1px solid var(--line); border-radius:8px; background:rgba(10,39,72,.72); text-align:center; }.highlight-quote blockquote { margin:0; font-family:var(--serif); font-size:clamp(1.45rem,2.5vw,2.2rem); line-height:1.35; }.highlight-quote p { margin:13px 0 0; color:var(--gold-light); font-size:.85rem; }.team-values { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }.team-value { padding:22px; border-left:2px solid var(--gold); background:rgba(10,38,69,.56); }.team-value h3 { margin:0 0 6px; font-size:1rem; }.team-value p { margin:0; color:var(--muted); font-size:.84rem; }.blog-page-heading { max-width:710px; margin-bottom:35px; }.blog-page-heading .lead { color:#c7d3df; }.contact-page .contact-grid { margin-bottom:0; }.contact-page .map-placeholder { margin-top:50px; }.page-cta { padding:48px 0; }.page-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:30px 36px; border:1px solid rgba(219,166,70,.49); border-radius:8px; background:linear-gradient(120deg,rgba(17,57,95,.92),rgba(7,27,50,.94)); }.page-cta h2 { margin:0; font-size:clamp(1.65rem,3vw,2.45rem); }.page-cta p { margin:5px 0 0; color:#c8d3df; font-size:.88rem; }
@media (max-width:760px) { .page-hero { padding:67px 0 58px; }.page-section { padding:65px 0; }.detail-grid,.split-content { grid-template-columns:1fr; gap:35px; }.team-values { grid-template-columns:1fr; }.page-cta-inner { align-items:flex-start; flex-direction:column; padding:25px; }.highlight-quote { padding:30px 22px; }.timeline-item { grid-template-columns:55px 1fr; gap:13px; }.timeline::before { left:22px; } }

/* Domovská hero sekcia podľa nového vizuálneho smerovania */
.home-page .header-inner,
.home-page .hero-grid { width:min(1320px,calc(100% - 46px)); }
.home-page .site-header { background:#030d1c; border-color:rgba(190,207,226,.1); backdrop-filter:none; }
.home-page .header-inner { min-height:62px; }
.home-page .main-nav { gap:29px; }
.home-page .main-nav a { color:#b9c1cc; font-size:.84rem; font-weight:500; }
.home-page .header-cta { min-width:251px; min-height:62px; border-radius:0; box-shadow:none; letter-spacing:.1em; text-transform:uppercase; }

.home-page .hero { min-height:calc(100svh - 62px); padding:70px 0 58px; background-image:linear-gradient(rgba(130,157,185,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(130,157,185,.07) 1px,transparent 1px),linear-gradient(90deg,#030d1c 0%,#07162a 54%,#202b37 100%); background-size:72px 72px,72px 72px,100% 100%; }
.home-page .hero::after { display:none; }
.home-page .hero-grid { grid-template-columns:minmax(0,598px) minmax(0,548px); justify-content:start; gap:70px; transform:translateY(29px); }
.home-page .hero-copy { padding-top:2px; }
.home-page .hero .eyebrow { margin-bottom:25px; color:#f2bc45; font-size:.75rem; letter-spacing:.17em; }
.home-page .hero h1 { max-width:598px; margin-bottom:29px; font-size:clamp(3.45rem,4.5vw,3.85rem); font-weight:400; line-height:1.08; }
.home-page .hero-lead { max-width:555px; margin-bottom:0; color:#c9d7ea; font-size:1.12rem; line-height:1.62; }
.home-page .hero-actions { gap:16px; margin-top:36px; }
.home-page .hero-actions .button { min-height:54px; padding:14px 27px; border-radius:0; box-shadow:none; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.home-page .button-outline { color:#fff; background:transparent; border-color:rgba(196,211,229,.35); }
.home-page .button-outline:hover { border-color:var(--gold-light); background:rgba(255,255,255,.04); }
.home-page .hero-note { margin:31px 0 0; color:#bdd1ec; font-size:.86rem; }

.support-panel { align-self:center; min-height:399px; padding:35px 36px 31px; border:1px solid rgba(190,207,226,.16); background:rgba(255,255,255,.025); }
.support-title { margin:0 0 13px; color:#dfb04d; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.support-list { margin:0; padding:0; list-style:none; }
.support-list li { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; min-height:85px; padding:14px 0; border-bottom:1px solid rgba(190,207,226,.14); }
.support-number { color:#b89a54; font-family:var(--serif); font-size:1rem; }
.support-copy { display:flex; flex-direction:column; gap:1px; }
.support-copy strong { color:#f5f3ef; font-size:.9rem; letter-spacing:.09em; text-transform:uppercase; }
.support-copy small { color:#aeb7c5; font-size:.88rem; }
.support-badge { align-self:center; padding:3px 10px 2px; color:#18202a; background:#ddb653; font-size:.58rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.support-link { display:inline-flex; align-items:center; gap:4px; margin-top:22px; color:#dcae49; font-size:.78rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.support-link:hover { color:#fff; }

@media (max-width:1250px) {
  .home-page .main-nav { gap:18px; }
  .home-page .hero-grid { grid-template-columns:1.06fr .94fr; gap:40px; }
  .support-panel { padding-inline:28px; }
}
@media (max-width:900px) {
  .home-page .hero { min-height:auto; }
  .home-page .hero-grid { grid-template-columns:1fr; gap:48px; transform:none; }
  .home-page .hero-copy { max-width:650px; }
  .support-panel { width:100%; max-width:650px; }
}
@media (max-width:760px) {
  .home-page .header-inner,
  .home-page .hero-grid { width:min(100% - 34px,1320px); }
  .home-page .header-inner { min-height:69px; }
  .home-page .main-nav { top:69px; }
  .home-page .hero { padding:58px 0 55px; background-size:54px 54px,54px 54px,100% 100%; }
  .home-page .hero h1 { font-size:clamp(2.6rem,9vw,3.4rem); }
  .home-page .hero-actions { align-items:stretch; flex-wrap:wrap; }
  .home-page .hero-actions .button { flex:1 1 220px; }
  .support-panel { min-height:0; padding:29px 24px 27px; }
}
@media (max-width:430px) {
  .home-page .hero-actions { gap:12px; }
  .home-page .hero-actions .button { width:100%; }
  .support-list li { grid-template-columns:35px minmax(0,1fr) auto; }
}

/* Textové sekcie domovskej stránky prevzaté z referenčného rozloženia */
.home-page .reference-section .container,
.home-page .reference-cta .container,
.home-page .site-footer .container { width:min(1320px,calc(100% - 46px)); }
.reference-section { position:relative; padding:112px 0; border-top:1px solid rgba(202,217,235,.08); background:var(--navy-deep); }
.reference-section-alt { background:linear-gradient(135deg,rgba(10,33,61,.86),rgba(5,19,37,.96)); }
.reference-heading { max-width:810px; margin-bottom:56px; }
.reference-heading h2,
.difference-inner h2,
.reference-cta h2 { margin:20px 0 0; font-size:clamp(2.55rem,4vw,3.15rem); font-weight:400; line-height:1.08; }
.reference-heading h2 span { display:block; color:#8997a8; }
.reference-heading > p:last-child:not(.eyebrow) { max-width:740px; margin:21px 0 0; color:var(--muted); line-height:1.75; }

.issue-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.reference-tile { min-height:158px; padding:29px 31px; background:var(--navy-deep); }
.reference-tile > span,
.scope-tile > span,
.knowledge-card > span { color:var(--gold-light); font-family:var(--serif); font-size:1.85rem; line-height:1; }
.reference-tile p { max-width:310px; margin:22px 0 0; color:#dce3eb; line-height:1.7; }
.reference-callout { max-width:800px; margin-top:56px; padding-left:24px; border-left:2px solid var(--gold); }
.reference-callout h3 { margin:0; font-family:var(--serif); font-size:2rem; font-weight:500; }
.reference-callout p { margin:12px 0 0; color:var(--muted); line-height:1.75; }

.scope-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.scope-tile { min-height:116px; padding:25px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.scope-tile > span { font-size:1rem; opacity:.72; }
.scope-tile h3 { margin:16px 0 0; font-family:var(--sans); font-size:.88rem; letter-spacing:.04em; }
.reference-summary { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:50px; }
.reference-summary p { max-width:780px; margin:0; color:var(--muted); line-height:1.75; }
.reference-summary .button { flex-shrink:0; border-radius:0; }

.difference-section { padding-block:96px; }
.difference-inner { max-width:970px; text-align:center; }
.difference-inner h2 { margin-inline:auto; }
.difference-inner > p:last-child { max-width:740px; margin:24px auto 0; color:var(--muted); line-height:1.75; }

.knowhow-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.knowledge-card { min-height:260px; padding:34px; background:var(--navy-deep); }
.knowledge-card h3 { margin:28px 0 14px; font-family:var(--serif); font-size:2rem; font-weight:500; }
.knowledge-card p { margin:0; color:var(--muted); line-height:1.75; }

.packages-section { background:linear-gradient(180deg,#06152a,#030d1c); }
.packages-grid { display:grid; grid-template-columns:repeat(3,1fr); align-items:stretch; gap:14px; }
.package-card { position:relative; display:flex; flex-direction:column; min-height:680px; padding:34px 31px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.package-card-featured { border-color:rgba(242,201,114,.7); background:linear-gradient(160deg,rgba(18,54,89,.98),rgba(6,25,47,.98)); }
.package-number { color:rgba(242,201,114,.68); font-family:var(--serif); font-size:1.6rem; }
.package-card h3 { margin:24px 0 1px; font-family:var(--serif); font-size:2.35rem; font-weight:500; text-transform:uppercase; }
.package-subtitle { color:var(--gold-light)!important; font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.package-card > p:not(.package-subtitle):not(.package-result) { margin:21px 0 0; color:var(--muted); font-size:.88rem; line-height:1.72; }
.package-card ul { display:grid; gap:11px; margin:27px 0; padding:0; list-style:none; }
.package-card li { display:flex; gap:10px; color:#dce4ec; font-size:.83rem; }
.package-card li::before { content:"✓"; color:var(--gold-light); }
.package-result { margin:auto 0 24px; padding-top:23px; border-top:1px solid var(--line); color:#e9edf2; font-size:.84rem; line-height:1.68; }
.package-card .button { align-self:flex-start; border-radius:0; }
.package-badge { position:absolute; top:18px; right:18px; padding:5px 8px; color:#17130d; background:var(--gold-light); font-size:.54rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.packages-note { margin:31px 0 0; color:var(--muted); font-size:.83rem; }

.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.benefit-card { min-height:195px; padding:31px; background:var(--navy-deep); }
.benefit-card h3 { margin:0; font-family:var(--serif); font-size:1.65rem; font-weight:500; }
.benefit-card p { margin:14px 0 0; color:var(--muted); font-size:.85rem; line-height:1.75; }

.steps-list { display:grid; gap:1px; margin:0; padding:1px; background:var(--line); list-style:none; }
.steps-list li { display:grid; grid-template-columns:80px 280px minmax(0,1fr); align-items:baseline; gap:22px; padding:27px 31px; background:rgba(3,13,28,.96); }
.steps-list span { color:var(--gold-light); font-family:var(--serif); font-size:2rem; }
.steps-list strong { font-size:1rem; font-weight:600; }
.steps-list p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.7; }

.reference-cta { position:relative; padding:92px 0; overflow:hidden; border-top:1px solid rgba(242,201,114,.3); background:var(--navy); text-align:center; }
.reference-cta::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 0,rgba(219,166,70,.11),transparent 42%); }
.reference-cta .container { position:relative; }
.reference-cta h2 { max-width:820px; margin:0 auto; }
.reference-cta p { max-width:700px; margin:22px auto 0; color:var(--muted); line-height:1.75; }
.reference-cta .container > div { display:flex; justify-content:center; gap:15px; margin-top:36px; }
.reference-cta .button { border-radius:0; }

.lovable-page .footer-main { grid-template-columns:1.05fr .95fr; padding:64px 0 52px; }
.lovable-page .footer-main > div:first-child > p { max-width:430px; margin-top:22px; line-height:1.75; }
.lovable-page .footer-main > div:first-child > .button { margin-top:25px; border-radius:0; }
.lovable-page .footer-links { grid-template-columns:repeat(2,1fr); }
.lovable-page .footer-links span { display:block; margin:6px 0; color:#c9d3de; font-size:.78rem; }

@media (max-width:1020px) {
  .reference-section { padding-block:88px; }
  .issue-grid,
  .benefit-grid { grid-template-columns:repeat(2,1fr); }
  .scope-grid { grid-template-columns:repeat(2,1fr); }
  .packages-grid { grid-template-columns:1fr; }
  .package-card { min-height:0; }
  .package-result { margin-top:15px; }
}
@media (max-width:760px) {
  .home-page .reference-section .container,
  .home-page .reference-cta .container,
  .home-page .site-footer .container { width:min(100% - 34px,1320px); }
  .reference-section { padding-block:72px; }
  .reference-heading { margin-bottom:38px; }
  .reference-heading h2,
  .difference-inner h2,
  .reference-cta h2 { font-size:clamp(2.2rem,10vw,2.8rem); }
  .issue-grid,
  .knowhow-grid,
  .benefit-grid { grid-template-columns:1fr; }
  .reference-summary { align-items:flex-start; flex-direction:column; }
  .steps-list li { grid-template-columns:50px 1fr; gap:9px 15px; padding:24px 21px; }
  .steps-list p { grid-column:2; }
  .reference-cta { padding-block:72px; }
  .reference-cta .container > div { align-items:stretch; flex-direction:column; }
  .lovable-page .footer-main { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .scope-grid { grid-template-columns:1fr; }
  .reference-tile,
  .knowledge-card,
  .benefit-card,
  .package-card { padding:26px 22px; }
}

/* Spoločný Lovable vzhľad a rozostupy vnútorných podstránok */
.lovable-page:not(.home-page) .header-inner,
.lovable-page .lp-hero .container,
.lovable-page .lp-section .container,
.lovable-page:not(.home-page) .reference-cta .container,
.lovable-page:not(.home-page) .site-footer .container { width:min(1320px,calc(100% - 46px)); }
.lovable-page:not(.home-page) .site-header { background:#030d1c; border-color:rgba(190,207,226,.1); backdrop-filter:none; }
.lovable-page:not(.home-page) .header-inner { min-height:62px; }
.lovable-page:not(.home-page) .main-nav { gap:29px; }
.lovable-page:not(.home-page) .main-nav a { color:#b9c1cc; font-size:.84rem; font-weight:500; }
.lovable-page:not(.home-page) .header-cta { min-width:251px; min-height:62px; border-radius:0; box-shadow:none; letter-spacing:.1em; text-transform:uppercase; }
.lovable-page .button-outline { color:#fff; background:transparent; border-color:rgba(196,211,229,.35); box-shadow:none; }
.lovable-page .button-outline:hover { border-color:var(--gold-light); background:rgba(255,255,255,.04); }

.lp-hero { position:relative; min-height:510px; display:flex; align-items:center; overflow:hidden; padding:100px 0; background-image:linear-gradient(rgba(130,157,185,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(130,157,185,.07) 1px,transparent 1px),linear-gradient(90deg,#030d1c 0%,#07162a 54%,#202b37 100%); background-size:72px 72px,72px 72px,100% 100%; }
.lp-hero::after { content:""; position:absolute; width:480px; height:480px; top:-220px; right:-80px; border-radius:50%; background:rgba(219,166,70,.08); filter:blur(70px); pointer-events:none; }
.lp-hero .container { z-index:1; }
.lp-hero h1 { max-width:950px; margin:22px 0 0; font-size:clamp(3.35rem,5vw,4.45rem); font-weight:400; line-height:1.03; }
.lp-hero .lead { max-width:760px; margin:27px 0 0; color:#c5d0dc; font-size:1.05rem; line-height:1.75; }
.lp-actions { display:flex; flex-wrap:wrap; gap:15px; margin-top:38px; }
.lp-actions .button { border-radius:0; letter-spacing:.07em; text-transform:uppercase; }
.lp-hero-compact { min-height:430px; }

.lp-section { padding:112px 0; border-top:1px solid rgba(202,217,235,.08); background:var(--navy-deep); }
.lp-section-alt { background:linear-gradient(135deg,rgba(10,33,61,.86),rgba(5,19,37,.96)); }
.lp-heading { max-width:850px; margin-bottom:54px; }
.lp-heading h2 { margin:18px 0 0; font-size:clamp(2.55rem,4vw,3.15rem); font-weight:400; line-height:1.08; }
.lp-heading > p:last-child:not(.eyebrow) { max-width:800px; margin:21px 0 0; color:var(--muted); line-height:1.75; }
.role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.lp-card { min-height:220px; padding:31px; background:var(--navy-deep); }
.lp-card > span,
.result-card > span { color:var(--gold-light); font-family:var(--serif); font-size:1.55rem; }
.lp-card h3 { margin:27px 0 10px; font-family:var(--serif); font-size:1.75rem; font-weight:500; }
.lp-card p { margin:0; color:var(--muted); line-height:1.7; }

.service-result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.service-result-grid-four { grid-template-columns:repeat(2,1fr); }
.result-card { display:flex; flex-direction:column; min-height:260px; padding:31px; background:var(--navy-deep); }
.lp-section-alt .result-card { background:#07182c; }
.result-card h3 { margin:24px 0 11px; font-family:var(--serif); font-size:1.75rem; font-weight:500; }
.result-card p { margin:0; color:var(--muted); line-height:1.7; }
.result-card a { margin-top:auto; padding-top:28px; color:var(--gold-light); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.result-card a:hover { color:#fff; }

.packages-detail-section .package-card { min-height:835px; }
.package-card h2 { margin:24px 0 1px; font-family:var(--serif); font-size:2.35rem; font-weight:500; text-transform:uppercase; }
.package-label { margin:26px 0 0!important; color:var(--gold-light)!important; font-size:.68rem!important; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.package-price { margin:0 0 22px!important; color:var(--muted)!important; font-size:.74rem!important; }
.packages-detail-section .package-result { margin-top:18px; }
.comparison-wrap { overflow-x:auto; border:1px solid var(--line); }
.comparison-table { width:100%; min-width:690px; border-collapse:collapse; }
.comparison-table th,
.comparison-table td { padding:19px 22px; border-bottom:1px solid var(--line); text-align:center; }
.comparison-table th:first-child,
.comparison-table td:first-child { text-align:left; }
.comparison-table th { color:var(--gold-light); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.comparison-table td { color:#d4dde7; font-size:.84rem; }
.comparison-table td:not(:first-child) { color:var(--gold-light); font-weight:700; }
.comparison-table tr:last-child td { border-bottom:0; }

.story-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:start; }
.story-grid .lp-heading { margin:0; }
.story-copy > p { color:#c8d2dd; line-height:1.82; }
.work-principles { margin-top:43px; padding:28px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.work-principles ul { display:grid; gap:13px; margin:23px 0 0; padding:0; list-style:none; }
.work-principles li { display:flex; gap:11px; color:#dce4ec; font-size:.87rem; line-height:1.65; }
.work-principles li::before { content:"✓"; color:var(--gold-light); }
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:1px; background:var(--line); }
.value-card { min-height:178px; padding:29px; background:#07182c; }
.value-card h3 { margin:0; font-family:var(--serif); font-size:1.65rem; font-weight:500; }
.value-card p { margin:13px 0 0; color:var(--muted); font-size:.84rem; line-height:1.7; }

.inquiry-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:start; }
.lp-contact-form { padding:38px; border-radius:0; box-shadow:none; }
.lp-contact-form input,
.lp-contact-form textarea,
.lp-contact-form select { border-radius:0; }
.lp-contact-form .button { border-radius:0; }
.contact-aside { display:grid; gap:45px; padding-top:5px; }
.contact-aside ul,
.contact-aside ol { margin:21px 0 0; padding:0; list-style:none; }
.contact-aside ul { display:grid; gap:10px; color:#d8e0e8; }
.contact-aside a:hover { color:var(--gold-light); }
.contact-aside ol { display:grid; gap:20px; }
.contact-aside ol li { display:grid; grid-template-columns:34px 1fr; gap:13px; }
.contact-aside ol li > span { color:var(--gold-light); font-family:var(--serif); font-size:1.35rem; }
.contact-aside strong { font-size:.84rem; }
.contact-aside ol p { margin:5px 0 0; color:var(--muted); font-size:.77rem; line-height:1.65; }

.blog-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:45px; }
.blog-filters button { padding:10px 14px; border:1px solid var(--line); border-radius:0; color:#c7d1dc; background:transparent; font-size:.72rem; }
.blog-filters button:hover,
.blog-filters button.is-active { border-color:var(--gold); color:#17130d; background:var(--gold-light); }
.reference-blog-grid { grid-template-columns:repeat(3,1fr); }
.reference-blog-grid .blog-card { min-height:300px; border-radius:0; background:rgba(255,255,255,.025); }
.reference-blog-grid .blog-card-visual { display:none; }
.reference-blog-grid .blog-card-body { padding:27px; }
.reference-blog-grid .blog-card h3 { font-size:1.65rem; font-weight:500; }
.reference-blog-grid .blog-card p { font-size:.83rem; line-height:1.7; }
.blog-page .blog-admin-link { margin-top:32px; text-align:right; }

@media (max-width:1250px) {
  .lovable-page:not(.home-page) .main-nav { gap:18px; }
}
@media (max-width:1180px) {
  .lovable-page .header-cta { display:none; }
  .lovable-page .nav-toggle { display:block; margin-left:auto; }
  .lovable-page .main-nav { position:absolute; top:62px; left:0; right:0; display:grid; gap:0!important; max-height:0; overflow:hidden; margin:0; border-bottom:1px solid transparent; background:#06152a; transition:max-height .25s,border-color .25s; }
  .lovable-page .main-nav.open { max-height:340px; border-color:var(--line); }
  .lovable-page .main-nav a { padding:13px 18px; }
  .lovable-page .main-nav a::after { display:none; }
}
@media (max-width:1020px) {
  .lp-section { padding-block:88px; }
  .role-grid,
  .service-result-grid,
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .story-grid { grid-template-columns:1fr; gap:48px; }
  .inquiry-grid { grid-template-columns:1fr; }
  .reference-blog-grid { grid-template-columns:repeat(2,1fr); }
  .packages-detail-section .package-card { min-height:0; }
}
@media (max-width:760px) {
  .lovable-page:not(.home-page) .header-inner,
  .lovable-page .lp-hero .container,
  .lovable-page .lp-section .container,
  .lovable-page:not(.home-page) .reference-cta .container,
  .lovable-page:not(.home-page) .site-footer .container { width:min(100% - 34px,1320px); }
  .lovable-page:not(.home-page) .header-inner { min-height:69px; }
  .lovable-page:not(.home-page) .main-nav { top:69px; }
  .lp-hero { min-height:0; padding:76px 0; background-size:54px 54px,54px 54px,100% 100%; }
  .lp-hero h1 { font-size:clamp(2.75rem,11vw,3.5rem); }
  .lp-section { padding-block:72px; }
  .lp-heading { margin-bottom:38px; }
  .role-grid,
  .service-result-grid,
  .values-grid,
  .reference-blog-grid { grid-template-columns:1fr; }
  .lp-actions { align-items:stretch; flex-direction:column; }
  .lp-actions .button { width:100%; }
  .lp-contact-form { padding:27px 21px; }
  .inquiry-grid { gap:48px; }
}

/* Prehľadná administrácia blogu */
.admin-modal {
  width:min(520px,calc(100% - 32px));
  max-width:none;
  max-height:calc(100dvh - 32px);
  overflow:hidden;
  border-color:rgba(219,166,70,.38);
  border-radius:12px;
  background:#07182c;
}
.admin-modal.is-authenticated { width:min(1120px,calc(100% - 32px)); }
.admin-modal .admin-login { padding:46px; }
.admin-modal .admin-login h2 { margin-bottom:9px; font-size:2.25rem; }
.admin-modal .admin-login > p:not(.eyebrow) { max-width:390px; margin-bottom:25px; line-height:1.65; }
.admin-modal .admin-login .button { width:100%; margin-top:4px; }
.admin-modal .modal-close { top:15px; right:15px; z-index:10; background:rgba(255,255,255,.08); }
.admin-modal .modal-close:hover { color:#101725; background:var(--gold-light); }

.admin-panel {
  max-height:calc(100dvh - 34px);
  padding:0;
  overflow:auto;
  scrollbar-color:rgba(219,166,70,.45) rgba(255,255,255,.04);
  scrollbar-width:thin;
}
.admin-panel-header {
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:112px;
  padding:24px 70px 24px 36px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:rgba(7,24,44,.96);
  backdrop-filter:blur(14px);
}
.admin-panel-header .eyebrow { margin-bottom:4px; }
.admin-panel-header h2 { margin:0; font-size:2rem; font-weight:500; }
.admin-panel-header p:last-child { margin:5px 0 0; color:var(--muted); font-size:.76rem; }
.admin-header-actions { display:flex; align-items:center; gap:13px; flex:0 0 auto; }
.admin-storage-badge {
  padding:8px 11px;
  border:1px solid rgba(126,194,158,.24);
  color:#a8ddbd;
  background:rgba(60,139,94,.09);
  font-size:.65rem;
  letter-spacing:.03em;
}
.admin-logout,
.admin-secondary-button {
  min-height:38px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.17);
  color:#d4dde6;
  background:transparent;
  font-size:.7rem;
  font-weight:700;
}
.admin-logout:hover,
.admin-secondary-button:hover { border-color:var(--gold); color:var(--gold-light); }

.admin-dashboard { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); align-items:start; }
.admin-editor,
.admin-library { padding:34px 36px 40px; }
.admin-editor { border-right:1px solid rgba(255,255,255,.09); }
.admin-library {
  position:sticky;
  top:112px;
  display:flex;
  flex-direction:column;
  max-height:calc(100dvh - 146px);
  background:rgba(255,255,255,.018);
}
.admin-section-heading { display:grid; grid-template-columns:38px 1fr; gap:13px; align-items:start; margin-bottom:25px; }
.admin-section-number {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(219,166,70,.42);
  color:var(--gold-light);
  font-family:var(--serif);
  font-size:1.05rem;
}
.admin-section-heading h3 { margin:0; font-family:var(--serif); font-size:1.55rem; font-weight:500; }
.admin-section-heading p { margin:4px 0 0; color:var(--muted); font-size:.7rem; line-height:1.5; }
.admin-editor.is-editing { box-shadow:inset 3px 0 0 var(--gold); }
.admin-editor.is-editing .admin-section-number { color:#14100a; background:var(--gold-light); }

.admin-editor form { display:grid; gap:2px; }
.admin-editor label { color:#dfe7ef; font-size:.71rem; letter-spacing:.01em; }
.admin-editor input,
.admin-editor textarea {
  margin:7px 0 14px;
  border-color:rgba(177,202,226,.2);
  border-radius:0;
  background:rgba(1,12,24,.48);
}
.admin-editor textarea { min-height:0; line-height:1.55; }
.admin-editor input:focus,
.admin-editor textarea:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(219,166,70,.09); }
.admin-upload {
  margin-top:3px;
  padding:16px;
  border:1px dashed rgba(177,202,226,.26);
  background:rgba(255,255,255,.018);
}
.admin-upload input { margin-bottom:10px; padding:7px; border:0; background:transparent; }
.admin-upload input::file-selector-button {
  margin-right:12px;
  padding:9px 12px;
  border:1px solid rgba(219,166,70,.45);
  color:var(--gold-light);
  background:rgba(219,166,70,.07);
  cursor:pointer;
}
.admin-upload .image-upload-hint { margin:0; line-height:1.5; }
.admin-form-actions { display:flex; align-items:center; gap:12px; margin-top:18px; }
.admin-form-actions .button { min-width:178px; }

.admin-post-list {
  display:grid;
  gap:10px;
  min-height:100px;
  padding-right:5px;
  overflow:auto;
  scrollbar-color:rgba(219,166,70,.4) rgba(255,255,255,.03);
  scrollbar-width:thin;
}
.admin-post-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:16px;
  border:1px solid rgba(255,255,255,.09);
  color:#e5ebf1;
  background:rgba(1,12,24,.38);
  transition:border-color .2s,background .2s;
}
.admin-post-item:hover { border-color:rgba(219,166,70,.36); background:rgba(13,44,75,.56); }
.admin-post-copy { min-width:0; }
.admin-post-copy strong { display:block; overflow-wrap:anywhere; font-family:var(--serif); font-size:1rem; font-weight:500; line-height:1.3; }
.admin-post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:7px; color:#8fa0b1; font-size:.58rem; text-transform:uppercase; letter-spacing:.055em; }
.admin-post-meta span { padding:4px 6px; color:var(--gold-light); background:rgba(219,166,70,.09); }
.admin-post-actions { display:grid; grid-template-columns:1fr; gap:6px; }
.admin-action-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:92px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.15);
  color:#dbe4ec;
  background:transparent;
  font-size:.64rem;
  font-weight:700;
}
.admin-action-button:hover { border-color:var(--gold); color:var(--gold-light); background:rgba(219,166,70,.07); }
.admin-action-danger { border-color:rgba(226,121,121,.2); color:#eba4a4; }
.admin-action-danger:hover { border-color:#df7777; color:#ffd1d1; background:rgba(173,58,58,.12); }
.admin-empty-state { display:grid; place-items:center; min-height:220px; padding:30px; border:1px dashed rgba(255,255,255,.14); text-align:center; }
.admin-empty-state > span { color:var(--gold-light); font-family:var(--serif); font-size:2.2rem; }
.admin-empty-state strong { margin-top:7px; font-family:var(--serif); font-size:1.2rem; }
.admin-empty-state p { max-width:240px; margin:5px 0 0; color:var(--muted); font-size:.72rem; }

.blog-card-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:21px -27px -27px;
  border-top:1px solid rgba(255,255,255,.1);
  background:rgba(0,8,18,.28);
}
.admin-card-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  padding:9px 12px;
  border:0;
  color:#dce5ed;
  background:transparent;
  font-size:.67rem;
  font-weight:700;
}
.admin-card-button + .admin-card-button { border-left:1px solid rgba(255,255,255,.1); }
.admin-card-button:hover { color:#15110b; background:var(--gold-light); }
.admin-card-button-danger { color:#efa6a6; }
.admin-card-button-danger:hover { color:#fff; background:#9f3e45; }

/* Samostatná súkromná stránka správy blogu */
.admin-page { min-height:100vh; color:#e8eef5; background:radial-gradient(circle at 12% 0,rgba(41,92,143,.28),transparent 28%),#06152a; }
.admin-portal { width:min(1120px,calc(100% - 32px)); margin:0 auto; padding:32px 0 46px; }
.admin-back-link { display:inline-flex; margin:0 0 28px; color:#bfd1e4; font-size:.77rem; font-weight:700; text-decoration:none; }
.admin-back-link:hover { color:var(--gold-light); }
.admin-login-card { width:min(520px,100%); padding:46px; border:1px solid rgba(219,166,70,.38); border-radius:12px; background:#07182c; box-shadow:0 25px 70px rgba(0,0,0,.25); }
.admin-login-card h1 { margin:0 0 9px; font-size:2.25rem; }
.admin-login-card > p:not(.eyebrow) { max-width:390px; margin-bottom:25px; line-height:1.65; }
.admin-login-card form { display:grid; gap:2px; }
.admin-login-card label { color:#dfe7ef; font-size:.71rem; letter-spacing:.01em; }
.admin-login-card input { width:100%; margin:7px 0 14px; border-color:rgba(177,202,226,.2); border-radius:0; background:rgba(1,12,24,.48); }
.admin-login-card input:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(219,166,70,.09); }
.admin-login-card .button { width:100%; margin-top:4px; }
.admin-portal-panel { border:1px solid rgba(219,166,70,.38); border-radius:12px; background:#07182c; box-shadow:0 25px 70px rgba(0,0,0,.25); }
.admin-portal-panel .admin-panel-header h1 { margin:0; font-size:2rem; font-weight:500; }
.admin-password-card { display:grid; grid-template-columns:minmax(200px,.9fr) minmax(300px,1.1fr); gap:2rem; margin:0 0 1.5rem; padding:1.5rem; border:1px solid rgba(220,169,52,.45); border-radius:1rem; background:rgba(4,25,49,.8); }
.admin-password-card h2 { margin:.2rem 0 .55rem; }
.admin-password-card p { margin:0; }
.admin-password-card form { display:grid; gap:.85rem; }

@media (max-width:900px) {
  .admin-password-card { grid-template-columns:1fr; gap:1.25rem; padding:1.2rem; }
  .admin-modal.is-authenticated { width:min(720px,calc(100% - 24px)); }
  .admin-panel-header { align-items:flex-start; flex-direction:column; gap:14px; padding:25px 62px 22px 25px; }
  .admin-header-actions { flex-wrap:wrap; }
  .admin-dashboard { grid-template-columns:1fr; }
  .admin-editor { border-right:0; border-bottom:1px solid rgba(255,255,255,.09); }
  .admin-library { position:static; max-height:none; }
  .admin-post-list { max-height:none; overflow:visible; }
}

@media (max-width:520px) {
  .admin-modal,
  .admin-modal.is-authenticated { width:calc(100% - 14px); max-height:calc(100dvh - 14px); }
  .admin-modal .admin-login { padding:39px 22px 28px; }
  .admin-panel { max-height:calc(100dvh - 16px); }
  .admin-panel-header { padding:25px 52px 22px 20px; }
  .admin-storage-badge { display:none; }
  .admin-editor,
  .admin-library { padding:27px 19px 32px; }
  .admin-editor .form-row { grid-template-columns:1fr; gap:0; }
  .admin-form-actions { align-items:stretch; flex-direction:column; }
  .admin-form-actions .button,
  .admin-form-actions .admin-secondary-button { width:100%; }
  .admin-post-item { grid-template-columns:1fr; gap:13px; }
  .admin-post-actions { grid-template-columns:1fr 1fr; }
  .admin-action-button { min-height:39px; }
  .admin-portal { width:calc(100% - 14px); padding-top:18px; }
  .admin-login-card { padding:39px 22px 28px; }
}

/* Zákaznícke zobrazenie blogu a článku */
.reference-blog-grid { gap:22px; }
.reference-blog-grid .blog-card {
  position:relative;
  min-height:460px;
  border-color:rgba(163,190,216,.2);
  background:linear-gradient(155deg,rgba(12,39,69,.78),rgba(5,20,38,.94));
  box-shadow:0 18px 44px rgba(0,8,18,.16);
}
.reference-blog-grid .blog-card:hover {
  transform:translateY(-7px);
  border-color:rgba(219,166,70,.58);
  box-shadow:0 24px 54px rgba(0,8,18,.34);
}
.reference-blog-grid .blog-card-visual {
  display:block;
  isolation:isolate;
  height:auto;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:radial-gradient(circle at 72% 35%,rgba(219,166,70,.25),transparent 24%),linear-gradient(145deg,#173e68,#07182d 72%);
}
.reference-blog-grid .blog-card-visual img {
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.001);
  transition:transform .55s ease,filter .4s ease;
}
.reference-blog-grid .blog-card:hover .blog-card-visual img { transform:scale(1.055); filter:saturate(1.07); }
.reference-blog-grid .blog-card-visual.has-image::after {
  display:block;
  inset:auto 0 0;
  width:auto;
  height:62%;
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,transparent,rgba(1,10,21,.82));
  transform:none;
}
.blog-card-cover-brand {
  position:absolute;
  z-index:2;
  top:22px;
  right:22px;
  max-width:130px;
  color:rgba(238,244,249,.35);
  font-size:.58rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.16em;
}
.blog-card-cover-category {
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  padding:7px 9px;
  color:#17120a;
  background:var(--gold-light);
  box-shadow:0 7px 18px rgba(0,0,0,.2);
  font-size:.6rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.reference-blog-grid .blog-card-body { min-height:255px; padding:25px 27px 27px; }
.reference-blog-grid .blog-meta {
  margin-bottom:13px;
  color:#9dacbc;
  font-size:.61rem;
  letter-spacing:.055em;
}
.reference-blog-grid .blog-card h3 {
  display:-webkit-box;
  overflow:hidden;
  margin-bottom:11px;
  font-size:1.58rem;
  line-height:1.15;
  -webkit-box-orient:vertical;
  line-clamp:3;
  -webkit-line-clamp:3;
}
.reference-blog-grid .blog-card p {
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 21px;
  color:#aebdcb;
  line-height:1.68;
  -webkit-box-orient:vertical;
  line-clamp:3;
  -webkit-line-clamp:3;
}
.reference-blog-grid .read-post {
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  padding-bottom:4px;
  border-bottom:1px solid rgba(219,166,70,.42);
  transition:gap .2s,border-color .2s,color .2s;
}
.reference-blog-grid .read-post:hover { gap:14px; border-color:var(--gold-light); color:#f1c873; }
.reference-blog-grid .read-post:focus-visible { outline:2px solid var(--gold-light); outline-offset:5px; }
.reference-blog-grid .blog-card:has(.read-post:focus-visible) { border-color:var(--gold); }

@media (min-width:761px) {
  .reference-blog-grid .blog-card:first-child { grid-column:span 2; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); min-height:390px; }
  .reference-blog-grid .blog-card:first-child .blog-card-visual { height:100%; min-height:390px; aspect-ratio:auto; border-right:1px solid rgba(255,255,255,.08); border-bottom:0; }
  .reference-blog-grid .blog-card:first-child .blog-card-body { min-height:390px; padding:37px; }
  .reference-blog-grid .blog-card:first-child h3 { font-size:clamp(1.9rem,2.5vw,2.45rem); line-clamp:4; -webkit-line-clamp:4; }
  .reference-blog-grid .blog-card:first-child p { font-size:.88rem; line-clamp:4; -webkit-line-clamp:4; }
}

.modal.article-modal {
  width:min(1040px,calc(100% - 32px));
  max-width:none;
  max-height:calc(100dvh - 28px);
  overflow:auto;
  border-color:rgba(219,166,70,.4);
  border-radius:12px;
  color:#eef3f7;
  background:#07182c;
  box-shadow:0 32px 90px rgba(0,0,0,.72);
  scrollbar-color:rgba(219,166,70,.45) rgba(255,255,255,.04);
  scrollbar-width:thin;
}
.article-modal::backdrop { background:rgba(0,7,15,.84); backdrop-filter:blur(7px); }
.article-modal .article-modal-close {
  position:sticky;
  top:14px;
  right:auto;
  z-index:12;
  display:grid;
  margin:14px 14px -46px auto;
  color:#fff;
  background:rgba(3,15,29,.78);
  box-shadow:0 6px 20px rgba(0,0,0,.25);
  backdrop-filter:blur(8px);
}
.article-modal .article-modal-close:hover { color:#15110a; background:var(--gold-light); }
.article-modal-content { padding:0; }
.article-modal-header {
  position:relative;
  padding:65px 72px 46px;
  overflow:hidden;
  background-image:linear-gradient(rgba(112,150,186,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(112,150,186,.06) 1px,transparent 1px),radial-gradient(circle at 88% 12%,rgba(219,166,70,.12),transparent 28%);
  background-size:58px 58px,58px 58px,100% 100%;
}
.article-modal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:22px; color:#9eafbf; font-size:.67rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.article-modal-meta > span:first-child { padding:7px 9px; color:#17120a; background:var(--gold-light); }
.article-modal h2 { max-width:850px; margin:0; font-size:clamp(2.65rem,5.2vw,4.6rem); font-weight:500; line-height:.98; letter-spacing:-.025em; }
.article-modal-lead { max-width:770px; margin:27px 0 0; color:#cbd6e0; font-family:var(--sans); font-size:1.07rem; line-height:1.75; }
.article-modal-cover {
  position:relative;
  width:100%;
  max-height:520px;
  margin:0;
  aspect-ratio:16 / 7.4;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#041120;
}
.article-modal-cover::after { content:""; position:absolute; inset:auto 0 0; height:22%; background:linear-gradient(transparent,rgba(3,14,27,.42)); pointer-events:none; }
.article-modal-cover img { width:100%; height:100%; object-fit:cover; }
.article-modal-reading { display:grid; grid-template-columns:38px minmax(0,720px); gap:31px; justify-content:center; padding:58px 72px 63px; }
.article-modal-rule { position:relative; display:flex; justify-content:center; }
.article-modal-rule::before { content:""; width:1px; height:100%; background:linear-gradient(var(--gold),rgba(219,166,70,.08)); }
.article-modal-rule span { position:absolute; top:0; width:9px; height:9px; border:2px solid #07182c; border-radius:50%; background:var(--gold-light); box-shadow:0 0 0 1px var(--gold); }
.article-modal-body { max-width:720px; margin:0; color:#c9d4df; }
.article-modal-body p { margin:0 0 26px; font-size:1.02rem; line-height:1.88; }
.article-modal-body p:first-child { color:#e3e9ef; font-size:1.1rem; }
.article-modal-body p:last-child { margin-bottom:0; }
.article-modal-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  padding:35px 72px;
  border-top:1px solid rgba(255,255,255,.09);
  background:linear-gradient(110deg,rgba(21,60,96,.72),rgba(7,24,44,.96));
}
.article-modal-footer .eyebrow { margin-bottom:6px; }
.article-modal-footer h3 { margin:0; font-family:var(--serif); font-size:1.65rem; font-weight:500; }
.article-modal-footer .button { flex:0 0 auto; margin:0; }

@media (min-width:901px) {
  .article-modal.has-cover-image .article-modal-content { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); }
  .article-modal.has-cover-image .article-modal-header {
    display:flex;
    grid-column:1;
    grid-row:1;
    flex-direction:column;
    justify-content:center;
    min-height:490px;
    padding:62px 50px 55px 64px;
  }
  .article-modal.has-cover-image h2 { font-size:clamp(2.8rem,4.6vw,4.15rem); }
  .article-modal.has-cover-image .article-modal-cover {
    grid-column:2;
    grid-row:1;
    width:100%;
    height:100%;
    min-height:490px;
    max-height:none;
    aspect-ratio:auto;
    border-top:0;
    border-bottom:0;
    border-left:1px solid rgba(255,255,255,.08);
  }
  .article-modal.has-cover-image .article-modal-reading,
  .article-modal.has-cover-image .article-modal-footer { grid-column:1 / -1; }
}

@media (max-width:760px) {
  .reference-blog-grid .blog-card { min-height:0; }
  .reference-blog-grid .blog-card-visual { aspect-ratio:16 / 9; }
  .reference-blog-grid .blog-card-body { min-height:245px; }
  .modal.article-modal { width:calc(100% - 14px); max-height:calc(100dvh - 14px); border-radius:9px; }
  .article-modal-header { padding:57px 22px 34px; background-size:46px 46px,46px 46px,100% 100%; }
  .article-modal-meta { padding-right:34px; font-size:.61rem; }
  .article-modal h2 { font-size:clamp(2.25rem,11vw,3.35rem); }
  .article-modal-lead { margin-top:21px; font-size:.94rem; line-height:1.7; }
  .article-modal-cover { max-height:none; aspect-ratio:16 / 10; }
  .article-modal-reading { grid-template-columns:1fr; padding:36px 22px 42px; }
  .article-modal-rule { display:none; }
  .article-modal-body p,
  .article-modal-body p:first-child { font-size:.95rem; line-height:1.82; }
  .article-modal-footer { align-items:flex-start; flex-direction:column; padding:29px 22px; }
  .article-modal-footer h3 { font-size:1.4rem; }
  .article-modal-footer .button { width:100%; }
}

/* Security/legal additions; existing visual rules retained. */
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.privacy-content { max-width:850px; margin-inline:auto; overflow-wrap:anywhere; }
.privacy-content h2 { margin-top:2rem; }
.privacy-content p, .privacy-content li { margin-bottom:1rem; }
.legal-note { font-size:.875rem; line-height:1.6; }
