:root{
  --green:#19d33f;
  --green-dark:#119b30;
  --ink:#0d0f0e;
  --paper:#f5f4ef;
  --surface:#fff;
  --line:#cfd2cc;
  --muted:#5f655f;
  --body:"Inter",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.shell{width:min(1280px,calc(100% - 48px));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,244,239,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;min-width:0}
.brand img{width:224px;height:auto;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:700}
.main-nav a{position:relative;padding:8px 0}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--green);transition:right .2s ease}
.main-nav a:hover::after,.main-nav a:focus-visible::after{right:0}
.menu-button{display:none;width:44px;height:44px;border:1px solid var(--line);background:var(--surface);padding:11px;cursor:pointer}
.menu-button span{display:block;width:100%;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s ease,opacity .2s ease}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* Typography */
.overline{display:flex;align-items:center;gap:12px;margin:0 0 24px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.overline span{color:var(--green);font-size:12px}
.overline.light{color:#cbd0cc}
.section-title{max-width:850px}
.section-title h2{margin:0 0 52px;font-size:clamp(46px,5vw,76px);line-height:.98;letter-spacing:-.05em;font-weight:800}
.section{padding:108px 0}

/* Hero */
.hero{padding:70px 0 0}
.hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:78px;align-items:center}
.hero h1{margin:0;font-size:clamp(56px,6vw,90px);line-height:.96;letter-spacing:-.058em;font-weight:800}
.hero-accent{margin:10px 0 30px;color:var(--green);font-size:clamp(56px,6vw,90px);line-height:.96;letter-spacing:-.058em;font-weight:800}
.hero-text{max-width:620px;margin:0 0 28px;color:var(--muted);font-size:17px}
.text-link{display:inline-flex;align-items:center;gap:16px;padding-bottom:5px;border-bottom:2px solid var(--ink);font-size:15px;font-weight:750}
.text-link span{color:var(--green)}
.hero-board{position:relative;min-height:610px;overflow:hidden;background:var(--ink);color:#e9eee9;border-left:10px solid var(--green)}
.hero-board::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px}
.board-label{position:absolute;z-index:1;left:30px;top:25px;font-size:12px;font-weight:700;letter-spacing:.18em}
.board-drawing{position:absolute;inset:58px 34px 72px;width:calc(100% - 68px);height:calc(100% - 130px)}
.board-meta{position:absolute;right:0;bottom:0;display:grid;padding:18px 23px;background:var(--green);color:var(--ink);font-weight:800;text-transform:uppercase;line-height:1.1}
.board-meta span:first-child{font-size:21px}
.board-meta span:last-child{font-size:11px}
.facts{display:grid;grid-template-columns:210px 210px 210px 1fr;align-items:stretch;margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts>div{display:flex;align-items:center;gap:14px;padding:23px 22px 23px 0;border-right:1px solid var(--line)}
.facts>div+div{padding-left:22px}
.facts b{font-size:24px;text-transform:uppercase}
.facts span{color:var(--muted);font-size:12px;line-height:1.35}
.facts p{align-self:center;margin:0;padding:23px 0 23px 32px;font-size:15px;font-weight:750}

/* Services */
.service-list{border-top:2px solid var(--ink)}
.service-list article{display:grid;grid-template-columns:65px 54px 230px 1fr;gap:28px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);transition:padding .2s ease,background .2s ease}
.service-list article:hover{padding-left:12px;background:rgba(255,255,255,.42)}
.service-no{color:var(--green);font-size:17px;font-weight:800}
.service-list svg{width:41px;height:41px;fill:none;stroke:currentColor;stroke-width:2}
.service-list h3{margin:0;font-size:24px;letter-spacing:-.025em}
.service-list p{max-width:680px;margin:0;color:var(--muted)}

/* Process */
.process{background:var(--ink);color:#fff}
.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}
.sticky-title{position:sticky;top:130px;align-self:start}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #353a36}
.process-list li{display:grid;grid-template-columns:92px 1fr;gap:26px;padding:34px 0;border-bottom:1px solid #353a36}
.process-list>li>span{color:var(--green);font-size:44px;font-weight:800;line-height:1}
.process-list h3{margin:0 0 6px;font-size:23px;letter-spacing:-.02em}
.process-list p{margin:0;color:#aeb5af}

/* Why */
.why{background:#f8f7f3}
.why-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:stretch}
.why-statement{position:relative;display:flex;align-items:flex-start;padding-top:30px;border-top:1px solid var(--line)}
.why-statement p{position:relative;z-index:1;max-width:650px;margin:0;font-size:clamp(34px,3.2vw,52px);line-height:1.08;letter-spacing:-.045em;font-weight:600}
.giant-mark{position:absolute;right:10px;top:-42px;color:var(--green);font-size:110px;font-weight:500;line-height:1}
.why-points{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.why-points article{min-height:205px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.why-points span{color:var(--green);font-size:13px;font-weight:800}
.why-points h3{margin:25px 0 8px;font-size:22px;letter-spacing:-.025em}
.why-points p{margin:0;color:var(--muted);font-size:14px}

/* Contact */
.contact{padding:94px 0;background:#eef8f0}
.contact-heading{max-width:none;margin-bottom:32px}
.contact-heading .overline{margin-bottom:10px;color:#168f36}
.contact-heading h2{margin:0;font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.045em}
.contact-grid{display:grid;grid-template-columns:.72fr 1.15fr 1fr;overflow:hidden;background:#fff;border:1px solid #d7e3d9;box-shadow:0 22px 60px rgba(18,49,27,.08)}
.contact-info{padding:36px;border-right:1px solid var(--line)}
.info-row{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:19px 0;border-bottom:1px solid var(--line)}
.info-row>span{color:#6b746d;font-size:11px;font-weight:800;letter-spacing:.11em}
.info-row strong,.info-row a{font-size:14px;overflow-wrap:anywhere}
.map-link{display:block;margin-top:30px;padding:16px 18px;background:var(--ink);color:#fff;text-align:center;font-size:14px;font-weight:700}
.map-frame{position:relative;min-height:550px;background:#e8ece8;border-right:1px solid var(--line)}
.map-frame iframe{display:block;width:100%;height:100%;min-height:550px;border:0;filter:none;opacity:1}
.contact-form{position:relative;padding:36px;background:#fff}
.contact-form h3{margin:0 0 23px;font-size:29px;letter-spacing:-.03em}
.contact-form label{display:grid;gap:7px;margin-bottom:15px;font-size:12px;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px;padding:13px 12px;border:1px solid #c9d0ca;border-radius:4px;outline:none;background:#fbfcfa;color:#111512;font-family:var(--body);font-size:15px;font-weight:400;letter-spacing:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.contact-form textarea{min-height:132px;resize:vertical;line-height:1.5}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#929a94;opacity:1}
.contact-form input:hover,.contact-form select:hover,.contact-form textarea:hover{border-color:#9ea7a0;background:#fff}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{border-color:#159f36;background:#fff;box-shadow:0 0 0 3px rgba(25,211,63,.13)}
.contact-form input:-webkit-autofill,.contact-form input:-webkit-autofill:hover,.contact-form input:-webkit-autofill:focus{-webkit-text-fill-color:#111512;-webkit-box-shadow:0 0 0 1000px #fff inset;font-weight:400}
.contact-form button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:15px 18px;border:0;border-radius:4px;background:var(--ink);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
.contact-form button:hover{background:#171b18;transform:translateY(-1px);box-shadow:0 10px 24px rgba(13,15,14,.16)}
.contact-form button:active{transform:none}
.consent{position:relative;display:grid!important;grid-template-columns:22px 1fr;align-items:start;column-gap:11px!important;margin-top:2px!important;line-height:1.45;cursor:pointer}
.consent input{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.consent .checkmark{display:grid;place-items:center;width:21px;height:21px;margin-top:1px;border:1.5px solid #9ca69e;border-radius:4px;background:#fff;transition:.18s ease}
.consent .checkmark::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;opacity:0;transform:rotate(-45deg) translate(1px,-1px)}
.consent input:checked+.checkmark{border-color:var(--green);background:var(--green)}
.consent input:checked+.checkmark::after{opacity:1}
.consent input:focus-visible+.checkmark{outline:3px solid rgba(25,211,63,.22);outline-offset:2px}
.consent>span:last-child{color:#505851;font-size:12px;font-weight:400}
.consent a{text-decoration:underline;text-underline-offset:2px;font-weight:600}
.hp{position:absolute!important;left:-10000px!important}
.form-message{margin-bottom:15px;padding:12px 13px;border:1px solid transparent;border-radius:4px;font-size:13px;line-height:1.45}
.form-message.success{border-color:#b9e9c4;background:#dcf7e2;color:#075918}
.form-message.error{border-color:#f1bcbc;background:#ffe5e5;color:#8a1515}

/* Footer */
footer{padding:44px 0;background:var(--ink);color:#fff}
.footer-inner{display:grid;grid-template-columns:270px 1fr auto;align-items:center;gap:32px}
.footer-inner img{width:250px;height:auto}
.footer-inner p{margin:0;color:#9ba39c;font-size:14px}
.footer-inner>div{display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:#9ba39c;font-size:12px}

/* Cookies */
.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;z-index:200;left:18px;right:18px;bottom:18px;background:#101411;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px rgba(0,0,0,.28)}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1180px;margin:auto;padding:19px 21px}
.cookie-copy strong{display:block;margin-bottom:4px;font-size:16px}
.cookie-copy p{max-width:720px;margin:0;color:#c2cbc4;font-size:13px;line-height:1.5}
.cookie-copy a{display:inline-block;margin-top:5px;color:#7de28f;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;flex:0 0 auto;gap:10px}
.cookie-button{min-height:44px;padding:0 17px;border:1px solid transparent;font:600 13px var(--body);cursor:pointer}
.cookie-button-primary{background:var(--green);color:#071008}
.cookie-button-secondary{background:transparent;color:#fff;border-color:#586059}

/* Tablet */
@media(max-width:1020px){
  .main-nav{gap:22px}
  .hero-grid,.process-layout,.why-layout{grid-template-columns:1fr}
  .hero-grid{gap:48px}
  .hero-board{min-height:520px}
  .facts{grid-template-columns:repeat(3,1fr)}
  .facts p{grid-column:1/-1;padding-left:0;border-top:1px solid var(--line)}
  .sticky-title{position:static}
  .why-layout{gap:42px}
  .contact-grid{grid-template-columns:1fr 1fr}
  .contact-info{border-bottom:1px solid var(--line)}
  .map-frame{border-right:0}
  .contact-form{grid-column:1/-1;border-top:1px solid var(--line)}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer-inner img{margin:auto}
  .footer-inner>div{align-items:center}
}

/* Mobile */
@media(max-width:720px){
  html{scroll-padding-top:76px}
  .shell{width:min(100% - 28px,1280px)}
  .header-inner{height:70px}
  .brand img{width:158px}
  .menu-button{display:block}
  .main-nav{position:fixed;top:70px;left:0;right:0;display:none;max-height:calc(100dvh - 70px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:10px 14px 18px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 35px rgba(13,15,14,.12)}
  .main-nav.open{display:flex}
  .main-nav a{min-height:52px;padding:15px 4px;border-bottom:1px solid var(--line);font-size:16px}
  .main-nav a::after{display:none}

  .section{padding:70px 0}
  .overline{margin-bottom:17px;font-size:10px;letter-spacing:.11em}
  .section-title h2{margin-bottom:32px;font-size:clamp(37px,11vw,48px);line-height:1.02;letter-spacing:-.045em}

  .hero{padding-top:34px}
  .hero-grid{gap:30px}
  .hero h1,.hero-accent{font-size:clamp(43px,13vw,58px);line-height:.98;letter-spacing:-.052em}
  .hero-accent{margin:7px 0 21px}
  .hero-text{margin-bottom:23px;font-size:15px;line-height:1.65}
  .text-link{font-size:14px}
  .hero-board{min-height:0;aspect-ratio:1.04/1;border-left-width:6px}
  .hero-board::before{background-size:30px 30px}
  .board-label{left:16px;top:15px;font-size:9px;letter-spacing:.13em}
  .board-drawing{inset:42px 8px 54px;width:calc(100% - 16px);height:calc(100% - 96px)}
  .board-meta{padding:12px 14px}
  .board-meta span:first-child{font-size:15px}
  .board-meta span:last-child{font-size:8px}
  .facts{grid-template-columns:repeat(3,1fr);margin-top:28px}
  .facts>div,.facts>div+div{display:block;padding:15px 8px;border-right:1px solid var(--line);border-bottom:0;text-align:left}
  .facts>div:last-of-type{border-right:0}
  .facts b{display:block;margin-bottom:3px;font-size:16px;line-height:1.1}
  .facts span{display:block;font-size:9px;line-height:1.35}
  .facts span br{display:none}
  .facts p{grid-column:1/-1;padding:16px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.45}

  .service-list article{grid-template-columns:34px 40px 1fr;gap:12px;padding:22px 0}
  .service-list article:hover{padding-left:0;background:transparent}
  .service-no{font-size:13px}
  .service-list svg{width:34px;height:34px}
  .service-list h3{font-size:20px;line-height:1.2}
  .service-list p{grid-column:2/-1;margin-top:-3px;font-size:13px;line-height:1.55}

  .process-layout{gap:22px}
  .process-list li{grid-template-columns:50px 1fr;gap:14px;padding:24px 0}
  .process-list>li>span{font-size:30px}
  .process-list h3{font-size:20px}
  .process-list p{font-size:13px;line-height:1.55}

  .why-layout{gap:30px}
  .why-statement{padding-top:22px}
  .why-statement p{padding-right:0;font-size:clamp(30px,9vw,38px);line-height:1.08}
  .giant-mark{right:0;top:-32px;font-size:82px;opacity:.18}
  .why-points{grid-template-columns:1fr}
  .why-points article{min-height:0;padding:22px}
  .why-points h3{margin:15px 0 6px;font-size:19px}
  .why-points p{font-size:13px;line-height:1.5}

  .contact{padding:68px 0}
  .contact-heading{margin-bottom:23px}
  .contact-heading h2{font-size:clamp(34px,10vw,43px);line-height:1.04}
  .contact-grid{grid-template-columns:1fr;box-shadow:0 14px 35px rgba(18,49,27,.08)}
  .contact-info,.contact-form{padding:22px}
  .contact-info{border-right:0}
  .info-row{grid-template-columns:78px 1fr;gap:12px;padding:16px 0}
  .info-row>span{font-size:9px;letter-spacing:.08em}
  .info-row strong,.info-row a{font-size:13px}
  .map-link{margin-top:22px;padding:14px 15px;font-size:13px}
  .map-frame{min-height:280px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .map-frame iframe{min-height:280px}
  .contact-form{grid-column:auto;border-top:0}
  .contact-form h3{font-size:26px}
  .contact-form label{font-size:12px}
  .contact-form input,.contact-form select,.contact-form textarea{min-height:50px;font-size:16px}
  .contact-form textarea{min-height:125px}
  .contact-form button{min-height:52px}
  .consent{grid-template-columns:22px 1fr}
  .form-message{font-size:12px}

  footer{padding:34px 0}
  .footer-inner{gap:18px}
  .footer-inner img{width:205px}
  .footer-inner p{font-size:13px}

  .cookie-banner{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom))}
  .cookie-inner{align-items:stretch;flex-direction:column;gap:13px;padding:16px}
  .cookie-copy strong{font-size:15px}
  .cookie-copy p{font-size:12px;line-height:1.45}
  .cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .cookie-button{min-height:46px;padding:0 10px;font-size:12px}
}

@media(max-width:430px){
  .shell{width:calc(100% - 22px)}
  .brand img{width:150px}
  .hero h1,.hero-accent{font-size:clamp(40px,12.5vw,52px)}
  .facts>div,.facts>div+div{padding-inline:5px}
  .facts b{font-size:15px}
  .facts span{font-size:8.5px}
  .contact-info,.contact-form{padding:19px}
  .info-row{grid-template-columns:72px 1fr}
  .cookie-actions{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}

/* Ochrana súkromia */
.privacy-back{font-size:14px;font-weight:700;border-bottom:2px solid var(--green);padding-bottom:3px}
.privacy-page{min-height:calc(100vh - 90px);padding:82px 0 110px;background:#f8f7f3}
.privacy-content{max-width:820px}
.privacy-content h1{margin:0 0 34px;font-size:clamp(42px,6vw,72px);line-height:1;letter-spacing:-.05em}
.privacy-content h2{margin:38px 0 10px;font-size:22px;letter-spacing:-.025em}
.privacy-content p{max-width:720px;margin:0;color:var(--muted);font-size:16px;line-height:1.75}
.privacy-content a{text-decoration:underline;text-underline-offset:3px;font-weight:650;color:var(--ink)}
@media(max-width:720px){
  .privacy-back{font-size:12px}
  .privacy-page{min-height:calc(100vh - 70px);padding:52px 0 72px}
  .privacy-content h1{margin-bottom:26px;font-size:clamp(38px,12vw,50px)}
  .privacy-content h2{margin-top:30px;font-size:20px}
  .privacy-content p{font-size:15px;line-height:1.7}
}
