:root {
  --charcoal:var(--ink);--muted-beige:var(--border);
  --s12:96px;--s16:128px;--section-space:80px;--stack-gap:32px;
  --outline:1px;--mirror-border:2px;--mirror-main-width:368px;--mirror-side-width:280px;
  --mirror-main-height:496px;--mirror-side-height:376px;--mirror-mobile-height:440px;
  --map-height:504px;--map-mobile-height:280px;--promo-image-height:280px;
  --map-surface:#D6C8B3;--muted-text:#61564B;--modal-overlay:#10251F;
  --image-hair:#183B31;--image-beard:#123B2D;--image-combo:#18352C;--image-ritual:#123428;
  --z-header:20;--z-dialog:60;--z-skip:100;
  --gallery-texture:url('../assets/tiles-gallery.webp');--recruit-texture:url('../assets/tiles-recruitment.webp');--footer-texture:url('../assets/tiles-footer.webp');
}
.header{z-index:var(--z-header)}.skip-link{z-index:var(--z-skip)}
img{max-width:100%}picture{display:block}button{color:inherit}address{font-style:normal}figure,dl,dd{margin:0}
h1,h2,h3{text-wrap:balance}h2,h3{overflow-wrap:normal}p,a{overflow-wrap:break-word}
section[id],article[id],details[id],figure[id]{scroll-margin-top:calc(var(--header-height) + var(--s3))}
a:focus,button:focus,summary:focus{outline:2px solid var(--cognac);outline-offset:4px}
a:focus:not(:focus-visible),button:focus:not(:focus-visible),summary:focus:not(:focus-visible){outline:none}
:focus-visible{outline:3px solid var(--cognac);outline-offset:4px}
.tiled :focus-visible,.lightbox :focus-visible{outline-color:var(--ivory)}
.text-link{display:inline-flex;align-items:center;min-height:var(--target);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--frame-line);text-decoration-thickness:1px;text-underline-offset:6px}
.text-link:hover{text-decoration-thickness:2px}
.section-pad{padding-block:var(--section-space)}.section-stack{display:flex;flex-direction:column;gap:var(--stack-gap)}
.section-intro{display:flex;flex-direction:column;gap:var(--s2)}.split-grid{display:grid;grid-template-columns:282px minmax(0,1fr);gap:var(--s3)}
.outline-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target);padding:0 var(--s3);background:transparent;color:inherit;line-height:1.5;text-align:center}
.outline-button:hover::before,.icon-button:hover::before,.outline-button:focus-visible::before,.icon-button:focus-visible::before{inset:2px}
.icon-button{font-size:16px;letter-spacing:0}
.icon-button{width:var(--target);flex:0 0 var(--target);padding:0}.muted{color:var(--muted-text)}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:var(--s2);font-variant-numeric:tabular-nums;min-height:var(--target)}
.carousel-controls span{min-width:var(--s6);text-align:center}
.photo-piece picture,.photo-piece img{width:100%;height:100%}.photo-piece img{object-fit:cover;object-position:center}
.photo-piece::after{content:"";position:absolute;inset:0;background:var(--hero-shade)}
.availability-result{min-height:var(--target)}.availability-result p{min-height:24px}.availability-result .text-link{color:var(--ivory)}
.availability .development-label{font-size:var(--body);color:var(--border)}
.image-vlasy{background:var(--image-hair)}.image-vousy{background:var(--image-beard)}.image-kombinovane{background:var(--image-combo)}.image-zazitky{background:var(--image-ritual)}
.service-copy{min-width:0}.service-copy .text-link{border:0}.price,.price-amount{font-variant-numeric:tabular-nums}
.booking-cta{background:var(--surface);padding-block:var(--s4);border-block:var(--outline) solid var(--border)}
.booking-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.booking-cta .button{flex-shrink:0;min-width:208px}
.tiled{background-color:var(--green);color:var(--ivory);--frame-line:var(--brass)}
.gallery{padding-block:var(--section-space);background-image:var(--gallery-texture);background-size:1440px 879px}
.mirrors{display:flex;align-items:flex-end;justify-content:center;gap:var(--s4);min-width:0}
.mirror{position:relative;display:block;flex-shrink:1;min-width:0;overflow:hidden;border:var(--mirror-border) solid var(--brass);border-radius:50% 50% 0 0 / 38% 38% 0 0;background:var(--green);isolation:isolate}
.mirror-main{width:var(--mirror-main-width);height:var(--mirror-main-height)}.mirror-side{width:var(--mirror-side-width);height:var(--mirror-side-height)}
.mirror picture,.mirror img{width:100%;height:100%}.mirror img{object-fit:cover}.gallery-action{text-align:center}.swipe-hint{display:none;text-align:center}
.mirror-tag{position:absolute;left:50%;bottom:var(--s3);transform:translateX(-50%);z-index:1;padding:6px 14px;background:var(--green);border:1px solid var(--brass);color:var(--ivory);font:600 12px/1 var(--body-font);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.mirror-tag[hidden]{display:none}
.pricing{background:var(--plaster)}.price-category{border-bottom:var(--outline) solid var(--border)}
.price-category summary{list-style:none;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);cursor:pointer;padding-block:var(--s3);color:var(--green)}
.price-category summary::-webkit-details-marker{display:none}.price-category h3{min-width:0}.accordion-mark::before{content:'+'}.price-category[open] .accordion-mark::before{content:'−'}
.price-items{padding-bottom:var(--s3)}.price-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s3);padding-block:var(--s2);border-top:var(--outline) solid var(--border)}
.service-name{font-weight:600}.service-description{margin-top:var(--s1);max-width:65ch}.duration{color:var(--muted-text);margin-top:var(--s1)}.price-amount{white-space:nowrap;color:var(--green)}
.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.review-card{min-height:192px;padding:var(--s3);border:var(--outline) solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:var(--s3)}
.review-controls{display:none}
.recruitment{background-image:var(--recruit-texture);background-size:1440px 440px}
.recruitment-grid{display:grid;grid-template-columns:minmax(0,486px) minmax(0,1fr);grid-template-rows:1fr auto auto 1fr;gap:var(--s3)}
.recruitment-photo{grid-column:1;grid-row:1/5;height:var(--promo-image-height)}.recruitment-photo img{width:100%;height:100%;object-fit:cover}
.recruitment h2{grid-column:2;grid-row:1/3;align-self:end}.recruitment p{grid-column:2;grid-row:3}.recruitment .outline-button{grid-column:2;grid-row:4;align-self:start;justify-self:start}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);align-content:start}
.contact-address{grid-column:1;grid-row:1}.contact-hours{grid-column:2;grid-row:1/3}.contact-parking{grid-column:1;grid-row:2}
.contact-address,.contact-hours,.contact-parking{display:flex;flex-direction:column;gap:var(--s1)}
.contact-hours dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1)}.contact-hours dd{white-space:nowrap;font-variant-numeric:tabular-nums}
.contact-links{grid-column:1/-1;display:flex;flex-direction:column}.contact-links a{min-height:var(--s4);display:flex;align-items:center}.contact-links a:hover{text-decoration:underline}
.contact-links h3{margin-bottom:var(--s1)}
.contact-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}.contact-book{grid-column:1/-1}
.map-panel{min-height:var(--map-height);height:100%;background:var(--map-surface);position:relative}
.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);text-align:center;padding:var(--s3)}
.map-panel iframe{width:100%;height:100%;position:absolute;inset:0;border:0}.map-status{padding:var(--s3)}
.footer{padding-block:var(--s4);background-image:var(--footer-texture);background-size:1440px 112px}.footer-inner{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}.footer-brand{margin-right:auto}.footer img{display:block;width:128px;height:auto}.footer a{min-height:var(--target);display:flex;align-items:center}.footer a:hover{text-decoration:underline}
.lightbox{position:fixed;inset:0;z-index:var(--z-dialog);background:var(--modal-overlay);color:var(--ivory);overflow-y:auto;padding:var(--s3)}
.lightbox-inner{width:min(100%,960px);min-height:100%;margin-inline:auto;display:flex;flex-direction:column;gap:var(--s2)}
.lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:var(--s3)}
.lightbox-figure{text-align:center;display:flex;flex-direction:column;gap:var(--s2)}.lightbox-figure>img{width:100%;height:calc(100vh - 320px);height:calc(100dvh - 320px);min-height:160px;object-fit:contain}.lightbox figcaption{min-height:var(--s3)}
.gallery-thumbs{display:flex;justify-content:center;gap:var(--s1);flex-wrap:wrap;padding-block:var(--s1)}.gallery-thumbs button{border:var(--mirror-border) solid transparent;padding:0;background:none;width:64px;height:64px}.gallery-thumbs button[aria-current="true"]{border-color:var(--ivory)}.gallery-thumbs img,.gallery-thumbs picture{width:100%;height:100%;object-fit:cover}
.gallery-page,.legal-page{padding-block:var(--s8)}.legal-page{max-width:800px}.gallery-page h1,.legal-page h1{font-size:var(--heading)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.gallery-grid img{width:100%;height:400px;object-fit:cover}.gallery-grid figcaption{padding-block:var(--s2)}
.nojs-menu{display:flex;gap:var(--s3);padding-bottom:var(--s2)}.nojs-menu a{min-height:var(--target);display:flex;align-items:center}.menu-toggle{visibility:hidden}.ui-ready .menu-toggle{visibility:visible}
@media(min-width:900px){.nojs-menu{display:none}}
@media(max-width:1199px){.split-grid{grid-template-columns:240px minmax(0,1fr)}.recruitment-grid{grid-template-columns:40% minmax(0,1fr)}.contact-info{grid-template-columns:minmax(0,1fr)}.contact-info>*{grid-column:1;grid-row:auto}}
@media(max-width:899px){
  :root{--section-space:64px;--stack-gap:24px;--mirror-main-width:342px;--mirror-main-height:440px;--map-height:280px}
  .split-grid{grid-template-columns:minmax(0,1fr);gap:var(--s3)}.services{padding-block:var(--s6)}
  .booking-cta .wrap{flex-direction:column;align-items:stretch;gap:var(--s3)}.booking-cta h2{text-align:left}.booking-cta .button{width:100%}
  .mirror-side{display:none}.mirrors{gap:0}.mirror-main{width:100%;max-width:440px}.gallery-action .outline-button{width:100%}.swipe-hint:not([hidden]){display:block}
  .mirrors{touch-action:pan-y}.mirror-main{height:var(--mirror-mobile-height)}
  .price-category summary{min-height:80px}.price-category h3{max-width:calc(100% - var(--s4))}.price-item{gap:var(--s2)}
  .review-cards{grid-template-columns:minmax(0,1fr)}.reviews-enhanced .review-card:not(.is-current){display:none}.review-controls:not([hidden]){display:flex}
  .recruitment-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:var(--s3)}.recruitment-grid>*{grid-column:1;grid-row:auto}.recruitment h2{grid-column:1;grid-row:1}.recruitment p{grid-column:1;grid-row:2}.recruitment-photo{grid-row:3;height:176px}.recruitment .outline-button{grid-column:1;grid-row:4;justify-self:stretch}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:var(--s3)}.contact-info{grid-template-columns:minmax(0,1fr)}.contact-address{grid-row:1}.contact-parking{grid-row:2}.contact-actions{grid-row:3}.contact-hours{grid-row:4}.contact-links{grid-row:5}.contact-book{grid-row:6}
  .contact-hours dl{max-width:342px}.map-panel{height:280px}.footer-inner{flex-direction:column;align-items:flex-start;gap:var(--s2)}.footer-brand{margin:0}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid img{height:320px}
}
@media(max-width:599px){.gallery-grid{grid-template-columns:minmax(0,1fr)}.lightbox{padding:var(--s2)}.gallery-thumbs button{width:48px;height:48px}.lightbox-figure>img{height:calc(100vh - 300px);height:calc(100dvh - 300px)}}
@media(max-width:359px){.mirror-main{height:376px}.contact-actions{gap:var(--s1)}.outline-button{padding-inline:var(--s2)}.price-item{grid-template-columns:minmax(0,1fr) auto}.hero-wrap{padding-top:var(--s10)}.hero h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header::after{transition:none}}
@media print{.header,.lightbox,.carousel-controls,.scissors-position{display:none!important}.motion-enabled .motion-track{height:auto}.motion-enabled .scene{position:relative;top:0}.motion-enabled .hero{position:relative}.motion-enabled .photo-piece{clip-path:none!important;transform:none!important}.motion-enabled .photo-right{display:none}.hero-content{opacity:1!important}.review-card{display:block!important}}

/* 3D scissors share the existing carriage pivot and never intercept input. */
.scissors-3d{position:absolute;display:block;pointer-events:none;max-width:none}
.scissors-3d-ready>.scissors{visibility:hidden}
