/* Readable, spacious layout shared by the homepage and all service pages. */
:root{--bg:#151714;--panel:#22261f;--text:#f7f7ef;--muted:#c4c9bb;--accent:#efd532;--line:#444b3e;--button-text:#171914}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--button-text)}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}.container,.header{width:min(1240px,calc(100% - 80px));margin-inline:auto}.header{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;font-size:16px;letter-spacing:1.5px;font-weight:800;line-height:1.3}.brand strong{display:block;font-size:30px;letter-spacing:4px}.brand strong span{color:var(--accent)}.brand-mark{width:64px;height:64px;display:grid;place-items:center;background:var(--accent);color:var(--button-text);border-radius:12px}.brand-mark svg{width:48px}.header nav{display:flex;gap:12px;font-size:18px;font-weight:700}.header nav a{padding:14px 16px;border-radius:8px}.header nav a:hover{background:var(--panel)}.header-call,.button,.mobile-call{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 24px;background:var(--accent);color:var(--button-text);font-size:18px;line-height:1.4;font-weight:750;border-radius:10px;transition:filter .2s,transform .2s}.button:hover,.header-call:hover{filter:brightness(1.12);transform:translateY(-2px)}.intro{padding-block:44px 40px}.eyebrow,.card-label,.label{display:block;font-size:14px;font-weight:700;letter-spacing:1.2px;line-height:1.6}.status-dot{display:inline-block;background:var(--accent);height:10px;width:10px;border-radius:50%;margin-right:12px;animation:breathe 3s infinite}h1{font-size:clamp(46px,5.5vw,76px);line-height:1.07;letter-spacing:-2.5px;margin:24px 0}.accent{color:var(--accent)}.intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.intro p{font-size:20px;color:var(--muted);line-height:1.6}.services{padding-block:12px 56px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-head h2{font-size:36px;letter-spacing:-1px;line-height:1.2}.section-head>span{font-size:16px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card{position:relative;border:1px solid var(--line);border-radius:16px;padding:30px;display:flex;flex-direction:column;min-width:0;background:var(--panel);transition:transform .2s,border-color .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 32px #0002}.card-top{color:var(--accent);margin-bottom:20px}.card-top svg{width:68px;height:54px}.card-label{color:var(--muted)}.service-card h3{font-size:32px;line-height:1.15;letter-spacing:-.8px;margin:10px 0 14px}.service-card p{font-size:19px;line-height:1.6;color:var(--muted);margin-bottom:24px;max-width:440px}.card-link{display:flex;align-items:center;justify-content:center;align-self:flex-start;padding:12px 20px;min-height:50px;border:1px solid var(--line);border-radius:8px;font-size:17px;font-weight:700;margin-top:auto;background:var(--bg)}.service-card:hover .card-link{background:var(--accent);color:var(--button-text);border-color:var(--accent)}.service-card.sauna{background:#e8e7d7;color:#263e30;border-color:#e8e7d7}.service-card.sauna .card-top{color:#37543f}.service-card.sauna p,.service-card.sauna .card-label{color:#4c5a46}.service-card.sauna .card-link{background:#d8ddca;border-color:#aab69f;color:#263e30}.service-card.build .card-top{color:#ff8679}.photo-story{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line);padding-block:48px 64px;gap:48px}.story-image{position:relative;min-height:380px;overflow:hidden;border-radius:16px}.story-image img{width:100%;height:100%;object-fit:cover;position:absolute}.image-caption{position:absolute;bottom:16px;left:16px;right:16px;font-size:14px;color:white;background:#151714df;padding:10px 14px;border-radius:6px}.story-copy{align-self:center}.story-copy h2{font-size:42px;letter-spacing:-1.3px;line-height:1.15;margin:18px 0}.story-copy p{font-size:19px;color:var(--muted);line-height:1.65;margin-bottom:24px}.availability{display:flex;align-items:center;gap:18px;font-size:36px;font-weight:800;margin-top:24px}.availability small{font-size:14px;font-weight:600;line-height:1.5;max-width:160px;color:var(--muted)}.contact{background:#24291f;border-top:1px solid #454e3b;color:#f7f7ef}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding-block:56px}.contact .eyebrow{color:#c7cebb}.contact h2{font-size:48px;line-height:1.1;letter-spacing:-1.5px;margin-top:18px}.contact .accent{color:#efd532}.contact-phone{font-size:40px;display:inline-flex;min-height:64px;align-items:center;margin-top:24px;font-weight:800;color:#efd532}.contact p{font-size:18px;line-height:1.7;color:#c7cebb;margin-top:12px}.contact-info{display:grid;gap:28px;border-left:1px solid #454e3b;padding-left:40px}.label{color:#c7cebb;margin-bottom:8px;font-size:14px}.contact-info a{font-size:19px;overflow-wrap:anywhere;display:inline-flex;min-height:48px;align-items:center;text-decoration:underline;text-underline-offset:5px}.contact-info p{margin:0;color:#f7f7ef}.social{display:flex;flex-wrap:wrap;gap:12px 26px}.contact a:hover{color:#efd532}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:24px;color:var(--muted);font-size:16px}footer a{display:inline-flex;align-items:center;min-height:48px;gap:4px;flex-wrap:wrap}.mobile-call{display:none}.skip{position:fixed;top:-120px;left:16px;padding:16px;background:var(--accent);color:var(--button-text);z-index:30}.skip:focus{top:12px}.back,.secondary-link{display:inline-flex;align-items:center;min-height:50px;padding:10px 18px;border:1px solid var(--line);border-radius:8px;font-size:17px;font-weight:700}.back{margin:24px 0}.secondary-link{margin-top:16px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding-bottom:48px}.detail-copy h1{font-size:clamp(42px,4.5vw,62px);line-height:1.1;letter-spacing:-1.8px;margin:18px 0}.detail-copy>p{font-size:20px;line-height:1.65;color:var(--muted);margin-bottom:24px}.detail-copy .button{display:flex;width:fit-content}.detail-visual{position:relative;overflow:hidden;border-radius:16px;height:440px;background:var(--panel)}.detail-visual>img{width:100%;height:100%;object-fit:cover}.detail-visual.material-photo{height:auto;aspect-ratio:1.5}.detail-visual.sauna-photo{height:500px}.detail-visual.sauna-photo>img{object-position:center 58%}.graphic{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:repeating-linear-gradient(135deg,transparent,transparent 30px,#ffffff05 30px,#ffffff05 31px)}.graphic svg{width:180px;stroke-width:1.2;color:var(--accent)}.graphic>span{text-align:center;font-size:16px;line-height:1.8;color:var(--muted)}.graphic b{font-size:40px}.graphic small{font-size:16px}.detail-services{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;border-top:1px solid var(--line);padding-block:48px}.detail-services h2{font-size:38px;letter-spacing:-1px;line-height:1.2;margin-top:16px}.detail-note{font-size:19px;line-height:1.7;color:var(--muted);margin-top:24px}.offering-list article{padding:24px 0;border-bottom:1px solid var(--line)}.offering-list article:first-child{padding-top:0}.offering-list h3{font-size:24px;line-height:1.3;margin-bottom:10px}.offering-list p{font-size:19px;color:var(--muted);line-height:1.65}.other-services{padding-block:24px 56px}.other-services .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.other-services .service-card{padding:24px}.other-services h3{font-size:26px}.theme-sauna{--bg:#f3efdf;--panel:#e6e5d4;--text:#2b4033;--muted:#52604b;--accent:#35593f;--line:#b9c1a8;--button-text:#fff}.theme-sauna .detail-copy h1{font-family:Georgia,serif;font-weight:400}.theme-build{--bg:#f7f5f1;--panel:#eeebe6;--text:#252523;--muted:#595b54;--accent:#b72b21;--line:#cac8c0;--button-text:#fff}.theme-build .service-card.build .card-top,.theme-sauna .service-card.build .card-top{color:#b72b21}.gallery-section{padding-block:16px 48px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.gallery button{border:0;padding:0;background:var(--panel);position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:12px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery button:hover img{transform:scale(1.04)}.gallery button:after{content:'Zväčšiť';position:absolute;bottom:10px;right:10px;background:#151714e8;color:white;padding:8px 12px;border-radius:6px;font-size:16px}.gallery button[hidden]{display:none}.more{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:16px 20px;display:flex;justify-content:space-between;gap:16px;width:100%;font-size:18px;font-weight:700;border-radius:10px;margin-top:16px;min-height:58px}.sauna-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.sauna-gallery .gallery img{object-position:center 60%}dialog{width:96vw;max-width:1400px;height:92dvh;border:1px solid #454b3c;border-radius:14px;padding:76px 20px 90px;background:#151714;color:white}dialog::backdrop{background:#000e}dialog figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}dialog img{max-width:100%;max-height:calc(100% - 76px);object-fit:contain}dialog figcaption{font-size:17px;text-align:center;line-height:1.4}dialog button{position:absolute;background:#393d33;color:white;border:1px solid #646d59;min-height:50px;padding:10px 20px;font-size:17px;font-weight:700;border-radius:8px}.close{right:16px;top:14px}.previous{left:16px;bottom:16px}.next{right:16px;bottom:16px}@keyframes breathe{50%{box-shadow:0 0 0 6px #efd53218}}
@media(max-width:1000px){.container,.header{width:calc(100% - 48px)}.header{flex-wrap:wrap;padding-block:20px;gap:12px}.header nav{order:3;width:100%;border-top:1px solid var(--line);padding-top:10px}.header nav a{padding:10px 16px}.detail-hero,.photo-story{gap:28px}.contact-grid{gap:30px}.contact-info{padding-left:28px}.other-services .service-grid{grid-template-columns:1fr}.other-services .service-card{display:grid;grid-template-columns:70px 1fr;gap:6px 24px}.other-services .card-top{grid-row:1/5}.other-services .service-card p{max-width:none}.other-services .card-link{grid-column:2}.other-services .service-card h3{margin:4px 0}.other-services .service-card p{margin-bottom:12px}}
@media(max-width:760px){.container,.header{width:calc(100% - 40px)}body{font-size:18px}.header{padding-block:18px 8px}.brand{font-size:14px;gap:10px;letter-spacing:1px}.brand strong{font-size:25px;letter-spacing:3px}.brand-mark{width:52px;height:52px}.brand-mark svg{width:40px}.header-call{font-size:17px;width:100%;order:2;min-height:52px;padding:12px 16px}.header nav{justify-content:center;gap:16px;border:0;padding:0}.header nav a{font-size:17px;padding:12px}.intro{padding-block:28px 30px}.eyebrow,.card-label,.label{font-size:14px;letter-spacing:.7px}.intro h1{font-size:clamp(36px,8.8vw,54px);letter-spacing:-1.3px;line-height:1.12;margin:20px 0}.intro p{font-size:18px}.intro p br{display:none}.intro-bottom{display:block}.intro-bottom .button{margin-top:22px;width:100%}.section-head{display:block;margin-bottom:20px}.section-head h2{font-size:30px;line-height:1.2}.section-head>span{display:block;font-size:16px;margin-top:8px}.services{padding-block:8px 36px}.service-grid{grid-template-columns:1fr;gap:16px}.service-card{padding:24px;border-radius:14px}.card-top{margin-bottom:16px}.card-top svg{width:60px;height:48px}.service-card h3{font-size:29px;letter-spacing:-.6px}.service-card p{font-size:18px;margin-bottom:20px}.card-link{width:100%;font-size:18px;min-height:52px}.photo-story{grid-template-columns:1fr;gap:28px;padding-block:32px 40px}.story-image{min-height:250px}.image-caption{font-size:14px;left:12px;right:12px;bottom:12px}.story-copy h2{font-size:34px;letter-spacing:-1px}.story-copy p{font-size:18px}.story-copy .button{width:100%}.availability{font-size:34px}.availability small{font-size:14px}.contact-grid{grid-template-columns:1fr;gap:32px;padding-block:36px}.contact h2{font-size:36px;letter-spacing:-1px}.contact-phone{font-size:34px;margin-top:18px}.contact p{font-size:18px}.contact-info{border-left:0;border-top:1px solid #454e3b;padding:28px 0 0;gap:24px}.contact-info a{font-size:18px}.social{gap:12px 26px}footer{flex-direction:column;align-items:start;gap:8px;padding-block:22px 106px;font-size:16px}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:0;font-size:19px;box-shadow:0 -4px 20px #0003}.back{margin:20px 0;font-size:17px}.detail-hero{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.detail-copy h1{font-size:40px;letter-spacing:-1px}.detail-copy>p{font-size:19px}.detail-copy .button,.secondary-link{width:100%;justify-content:center}.detail-visual{height:280px}.detail-visual.sauna-photo{height:380px}.detail-services{grid-template-columns:1fr;gap:32px;padding-block:32px}.detail-services h2{font-size:32px}.detail-note{font-size:18px;margin-top:18px}.offering-list h3{font-size:24px}.offering-list p{font-size:18px}.other-services{padding-block:12px 36px}.other-services .service-card{display:flex;padding:24px;gap:0}.other-services .card-top{margin-bottom:16px}.other-services .service-card h3{font-size:27px;margin:10px 0 14px}.other-services .service-card p{margin-bottom:20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery button:after{font-size:14px;padding:5px 8px;bottom:6px;right:6px}.gallery-section{padding-bottom:32px}.sauna-gallery .gallery{grid-template-columns:1fr}dialog{padding:76px 10px 86px;height:90dvh}dialog figcaption{font-size:16px}.more{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Supplied photographs make every service card immediately recognizable. */
.service-card{overflow:hidden}.card-photo{display:block;position:relative;margin:-30px -30px 26px;aspect-ratio:16/10;overflow:hidden;background:var(--bg)}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service-card:hover .card-photo img{transform:scale(1.035)}.service-card.material .card-photo img{object-position:50% 50.5%}.service-card.sauna .card-photo img{object-position:50% 60%}.service-card.build .card-photo img{object-position:50% 48%}.other-services .card-photo{margin:-24px -24px 22px;aspect-ratio:4/3}
@media(min-width:761px) and (max-width:1000px){.other-services .service-card{display:flex;gap:0}.other-services .card-photo{aspect-ratio:16/8}.other-services .card-link{margin-top:auto}}
@media(max-width:760px){.card-photo,.other-services .card-photo{margin:-24px -24px 22px;aspect-ratio:4/3}}
.card-photo{aspect-ratio:4/3}.service-card.material .card-photo{aspect-ratio:3/2}.service-card.sauna .card-photo img{object-position:50% 56%}
/* Illustration assets share the same natural photographic proportions. */
.service-card.material .card-photo{aspect-ratio:4/3}.service-card.material .card-photo img,.service-card.build .card-photo img{object-position:center}.detail-visual.material-photo,.detail-visual.construction-photo{height:auto;aspect-ratio:4/3}.illustrative{position:absolute;right:12px;bottom:12px;padding:5px 10px;border-radius:5px;background:#151714dc;color:#fff;font-size:14px;line-height:1.5;font-weight:400;letter-spacing:0}

/* Show complete supplied photographs without cropping important details. */
.card-photo{display:flex;align-items:center;justify-content:center;padding:8%;background:var(--panel)}
.card-photo img{object-fit:contain!important;object-position:center!important;max-height:100%}
.service-card:hover .card-photo img{transform:none}
.detail-visual.construction-photo,.detail-visual.sauna-photo{height:auto;aspect-ratio:4/3;padding:8%;display:flex;align-items:center;justify-content:center}
.detail-visual.construction-photo>img,.detail-visual.sauna-photo>img{object-fit:contain;object-position:center;max-height:100%}
.construction-gallery .gallery,.sauna-gallery .gallery{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
.construction-gallery .gallery button,.sauna-gallery .gallery button{padding:10% 8% 38px;aspect-ratio:1}
.construction-gallery .gallery img,.sauna-gallery .gallery img{object-fit:contain;object-position:center}
.construction-gallery .gallery button:hover img,.sauna-gallery .gallery button:hover img{transform:none}
@media(max-width:760px){.construction-gallery .gallery,.sauna-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.detail-visual.material-photo{height:auto;aspect-ratio:4/3;padding:8%;display:flex;align-items:center;justify-content:center}
.detail-visual.material-photo>img{object-fit:contain;object-position:center;max-height:100%}

.wordmark {
  display: inline-flex;
  align-items: center;
  width: 208px;
  min-height: 48px;
  background: #fff;
  border-radius: 6px;
}
.wordmark img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.detail-visual.tow-photo {
  display: grid;
  place-items: center;
  height: auto;
  aspect-ratio: 4 / 3;
  padding: 8%;
}
.detail-visual.tow-photo > img {
  min-height: 0;
  object-fit: contain;
}
