@charset "UTF-8";
:root{color-scheme:dark;--background:var(--site-background, #050b13);--foreground:var(--site-foreground, #eef5f8);--secondary:var(--site-secondary, #a9bdcb);--line:var(--site-border, #304656);--page-gutter:clamp(24px,5.5vw,100px);--header-base-height:78px;--contact-type-size:clamp(18px,1.5vw,22px);--header-height:calc(var(--header-base-height) + env(safe-area-inset-top,0px));--safe-gutter-left:max(var(--page-gutter),env(safe-area-inset-left,0px));--safe-gutter-right:max(var(--page-gutter),env(safe-area-inset-right,0px));font-family:var(--site-font,"Helvetica Neue",Helvetica,Arial,sans-serif);font-style:var(--site-font-style,normal);font-weight:var(--site-font-weight,400);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--foreground);background:var(--background)}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--site-focus, #bce8ff);outline-offset:6px}
::selection{background:var(--site-selection, #a3d7f2);color:var(--site-hero, #101e2a)}
.skip-link{position:fixed;left:16px;top:12px;z-index:30;padding:14px 20px;background:var(--site-foreground, #eef5f8);color:var(--site-hero, #101e2a);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.page-width{max-width:1460px;margin-inline:auto;padding-inline:var(--safe-gutter-left) var(--safe-gutter-right)}
.header{position:sticky;top:0;z-index:10;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:calc(10px + env(safe-area-inset-top,0px)) max(var(--safe-gutter-right),calc((100% - 1460px)/2 + var(--safe-gutter-right))) 10px max(var(--safe-gutter-left),calc((100% - 1460px)/2 + var(--safe-gutter-left)));background:var(--site-header, #142630) var(--site-header-texture,url("obrazky/tmave-obklady.svg?v=20261106-optika-3")) left top / 720px 100% repeat-x;box-shadow:0 2px 5px color-mix(in srgb, var(--site-tone-040d16, #040d16) 30.196078%, transparent);color:var(--site-header-text,var(--foreground));font-family:var(--site-header-font,inherit);font-style:var(--site-header-font-style,inherit);font-weight:var(--site-header-font-weight,inherit);font-size:calc(var(--contact-type-size) * var(--site-header-font-scale,1));line-height:1.5;text-shadow:0 1px 2px color-mix(in srgb, var(--site-tone-06121b, #06121b) 50.196078%, transparent),var(--site-header-glow-shadow,0 0 0 transparent)}
[data-header-surface="tiles"] .header{background:var(--site-header-background,var(--site-header)) var(--site-header-tiles) left top / 100% 100% no-repeat}
[data-header-surface="solid"] .header{background:var(--site-header-background,var(--site-header))}
[data-header-trim="enabled"] .header::after{content:"";position:absolute;left:0;right:0;bottom:-1.5px;height:calc(var(--site-header-trim-height,8px) + 1.5px);background:var(--site-header-trim-image) left top / 100% 100% no-repeat;pointer-events:none}
.header nav{display:flex;align-items:center;gap:50px}
.header a{display:flex;align-items:center;min-height:44px}
.header .telephone{font-variant-numeric:tabular-nums;font-weight:var(--site-header-font-weight,var(--site-font-weight,600));letter-spacing:.015em}
a:hover{color:var(--site-bright, #fff)}
.hero{position:relative;isolation:isolate;background:var(--site-hero-background,var(--site-hero, #101e2a));--water-bottom-space:clamp(48px,10svh,100px);--water-drop-space:clamp(32px,8svh,96px)}
.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:clamp(24px,4vw,64px);width:100%;max-width:1460px;height:min(clamp(460px,44vw,600px),calc(100svh - var(--header-height) - 132px));min-height:360px;margin-inline:auto;padding:clamp(20px,4svh,40px) var(--safe-gutter-right) calc(var(--water-bottom-space) + var(--water-drop-space)) var(--safe-gutter-left);pointer-events:none}
.hero-copy{align-self:start;min-width:0}
h1{font-family:var(--site-hero-font,inherit);font-size:calc(clamp(40px,min(8.2vw,15svh),118px) * var(--site-hero-heading-scale,1));font-weight:var(--site-hero-font-weight,500);font-style:var(--site-hero-font-style,normal);line-height:1.035;letter-spacing:0;margin:0}
.hero-copy p{font-size:var(--contact-type-size);line-height:1.5;color:var(--secondary);margin:clamp(16px,3svh,29px) 0 0;max-width:28ch;text-wrap:pretty}
.hero-hardware-space{min-width:0;min-height:0}
.water-scene{position:absolute;inset:0;width:100%;height:100%;isolation:isolate}
.services{position:relative;padding-top:clamp(28px,3vw,44px);padding-bottom:clamp(64px,7vw,104px);display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,3fr);align-items:start;gap:clamp(28px,4vw,56px)}
h2{margin:0;font-size:32px;line-height:1.2;letter-spacing:-.02em;font-weight:var(--site-font-weight,500)}
.services h2{padding-top:9px;font-size:14px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}
.services ul{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.services li{position:relative;min-width:0;padding-left:24px;font-size:clamp(22px,2.05vw,30px);line-height:1.4;font-weight:var(--site-font-weight,400);text-wrap:pretty}
.services li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--secondary)}
.work{position:relative;padding-bottom:118px}
.work h2{margin-bottom:34px}
.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;padding-top:55px;padding-bottom:45px;position:relative}
.contact::before{content:"";position:absolute;top:0;left:var(--safe-gutter-left);right:var(--safe-gutter-right);height:1px;background:var(--line)}
.contact-person h2{font-size:20px;line-height:1.5;letter-spacing:0}
.contact-person p{font-size:18px;color:var(--secondary);line-height:1.6;margin:8px 0 0}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.contact-details a{display:flex;align-items:center;min-height:44px}
.contact-phone,.contact-email{font-size:20px;font-weight:var(--site-font-weight,400);letter-spacing:0;line-height:1.5;overflow-wrap:anywhere}
.contact-phone{font-variant-numeric:tabular-nums}
.contact small{grid-column:1/-1;font-size:14px;color:var(--secondary);margin-top:12px}
@media(max-width:1100px){.services{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:700px){
  :root{--page-gutter:24px;--header-base-height:66px}
  html{scroll-padding-top:90px}
  .header{padding-top:calc(7px + env(safe-area-inset-top,0px));gap:16px}
  .header nav{gap:clamp(12px,4vw,24px)}.header .telephone{letter-spacing:0}
  .services{padding-top:32px;padding-bottom:64px;gap:28px}
  h2{font-size:28px}
  .services h2{padding-top:0}
  .services ul{gap:20px}
  .services li{font-size:clamp(21px,4vw,26px)}
  .work{padding-bottom:72px}
  .work h2{margin-bottom:27px}
  .contact{display:block;padding-top:35px;padding-bottom:calc(25px + env(safe-area-inset-bottom))}
  .contact-person p{margin-top:10px}
  .contact-details{gap:19px;margin-top:31px}
  .contact-phone,.contact-email{font-size:18px}
  .contact small{display:block;margin-top:32px}
}
@media(max-width:640px){.services ul{grid-template-columns:minmax(0,1fr)}}
@media(max-width:350px){:root{--page-gutter:20px}.header{gap:12px}}

/* Portrait uses a text row and a reserved hardware row inside the same scene. */
@media(max-width:700px) and (orientation:portrait) and (min-height:421px){
  .hero{--water-bottom-space:32px;--water-drop-space:clamp(32px,6svh,64px)}
  .hero-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);row-gap:12px;height:auto;max-height:calc(100svh - var(--header-height) - 32px);min-height:340px;padding-top:clamp(16px,4svh,48px)}
  .hero-hardware-space{width:min(100%,437.5px);aspect-ratio:7/6;max-height:100%;align-self:start;justify-self:center}
  .services{padding-top:24px}
  .hero-copy{align-self:start}
  h1{font-size:calc(clamp(40px,12vw,64px) * var(--site-hero-portrait-heading-scale,1));line-height:1.04;letter-spacing:0}
  .hero-copy p{margin-top:16px;max-width:none}
}
/* A short viewport needs its own budget even when it is wide. */
@media(max-height:600px) and (orientation:landscape), (max-height:420px){
  :root{--header-base-height:56px}
  .header{padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:6px}
  .header nav{gap:28px}
  .hero{--water-bottom-space:clamp(36px,10svh,60px);--water-drop-space:clamp(28px,7svh,42px)}
  .hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);row-gap:0;height:calc(100svh - var(--header-height) - 112px);min-height:min(220px,65svh);padding-top:clamp(12px,4svh,24px);column-gap:24px}
  .services{padding-top:clamp(24px,6svh,36px)}
  h1{font-size:calc(clamp(32px,min(7.6vw,14svh),84px) * var(--site-hero-heading-scale,1))}
  .hero-copy p{margin-top:14px}
}
@media(max-height:450px) and (orientation:landscape), (max-height:420px){
  .hero{--water-bottom-space:clamp(20px,6svh,28px);--water-drop-space:clamp(24px,6svh,28px)}
  .hero-layout{padding-top:12px}
  h1{font-size:calc(clamp(28px,min(7.6vw,10.5svh),48px) * var(--site-hero-heading-scale,1))}
  .hero-copy p{margin-top:8px}
}
@media(max-width:350px) and (max-height:420px){h1{font-size:calc(28px * var(--site-hero-tight-heading-scale,1))}.hero-layout{column-gap:16px}}

@media(max-width:700px){[data-header-typography="custom"] .header{font-size:calc(clamp(15.6px,4.6vw,18px) * var(--site-header-font-scale,1));column-gap:12px}.header .name{min-width:0;overflow-wrap:anywhere}.header .telephone{white-space:nowrap}.header nav{flex-shrink:0}}
