@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#17231e;--paper:#f5f6f2;--green:#bdd983;--line:#d8ded5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e6a323;outline-offset:5px}header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff30}.wordmark{font-weight:700;font-size:24px;line-height:1;letter-spacing:-1px}.wordmark>span{font-weight:500}.wordmark small{display:block;font-size:10px;letter-spacing:2.6px;margin-top:9px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--green)}.menu-toggle{display:none;background:transparent;color:white;border:1px solid #ffffff70;padding:9px 14px}.hero{height:min(850px,95svh);min-height:690px;background:#121a18;position:relative;overflow:hidden;color:white}.video-backdrop{position:absolute;inset:-30px;background:linear-gradient(90deg,#121a18c9,#121a1890),url('assets/poster.jpg') center/cover;filter:blur(24px)}.hero video{position:absolute;right:3%;width:65%;height:100%;object-fit:contain}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1714e8 0%,#0a1714a8 38%,transparent 75%),linear-gradient(0deg,#0a1714 0%,transparent 22%)}.hero-content{position:relative;padding:128px 7% 70px;max-width:900px}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:600;margin-bottom:28px}.logo-card{background:white;width:155px;height:151px;padding:8px;margin-bottom:26px;border-radius:2px}.logo-window{position:relative;overflow:hidden;width:100%;height:100%}.logo-window img{position:absolute;width:177%;height:auto;max-width:none;left:-40%;top:-80%}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;line-height:1.02;font-weight:600;margin:0}h1{font-size:clamp(52px,5.5vw,80px);letter-spacing:-1px}h1 span{color:var(--green)}.hero-content p{color:#d8e1dc;font-size:17px;margin:20px 0 28px}.button{display:inline-flex;align-items:center;background:var(--green);color:#17231e;padding:14px 24px;font-weight:600;font-size:14px}.button:hover{background:#d0e7a0}.hero-bottom{position:absolute;bottom:24px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;color:#c8d1cd}.quiet{border:0;background:transparent;color:inherit;padding:8px;font-size:12px;text-decoration:underline;text-underline-offset:4px;letter-spacing:0}.filmstrip{background:#121a18;color:white;padding:20px 0 30px;overflow:hidden}.strip-heading{display:flex;justify-content:space-between;align-items:center;margin:0 5% 16px;font-size:11px;letter-spacing:2px}.strip-viewport{overflow:hidden}.strip-track{display:flex;width:max-content;animation:slide 65s linear infinite}.strip-track:hover,.strip-track:focus-within,.strip-track.paused{animation-play-state:paused}.strip-track button{border:0;padding:0;margin-right:12px;width:240px;height:160px;flex-shrink:0;background:#29342f;overflow:hidden}.strip-track img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.strip-track button:hover img{transform:scale(1.05)}@keyframes slide{from{transform:translateX(-50%)}to{transform:translateX(0)}}.section{padding:100px 7%;scroll-margin-top:20px}.green{color:#527134}.about{display:grid;grid-template-columns:1fr 1.35fr;gap:8%;border-bottom:1px solid var(--line)}h2{font-size:clamp(44px,4.8vw,66px);letter-spacing:-.8px}.lead{font-size:23px;line-height:1.45;margin-top:0}.about-content>p:not(.lead){color:#56615a}.services{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.services article{border-top:1px solid var(--line);padding-top:20px}.services article>span{font-size:12px;color:#74816e}.services h3{font-size:27px;margin:10px 0}.services p{font-size:14px;color:#56615a}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px;gap:30px}.section-top p{font-size:14px;color:#56615a}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-card{border:0;background:none;text-align:left;padding:0;color:var(--ink)}.project-card .photo-wrap{height:320px;overflow:hidden;background:#e3e7e0}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.project-card h3{font-size:27px;margin:18px 0 4px}.project-card p{font-size:12px;color:#62705f;margin:0;letter-spacing:1px}.contact{background:#243c31;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.contact .eyebrow{color:var(--green)}.contact p{color:#c6d2ca}.contact-details{display:flex;flex-direction:column;align-items:start;gap:12px}.contact-name{color:var(--green);font-size:16px}.phone{font-family:'Barlow Condensed',Arial,sans-serif;font-size:clamp(30px,3.8vw,51px);line-height:1.2}.email{font-size:clamp(14px,1.7vw,21px);border-bottom:1px solid #90aa96;padding-bottom:6px;overflow-wrap:anywhere}.company{font-weight:600;margin-top:32px}.company span{font-size:14px;color:#c6d2ca;font-weight:400}footer{background:#15281f;color:#b4c3b8;display:flex;justify-content:space-between;padding:25px 7%;font-size:12px}dialog{padding:20px;background:#111a16;color:white;border:1px solid #495b4f;width:min(1100px,95vw);max-height:94svh}dialog::backdrop{background:#08100ded;backdrop-filter:blur(7px)}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}dialog button{background:none;color:white;border:1px solid #69796e;padding:8px 14px}#large-photo{display:block;width:100%;height:72svh;object-fit:contain;margin:14px 0}#photo-caption{font-size:14px;text-align:center}
@media(min-width:1600px){.hero-content{padding-left:10%}.hero video{right:10%}}@media(max-width:800px){header{height:76px}.menu-toggle{display:block;font-size:13px}.menu-toggle span{margin-left:10px}nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px 6%;background:#16261f;flex-direction:column;gap:22px;font-size:16px}nav.open{display:flex}.hero{height:850px;min-height:750px;max-height:none}.hero video{width:100%;right:0;object-fit:cover;opacity:.58}.shade{background:linear-gradient(0deg,#0a1714 0%,#0a171480 65%,#0a171470)}.hero-content{padding:123px 7% 80px}.logo-card{width:140px;height:136px;margin-bottom:30px}h1{font-size:62px}.hero-content p{font-size:16px}.hero-content .eyebrow{font-size:10px;letter-spacing:1.8px}.hero-bottom{font-size:10px}.section{padding:65px 7%}.about,.contact{grid-template-columns:1fr;gap:36px}.lead{font-size:21px}.services{gap:22px}.section-top{display:block}.project-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.project-card .photo-wrap{height:230px}.project-card h3{font-size:24px}.phone{font-size:43px}.email{font-size:17px}.strip-track button{width:200px;height:145px}.strip-heading{font-size:10px;letter-spacing:1px}.strip-heading .quiet{font-size:11px}.lightbox-bottom{gap:8px}.lightbox-bottom button{font-size:12px;padding:8px}#photo-caption{font-size:12px}#large-photo{height:65svh}}@media(max-width:460px){.hero{height:810px}.project-grid{grid-template-columns:1fr}.project-card .photo-wrap{height:320px}.services{grid-template-columns:1fr}.services p{font-size:16px}.wordmark{font-size:21px}.wordmark small{font-size:9px}.hero-content{padding-top:114px}.hero-content h1{font-size:56px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.strip-track{animation:none}.strip-viewport{overflow-x:auto}.strip-track button[aria-hidden]{display:none}*{transition:none!important}}

/* Soft transitions around the original logo and portrait video. */
.logo-card{position:relative;background:transparent;border-radius:0;isolation:isolate}
.logo-card::before{content:"";position:absolute;inset:-12px;background:#fff;filter:blur(20px);border-radius:40%;opacity:.65;z-index:-1}
.logo-window{-webkit-mask-image:radial-gradient(ellipse at center,#000 40%,rgba(0,0,0,.98) 56%,rgba(0,0,0,.65) 72%,transparent 100%);mask-image:radial-gradient(ellipse at center,#000 40%,rgba(0,0,0,.98) 56%,rgba(0,0,0,.65) 72%,transparent 100%)}
.hero video{opacity:.8;-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%,#000 77%,transparent);mask-image:linear-gradient(90deg,transparent,#000 23%,#000 77%,transparent)}
.shade{background:linear-gradient(90deg,#0a1714e8 0%,#0a1714a8 38%,#0a171420 72%,#0a171460 100%),linear-gradient(0deg,#0a1714 0%,transparent 28%,transparent 80%,#0a171480 100%)}
@media(max-width:800px){.hero video{opacity:.48;-webkit-mask-image:linear-gradient(0deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(0deg,transparent,#000 22%,#000 78%,transparent)}.shade{background:linear-gradient(0deg,#0a1714 0%,#0a171480 65%,#0a171470)}}

/* Gold logo: blend its black background into the hero. */
.logo-card{isolation:auto;mix-blend-mode:screen}
.logo-card::before{display:none}

/* Moving structural drawing confined to the right of the portrait video. */
.blueprint{position:absolute;right:0;top:105px;bottom:65px;width:25%;pointer-events:none;opacity:.38;background-image:url('assets/construction-drawing.svg');background-repeat:repeat;background-size:420px 560px;background-position:0 0;animation:drawing-drift 26s linear infinite,drawing-fade 13s ease-in-out infinite;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 90%,transparent)}
@keyframes drawing-drift{from{background-position:0 0}to{background-position:var(--drawing-x,-420px) var(--drawing-y,-560px)}}
.hero.motion-paused .blueprint{animation-play-state:paused}
@media(min-width:1600px){.blueprint{width:29%}}
@media(max-width:800px){.blueprint{display:none}}
@media(prefers-reduced-motion:reduce){.blueprint{animation:none}}

@keyframes drawing-fade{0%,100%{opacity:0}22%,72%{opacity:.48}}

/* Wider company wordmark and a subtle Czech flag in the subtitle. */
.wordmark{font-size:30px;letter-spacing:2.1px;white-space:nowrap;flex-shrink:0}
.wordmark>span{font-weight:600}
.wordmark small{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.1px;margin-top:11px;line-height:1.4}
.brand-star{color:#d6bb71;margin:0 5px;font-size:11px}
.cz-flag{display:inline-block;position:relative;flex:0 0 27px;width:27px;height:18px;background:linear-gradient(to bottom,#fff 50%,#d7141a 50%);opacity:.62;border-radius:1px;overflow:hidden}
.cz-flag::before{content:"";position:absolute;inset:0;background:#11457e;clip-path:polygon(0 0,50% 50%,0 100%)}
@media(min-width:801px) and (max-width:1100px){header{padding-left:4%;padding-right:4%}nav{gap:18px;font-size:13px}.wordmark{font-size:26px;letter-spacing:1.5px}.wordmark small{font-size:8px;letter-spacing:.6px}}
@media(max-width:800px){.wordmark{font-size:25px;letter-spacing:1.5px}.wordmark small{font-size:8px;letter-spacing:.5px;gap:6px}.cz-flag{flex-basis:21px;width:21px;height:14px}.brand-star{margin:0 2px;font-size:9px}}
@media(max-width:460px){.wordmark{font-size:21px;letter-spacing:1px}.wordmark small{font-size:6.6px;letter-spacing:.2px;gap:4px}.cz-flag{flex-basis:18px;width:18px;height:12px}.menu-toggle{padding:8px 9px;font-size:11px}.menu-toggle span{margin-left:5px}}
.wordmark small{font-size:12px;letter-spacing:.4px}
@media(max-width:1100px){.wordmark small{font-size:12px;letter-spacing:0;white-space:normal;max-width:330px}}
@media(max-width:800px){header{height:98px}nav{top:98px}.wordmark small{max-width:270px;font-size:12px;line-height:1.35;margin-top:7px}.brand-star{font-size:12px}.hero-content{padding-top:125px}}
@media(max-width:460px){.wordmark small{max-width:235px;font-size:12px}.brand-star{font-size:12px}}

/* A subdued Czech flag fills the entire marked left header panel. */
header{isolation:isolate}
.header-flag{position:absolute;z-index:-1;left:0;top:0;bottom:0;width:43%;background:linear-gradient(to bottom,#d1d8d5 0%,#d1d8d5 49%,#a94448 51%,#a94448 100%);opacity:.18;pointer-events:none;filter:blur(1.3px);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 84%,transparent 100%);mask-image:linear-gradient(to right,#000 0%,#000 84%,transparent 100%)}
.header-flag::before{content:"";position:absolute;inset:0;background:#315b83;clip-path:polygon(0 0,40% 50%,0 100%)}
@media(max-width:1100px){.header-flag{width:52%}}
@media(max-width:800px){.header-flag{width:84%}}

.header-flag{opacity:.34}
