/* ============================================================
   Hair by Iva Vasić — hairbyivavasic.sk
   Shared stylesheet for all pages.
   Design tokens are at the top — change colors/fonts here.
   ============================================================ */

:root{
  --cream:#F4F0EA;
  --paper:#FFFFFF;
  --ink:#161311;
  --ink-soft:#5B534C;
  --rust:#B8492E;
  --rust-deep:#8F3620;
  --line:rgba(22,19,17,0.12);
  --radius:22px;
  --serif:'Instrument Serif', serif;
  --sans:'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;object-fit:cover;width:100%;height:100%;}
::selection{background:var(--rust);color:#fff;}
a:focus-visible, button:focus-visible{outline:2px solid var(--rust);outline-offset:3px;}

.wrap{max-width:1240px;margin:0 auto;padding:0 24px;}
@media (min-width:700px){ .wrap{padding:0 40px;} }

.eyebrow{
  font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rust);display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--rust);display:inline-block;}

h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;}
h1 i, h2 i{color:var(--rust);font-style:italic;}

/* ---------- Header ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav.wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{font-family:var(--serif);font-size:22px;font-style:italic;}
.logo-img{height:50px;width:auto;display:block;}
.navlinks{display:none;align-items:center;gap:32px;}
.navlinks a{font-size:14px;font-weight:500;}
.book-btn{
  font-size:14px;font-weight:600;background:var(--ink);color:#fff;
  padding:11px 22px;border-radius:100px;transition:background .25s ease;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;
}
.book-btn:hover{background:var(--rust);}
.menu-toggle{
  display:flex;flex-direction:column;gap:5px;background:none;border:none;padding:6px;cursor:pointer;
}
.menu-toggle span{width:22px;height:2px;background:var(--ink);display:block;transition:transform .25s ease, opacity .25s ease;}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (min-width:900px){
  .navlinks{display:flex;}
  .menu-toggle{display:none;}
}

.mobile-menu{
  position:fixed;inset:72px 0 0 0;background:#fff;z-index:55;
  display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 24px;
  transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .3s ease, transform .3s ease;
}
.mobile-menu.open{opacity:1;transform:none;pointer-events:auto;}
.mobile-menu a{font-family:var(--serif);font-size:34px;padding:14px 0;border-bottom:1px solid var(--line);}
.mobile-menu .book-btn{align-self:flex-start;margin-top:24px;}

/* ---------- Hero ---------- */
.hero{
  min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding-top:72px;position:relative;overflow:hidden;
}
.hero-photo{
  position:absolute;inset:0;z-index:0;
  background-image:url('../assets/img/hero.jpg');
  background-size:cover;background-position:center 65%;
}
.hero-scrim{
  position:absolute;inset:0;z-index:0;
  background:
    linear-gradient(90deg, rgba(10,8,7,0.82) 0%, rgba(10,8,7,0.62) 48%, rgba(10,8,7,0.30) 100%),
    linear-gradient(180deg, rgba(10,8,7,0.45) 0%, rgba(10,8,7,0.20) 45%, rgba(10,8,7,0.78) 100%);
}
.hero-fade{
  position:absolute;left:0;right:0;bottom:0;height:200px;z-index:1;
  background:linear-gradient(180deg, rgba(244,240,234,0) 0%, var(--cream) 100%);
  pointer-events:none;
}
.hero.has-photo h1{text-shadow:0 2px 24px rgba(0,0,0,0.45);}
.hero.has-photo .hero-sub{text-shadow:0 1px 12px rgba(0,0,0,0.5);}
.hero.has-photo h1, .hero.has-photo .hero-sub{color:#fff;}
.hero.has-photo .hero-sub{color:rgba(255,255,255,0.85);}
.hero.has-photo .btn-outline{border-color:#fff;color:#fff;}
.hero.has-photo .btn-outline:hover{background:#fff;color:var(--ink);}
.hero.has-photo .eyebrow{color:#E7C9A9;}
.hero.has-photo .eyebrow::before{background:#E7C9A9;}
.hero.has-photo .brands-row{opacity:0.9;}
.hero.has-photo .brands-row img{filter:none;opacity:.92;}

.hero .wrap{position:relative;z-index:1;padding-top:48px;padding-bottom:48px;}
h1{font-size:clamp(38px,8vw,86px);line-height:1.04;max-width:17ch;}
h1 .eyebrow{display:inline-flex;font-family:var(--sans);margin-bottom:18px;}
h1 .h1-main{display:block;}
.hero-row{display:flex;flex-direction:column;gap:32px;margin-top:36px;}
.hero-sub{font-size:16px;color:var(--ink-soft);max-width:420px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  font-size:14px;font-weight:600;padding:15px 28px;border-radius:100px;display:inline-block;
  transition:all .25s ease;
}
.btn-solid{background:var(--ink);color:#fff;}
.btn-solid:hover{background:var(--rust);}
.btn-outline{border:1.5px solid var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}

@media (min-width:800px){
  .hero-row{flex-direction:row;justify-content:space-between;align-items:flex-end;}
}

.brands-label{
  margin-top:40px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;
  color:rgba(255,255,255,0.65);
}
.brands-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:16px;opacity:0.75;}
.brands-row img{width:auto;display:block;}

/* ---------- Section shell ---------- */
section{padding:72px 0;}
@media (min-width:800px){ section{padding:110px 0;} }
.section-head{margin-bottom:38px;}
h2{font-size:clamp(32px,5vw,58px);line-height:1.05;}
.section-note{color:var(--ink-soft);font-size:14px;max-width:460px;margin-top:14px;}

/* ---------- Services ---------- */
#services{background:var(--paper);border-radius:32px 32px 0 0;margin-top:-32px;position:relative;z-index:2;padding:60px 0;}
@media (min-width:800px){ #services{padding:84px 0;} }
.svc-layout{display:grid;gap:28px;}
@media (min-width:920px){ .svc-layout{grid-template-columns:1.15fr 0.85fr;gap:36px;align-items:start;} }
.svc-categories{display:flex;flex-direction:column;gap:10px;}
.svc-cat{
  background:var(--cream);border-radius:16px;padding:0;overflow:hidden;
}
.svc-cat-head{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:18px 20px;cursor:pointer;list-style:none;
  font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);
  transition:color .25s ease;
}
.svc-cat-head::-webkit-details-marker{display:none;}
.svc-cat-head:hover{color:var(--rust);}
.svc-cat .chev{color:var(--rust);font-size:13px;transition:transform .3s ease;}
.svc-cat[open] .chev{transform:rotate(180deg);}
.svc-cat[open] .svc-cat-head{color:var(--rust);}
.svc-cat-body{padding:0 20px 14px;}
.svc-line{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  padding:12px 0;border-top:1px solid var(--line);
}
.svc-cat-body .svc-line:first-child{border-top:none;padding-top:2px;}
.svc-line-name{font-size:15px;font-weight:600;line-height:1.3;}
.svc-line-dur{font-size:12px;color:var(--ink-soft);font-weight:400;margin-top:2px;}
.svc-line-price{font-weight:700;color:var(--rust);font-size:14px;white-space:nowrap;}
.svc-side{display:flex;flex-direction:column;gap:16px;}
@media (min-width:920px){ .svc-side{position:sticky;top:92px;} }
.svc-photo{
  border-radius:var(--radius);overflow:hidden;position:relative;
  aspect-ratio:3/4;background:var(--cream);
}
.svc-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-photo figcaption{
  position:absolute;bottom:0;left:0;right:0;padding:18px;
  background:linear-gradient(0deg,rgba(0,0,0,0.6),transparent);
  font-family:var(--serif);font-style:italic;font-size:18px;color:#fff;line-height:1.3;
}
.svc-side-cta{text-align:center;}
@media (max-width:919px){ .svc-photo{aspect-ratio:16/10;} }

/* ---------- Team showcase (O nás) ---------- */
#about .team-intro{display:flex;flex-direction:column;gap:18px;margin-bottom:44px;}
@media (min-width:900px){ #about .team-intro{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:40px;} }
#about .team-intro-note{max-width:400px;font-size:14px;color:var(--ink-soft);}
#about .team-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);opacity:.8;}
@media (min-width:900px){ #about .team-intro-note{text-align:right;} #about .team-meta{justify-content:flex-end;} }

.team-showcase{display:grid;gap:32px;}
@media (min-width:1000px){ .team-showcase{grid-template-columns:5fr 7fr;gap:40px;align-items:start;} }

.photo-card{border-radius:var(--radius);overflow:hidden;position:relative;cursor:pointer;background:var(--cream);
  transition:opacity .4s ease, transform .45s cubic-bezier(.2,.7,.2,1);}
.photo-card img,.photo-card .team-mono{transition:filter .5s ease, transform .7s cubic-bezier(.2,.7,.2,1);}
.photo-card.is-dim{opacity:.5;}
.photo-card.is-dim img,.photo-card.is-dim .team-mono{filter:grayscale(1) brightness(.75);}
.photo-card.is-active img,.photo-card.is-active .team-mono{transform:scale(1.04);}

.founder-card{aspect-ratio:4/5;}
.founder-badge{
  position:absolute;top:18px;left:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:100px;background:rgba(255,255,255,0.85);backdrop-filter:blur(4px);
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);
}
.founder-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rust);}
.photo-card .tag{position:absolute;bottom:0;left:0;right:0;padding:18px;background:linear-gradient(0deg,rgba(0,0,0,0.65),transparent);}
.photo-card .tag em{display:block;font-style:normal;color:rgba(255,255,255,0.7);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;margin-bottom:5px;}
.photo-card .tag b{display:block;color:#fff;font-family:var(--serif);font-weight:400;font-style:italic;font-size:20px;line-height:1;}
.founder-card .tag{padding:22px;}
.founder-card .tag b{font-size:28px;}
.founder-social{margin-top:12px;display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;opacity:0;transform:translateX(-8px);transition:opacity .3s ease, transform .3s ease;}
.founder-card.is-active .founder-social,.founder-card:hover .founder-social{opacity:1;transform:none;}
.founder-quote{margin-top:20px;padding-left:4px;}
.founder-quote p{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.35;color:var(--ink-soft);max-width:420px;}
.founder-quote span{display:block;margin-top:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--rust);}

.assist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media (min-width:700px){ .assist-grid{grid-template-columns:repeat(3,1fr);gap:14px;}
  .assist-grid .photo-card:nth-child(2){margin-top:26px;} }
.assist-grid .photo-card{aspect-ratio:3/4;}
.team-mono{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-style:italic;font-size:56px;color:#fff;
}
.tm1{background:linear-gradient(155deg,#E7C9A9,#B8492E);}
.tm2{background:linear-gradient(155deg,#D8B98C,#8F3620);}
.tm3{background:linear-gradient(155deg,#E7C9A9,#A6572E);}
.tm4{background:linear-gradient(155deg,#C1552C,#3A1D12);}

.roster{margin-top:28px;}
.roster-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);}
.roster-grid{display:grid;grid-template-columns:1fr;gap:14px 32px;}
@media (min-width:600px){ .roster-grid{grid-template-columns:1fr 1fr;} }
.member-row{cursor:pointer;transition:opacity .3s ease;}
.member-row.is-dim{opacity:.4;}
.member-row .row-line{display:flex;align-items:center;gap:10px;}
.member-row .marker{width:14px;height:10px;border-radius:5px;background:rgba(22,19,17,0.22);flex-shrink:0;
  transition:all .3s cubic-bezier(.2,.7,.2,1);}
.member-row.is-active .marker{background:var(--rust);width:24px;}
.member-row .name{font-family:var(--serif);font-style:italic;font-size:21px;color:rgba(22,19,17,0.75);transition:color .25s ease;}
.member-row.is-active .name{color:var(--ink);}
.member-row .role{margin-top:3px;padding-left:24px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-soft);}

/* ---------- Gallery ---------- */
#gallery{background:var(--ink);color:#fff;border-radius:32px;margin:0 12px;}
@media (min-width:700px){ #gallery{margin:0 24px;} }
#gallery .section-note{color:rgba(255,255,255,0.55);}
.gal-scroll{
  display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;
  -webkit-overflow-scrolling:touch;cursor:grab;
}
.gal-scroll.dragging{cursor:grabbing;}
.gal-scroll::-webkit-scrollbar{display:none;}
.gal-cell{
  flex:0 0 68%;aspect-ratio:3/4;border-radius:18px;position:relative;overflow:hidden;
  scroll-snap-align:start;background:#333;
}
@media (min-width:700px){ .gal-cell{flex:0 0 22%;} }

/* ---------- Reviews ---------- */
.rev-scroll{display:grid;gap:16px;}
.rev-card{background:var(--paper);border-radius:var(--radius);padding:32px 26px;}
.rev-card p{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;margin-bottom:20px;}
.rev-name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--rust);}
@media (min-width:800px){ .rev-scroll{grid-template-columns:repeat(2,1fr);} }

/* ---------- Contact ---------- */
#contact{background:var(--paper);border-radius:32px;margin:0 12px 12px;}
@media (min-width:700px){ #contact{margin:0 24px 24px;} }
.contact-grid{display:grid;gap:40px;}
.contact-item{border-top:1px solid var(--line);padding:20px 0;}
.contact-item .label-sm{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;}
.contact-item p, .contact-item a{font-family:var(--serif);font-size:22px;}
.hours-row{display:flex;justify-content:space-between;font-size:14px;padding:10px 0;border-bottom:1px solid var(--line);}
.contact-media{display:flex;flex-direction:column;gap:16px;}
.media-plate{
  aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;position:relative;background:#ddd;
}
.media-plate img{width:100%;height:100%;object-fit:cover;display:block;}
.media-plate iframe{width:100%;height:100%;border:0;display:block;}
@media (min-width:800px){ .contact-grid{grid-template-columns:1fr 1fr;} }

footer{padding:44px 0 104px;text-align:center;}
@media (min-width:800px){ footer{padding:48px 0 32px;} }
.footer-logo{height:72px;width:auto;margin:0 auto 20px;display:block;}
.footer-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-soft);}
@media (min-width:600px){ .footer-meta{flex-direction:row;justify-content:center;gap:24px;} }
.social-row{display:flex;gap:12px;margin-top:16px;}
.social-row a{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;border:1.5px solid var(--line);border-radius:100px;
  font-size:13px;font-weight:600;color:var(--ink);
  transition:border-color .25s ease,color .25s ease,transform .2s ease;
}
.social-row a:hover{border-color:var(--rust);color:var(--rust);transform:translateY(-2px);}
.footer-social{display:flex;gap:10px;justify-content:center;margin-top:4px;}
.footer-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);
  transition:border-color .25s ease,color .25s ease,transform .2s ease;
}
.footer-social a:hover{border-color:var(--rust);color:var(--rust);transform:translateY(-2px);}
.footer-credit{margin-top:18px;font-size:12px;color:var(--ink-soft);opacity:0.75;}
.footer-credit a{font-weight:600;border-bottom:1px solid var(--line);transition:color .25s ease,border-color .25s ease;}
.footer-credit a:hover{color:var(--rust);border-color:var(--rust);}

/* ---------- Sticky mobile CTA ---------- */
.mobile-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:40;
  background:var(--ink);color:#fff;padding:14px 20px;
  display:flex;justify-content:space-between;align-items:center;
}
.mobile-cta span{font-family:var(--serif);font-style:italic;font-size:17px;}
.mobile-cta a{background:var(--rust);color:#fff;font-size:13px;font-weight:600;padding:10px 18px;border-radius:100px;}
@media (min-width:900px){ .mobile-cta{display:none;} }

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* staggered reveal inside grids/lists */
.in-delay-1{transition-delay:.08s;} .in-delay-2{transition-delay:.16s;}
.in-delay-3{transition-delay:.24s;} .in-delay-4{transition-delay:.32s;}

/* hero entrance on page load */
@keyframes heroUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
@keyframes heroPhoto{from{opacity:0;transform:scale(1.06);}to{opacity:1;transform:scale(1);}}
.hero-photo{animation:heroPhoto 1.6s cubic-bezier(.22,.8,.3,1) both;}
.hero .eyebrow{animation:heroUp .8s .25s cubic-bezier(.22,.8,.3,1) both;}
.hero h1{animation:heroUp .9s .4s cubic-bezier(.22,.8,.3,1) both;}
.hero .hero-sub{animation:heroUp .9s .55s cubic-bezier(.22,.8,.3,1) both;}
.hero .hero-actions{animation:heroUp .9s .7s cubic-bezier(.22,.8,.3,1) both;}
.hero .brands-row{animation:heroUp .9s .85s cubic-bezier(.22,.8,.3,1) both;}

/* service line hover: price slides, name shifts */
.svc-line{transition:transform .25s ease;}
.svc-line:hover{transform:translateX(4px);}
.svc-cat{transition:box-shadow .3s ease, transform .3s ease;}
.svc-cat:hover{box-shadow:0 12px 32px rgba(22,19,17,0.08);transform:translateY(-3px);}

/* gallery cells: image zoom on hover */
.gal-cell img{transition:transform .6s cubic-bezier(.22,.8,.3,1);}
.gal-cell:hover img{transform:scale(1.06);}

/* review cards lift */
.rev-card{transition:box-shadow .3s ease, transform .3s ease;}
.rev-card:hover{box-shadow:0 12px 32px rgba(22,19,17,0.08);transform:translateY(-3px);}

/* team cards */
.team-card img{transition:transform .6s cubic-bezier(.22,.8,.3,1);}
.team-card:hover img{transform:scale(1.05);}

/* buttons: subtle lift */
.btn{transition:all .25s ease, transform .2s ease;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}

/* nav link underline slide */
.navlinks a:not(.book-btn){position:relative;padding-bottom:3px;}
.navlinks a:not(.book-btn)::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--rust);transition:width .3s ease;}
.navlinks a:not(.book-btn):hover::after{width:100%;}

/* footer logo gentle float */
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.footer-logo.in{animation:floaty 5s ease-in-out 1s infinite;}

/* ---------- Cookies & GDPR ---------- */
.map-consent{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;text-align:center;padding:28px;background:var(--cream);
}
.map-consent p{font-size:13px;color:var(--ink-soft);max-width:340px;}
.map-consent .btn{cursor:pointer;border:none;font-family:var(--sans);}
.cookie-bar{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:90;
  background:var(--ink);color:#fff;border-radius:18px;padding:18px 20px;
  display:none;flex-direction:column;gap:14px;
  box-shadow:0 16px 48px rgba(0,0,0,0.35);
}
.cookie-bar.show{display:flex;}
.cookie-bar p{font-size:13px;line-height:1.5;color:rgba(255,255,255,0.85);}
.cookie-bar p a{text-decoration:underline;color:#fff;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions button{
  font-family:var(--sans);font-size:13px;font-weight:600;cursor:pointer;border-radius:100px;
  padding:11px 20px;border:1.5px solid rgba(255,255,255,0.4);background:transparent;color:#fff;
  transition:all .25s ease;
}
.cookie-actions button.primary{background:var(--rust);border-color:var(--rust);}
.cookie-actions button:hover{border-color:#fff;}
.cookie-actions button.primary:hover{background:var(--rust-deep);border-color:var(--rust-deep);}
@media (min-width:700px){
  .cookie-bar{left:auto;right:24px;bottom:24px;max-width:420px;}
}
@media (max-width:899px){
  .cookie-bar{bottom:76px;}
}

/* ---------- Gallery lightbox ---------- */
.lightbox{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:rgba(12,10,9,0.92);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox img{
  width:auto;height:auto;object-fit:contain;
  max-width:min(92vw,900px);max-height:84vh;border-radius:14px;display:block;
  box-shadow:0 24px 80px rgba(0,0,0,0.5);
  transform:scale(.96);transition:transform .3s cubic-bezier(.2,.7,.2,1);
  user-select:none;-webkit-user-drag:none;
}
.lightbox.open img{transform:scale(1);}
.lb-btn{
  position:absolute;background:rgba(255,255,255,0.1);border:none;color:#fff;cursor:pointer;
  width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:20px;line-height:1;transition:background .25s ease;
}
.lb-btn:hover{background:rgba(255,255,255,0.22);}
.lb-close{top:20px;right:20px;}
.lb-prev{left:16px;top:50%;transform:translateY(-50%);}
.lb-next{right:16px;top:50%;transform:translateY(-50%);}
.lb-count{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,0.75);font-size:12px;font-weight:600;letter-spacing:.14em;
}
@media (max-width:699px){
  .lb-prev,.lb-next{width:40px;height:40px;left:10px;}
  .lb-next{left:auto;right:10px;}
  .lightbox img{max-width:94vw;max-height:76vh;}
}

/* ---------- Mobile polish ---------- */
@media (max-width:699px){
  /* hero: text-first scrim (full-width darker bottom-weighted), smaller logos in 2 tight rows */
  .hero-scrim{
    background:
      linear-gradient(180deg, rgba(10,8,7,0.55) 0%, rgba(10,8,7,0.45) 55%, rgba(10,8,7,0.85) 100%);
  }
  h1{font-size:clamp(36px,11vw,48px);}
  .hero-sub{font-size:15px;}
  .hero-actions .btn{padding:14px 22px;flex:1;text-align:center;min-width:0;}
  .brands-label{margin-top:26px;font-size:9px;letter-spacing:.18em;}
  .brands-row{gap:18px 22px;margin-top:12px;}
  .brands-row img{height:18px !important;}
  .brands-row img[alt="Wella Professionals"]{height:30px !important;}
  .brands-row img[alt="Malibu C"]{height:26px !important;}

  /* services: tighter accordion */
  .svc-cat-head{font-size:12px;padding:15px 16px;}
  .svc-cat-body{padding:0 16px 12px;}
  .svc-line{padding:10px 0;gap:10px;}
  .svc-line-name{font-size:14px;}
  .svc-line-dur{font-size:11px;}
  .svc-line-price{font-size:13px;}

  /* team: founder card less tall, quote tighter, assist tags smaller */
  .founder-card{aspect-ratio:1/1.1;}
  .founder-card .tag b{font-size:24px;}
  .founder-quote p{font-size:17px;}
  .assist-grid{gap:10px;}
  .assist-grid .photo-card .tag{padding:10px;}
  .assist-grid .photo-card .tag b{font-size:15px;}
  .assist-grid .photo-card .tag em{font-size:8px;letter-spacing:.14em;margin-bottom:3px;}
  .team-mono{font-size:44px;}
  .roster .name{font-size:19px;}

  /* gallery: slightly larger peek of next card */
  .gal-cell{flex:0 0 74%;}

  /* reviews & contact type */
  .rev-card{padding:24px 20px;}
  .rev-card p{font-size:18px;}
  .contact-item p, .contact-item a{font-size:19px;word-break:break-word;}
  .contact-media{gap:12px;}

  footer{padding-bottom:96px;}
  .footer-logo{height:60px;}
}

/* very small phones */
@media (max-width:380px){
  h1{font-size:34px;}
  .assist-grid{grid-template-columns:1fr 1fr;}
  .brands-row img{height:15px !important;}
  .brands-row img[alt="Wella Professionals"]{height:26px !important;}
}

/* touch devices: no hover — surface hover-only UI */
@media (hover:none){
  .founder-social{opacity:1;transform:none;}
  .roster-label span:last-child{display:none;}
  .svc-cat:hover,.rev-card:hover,.svc-line:hover,.btn:hover{transform:none;box-shadow:none;}
}

@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
  .hero-photo,.hero .eyebrow,.hero h1,.hero .hero-sub,.hero .hero-actions,.hero .brands-row,.footer-logo.in{animation:none;}
  .svc-line,.svc-cat,.gal-cell img,.rev-card,.btn,.photo-card,.photo-card img,.photo-card .team-mono,.member-row,.member-row .marker,.founder-social{transition:none;}
}

/* ============================================================
   Additions for the multi-page site
   (subpage headers, gallery grid, footer nav, legal page, 404)
   ============================================================ */

/* subpage intro block under the fixed header */
.page-head{padding:150px 0 58px;}
.page-head h1{font-size:clamp(38px,6vw,64px);line-height:1.05;max-width:none;}
.page-head .section-note{max-width:520px;}
@media (max-width:699px){ .page-head{padding:122px 0 40px;} }

/* first content section on subpages that reuse the rounded-card look */
.page-first{margin-top:-24px;}

/* current page in navigation */
.navlinks a[aria-current="page"]{color:var(--rust);}
.navlinks a[aria-current="page"]:not(.book-btn)::after{width:100%;}
.mobile-menu a[aria-current="page"]{color:var(--rust);}

/* footer page links */
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:18px;font-size:13px;font-weight:500;}
.footer-nav a{color:var(--ink-soft);transition:color .25s ease;}
.footer-nav a:hover{color:var(--rust);}

/* gallery page grid (dedicated Galéria page) */
.gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media (min-width:700px){ .gal-grid{grid-template-columns:repeat(3,1fr);gap:14px;} }
@media (min-width:1100px){ .gal-grid{grid-template-columns:repeat(4,1fr);} }
.gal-grid .gal-cell{flex:none;width:100%;}

/* legal page (ochrana súkromia & cookies) */
.legal{max-width:760px;}
.legal h2{font-size:clamp(24px,3.5vw,32px);margin:38px 0 10px;}
.legal h2:first-of-type{margin-top:0;}
.legal p,.legal li{font-size:15px;color:var(--ink-soft);line-height:1.65;}
.legal ul{padding-left:20px;margin:8px 0 0;}
.legal li{margin-bottom:6px;}
.legal strong{color:var(--ink);font-weight:600;}
.legal .updated{margin-top:34px;font-size:12px;opacity:.7;}
.legal .btn{margin-top:14px;cursor:pointer;border:none;font-family:var(--sans);}

/* 404 page */
.err{min-height:calc(100svh - 72px);display:flex;align-items:center;padding:120px 0 60px;}
.err-code{font-family:var(--serif);font-style:italic;font-size:clamp(90px,20vw,190px);line-height:1;color:var(--rust);}
.err h1{font-size:clamp(30px,5vw,52px);margin-top:10px;}
.err p{color:var(--ink-soft);margin-top:14px;max-width:420px;}
.err .hero-actions{margin-top:30px;}
