/* ============================================================
   SensiQure — shared styles
   Brand: navy #123954 / cyan #168db4
   ============================================================ */
:root{
  --ink:#0a0b0c;
  --blue:#0d5277;
  --blue-foot:#0c4f76;
  --cyan:#2ea7d4;
  --paper:#ffffff;
  --text-dark:#1a2227;
  --sans:"Helvetica Neue", Helvetica, Arial, sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
/* odsazení kotev, aby cíl neskončil pod lepkavou horní lištou */
#process,#cultivation,#product{scroll-margin-top:64px;}
body{
  margin:0;
  font-family:var(--sans);
  color:#fff;
  background:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* ---------- top bar ---------- */
.topbar{
  position:sticky;top:0;z-index:50;
  background:#000;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar .inner{
  display:flex;align-items:center;justify-content:center;gap:18px;
  height:54px;
  font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}
.topbar a{color:#fff;text-decoration:none;opacity:.92;transition:opacity .2s,color .2s;cursor:pointer;}
.topbar a:hover{opacity:1;color:var(--cyan);}
.dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);flex:0 0 auto;}

/* language switcher */
.lang{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:flex;gap:9px;align-items:center;}
.lang a{
  padding:0;border:0;background:none;cursor:pointer;
  width:30px;height:21px;border-radius:3px;overflow:hidden;display:block;
  opacity:.45;transition:opacity .2s, box-shadow .2s, transform .15s;
  box-shadow:0 0 0 1px rgba(255,255,255,.18);
}
.lang a img{width:100%;height:100%;object-fit:cover;display:block;}
.lang a:hover{opacity:.85;transform:translateY(-1px);}
.lang a.active{opacity:1;box-shadow:0 0 0 2px var(--cyan);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  min-height:90vh;
  display:flex;align-items:center;justify-content:center;
  background:#0c1418;
  overflow:hidden;
}
.hero__bg{
  position:absolute;inset:-9% 0;z-index:0;
  background:url("hero.jpg") center 28% / cover no-repeat;
  will-change:transform;
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(6,12,16,.4) 0%, rgba(6,12,16,0) 30%, rgba(6,12,16,.15) 70%, rgba(6,12,16,.6) 100%);
}
.hero__logo{position:relative;z-index:2;width:clamp(280px,40vw,580px);will-change:transform;}
.hero__logo img{width:100%;filter:drop-shadow(0 6px 28px rgba(0,0,0,.55));}
.scrollcue{
  position:absolute;left:50%;bottom:28px;z-index:2;transform:translateX(-50%);
  width:26px;height:42px;border:2px solid rgba(255,255,255,.55);border-radius:14px;
}
.scrollcue::after{
  content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;border-radius:2px;
  background:#fff;transform:translateX(-50%);animation:cue 1.8s ease-in-out infinite;
}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* ---------- image banner ---------- */
.banner{
  position:relative;
  min-height:340px;
  display:flex;align-items:center;justify-content:center;
  background-size:cover;background-position:center;
  overflow:hidden;
}
.banner::before{
  content:"";position:absolute;inset:0;
  background:
          radial-gradient(120% 140% at 50% 50%, rgba(4,9,13,.25) 0%, rgba(4,9,13,.62) 100%),
          linear-gradient(180deg, rgba(4,9,13,.45) 0%, rgba(4,9,13,.2) 45%, rgba(4,9,13,.5) 100%);
}
.banner--compliance{background-image:url("plant-purple.jpg");}
.banner--essential{background-image:url("macro1.jpg");}
.banner h2{
  position:relative;z-index:2;
  margin:0;text-align:center;
  font-style:italic;font-weight:800;text-transform:uppercase;
  font-size:clamp(30px,5vw,62px);
  line-height:1.04;letter-spacing:.005em;
  text-shadow:0 4px 30px rgba(0,0,0,.7), 0 1px 3px rgba(0,0,0,.5);
  padding:56px 0;
}

/* ---------- blue body block ---------- */
.blueblock{
  background:var(--blue) url("bg-blue2.jpg") center / cover no-repeat;
  position:relative;overflow:hidden;
}
.blueblock::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 120% at 50% 50%, rgba(8,46,68,0) 35%, rgba(7,38,56,.55) 100%);
}
.blueblock .wrap{position:relative;z-index:2;padding-top:104px;padding-bottom:104px;}
.lede{
  max-width:780px;margin:0 auto;
  text-align:center;
  font-size:clamp(18px,2.05vw,23px);
  line-height:1.62;font-weight:500;
  letter-spacing:.005em;
}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px;}
.split__media{
  background:#16242b url("plant-purple.jpg") center / cover no-repeat;
}
.split__body{
  background:var(--paper);color:var(--text-dark);
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(48px,6vw,96px) clamp(36px,6vw,92px);
}
.split__body .brandmark{width:200px;margin-bottom:34px;}
.split__body p{
  font-size:17px;line-height:1.7;margin:0 0 22px;max-width:520px;color:#27333a;
}
.split__body p .lead{font-weight:700;color:#10222c;}

/* ---------- founders ---------- */
.founders{
  background:#0a3a52 url("bg-blue2.jpg") center / cover no-repeat;
  position:relative;overflow:hidden;
}
.founders::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(5,28,40,.62), rgba(4,24,35,.72));
}
.founders .grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  max-width:1320px;margin:0 auto;
}
.founders__text{
  padding:clamp(56px,6vw,104px) clamp(36px,5vw,72px);
  text-align:right;
  display:flex;flex-direction:column;justify-content:center;
}
.founders__text h3{margin:0 0 22px;font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:.01em;}
.founders__intro{font-size:15.5px;line-height:1.68;color:rgba(255,255,255,.82);margin:0 0 34px;}
.bio{margin:0 0 30px;}
.bio:last-child{margin-bottom:0;}
.bio h4{margin:0 0 10px;font-size:17px;font-weight:700;letter-spacing:.01em;}
.bio h4 span{font-weight:400;color:var(--cyan);}
.bio p{margin:0;font-size:14.5px;line-height:1.66;color:rgba(255,255,255,.74);}
.founders__media{
  background:#0a2a3c url("founders.jpg") center / cover no-repeat;
  min-height:560px;
}

/* ---------- product ---------- */
.product{
  background:radial-gradient(120% 90% at 50% 0%, #0e1822 0%, #050708 60%);
  padding:90px 0 110px;overflow:hidden;
}
.product .ablogo{text-align:center;margin-bottom:14px;}
.ablogo img{width:clamp(300px,38vw,520px);margin:0 auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));}
.product .grid{
  display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(28px,5vw,72px);
  align-items:center;margin-top:40px;
}
.product__img{position:relative;text-align:center;}
.product__img img{
  margin:0 auto;max-height:760px;width:auto;mix-blend-mode:lighten;
  filter:drop-shadow(0 0 60px rgba(60,90,140,.22));
  -webkit-mask-image:radial-gradient(125% 94% at 50% 50%, #000 66%, transparent 100%);
  mask-image:radial-gradient(125% 94% at 50% 50%, #000 66%, transparent 100%);
  animation:floaty 7s ease-in-out infinite;will-change:transform;
}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.spec{font-size:13.5px;line-height:1.72;color:rgba(255,255,255,.8);max-width:560px;}
.spec .row{margin:0 0 3px;}
.spec .k{font-weight:700;color:#fff;}
.spec .section-h{font-weight:700;color:#fff;margin-top:16px;}
.spec .desc-h{font-weight:700;color:#fff;margin:20px 0 8px;}
.spec .desc{color:rgba(255,255,255,.7);line-height:1.7;}

/* ---------- footer ---------- */
footer{background:#0a3a52 url("bg-blue2.jpg") center / cover no-repeat;position:relative;overflow:hidden;}
footer::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(7,40,58,.55), rgba(6,34,50,.62));
}
footer .grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:40px;align-items:center;
  padding:64px 0;
}
footer .brandmark{width:230px;}
.fcol{font-size:14px;line-height:1.85;color:rgba(255,255,255,.86);}
.fcol .name{font-weight:700;color:#fff;}
.fcol a{color:#fff;text-decoration:none;}
.fcol a:hover{color:var(--cyan);}
.fcol--contact .name{margin-bottom:2px;}

/* ---------- mobile burger menu ---------- */
.burger{
  display:none;
  /* sticky on mobile — stays top-left while scrolling */
  position:fixed;top:16px;left:16px;z-index:60;
  width:52px;height:52px;border:0;border-radius:16px;cursor:pointer;
  background:linear-gradient(145deg, rgba(18,57,84,.94), rgba(13,82,119,.94));
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 10px 26px rgba(0,0,0,.42), 0 0 0 1px rgba(46,167,212,.45), inset 0 1px 0 rgba(255,255,255,.18);
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:transform .18s ease, box-shadow .25s ease, background .25s ease;
}
.burger:active{transform:scale(.93);}
.burger.is-open{
  background:linear-gradient(145deg, rgba(13,82,119,.96), rgba(18,57,84,.96));
  box-shadow:0 10px 28px rgba(0,0,0,.5), 0 0 0 2px var(--cyan), inset 0 1px 0 rgba(255,255,255,.22);
}
.burger span{
  display:block;width:24px;height:2.5px;background:#fff;border-radius:3px;
  box-shadow:0 0 7px rgba(46,167,212,.55);
  transition:transform .3s cubic-bezier(.2,.7,.2,1), opacity .2s;
}
.burger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;transform:scaleX(.4);}
.burger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.mobile-menu{
  position:fixed;inset:0;z-index:55;
  background:#0a3a52 url("bg-blue2.jpg") center / cover no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:42px;
  opacity:0;visibility:hidden;transition:opacity .35s ease, visibility .35s;
}
.mobile-menu::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(6,30,44,.82), rgba(5,24,36,.9));
}
.mobile-menu.open{opacity:1;visibility:visible;}
.mobile-menu__nav{
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;
}
.mobile-menu__nav a{
  color:#fff;text-decoration:none;
  font-size:20px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  opacity:.92;transition:color .2s, opacity .2s;
}
.mobile-menu__nav a:hover,.mobile-menu__nav a:focus{color:var(--cyan);opacity:1;}
.mobile-menu__lang{
  position:relative;z-index:1;
  display:flex;gap:14px;align-items:center;
  padding-top:34px;border-top:1px solid rgba(255,255,255,.18);
}
.mobile-menu__lang a{
  width:44px;height:31px;border-radius:4px;overflow:hidden;display:block;
  opacity:.5;box-shadow:0 0 0 1px rgba(255,255,255,.25);
  transition:opacity .2s, box-shadow .2s, transform .15s;
}
.mobile-menu__lang a img{width:100%;height:100%;object-fit:cover;display:block;}
.mobile-menu__lang a:hover{opacity:.9;transform:translateY(-1px);}
.mobile-menu__lang a.active{opacity:1;box-shadow:0 0 0 2px var(--cyan);}
body.menu-open{overflow:hidden;}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}

/* slide-in panels on scroll */
[data-slide]{opacity:0;transition:opacity 1s ease, transform 1s cubic-bezier(.16,.7,.2,1);will-change:transform,opacity;}
[data-slide="up"]{transform:translateY(70px);}
[data-slide="left"]{transform:translateX(-90px);}
[data-slide="right"]{transform:translateX(90px);}
[data-slide="zoom"]{transform:scale(1.06);}
[data-slide].in{opacity:1;transform:none;}

/* footer rises up from the bottom, a touch more pronounced */
footer[data-slide]{transition-duration:1.15s;}
footer[data-slide="up"]{transform:translateY(120px);}

@media (prefers-reduced-motion: reduce){
  .reveal,[data-slide]{opacity:1 !important;transform:none !important;transition:none;}
  .product__img img,.scrollcue::after{animation:none !important;}
  html{scroll-behavior:auto;}
}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .split{grid-template-columns:1fr;}
  .split__media{min-height:340px;}
  .founders .grid{grid-template-columns:1fr;}
  .founders__text{text-align:left;order:2;}
  .founders__media{order:1;min-height:380px;}
  .product .grid{grid-template-columns:1fr;gap:32px;}
  .product__img img{max-height:520px;}
  footer .grid{grid-template-columns:1fr;text-align:center;gap:30px;justify-items:center;}
  .topbar .inner{gap:12px;font-size:11px;letter-spacing:.16em;}
}
@media (max-width:600px){
  .wrap{padding:0 22px;}
  /* On mobile the sticky header is replaced by a burger menu in the hero */
  .topbar{display:none;}
  .burger{display:flex;}
}
