/* Drafting surface and consistent service-family accents across the site. */
:root{--accent:#80508f;--accent-soft:#f2e6f6;--accent-wash:#cd7bdd27;--muted:#625c6b}
:where(.card){--accent:#80508f;--accent-soft:#f2e6f6;--accent-wash:#cd7bdd27}
body{background-color:#fdfcfe;background-image:linear-gradient(#78668b05 1px,transparent 1px),linear-gradient(90deg,#78668b05 1px,transparent 1px),linear-gradient(#78668b03 1px,transparent 1px),linear-gradient(90deg,#78668b03 1px,transparent 1px);background-size:32px 32px,32px 32px,160px 160px,160px 160px}
main{background:radial-gradient(ellipse 650px 500px at 100% 18%,#cd7bdd16,transparent 75%),radial-gradient(ellipse 600px 620px at 0% 55%,#8bcbbb19,transparent 75%),radial-gradient(ellipse 550px 500px at 100% 85%,#edbc8c19,transparent 75%)}
[data-motif="penb"],[data-motif="nzu-light"],[data-motif="nzu-pujcka"],[data-motif="dolozeni-dotaci"],#podpora,[data-service="penb"],[data-service="nzu-light"],[data-service="nzu-pujcka"],[data-service="dolozeni-dotaci"]{--accent:#28685e;--accent-soft:#e6f3ee;--accent-wash:#8bcbbb35}
[data-motif="stavebni-povoleni"],[data-motif="stavebni-dozor"],#inzenyring,[data-service="stavebni-povoleni"],[data-service="stavebni-dozor"]{--accent:#426a8a;--accent-soft:#e8eff8;--accent-wash:#90b3de36}
[data-motif="uver"],[data-motif="pojisteni"],#finance,[data-service="uver"],[data-service="pojisteni"]{--accent:#8a5730;--accent-soft:#f9edde;--accent-wash:#edbc8c36}
.header{background:#ffffff45}.contact-link,.menu-toggle{background:#ffffffd9}
.hero:before{inset:0 0 0 25%;background:radial-gradient(ellipse 50% 50% at 50% 50%,#cd7bdd38,transparent 100%)}
.project-sheet{box-shadow:0 28px 60px -22px #4e2e6d38,0 2px 6px #4e2e6d0d;background:#fffffff2}
.chip-permit .chip-icon{background:#e8eff8;color:#426a8a}.chip-energy .chip-icon{background:#e6f3ee;color:#28685e}
.page-hero{padding-block:52px 56px}
.page-hero:before{inset:-15px 0 -10px 30%;background:radial-gradient(ellipse at 58% 50%,var(--accent-wash),transparent 70%)}
.page-hero:after{transform:rotate(-2deg);opacity:.9}
.page-hero .eyebrow{display:inline-flex;padding:8px 13px;border:1px solid color-mix(in srgb,var(--accent) 22%,white);background:#ffffffd9;border-radius:30px;color:var(--accent);font-size:10px;letter-spacing:1.3px;box-shadow:0 3px 12px #34263d05}
.page-hero .eyebrow:before{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.service-group .eyebrow{color:var(--accent)}.service-group .eyebrow:before{background:var(--accent)}
.card{background:#ffffffee;border:1px solid #dfd9e5;box-shadow:0 3px 5px #31213c03,0 14px 30px -22px #31213c40}
.service-symbol{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #ffffff99,0 4px 10px -6px var(--accent)}
.card-action{color:var(--accent)}.card-action>.icon{padding:7px;width:34px;height:34px;border-radius:50%;background:var(--accent-soft)}
.service-group{padding-block:48px 64px}.service-group .section-top{gap:32px}
.service-overview{padding:28px;border:1px solid #e4deea;border-radius:18px;background:#ffffffd9;box-shadow:0 20px 35px -30px #45315138;margin-bottom:28px}
.service-overview .use-cases{margin-bottom:0}.detail-block{padding:28px 0}.detail-block .icon,.use-cases .icon{color:var(--accent)}
.on-page a{background:#ffffffdf;box-shadow:0 3px 9px #3c284b05}.on-page a:hover{background:var(--accent-soft);border-color:var(--accent)}
.service-aside{background:radial-gradient(ellipse at 100% 0%,#80508f50,transparent 65%),#24212e;color:#fff;border-color:#393344;box-shadow:0 20px 40px -20px #24132c60;overflow:hidden}
.service-aside h2{color:#fff}.service-aside p{color:#ded6e7}.service-aside .eyebrow{color:#e0a2ec}.service-aside .text-link{color:#f3e5f7;border-color:#807189}.service-aside .aside-caption{color:#c9bfd1}
.process{background:linear-gradient(120deg,#edf5f1cc,#f7f0faad);border-block:1px solid #dfe9e4}.step{box-shadow:0 8px 18px -15px #314f4545}.step b{background:#e5f1ec;color:#28685e}.steps:before{border-color:#91b9a8}
.closing{background:linear-gradient(115deg,#f3e8f8ed,#fdf7f1ee);box-shadow:0 20px 40px -26px #6847794d;border-color:#ddcbe5}
.closing:after{background:radial-gradient(ellipse,#edbc8c35,transparent 70%)}
.contact-grid form{box-shadow:0 20px 50px -28px #58386c45;border-color:#ddd3e4}.contact-grid .aside-card{background:#edf5f1e6;border-color:#d1e4da}
.site-footer{background:linear-gradient(#ffffff70,#f5f0f8d9);border-top:1px solid #e5dce9}
#sluzby:before{content:none}
.reviews-section{background:linear-gradient(115deg,#eee6f480,#edf5f160);border-block:1px solid #e6dfea}
.reviews-section .section-top{align-items:center}.review-sources{display:flex;flex-wrap:wrap;gap:12px;max-width:390px}
.review-source{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:12px 16px;border:1px solid #ddd3e5;border-radius:12px;font-size:13px}.review-source span{font-size:12px;color:#625c6b}
.review-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:8px 3px 24px;scrollbar-width:thin;scrollbar-color:#b99bc8 transparent}.review-track:focus-visible{outline:2px solid #80508f;outline-offset:5px}
.review-card{flex:0 0 min(370px,88%);scroll-snap-align:start;border:1px solid #e0d6e7;border-radius:18px;background:#fff;padding:26px;display:flex;flex-direction:column;box-shadow:0 12px 25px -20px #43265138}
.review-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#625c6b}.review-stars{font-size:19px;color:#80508f;letter-spacing:2px}
.review-card blockquote{margin:22px 0 28px;font-size:15px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.review-card footer{margin-top:auto;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px}.review-card footer strong{width:100%;font-size:14px}.review-card footer a{color:#754284;text-decoration:underline;text-underline-offset:4px}.review-card time{color:#625c6b}.review-no-text{margin:22px 0}
.review-caption,.review-preview-label{font-size:12px;color:#625c6b}.review-caption{margin-top:12px}.reviews-empty{display:flex;align-items:center;gap:28px;padding:32px;border:1px dashed #cbbbd5;border-radius:18px;background:#ffffffc9}.reviews-quote{font-family:Georgia,serif;font-size:90px;line-height:.8;color:#b984c8;align-self:flex-start}.reviews-empty strong{font-size:19px}.reviews-empty p{margin-top:8px;font-size:14px;max-width:640px}.review-platforms{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.review-platforms span{font-size:13px;padding:8px 14px;border:1px solid #e0d6e7;border-radius:30px;background:#fff}
.review-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:10px;flex-wrap:wrap}.review-controls[hidden]{display:none}.review-controls button{border:1px solid #d9c9e2;border-radius:30px;background:#fff;color:#664070;padding:10px 16px;min-height:44px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer}.review-controls button:focus-visible{outline:3px solid #80508f;outline-offset:3px}.review-track{position:relative}.review-card footer>span{color:#625c6b}
@media(max-width:650px){.reviews-empty{padding:24px;gap:16px;flex-wrap:wrap}.reviews-quote{font-size:60px}.reviews-empty>div{flex:1 1 200px}.review-platforms{margin:0}.review-card{padding:22px}.review-track{gap:14px}.reviews-section .section-top{align-items:flex-start}}
/* Short decorative movement only: no hidden content, looping drift or layout shifts. */
@keyframes sheet-settle{0%,100%{transform:translateY(0) rotate(-3deg)}45%{transform:translateY(-7px) rotate(-2.4deg)}}
@keyframes drawing-arrive{from{translate:0 8px}to{translate:0 0}}
@media(prefers-reduced-motion:no-preference){
 .project-sheet{animation:sheet-settle 4.8s ease-in-out 1}
 .page-hero:after{animation:drawing-arrive .9s ease-out 1}
 .button .icon,.card-action .icon{transition:translate .22s ease}
 .button:is(:hover,:focus-visible) .icon,.card:is(:hover,:focus-visible) .card-action .icon{translate:3px -2px}
 details[open]>p{animation:drawing-arrive .22s ease-out 1}
}
@media(prefers-reduced-motion:reduce){.project-sheet,.page-hero:after,details[open]>p{animation:none}.button,.card,.scene-chip,.picker-options button{transform:none!important}.button .icon,.card-action .icon{transition:none;translate:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.card:hover{border-color:var(--accent);box-shadow:0 18px 35px -15px #4c34512b;transform:translateY(-5px)}.card:hover .service-symbol{transform:translateY(-2px) rotate(-3deg)}}
@media(max-width:650px){body{background-size:28px 28px,28px 28px,140px 140px,140px 140px}.page-hero{padding-block:28px 32px}.page-hero:after{opacity:.3;transform:none}.page-hero .eyebrow{font-size:9px}.service-group{padding-block:32px 40px}.service-overview{padding:22px 20px}.service-aside{box-shadow:0 14px 28px -20px #24132c60}}
