/* ===== PoBeZdra, s.r.o. — shared styles ===== */
:root{
  --red:#D81621;
  --red-dark:#A40A12;
  --red-50:#FCECEC;
  --ink:#15181D;
  --ink-2:#21252D;
  --slate:#565D67;
  --slate-2:#7C838D;
  --line:#E8E2DA;
  --cream:#FAF7F3;
  --surface:#F3EEE7;
  --white:#fff;
  --ember:#F0A01C;
}

*{font-family:'Inter',system-ui,sans-serif;}
h1,h2,h3,h4,h5,h6,.font-heading{font-family:'Plus Jakarta Sans','Inter',sans-serif;}
html{scroll-behavior:smooth;}
body{color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;}
::selection{background:var(--red);color:#fff;}

/* anchor offset for sticky nav */
section[id]{scroll-margin-top:84px;}

/* ===== Nav ===== */
.nav{background:rgba(250,247,243,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s,background .3s;}
.nav.scrolled{background:rgba(250,247,243,.97);box-shadow:0 6px 28px rgba(21,24,29,.07);}
.nav-link{position:relative;color:var(--ink-2);font-weight:500;font-size:.93rem;transition:color .2s;}
.nav-link::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--red);transition:right .25s ease;}
.nav-link:hover{color:var(--red);}
.nav-link:hover::after,.nav-link.active::after{right:0;}
.nav-link.active{color:var(--red);}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;border-radius:.7rem;padding:.85rem 1.5rem;font-size:.95rem;transition:transform .2s,box-shadow .2s,background .2s,color .2s;line-height:1;}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 8px 20px -8px rgba(216,22,33,.55);}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(216,22,33,.6);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:var(--ink-2);transform:translateY(-2px);}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}
.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--line);}
.btn-outline:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);}

/* ===== Hero ===== */
.hero{background:var(--ink);position:relative;overflow:hidden;}
.hero-grid{background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;}
.hero-glow{background:radial-gradient(60% 60% at 78% 30%,rgba(216,22,33,.22),transparent 70%);}
/* full-bleed hero scrim — strong on the left for text legibility, plus top/bottom */
.hero-scrim{background:
  linear-gradient(90deg, rgba(17,20,24,.94) 0%, rgba(17,20,24,.86) 32%, rgba(17,20,24,.60) 62%, rgba(17,20,24,.40) 100%),
  linear-gradient(180deg, rgba(17,20,24,.45) 0%, transparent 26%, transparent 58%, rgba(17,20,24,.55) 100%);}
.kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(216,22,33,.18);}

/* eyebrow */
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);}
.rule{width:52px;height:3px;background:var(--red);border-radius:2px;}

/* ===== Cards ===== */
.card{background:#fff;border:1px solid var(--line);border-radius:1rem;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s,border-color .35s;}
.card-lift:hover{transform:translateY(-7px);box-shadow:0 26px 50px -22px rgba(21,24,29,.28);border-color:#ddd6cd;}
.svc-ico{width:54px;height:54px;border-radius:.85rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--red-50);color:var(--red);transition:transform .3s,background .3s,color .3s;}
.card-lift:hover .svc-ico{transform:scale(1.08) rotate(-4deg);background:var(--red);color:#fff;}

/* pillar card */
.pillar{position:relative;overflow:hidden;}
.pillar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .4s;}
.pillar:hover::before{transform:scaleY(1);}

/* image frame */
.imgwrap{overflow:hidden;}
.imgwrap img{transition:transform .6s ease;}
.imgwrap:hover img{transform:scale(1.05);}

/* ===== Reveal on scroll (headless-safe) ===== */
.reveal{opacity:1;}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94);}
html.js .reveal.in{opacity:1;transform:none;}
html.js .reveal.d1{transition-delay:.08s;}
html.js .reveal.d2{transition-delay:.16s;}
html.js .reveal.d3{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1!important;transform:none!important;transition:none!important;}}

/* ===== Mobile drawer ===== */
.drawer{transform:translateX(100%);transition:transform .35s cubic-bezier(.25,.46,.45,.94);}
.drawer.open{transform:translateX(0);}
.drawer-ov{opacity:0;pointer-events:none;transition:opacity .35s;}
.drawer-ov.open{opacity:1;pointer-events:auto;}
.m-link{color:#E8EAED;font-weight:500;border-radius:.6rem;transition:background .2s,color .2s;}
.m-link:hover,.m-link.active{background:rgba(255,255,255,.06);color:#fff;}

/* ===== FAQ accordion ===== */
.faq-q{cursor:pointer;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-a.open{max-height:340px;}
.faq-chev{transition:transform .3s;}
.faq-chev.open{transform:rotate(180deg);}

/* ===== Steps connector ===== */
.step{position:relative;}
.step:not(:last-child)::after{content:"";position:absolute;top:30px;left:calc(50% + 34px);right:calc(-50% + 34px);height:2px;background:linear-gradient(90deg,var(--red),rgba(216,22,33,.15));}
@media (max-width:767px){.step:not(:last-child)::after{display:none;}}

/* form */
.field{width:100%;background:#fff;border:1px solid var(--line);border-radius:.65rem;padding:.8rem 1rem;font-size:.95rem;color:var(--ink);transition:border-color .2s,box-shadow .2s;}
.field:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(216,22,33,.12);}
.field::placeholder{color:var(--slate-2);}
label.lbl{font-size:.82rem;font-weight:600;color:var(--ink-2);margin-bottom:.35rem;display:block;}

/* back to top */
.totop{opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;}
.totop.show{opacity:1;pointer-events:auto;}
.totop:hover{transform:translateY(-3px);}

/* CTA band — richer than flat red */
.cta-red{background:linear-gradient(125deg,#A00910 0%,#C8121B 52%,#9E0C14 100%);}

/* footer */
.f-link{color:#B8BDC5;transition:color .2s;}
.f-link:hover{color:#fff;}

/* utility: text balance for headings */
.balance{text-wrap:balance;}
