@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Open+Sans:wght@400;500;600&display=swap');

:root{
  --smaragd:#1B4332;
  --bez:#F5F0E8;
  --zlata:#C9A227;
  --tmava:#13301F;
  --tien:0 2px 12px rgba(0,0,0,0.08);
}

*{margin:0;padding:0;box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:'Open Sans',sans-serif;
  color:var(--smaragd);
  background:var(--bez);
  line-height:1.65;
  overflow-x:hidden;
}

h1,h2,h3,h4{font-family:'Montserrat',sans-serif;line-height:1.15;}

img{display:block;max-width:100%;}

a{color:inherit;text-decoration:none;}

/* NAVBAR */
.glaso-navbar{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:18px 60px;
  background:rgba(245,240,232,0.94);
  backdrop-filter:blur(8px);
  transition:padding .3s ease,box-shadow .3s ease;
}
.glaso-navbar.zmensene{padding:10px 60px;box-shadow:var(--tien);}
.glaso-logo{display:flex;align-items:center;gap:12px;justify-self:start;}
.glaso-logo-img{width:38px;height:38px;border-radius:4px;object-fit:cover;}
.glaso-logo-name{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:.5px;}
.glaso-menu{display:flex;gap:38px;list-style:none;justify-self:center;}
.glaso-link{font-weight:600;font-size:.95rem;position:relative;padding-bottom:4px;}
.glaso-link::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--zlata);transition:width .3s ease;
}
.glaso-link:hover::after,.glaso-link.aktivny::after{width:100%;}
.glaso-link.aktivny{color:var(--zlata);}
.glaso-navcta{
  justify-self:end;font-weight:600;font-size:.95rem;
  padding:11px 26px;background:var(--smaragd);color:var(--bez);
  border-radius:4px;transition:background .3s ease,transform .3s ease;
}
.glaso-navcta:hover{background:var(--tmava);transform:translateY(-2px);}
.glaso-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;justify-self:end;}
.glaso-burger span{width:26px;height:2px;background:var(--smaragd);transition:.3s;}

/* podlinka tlacidlo */
.glaso-podlinka{
  display:inline-block;font-weight:600;font-size:1rem;position:relative;padding-bottom:5px;color:var(--smaragd);
}
.glaso-podlinka::after{
  content:'';position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--zlata);transition:width .35s ease;
}
.glaso-podlinka:hover::after{width:100%;}

/* HERO */
.uvodny-blok{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;}
.uvodny-foto{position:absolute;inset:0;z-index:-1;}
.uvodny-foto img{width:100%;height:100%;object-fit:cover;}
.uvodny-platna{
  background:var(--bez);
  margin:0 60px 70px;
  padding:54px 60px;
  max-width:780px;
  border-radius:4px;
  box-shadow:var(--tien);
}
.uvodny-nadtitulok{text-transform:uppercase;letter-spacing:3px;font-size:.8rem;font-weight:600;color:var(--zlata);margin-bottom:18px;}
.uvodny-slogan{font-size:2.9rem;font-weight:800;margin-bottom:22px;}
.uvodny-popis{font-size:1.1rem;max-width:620px;margin-bottom:28px;}

/* USEK HLAVA */
.usek-hlava{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px;}
.usek-titulok{font-size:2.2rem;font-weight:700;max-width:70%;}
.usek-cislo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:3.4rem;color:rgba(27,67,50,0.12);line-height:1;}

/* sekcie spolocne */
section{padding:80px 60px;}

/* uvodne odhalovanie */
.odhal{opacity:0;transition:opacity .8s ease,transform .8s ease;}
.odhal-lavo{transform:translateX(-60px);}
.odhal-pravo{transform:translateX(60px);}
.odhal.zobrazene{opacity:1;transform:translateX(0);}

/* ABOUT */
.opis-mriezka{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start;}
.opis-uvod{font-family:'Montserrat',sans-serif;font-weight:600;font-size:1.4rem;margin-bottom:22px;}
.opis-text p{margin-bottom:16px;}
.opis-hodnoty{display:flex;flex-direction:column;gap:22px;}
.opis-hodnota{background:#fff;padding:24px 26px;border-radius:4px;box-shadow:var(--tien);border-left:3px solid var(--zlata);}
.opis-hodnota h3{font-size:1.15rem;margin-bottom:6px;}
.opis-obrazok{margin-top:50px;}
.opis-obrazok img{width:100%;height:420px;object-fit:cover;border-radius:4px;}

/* ADVANTAGES */
.prednosti{background:var(--smaragd);color:var(--bez);clip-path:polygon(0 4vw,100% 0,100% 100%,0 calc(100% - 4vw));}
.prednosti .usek-titulok{color:var(--bez);}
.prednosti .usek-cislo{color:rgba(245,240,232,0.18);}
.prednosti-mriezka{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.prednost-polozka .ikona{width:54px;height:54px;margin-bottom:18px;}
.prednost-polozka h3{font-size:1.25rem;margin-bottom:10px;}
.prednost-polozka p{color:rgba(245,240,232,0.82);font-size:.98rem;}

/* SERVICES */
.sluzby-uvod{max-width:760px;margin-bottom:46px;font-size:1.05rem;}
.sluzby-zoznam{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-bottom:80px;}
.sluzba-blok{background:#fff;border-radius:4px;box-shadow:var(--tien);overflow:hidden;}
.sluzba-foto{width:100%;height:220px;object-fit:cover;}
.sluzba-info{padding:26px 26px 30px;}
.sluzba-info h3{font-size:1.2rem;margin-bottom:10px;}
.sluzba-info p{font-size:.96rem;margin-bottom:16px;}
.sluzba-cena{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.15rem;color:var(--zlata);}
.cennik-titulok{font-size:1.5rem;margin-bottom:26px;}
.cennik-obal{overflow-x:auto;}
.cennik-tabulka{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden;box-shadow:var(--tien);}
.cennik-tabulka th,.cennik-tabulka td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(27,67,50,0.08);}
.cennik-tabulka thead th{background:var(--smaragd);color:var(--bez);font-family:'Montserrat',sans-serif;font-size:.95rem;}
.cennik-tabulka .cennik-nas{background:rgba(201,162,39,0.1);font-weight:600;}
.cennik-tabulka thead .cennik-nas{background:var(--tmava);color:var(--zlata);}

/* HOW IT WORKS */
.postup-kroky{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.postup-krok{position:relative;padding-top:14px;}
.postup-num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:2.6rem;color:var(--zlata);display:block;margin-bottom:12px;}
.postup-krok h3{font-size:1.18rem;margin-bottom:10px;}
.postup-krok p{font-size:.96rem;}

/* PROCESS VISUAL */
.proces-vizual{background:#fff;clip-path:polygon(0 0,100% 4vw,100% calc(100% - 4vw),0 100%);}
.proces-pasik{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.proces-snimka img{width:100%;height:300px;object-fit:cover;border-radius:4px;}
.proces-snimka figcaption{margin-top:14px;font-weight:600;font-size:.98rem;}

/* CASES */
.pripady-mriezka{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;}
.pripad-blok{background:#fff;border-radius:4px;overflow:hidden;box-shadow:var(--tien);}
.pripad-blok img{width:100%;height:300px;object-fit:cover;}
.pripad-text{padding:28px 30px 34px;}
.pripad-text h3{font-size:1.3rem;margin-bottom:12px;}

/* TRUST */
.dovera-usek{background:var(--smaragd);color:var(--bez);clip-path:polygon(0 4vw,100% 0,100% 100%,0 calc(100% - 4vw));}
.dovera-usek .usek-titulok{color:var(--bez);}
.dovera-usek .usek-cislo{color:rgba(245,240,232,0.18);}
.dovera-mriezka{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.dovera-cislo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:3rem;color:var(--zlata);display:block;margin-bottom:8px;}
.dovera-polozka p{color:rgba(245,240,232,0.82);}

/* CHECKLIST */
.zoznam-body{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:980px;}
.zoznam-body li{display:flex;align-items:center;gap:16px;background:#fff;padding:20px 24px;border-radius:4px;box-shadow:var(--tien);font-weight:500;}
.zoznam-fajka{width:30px;height:30px;flex-shrink:0;}

/* GEOGRAPHY */
.geografia-uvod{max-width:680px;margin-bottom:36px;font-size:1.05rem;}
.geografia-mesta{display:flex;flex-wrap:wrap;gap:14px;}
.geografia-mesta span{background:#fff;padding:12px 24px;border-radius:4px;box-shadow:var(--tien);font-weight:600;font-size:.95rem;border-bottom:2px solid var(--zlata);}

/* LOCAL MAP */
.mapa-obal{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center;}
.mapa-mesto{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.4rem;margin-bottom:16px;}
.mapa-text p{margin-bottom:14px;}
.mapa-adresa{font-weight:600;}
.mapa-vizual img{width:100%;height:380px;object-fit:cover;border-radius:4px;}

/* REVIEWS */
.hodnotenia-usek{background:#fff;}
.hodnotenia-mriezka{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;}
.hodnotenie-blok{background:var(--bez);padding:30px 32px;border-radius:4px;box-shadow:var(--tien);}
.hodnotenie-hlava{display:flex;align-items:center;gap:16px;margin-bottom:14px;}
.avatar{width:54px;height:54px;border-radius:50%;}
.hodnotenie-hlava strong{display:block;font-family:'Montserrat',sans-serif;}
.hodnotenie-hlava span{font-size:.88rem;color:rgba(27,67,50,0.6);}
.hviezdy{color:var(--zlata);letter-spacing:3px;margin-bottom:12px;font-size:1.05rem;}

/* FAQ */
.otazky-zoznam{max-width:900px;}
.otazka-polozka{background:#fff;border-radius:4px;box-shadow:var(--tien);margin-bottom:14px;overflow:hidden;}
.otazka-hlava{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-weight:600;font-size:1.05rem;color:var(--smaragd);
  padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.otazka-znak{font-size:1.6rem;color:var(--zlata);transition:transform .3s ease;flex-shrink:0;}
.otazka-polozka.otvorene .otazka-znak{transform:rotate(45deg);}
.otazka-telo{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.otazka-telo p{padding:0 26px 22px;}

/* CTA */
.vyzva-usek{background:var(--smaragd);color:var(--bez);text-align:left;clip-path:polygon(0 4vw,100% 0,100% 100%,0 calc(100% - 4vw));}
.vyzva-obsah{max-width:760px;}
.vyzva-nadtitulok{text-transform:uppercase;letter-spacing:3px;font-size:.82rem;color:var(--zlata);font-weight:600;margin-bottom:16px;}
.vyzva-titulok{font-size:2.1rem;font-weight:700;margin-bottom:34px;}
.vyzva-odpocet{display:flex;gap:18px;margin-bottom:38px;}
.odpocet-pole{background:rgba(245,240,232,0.1);border:1px solid rgba(245,240,232,0.25);border-radius:4px;padding:18px 24px;text-align:center;min-width:84px;}
.odpocet-pole span{font-family:'Montserrat',sans-serif;font-weight:800;font-size:2rem;display:block;color:var(--zlata);}
.odpocet-pole small{font-size:.78rem;text-transform:uppercase;letter-spacing:1px;color:rgba(245,240,232,0.7);}
.vyzva-cta{display:inline-block;background:var(--zlata);color:var(--tmava);font-weight:700;padding:15px 38px;border-radius:4px;font-family:'Montserrat',sans-serif;transition:transform .3s ease,background .3s ease;}
.vyzva-cta:hover{transform:translateY(-3px);background:#d9b43a;}

/* CONTACTS */
.kontakt-mriezka{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
.kontakt-polozka h3{font-size:1.05rem;margin-bottom:12px;color:var(--zlata);}
.kontakt-polozka a{font-size:1.05rem;font-weight:600;position:relative;}
.kontakt-polozka a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--zlata);transition:width .3s ease;}
.kontakt-polozka a:hover::after{width:100%;}

/* FOOTER */
.paticka{background:var(--tmava);color:var(--bez);padding:64px 60px 30px;display:grid;grid-template-columns:1.6fr 1fr;gap:50px;}
.paticka-logo{width:48px;height:48px;border-radius:4px;margin-bottom:20px;object-fit:cover;}
.paticka-stlpec p{color:rgba(245,240,232,0.8);margin-bottom:14px;max-width:420px;}
.paticka-kontakt{font-size:.95rem;}
.paticka-navig{display:flex;flex-direction:column;gap:10px;}
.paticka-navig h4{margin-bottom:8px;color:var(--zlata);}
.paticka-navig a{color:rgba(245,240,232,0.85);transition:color .3s;}
.paticka-navig a:hover{color:var(--zlata);}
.paticka-copy{grid-column:1/-1;border-top:1px solid rgba(245,240,232,0.15);padding-top:22px;font-size:.85rem;color:rgba(245,240,232,0.6);}

/* COOKIES */
.cookie-pruh{
  position:fixed;bottom:0;left:0;right:0;z-index:200;
  background:#fff;box-shadow:0 -2px 18px rgba(0,0,0,0.12);
  padding:22px 60px;display:flex;justify-content:space-between;align-items:center;gap:30px;
  transform:translateY(110%);transition:transform .5s ease;
}
.cookie-pruh.viditelne{transform:translateY(0);}
.cookie-pruh p{font-size:.9rem;max-width:760px;}
.cookie-tlacidla{display:flex;align-items:center;gap:18px;flex-shrink:0;}
.cookie-prijat{background:var(--smaragd);color:var(--bez);border:none;cursor:pointer;font-weight:600;padding:12px 30px;border-radius:4px;font-family:'Montserrat',sans-serif;transition:background .3s;}
.cookie-prijat:hover{background:var(--tmava);}
.cookie-viac{font-weight:600;position:relative;padding-bottom:3px;}
.cookie-viac::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--zlata);transition:width .3s;}
.cookie-viac:hover::after{width:100%;}

/* RESPONSIVE — desktop-first, max-width */
@media (max-width:1024px){
  .glaso-navbar{padding:16px 34px;}
  .glaso-navbar.zmensene{padding:10px 34px;}
  section{padding:64px 34px;}
  .uvodny-platna{margin:0 34px 50px;padding:40px 40px;}
  .uvodny-slogan{font-size:2.3rem;}
  .opis-mriezka{grid-template-columns:1fr;gap:40px;}
  .prednosti-mriezka{grid-template-columns:repeat(2,1fr);}
  .sluzby-zoznam{grid-template-columns:1fr;max-width:520px;}
  .postup-kroky{grid-template-columns:repeat(2,1fr);}
  .proces-pasik{grid-template-columns:1fr;}
  .pripady-mriezka{grid-template-columns:1fr;}
  .dovera-mriezka{grid-template-columns:repeat(2,1fr);}
  .mapa-obal{grid-template-columns:1fr;gap:30px;}
  .hodnotenia-mriezka{grid-template-columns:1fr;}
  .kontakt-mriezka{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:680px){
  .glaso-menu{
    position:fixed;top:0;right:-100%;height:100vh;width:74%;max-width:320px;
    background:var(--bez);flex-direction:column;justify-content:center;gap:30px;
    padding:60px 40px;box-shadow:-4px 0 24px rgba(0,0,0,0.12);transition:right .4s ease;z-index:90;
  }
  .glaso-menu.otvorene{right:0;}
  .glaso-navcta{display:none;}
  .glaso-burger{display:flex;}
  .glaso-navbar{grid-template-columns:1fr auto;}
  .uvodny-slogan{font-size:1.8rem;}
  .uvodny-platna{padding:32px 26px;margin:0 18px 36px;}
  .uvodny-popis{font-size:1rem;}
  section{padding:56px 22px;}
  .usek-hlava{flex-direction:column;gap:8px;}
  .usek-titulok{font-size:1.7rem;max-width:100%;}
  .usek-cislo{font-size:2.4rem;}
  .prednosti-mriezka{grid-template-columns:1fr;}
  .postup-kroky{grid-template-columns:1fr;}
  .dovera-mriezka{grid-template-columns:1fr;}
  .zoznam-body{grid-template-columns:1fr;}
  .kontakt-mriezka{grid-template-columns:1fr;}
  .paticka{grid-template-columns:1fr;gap:36px;padding:48px 24px 26px;}
  .vyzva-odpocet{flex-wrap:wrap;gap:12px;}
  .odpocet-pole{min-width:70px;padding:14px 16px;}
  .vyzva-titulok{font-size:1.6rem;}
  .cookie-pruh{flex-direction:column;align-items:flex-start;padding:20px 24px;gap:16px;}
}
