*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

#booksy-float-btn{
  position:fixed;
  top:18px;right:20px;
  z-index:500;
  display:flex;align-items:center;gap:0.55rem;
  padding:0.55rem 1.1rem;
  background:var(--gold);
  color:#fff;
  border:none;
  border-radius:2px;
  font-family:'DM Sans',sans-serif;
  font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;
  font-weight:500;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(191,154,90,0.35);
  transition:background 0.25s,box-shadow 0.25s,transform 0.18s;
  white-space:nowrap;
}
#booksy-float-btn:hover{
  background:var(--gold-dk);
  box-shadow:0 6px 24px rgba(140,109,53,0.4);
  transform:translateY(-1px);
}
#booksy-float-btn svg{flex-shrink:0}

#booksy-modal{
  display:none;
  position:fixed;inset:0;
  z-index:1000;
  background:rgba(28,20,16,0.72);
  backdrop-filter:blur(4px);
  align-items:center;justify-content:center;
  padding:1.5rem;
}
#booksy-modal.open{display:flex}
.booksy-modal-inner{
  position:relative;
  background:var(--w);
  border-radius:4px;
  width:100%;max-width:700px;
  height:80vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 20px 60px rgba(28,20,16,0.25);
  animation:booksyIn 0.28s ease;
  overflow:hidden;
}
@keyframes booksyIn{
  from{opacity:0;transform:translateY(16px) scale(0.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
#booksy-modal-close{
  position:absolute;top:0.75rem;right:0.9rem;
  background:none;border:none;
  font-size:1.6rem;line-height:1;
  color:var(--ink-lt);cursor:pointer;
  padding:0.25rem 0.5rem;
  z-index:10;
  transition:color 0.2s;
}
#booksy-modal-close:hover{color:var(--ink)}
#booksy-iframe{
  width:100%;
  flex:1;
  border:none;
  display:block;
}

@media(max-width:600px){
  #booksy-float-btn span{display:none}
  #booksy-float-btn{padding:0.6rem 0.75rem;border-radius:50%}
  #booksy-modal{padding:0}
  .booksy-modal-inner{width:100%;height:100vh;border-radius:0;max-width:100%}
}

:root{
  --w:#FEFCF9;
  --cream:#F7F1E8;
  --gold:#BF9A5A;
  --gold-lt:#E2C98A;
  --gold-dk:#8C6D35;
  --rose:#EAC8C8;
  --rose-dk:#C49090;
  --ink:#1C1410;
  --ink-mid:#4A3728;
  --ink-lt:#9A8070;
  --logo-h:110px;
  --nav-h:52px;
}

html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--w);color:var(--ink);overflow-x:hidden}

#logo-bar{
  position:fixed;top:0;left:0;right:0;
  height:var(--logo-h);
  display:flex;align-items:center;justify-content:center;
  z-index:201;
  background:var(--w);
  border-bottom:1px solid rgba(191,154,90,0.13);
  transition:height 0.35s ease,box-shadow 0.35s ease;
}
#logo-bar.scrolled{
  height:68px;
  box-shadow:0 2px 20px rgba(191,154,90,0.07);
}
#logo-bar a{text-decoration:none;display:flex;align-items:center;justify-content:center}
.logo-svg{transition:width 0.35s ease,height 0.35s ease;width:170px;height:92px;display:block}
#logo-bar.scrolled .logo-svg{width:110px;height:60px}

#topnav{
  position:fixed;
  top:var(--logo-h);
  left:0;right:0;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:center;
  z-index:200;
  background:rgba(254,252,249,0.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(191,154,90,0.18);
  transition:top 0.35s ease;
}
#topnav.scrolled{top:68px}
.topnav-links{
  display:flex;align-items:center;gap:2.8rem;
  list-style:none;
}
.topnav-links a{
  font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--ink-lt);text-decoration:none;
  position:relative;padding-bottom:3px;
  transition:color 0.25s;
  white-space:nowrap;
}
.topnav-links a::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:1px;background:var(--gold);
  transition:width 0.3s ease;
}
.topnav-links a:hover{color:var(--gold-dk)}
.topnav-links a:hover::after{width:100%}
.nav-rezervace{
  padding:0.4rem 1.1rem;
  border:1px solid var(--gold) !important;
  color:var(--gold-dk) !important;
}
.nav-rezervace::after{display:none !important}
.nav-rezervace:hover{background:var(--gold);color:var(--w) !important}

#main{padding-top:calc(var(--logo-h) + var(--nav-h))}

#hero{
  min-height:90vh;
  display:grid;
  grid-template-columns:1fr 420px;
  position:relative;
  overflow:hidden;
}
.hero-left{
  padding:6rem 4rem 4rem 5rem;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;
  z-index:2;
}
.hero-tag{
  font-size:0.68rem;letter-spacing:0.35em;text-transform:uppercase;
  color:var(--gold);margin-bottom:3rem;
  display:flex;align-items:center;gap:1rem;
}
.hero-tag::before{
  content:'';display:block;width:32px;height:1px;background:var(--gold);
}
.hero-h1{
  font-family:'Playfair Display',serif;
  font-size:clamp(3.8rem,6vw,6.5rem);
  font-weight:400;line-height:1.05;
  color:var(--ink);
  margin-bottom:2.5rem;
}
.hero-h1 em{
  font-style:italic;
  color:var(--gold-dk);
  display:block;
}
.hero-body{
  font-size:0.95rem;font-weight:300;line-height:1.85;
  color:var(--ink-mid);max-width:440px;margin-bottom:3.5rem;
}
.hero-actions{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
.cta-gold{
  display:inline-block;padding:0.9rem 2.2rem;
  background:var(--gold);color:var(--w);
  font-size:0.72rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:pointer;
  font-family:'DM Sans',sans-serif;
  transition:background 0.3s,transform 0.2s;
  position:relative;overflow:hidden;
}
.cta-gold::after{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.12);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.4s ease;
}
.cta-gold:hover{background:var(--gold-dk);transform:translateY(-1px)}
.cta-gold:hover::after{transform:scaleX(1)}
.cta-ghost{
  display:inline-block;padding:0.9rem 2.2rem;
  border:1px solid rgba(191,154,90,0.45);
  color:var(--ink-mid);font-size:0.72rem;font-weight:400;
  letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;
  transition:border-color 0.3s,color 0.3s;
}
.cta-ghost:hover{border-color:var(--gold);color:var(--gold-dk)}

.hero-right{
  position:relative;overflow:hidden;
}
.hero-right img{
  width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;
}
.hero-right::before{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:80px;z-index:1;
  background:linear-gradient(to right,var(--w),transparent);
}
.hero-right::after{
  content:'';position:absolute;
  bottom:3rem;left:2rem;
  width:100px;height:1px;background:var(--gold-lt);
  z-index:2;
}
.hero-bg-word{
  position:absolute;right:-0.05em;top:50%;
  transform:translateY(-50%);
  font-family:'Playfair Display',serif;
  font-size:clamp(14rem,20vw,22rem);
  font-weight:700;font-style:italic;
  color:rgba(191,154,90,0.05);
  pointer-events:none;white-space:nowrap;
  user-select:none;line-height:1;
  z-index:1;
}
.hero-scroll{
  position:absolute;bottom:2.5rem;left:5rem;
  display:flex;align-items:center;gap:1rem;
  font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--ink-lt);
}
.hero-scroll-line{
  display:block;width:40px;height:1px;
  background:var(--gold);
  transform-origin:left;
  animation:lineGrow 2s ease-in-out infinite;
}
@keyframes lineGrow{
  0%,100%{transform:scaleX(0.4);opacity:0.5}
  50%{transform:scaleX(1);opacity:1}
}

.gallery-strip{
  display:flex;
  height:340px;
  overflow:hidden;
  border-top:0px solid rgba(191,154,90,0.15);
  border-bottom:0px solid rgba(191,154,90,0.15);
  background:var(--ink);
}
.gallery-item{
  position:relative;
  flex:1;
  min-width:0;
  overflow:hidden;
  cursor:pointer;
  transition:flex 0.6s cubic-bezier(0.22,1,0.36,1);
}
.gallery-item:hover{
  flex:2.4;
}
.gallery-item img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(0.85) brightness(0.92);
  transform:scale(1.04);
  transition:filter 0.6s ease,transform 0.6s cubic-bezier(0.22,1,0.36,1);
}
.gallery-item:hover img{
  filter:saturate(1) brightness(1);
  transform:scale(1);
}
.gallery-item::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(28,20,16,0.55) 0%,rgba(28,20,16,0.08) 45%,transparent 65%);
  transition:opacity 0.4s ease;
}
.gallery-item figcaption{
  position:absolute;
  left:1.4rem;bottom:1.2rem;right:1rem;
  font-family:'Playfair Display',serif;
  font-size:0.95rem;font-style:italic;font-weight:400;
  color:#F7F1E8;
  letter-spacing:0.03em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity 0.4s ease,transform 0.4s ease;
  white-space:nowrap;
  z-index:1;
}
.gallery-item:hover figcaption{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1024px){
  .gallery-strip{height:280px}
}
@media(max-width:700px){
  .gallery-strip{
    height:auto;
    flex-direction:column;
  }
  .gallery-item{
    flex:none;
    height:160px;
    transition:height 0.5s ease;
  }
  .gallery-item:hover,
  .gallery-item:active{
    height:240px;
  }
  .gallery-item figcaption{
    opacity:1;
    transform:none;
    bottom:0.9rem;
  }
}

#o-nas{
  padding:9rem 5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  min-height:80vh;
  align-items:center;
}
.about-text-col{
  padding-right:5rem;
  border-right:1px solid rgba(191,154,90,0.2);
}
.eyebrow{
  font-size:0.65rem;letter-spacing:0.38em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.2rem;display:flex;
  align-items:center;gap:0.8rem;
}
.eyebrow::before{content:'';width:20px;height:1px;background:var(--gold)}
.section-h{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.4rem,3.5vw,3.4rem);
  font-weight:400;line-height:1.18;color:var(--ink);
  margin-bottom:1.8rem;
}
.section-h em{font-style:italic;color:var(--gold-dk)}
.body-text{
  font-size:0.95rem;font-weight:300;line-height:1.9;
  color:var(--ink-mid);margin-bottom:1.2rem;
}
.about-photo-col{
  padding-left:5rem;
  display:flex;flex-direction:column;gap:2rem;
}
.about-img-wrap{position:relative}
.about-img-wrap img{
  width:100%;height:400px;object-fit:cover;display:block;
}
.about-img-caption{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.5rem;
  background:linear-gradient(to top,rgba(28,20,16,0.75) 0%,transparent 100%);
}
.about-img-caption span{
  font-family:'Playfair Display',serif;
  font-size:0.95rem;font-style:italic;
  color:rgba(255,255,255,0.85);letter-spacing:0.06em;
}
.about-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:rgba(191,154,90,0.15);
}
.fact{background:var(--w);padding:1.4rem 1.6rem;}
.fact-n{
  font-family:'Playfair Display',serif;
  font-size:2.6rem;font-weight:400;
  color:var(--gold);line-height:1;display:block;
}
.fact-l{
  font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-lt);margin-top:0.3rem;display:block;
}


#uslugi{
  background:var(--ink);
  padding:8rem 5rem;
  position:relative;overflow:hidden;
}
#uslugi::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(191,154,90,0.5),transparent);
}
.uslugi-head{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:end;
  margin-bottom:5rem;
}
.uslugi-head .eyebrow{color:var(--gold-lt)}
.uslugi-head .section-h{color:#F7F1E8}
.uslugi-head .section-h em{color:var(--gold-lt)}
.uslugi-head p{
  font-size:0.9rem;font-weight:300;line-height:1.85;
  color:rgba(247,241,232,0.55);padding-top:1rem;
}
.uslugi-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:rgba(191,154,90,0.12);
}

.svc:last-child:nth-child(3n+1){
  grid-column: 1 / -1;
}

.svc:nth-last-child(2):nth-child(3n+1),
.svc:nth-last-child(2):nth-child(3n+1) ~ .svc{
  grid-column: span 1;
}
.svc{
  background:var(--ink);
  padding:2.8rem 2.2rem;
  position:relative;overflow:hidden;
  transition:background 0.35s;
}
.svc::after{
  content:'';
  position:absolute;bottom:0;left:0;
  width:0;height:1px;
  background:var(--gold);
  transition:width 0.45s ease;
}
.svc:hover{background:#261E18}
.svc:hover::after{width:100%}
.svc-name{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;font-weight:400;
  color:#F7F1E8;margin-bottom:1rem;
  line-height:1.3;
}
.svc-name em{font-style:italic;color:var(--gold-lt)}
.svc-desc{
  font-size:0.84rem;font-weight:300;line-height:1.75;
  color:rgba(247,241,232,0.5);
  margin-bottom:2rem;
}
.svc-tags{display:flex;flex-wrap:wrap;gap:0.4rem;}
.svc-tag{
  font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;
  padding:0.3rem 0.7rem;
  border:1px solid rgba(191,154,90,0.25);
  color:rgba(191,154,90,0.6);
}
#cennik{
  padding:8rem 5rem;
  background:var(--cream);
  position:relative;
}
.cennik-layout{
  display:grid;grid-template-columns:300px 1fr;
  gap:5rem;align-items:start;
}
.cennik-sticky{position:sticky;top:6rem;}
.cennik-note{
  margin-top:2rem;
  padding:1.5rem;
  border-left:2px solid var(--rose-dk);
  background:rgba(234,200,200,0.15);
  font-size:0.82rem;font-weight:300;line-height:1.75;
  color:var(--ink-mid);
}
.accordion{display:flex;flex-direction:column;gap:1px;background:rgba(191,154,90,0.2)}
.acc-item{background:var(--cream)}
.acc-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:1.5rem 1.8rem;
  background:none;border:none;cursor:pointer;
  font-family:'Playfair Display',serif;
  font-size:1.1rem;font-weight:400;color:var(--ink);
  text-align:left;transition:background 0.2s;
}
.acc-btn:hover{background:rgba(191,154,90,0.07)}
.acc-btn.open{background:var(--w)}
.acc-arrow{
  width:20px;height:20px;flex-shrink:0;
  border:1px solid rgba(191,154,90,0.4);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:transform 0.35s,background 0.25s;
}
.acc-btn.open .acc-arrow{transform:rotate(180deg);background:var(--gold)}
.acc-arrow svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2}
.acc-btn.open .acc-arrow svg{stroke:var(--w)}
.acc-body{
  max-height:0;overflow:hidden;
  transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1);
  background:var(--w);
}
.acc-body.open{max-height:1200px}
.price-table{width:100%;border-collapse:collapse}
.price-table tr{border-bottom:1px solid rgba(191,154,90,0.12)}
.price-table tr:last-child{border-bottom:none}
.price-table td{
  padding:0.95rem 1.8rem;
  font-size:0.88rem;font-weight:300;color:var(--ink-mid);
}
.price-table td:last-child{
  text-align:right;
  font-family:'Playfair Display',serif;
  font-size:1rem;font-weight:400;
  color:var(--gold-dk);white-space:nowrap;
}
.price-table thead td{
  font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-lt);padding-top:1.2rem;padding-bottom:0.7rem;
  font-family:'DM Sans',sans-serif;font-weight:500;
  border-bottom:1px solid rgba(191,154,90,0.2);
}

#quote{
  padding:7rem 5rem;
  background:var(--w);
  display:flex;justify-content:center;
  border-top:1px solid rgba(191,154,90,0.12);
  border-bottom:1px solid rgba(191,154,90,0.12);
}
.quote-inner{max-width:700px;text-align:center;}
.quote-mark{
  font-family:'Playfair Display',serif;
  font-size:5rem;line-height:0.6;
  color:var(--gold-lt);display:block;margin-bottom:1rem;
}
.quote-text{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.4rem,2.5vw,2rem);
  font-weight:400;font-style:italic;
  line-height:1.55;color:var(--ink);
  margin-bottom:1.5rem;
}
.quote-attr{
  font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--gold);
}

#kontakt{
  padding:8rem 5rem;
  display:grid;grid-template-columns:1fr 1fr;
  gap:6rem;align-items:start;
  background:var(--w);
}
.kontakt-info .section-h{margin-bottom:2.5rem}
.k-item{
  display:flex;gap:1.4rem;align-items:flex-start;
  padding:1.5rem 0;
  border-bottom:1px solid rgba(191,154,90,0.15);
}
.k-item:first-of-type{padding-top:0}
.k-icon{
  width:38px;height:38px;
  border:1px solid rgba(191,154,90,0.3);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;margin-top:2px;
}
.k-icon svg{width:15px;height:15px;stroke:var(--gold-dk);fill:none;stroke-width:1.5}
.k-label{
  font-size:0.63rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-lt);margin-bottom:0.35rem;font-weight:500;
}
.k-val{font-size:0.92rem;font-weight:300;line-height:1.65;color:var(--ink);}
.k-val a{color:var(--gold-dk);text-decoration:none;transition:color 0.25s}
.k-val a:hover{color:var(--ink)}
.hours-list{display:flex;flex-direction:column;gap:0.25rem;margin-top:0.25rem}
.h-row{
  display:flex;justify-content:space-between;
  font-size:0.85rem;font-weight:300;color:var(--ink-mid);
  gap:2rem;
}
.h-row .day{color:var(--ink-lt)}
.form-eyebrow{margin-bottom:2rem}
.f-group{margin-bottom:1.4rem}
.f-group label{
  display:block;font-size:0.62rem;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--ink-lt);
  margin-bottom:0.5rem;font-weight:500;
}
.f-group input,.f-group select,.f-group textarea{
  width:100%;padding:0.85rem 1rem;
  border:1px solid rgba(191,154,90,0.28);
  background:var(--cream);
  font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:300;
  color:var(--ink);outline:none;border-radius:0;
  -webkit-appearance:none;appearance:none;
  transition:border-color 0.25s,background 0.25s;
}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{
  border-color:var(--gold);background:var(--w);
}
.f-group textarea{resize:vertical;min-height:110px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f-success{
  display:none;margin-top:1rem;
  padding:1rem 1.4rem;
  border-left:2px solid var(--gold);
  background:rgba(191,154,90,0.08);
  font-size:0.85rem;font-weight:300;color:var(--ink-mid);line-height:1.7;
}
.f-error{
  display:none;margin-top:1rem;
  padding:1rem 1.4rem;
  border-left:2px solid #C0392B;
  background:rgba(192,57,43,0.06);
  font-size:0.85rem;font-weight:300;color:#8B2E22;line-height:1.7;
}

#rezerwacja{
  padding:8rem 5rem;
  background:var(--cream);
  position:relative;overflow:hidden;
}
#rezerwacja::before{
  content:'';position:absolute;
  top:-120px;right:-120px;
  width:400px;height:400px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(191,154,90,0.08) 0%,transparent 70%);
  pointer-events:none;
}
.rez-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.rez-badge{
  display:inline-flex;align-items:center;gap:0.6rem;
  padding:0.4rem 1rem;
  background:rgba(191,154,90,0.1);
  border:1px solid rgba(191,154,90,0.3);
  font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold-dk);margin-bottom:2rem;
}
.rez-badge svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:2}
.rez-steps{display:flex;flex-direction:column;gap:0;margin-top:2.5rem;}
.rez-step{
  display:flex;gap:1.4rem;align-items:flex-start;
  padding:1.4rem 0;
  border-bottom:1px solid rgba(191,154,90,0.15);
}
.rez-step:last-child{border-bottom:none}
.rez-step-num{
  font-family:'Playfair Display',serif;
  font-size:1.8rem;font-weight:400;
  color:rgba(191,154,90,0.25);
  line-height:1;flex-shrink:0;width:36px;text-align:right;
}
.rez-step-text strong{
  display:block;font-size:0.82rem;font-weight:500;
  color:var(--ink);letter-spacing:0.04em;margin-bottom:0.25rem;
}
.rez-step-text span{font-size:0.82rem;font-weight:300;color:var(--ink-lt);line-height:1.65;}
.rez-cta-box{
  background:var(--w);padding:3rem;
  border:1px solid rgba(191,154,90,0.2);
  text-align:center;position:relative;
}
.rez-cta-box::before{
  content:'';position:absolute;
  top:8px;left:8px;right:8px;bottom:8px;
  border:1px solid rgba(191,154,90,0.1);
  pointer-events:none;
}
.rez-cta-icon{
  width:64px;height:64px;
  border:1px solid rgba(191,154,90,0.3);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;background:rgba(191,154,90,0.05);
}
.rez-cta-icon svg{width:26px;height:26px;stroke:var(--gold);fill:none;stroke-width:1.5}
.rez-cta-box h3{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:0.8rem;
}
.rez-cta-box p{font-size:0.88rem;font-weight:300;line-height:1.75;color:var(--ink-mid);margin-bottom:2rem;}
.rez-coming{
  display:inline-block;padding:0.5rem 1.2rem;
  background:rgba(191,154,90,0.08);
  border:1px dashed rgba(191,154,90,0.4);
  font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold-dk);margin-bottom:2rem;
}
.rez-alt{margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(191,154,90,0.15);}
.rez-alt p{font-size:0.8rem;color:var(--ink-lt);margin-bottom:1rem;letter-spacing:0.05em;}
.rez-alt-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.rez-alt-links a{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.72rem;letter-spacing:0.12em;
  color:var(--gold-dk);text-decoration:none;transition:color 0.25s;
}
.rez-alt-links a:hover{color:var(--ink)}
.rez-alt-links svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}

footer{
  background:var(--ink);padding:4rem 5rem;
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:3rem;align-items:end;
}
.foot-logo svg{width:110px;height:76px;overflow:visible;display:block}
.foot-nav{display:flex;flex-direction:column;gap:0.7rem}
.foot-nav a{
  font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;
  color:rgba(247,241,232,0.4);text-decoration:none;transition:color 0.25s;
}
.foot-nav a:hover{color:var(--gold-lt)}
.foot-copy{
  text-align:right;font-size:0.78rem;
  color:rgba(247,241,232,0.25);line-height:2;letter-spacing:0.05em;
}
.foot-copy a{color:rgba(191,154,90,0.5);text-decoration:none}
.foot-copy a:hover{color:var(--gold-lt)}
.foot-social{display:flex;gap:0.8rem;margin-top:1rem;justify-content:flex-end}
.foot-social a{
  width:34px;height:34px;border:1px solid rgba(191,154,90,0.25);
  display:flex;align-items:center;justify-content:center;
  transition:border-color 0.25s,background 0.25s;
}
.foot-social a:hover{border-color:var(--gold);background:rgba(191,154,90,0.1)}
.foot-social svg{width:14px;height:14px;fill:rgba(247,241,232,0.5)}

.foot-credit{
  display:flex;align-items:center;gap:0.4rem;
  justify-content:flex-end;margin-top:0.9rem;
  font-size:0.78rem;letter-spacing:0.06em;
  color:rgba(247,241,232,0.2);text-decoration:none;
  transition:color 0.25s,opacity 0.25s;opacity:0.7;
}
.foot-credit:hover{opacity:1;color:rgba(247,241,232,0.45)}
.foot-credit img{width:14px;height:14px;display:block;opacity:0.85}
.foot-credit span b{font-weight:500;color:rgba(191,154,90,0.55)}

#mob-bar{display:none}
.topnav-burger{
  display:none;background:none;border:none;cursor:pointer;padding:6px;
  flex-direction:column;gap:4px;
}
.topnav-burger span{
  display:block;width:22px;height:1.5px;
  background:var(--gold-dk);transition:transform 0.3s,opacity 0.3s;
}
.topnav-burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.topnav-burger.open span:nth-child(2){opacity:0}
.topnav-burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
#mob-menu{
  position:fixed;
  top:calc(var(--logo-h) + var(--nav-h));
  left:0;right:0;
  background:rgba(254,252,249,0.98);backdrop-filter:blur(12px);
  padding:1.5rem;z-index:199;
  border-bottom:1px solid rgba(191,154,90,0.15);
  transform:translateY(-8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}
#mob-menu.open{
  transform:translateY(0);
  opacity:1;
  visibility:visible;
  pointer-events:all;
}
#mob-menu ul{list-style:none}
#mob-menu li{border-bottom:1px solid rgba(191,154,90,0.12)}
#mob-menu a{
  display:block;padding:0.9rem 0;
  font-size:0.8rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ink-mid);text-decoration:none;transition:color 0.2s;
}
#mob-menu a:hover{color:var(--gold-dk)}

.rv{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.rv.in{opacity:1;transform:none}
.rv2{opacity:0;transform:translateX(-20px);transition:opacity 0.7s ease,transform 0.7s ease}
.rv2.in{opacity:1;transform:none}

@media(max-width:1024px){
  :root{--logo-h:100px;--nav-h:48px}

  .topnav-links{display:none}
  .topnav-burger{display:flex}
  #topnav{justify-content:flex-end;padding:0 1.5rem}

  #hero{grid-template-columns:1fr}
  .hero-right{height:320px}
  .hero-left{padding:3rem 2rem 2.5rem}

  #o-nas{grid-template-columns:1fr;padding:5rem 2rem;gap:3rem}
  .about-text-col{padding-right:0;border-right:none;border-bottom:1px solid rgba(191,154,90,0.15);padding-bottom:3rem}
  .about-photo-col{padding-left:0}

  #uslugi{padding:5rem 2rem}
  .uslugi-head{grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}
  .uslugi-grid{grid-template-columns:1fr 1fr}

  #cennik{padding:5rem 2rem}
  .cennik-layout{grid-template-columns:1fr;gap:2rem}
  .cennik-sticky{position:static;text-align:center}
  .cennik-sticky .eyebrow{justify-content:center}
  .cennik-note{text-align:left}

  #quote{padding:5rem 2rem}

  #kontakt{grid-template-columns:1fr;padding:5rem 2rem;gap:3rem}

  #rezerwacja{padding:5rem 2rem}
  .rez-layout{grid-template-columns:1fr;gap:3rem}
  .rez-info{text-align:center}
  .rez-info .eyebrow{justify-content:center}
  .rez-steps{text-align:left}
  .rez-badge{margin-left:auto;margin-right:auto}
  .rez-cta-box{margin:0 auto;max-width:480px}

  footer{
    grid-template-columns:1fr;
    padding:3rem 2rem;
    gap:2.5rem;
    text-align:center;
  }
  .foot-logo{display:flex;justify-content:center}
  .foot-nav{align-items:center}
  .foot-copy{text-align:center}
  .foot-social{justify-content:center}
  .foot-credit{justify-content:center}
}

@media(max-width:600px){
  :root{--logo-h:96px;--nav-h:44px}
  .logo-svg{width:130px;height:70px}
  #logo-bar{padding:8px 0}

  .hero-h1{font-size:2.4rem}
  .hero-body{font-size:0.9rem}
  .hero-right{height:240px}
  .hero-scroll{left:2rem}
  .hero-bg-word{font-size:8rem}

  #o-nas{padding:4rem 1.5rem;gap:2.5rem}
  .about-img-wrap img{height:260px}
  .about-facts{grid-template-columns:1fr 1fr}
  .fact{padding:1rem}
  .fact-n{font-size:2rem}

  #uslugi{padding:4rem 1.5rem}
  .uslugi-grid{grid-template-columns:1fr}
  .svc{padding:2rem 1.5rem}
  .uslugi-head p{padding-top:0}

  #quote{padding:4rem 1.5rem}
  .quote-text{font-size:1.3rem}

  #cennik{padding:4rem 1.5rem}
  .cennik-sticky{margin-bottom:0.5rem}
  .acc-btn{font-size:0.95rem;padding:1.2rem 1rem}
  .price-table td{padding:0.8rem 0.8rem;font-size:0.82rem}
  .price-table td:last-child{font-size:0.9rem}
  .price-table thead td{padding:1rem 0.8rem 0.6rem;font-size:0.58rem}
  .price-table td:nth-child(2),
  .price-table th:nth-child(2),
  .price-table thead td:nth-child(2),
  .price-table thead th:nth-child(2){display:none}

  #kontakt{padding:4rem 1.5rem;gap:2.5rem}
  .f-row{grid-template-columns:1fr}
  .k-item{gap:1rem}
  .k-icon{width:32px;height:32px;flex-shrink:0}
  .hours-list{gap:0.15rem}
  .h-row{font-size:0.8rem;gap:1rem}

  #rezerwacja{padding:4rem 1.5rem}
  .rez-layout{gap:2rem}
  .rez-cta-box{padding:2rem 1.5rem}
  .rez-cta-box::before{inset:5px}
  .rez-step{gap:1rem;padding:1.1rem 0}
  .rez-step-num{font-size:1.4rem;width:28px}
  .rez-alt-links{flex-direction:column;align-items:center;gap:0.8rem}

  footer{padding:2.5rem 1.5rem;gap:2rem}
  .foot-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0.8rem 1.5rem;
    text-align:center;
  }
  .foot-nav a{font-size:0.68rem}
  .foot-copy{font-size:0.68rem}
  .foot-social a{width:38px;height:38px}
  .foot-credit{justify-content:center;font-size:0.6rem}

  #mob-menu{padding:1rem 1.5rem}
  #mob-menu a{padding:0.85rem 0;font-size:0.78rem}
}

.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;top:-100px;left:1rem;
  padding:0.6rem 1.2rem;
  background:var(--gold);color:var(--w);
  font-size:0.8rem;font-weight:500;
  text-decoration:none;z-index:9999;
  transition:top 0.2s;
}
.skip-link:focus{top:1rem}

.quote-text p{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.4rem,2.5vw,2rem);
  font-weight:400;font-style:italic;
  line-height:1.55;color:var(--ink);
  margin-bottom:1.5rem;
}
.quote-text{margin:0}

.rez-steps{
  list-style:none;
  display:flex;flex-direction:column;gap:0;margin-top:2.5rem;
}

.price-table th{
  text-align:left;
  padding:0.95rem 1.8rem;
  font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-lt);
  font-family:'DM Sans',sans-serif;font-weight:500;
  border-bottom:1px solid rgba(191,154,90,0.2);
}
.price-table th:last-child{text-align:right}

#cookie-banner{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:9000;
  padding:1.2rem 2rem;
  background:var(--ink);
  border-top:1px solid rgba(191,154,90,0.25);
  transform:translateY(110%);
  transition:transform 0.45s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 -4px 32px rgba(28,20,16,0.18);
}
#cookie-banner.cookie-visible{
  transform:translateY(0);
}
#cookie-banner.cookie-hiding{
  transform:translateY(110%);
}
.cookie-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.cookie-text{flex:1;min-width:240px}
.cookie-title{
  font-family:'Playfair Display',serif;
  font-size:1rem;font-weight:400;
  color:var(--gold-lt);
  margin-bottom:0.4rem;
}
.cookie-text p{
  font-size:0.82rem;font-weight:300;
  line-height:1.7;
  color:rgba(247,241,232,0.6);
}
.cookie-link{
  color:var(--gold-lt);
  text-decoration:underline;
  text-underline-offset:2px;
  transition:color 0.2s;
}
.cookie-link:hover{color:var(--w)}
.cookie-actions{
  display:flex;
  gap:0.8rem;
  flex-shrink:0;
  flex-wrap:wrap;
}
.cookie-btn{
  font-family:'DM Sans',sans-serif;
  font-size:0.72rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  padding:0.7rem 1.6rem;
  border:none;cursor:pointer;
  transition:background 0.25s,color 0.25s,transform 0.15s;
  white-space:nowrap;
}
.cookie-btn:hover{transform:translateY(-1px)}
.cookie-btn--primary{
  background:var(--gold);
  color:var(--w);
}
.cookie-btn--primary:hover{background:var(--gold-dk)}
.cookie-btn--ghost{
  background:transparent;
  color:rgba(247,241,232,0.5);
  border:1px solid rgba(191,154,90,0.3);
}
.cookie-btn--ghost:hover{
  color:var(--gold-lt);
  border-color:var(--gold);
}

@media(max-width:600px){
  #cookie-banner{padding:1rem 1.2rem}
  .cookie-inner{gap:1rem}
  .cookie-actions{width:100%;justify-content:stretch}
  .cookie-btn{flex:1;text-align:center;padding:0.7rem 1rem}
}

#szkolenia{
  background:var(--ink);
  padding:8rem 5rem;
  position:relative;overflow:hidden;
}
#szkolenia::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(191,154,90,0.5),transparent);
}
#szkolenia .uslugi-head{margin-bottom:4rem}
#szkolenia .eyebrow{color:var(--gold-lt)}
#szkolenia .section-h{color:#F7F1E8}
#szkolenia .section-h em{color:var(--gold-lt)}
#szkolenia .uslugi-head p{color:rgba(247,241,232,0.5);padding-top:1rem}

.szkolenia-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:rgba(191,154,90,0.12);
  margin-bottom:3rem;
}
.szkol-card{
  background:var(--ink);
  padding:2.8rem 2.2rem;
  position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:1.2rem;
  transition:background 0.35s;
}
.szkol-card:hover{background:#261E18}
.szkol-card::after{
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:1px;background:var(--gold);
  transition:width 0.45s ease;
}
.szkol-card:hover::after{width:100%}
.szkol-num{
  font-family:'Playfair Display',serif;
  font-size:3.5rem;font-weight:300;
  color:rgba(191,154,90,0.12);
  line-height:1;
}
.szkol-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;font-weight:400;
  color:#F7F1E8;line-height:1.3;
}
.szkol-title em{font-style:italic;color:var(--gold-lt)}
.szkol-desc{
  font-size:0.84rem;font-weight:300;line-height:1.75;
  color:rgba(247,241,232,0.5);
}
.szkol-list{
  list-style:none;
  display:flex;flex-direction:column;gap:0.5rem;
  flex:1;
}
.szkol-list li{
  font-size:0.82rem;font-weight:300;
  color:rgba(247,241,232,0.55);
  padding-left:1.1rem;position:relative;
}
.szkol-list li::before{
  content:'✦';
  position:absolute;left:0;
  color:var(--gold);font-size:0.5rem;
  top:0.25em;
}
.szkol-cta{
  display:inline-block;
  margin-top:auto;
  align-self:flex-start;
}
.szkol-note{
  text-align:center;
  padding:2.5rem;
  border:1px solid rgba(191,154,90,0.2);
  background:#261E18;
}
.szkol-note p{
  font-size:0.9rem;font-weight:300;line-height:1.8;
  color:rgba(247,241,232,0.75);
}

#opinie{
  background:var(--cream);
  padding:8rem 5rem;
}
.opinie-head{
  text-align:center;
  margin-bottom:4rem;
}
.opinie-head .eyebrow{justify-content:center}
.opinie-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
  margin-bottom:3.5rem;
}
.opinia-card{
  background:var(--w);
  padding:2rem;
  border:1px solid rgba(191,154,90,0.15);
  display:flex;flex-direction:column;gap:1rem;
  transition:box-shadow 0.3s,transform 0.3s;
}
.opinia-card:hover{
  box-shadow:0 8px 32px rgba(191,154,90,0.12);
  transform:translateY(-3px);
}
.opinia-stars{
  color:var(--gold);
  font-size:0.95rem;letter-spacing:2px;
}
.opinia-text{
  font-family:'Playfair Display',serif;
  font-size:0.95rem;font-style:italic;font-weight:400;
  line-height:1.7;color:var(--ink-mid);
  flex:1;
}
.opinia-author{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:1rem;
  border-top:1px solid rgba(191,154,90,0.12);
}
.opinia-name{
  font-size:0.8rem;font-weight:500;
  color:var(--ink);letter-spacing:0.05em;
}
.opinia-source{
  font-size:0.65rem;font-weight:500;
  letter-spacing:0.15em;text-transform:uppercase;
  padding:0.25rem 0.7rem;
  border-radius:2px;
}
.opinia-source--google{
  background:rgba(66,133,244,0.08);
  color:#4285F4;
  border:1px solid rgba(66,133,244,0.2);
}
.opinia-source--facebook{
  background:rgba(24,119,242,0.08);
  color:#1877F2;
  border:1px solid rgba(24,119,242,0.2);
}
.opinie-cta{
  text-align:center;
  padding:2.5rem;
  background:var(--w);
  border:1px solid rgba(191,154,90,0.15);
}
.opinie-cta p{
  font-size:0.95rem;font-weight:300;
  color:var(--ink-mid);margin-bottom:1.5rem;
}
.opinie-cta-links{
  display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;
}
.opinia-btn{
  display:inline-flex;align-items:center;gap:0.6rem;
  padding:0.8rem 1.6rem;
  font-size:0.75rem;font-weight:500;
  letter-spacing:0.12em;text-transform:uppercase;
  text-decoration:none;
  transition:transform 0.2s,box-shadow 0.2s;
}
.opinia-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.opinia-btn--google{
  background:var(--w);color:var(--ink-mid);
  border:1px solid rgba(191,154,90,0.3);
}
.opinia-btn--facebook{
  background:#1877F2;color:#fff;
  border:1px solid #1877F2;
}

@media(max-width:1024px){
  #szkolenia{padding:5rem 2rem}
  .szkolenia-grid{grid-template-columns:1fr 1fr}
  #opinie{padding:5rem 2rem}
  .opinie-grid{grid-template-columns:1fr 1fr}
  .opinie-head .eyebrow{justify-content:center}
}
@media(max-width:600px){
  #szkolenia{padding:4rem 1.5rem}
  .szkolenia-grid{grid-template-columns:1fr}
  .szkol-card{padding:2rem 1.5rem}
  #opinie{padding:4rem 1.5rem}
  .opinie-grid{grid-template-columns:1fr}
  .opinie-cta-links{flex-direction:column;align-items:stretch}
  .opinia-btn{justify-content:center}
}

.svc--uv{
  border:1px solid rgba(191,154,90,0.4);
  background:linear-gradient(135deg,rgba(191,154,90,0.06) 0%,transparent 60%);
  position:relative;
}
.svc-badge-uv{
  display:inline-block;
  font-family:'DM Sans',sans-serif;
  font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--gold);
  border-radius:2px;
  padding:0.2rem 0.6rem;
  margin-bottom:0.75rem;
}
.svc-tag--gold{
  background:rgba(191,154,90,0.15) !important;
  color:var(--gold-dk) !important;
  border-color:rgba(191,154,90,0.3) !important;
}

.szkol-instructor{
  background:rgba(191,154,90,0.08);
  border-left:3px solid var(--gold);
  padding:1rem 1.2rem;
  border-radius:0 3px 3px 0;
  margin-bottom:1rem;
  color:#F7F1E8;
}
.szkol-instructor p{color:rgba(247,241,232,0.85)}
.szkol-instructor-title{
  font-family:'Playfair Display',serif;
  font-size:1rem;
  color:#F7F1E8;
  margin-bottom:0.4rem;
}
.szkol-funding{
  display:flex;gap:0.75rem;align-items:flex-start;justify-content:center;
}
.szkol-funding svg{flex-shrink:0;margin-top:2px;opacity:0.6}
.szkol-funding p{font-size:0.9rem;line-height:1.6;color:rgba(247,241,232,0.85);text-align:center;}
.szkol-info-block{margin-top:0;}
.szkol-info-block .cta-ghost{
  background:rgba(191,154,90,0.15);
  border-color:rgba(191,154,90,0.7);
  color:rgba(247,241,232,0.9);
}
.szkol-info-block .cta-ghost:hover{
  background:rgba(191,154,90,0.25);
  border-color:var(--gold);
  color:var(--gold-dk);
}

.iso-cert-thumb{
  display:flex;
  cursor:pointer;
  background:none;
  border:none;
  padding:0;
  margin:2rem auto;
  text-align:left;
  font-family:inherit;
  justify-content:center;
}
.iso-cert-thumb-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.45rem;
  width:130px;
  padding:1.1rem 0.9rem 0.9rem;
  border:1px solid rgba(191,154,90,0.4);
  border-radius:4px;
  background:var(--cream);
  box-shadow:0 3px 14px rgba(191,154,90,0.12);
  position:relative;
  transition:border-color 0.22s,box-shadow 0.22s,transform 0.18s;
}
.iso-cert-thumb-inner::before{
  content:'';
  position:absolute;inset:4px;
  border:1px solid rgba(191,154,90,0.18);
  border-radius:2px;
  pointer-events:none;
}
.iso-cert-thumb:hover .iso-cert-thumb-inner,
.iso-cert-thumb:focus-visible .iso-cert-thumb-inner{
  border-color:var(--gold);
  box-shadow:0 6px 22px rgba(191,154,90,0.25);
  transform:translateY(-2px);
}
.iso-cert-thumb-badge{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0.3rem;
  color:var(--gold-dk);
}
.iso-cert-thumb-badge svg{opacity:0.85}
.iso-cert-thumb-badge span{
  font-family:'Playfair Display',serif;
  font-size:0.85rem;
  font-weight:600;
  letter-spacing:0.06em;
  color:var(--ink);
}
.iso-cert-thumb-label{
  font-size:0.65rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-lt);
  line-height:1.4;
  text-align:center;
}
.iso-cert-thumb-zoom{
  display:flex;
  align-items:center;
  gap:0.3rem;
  font-size:0.6rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--gold);
  margin-top:0.1rem;
  opacity:0.85;
}

#iso-cert-modal{
  display:none;
  position:fixed;inset:0;
  z-index:1100;
  background:rgba(28,20,16,0.74);
  backdrop-filter:blur(5px);
  align-items:center;justify-content:center;
  padding:1.5rem;
}
#iso-cert-modal.open{display:flex}
.iso-modal-inner{
  position:relative;
  background:var(--cream);
  border:1px solid rgba(191,154,90,0.35);
  border-radius:4px;
  width:100%;
  max-width:680px;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 24px 64px rgba(28,20,16,0.3);
  animation:isoModalIn 0.26s ease;
  overflow:hidden;
}
.iso-modal-inner::before{
  content:'';
  position:absolute;inset:6px;
  border:1px solid rgba(191,154,90,0.16);
  border-radius:2px;
  pointer-events:none;
  z-index:1;
}
@keyframes isoModalIn{
  from{opacity:0;transform:translateY(14px) scale(0.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.iso-modal-close{
  position:absolute;top:0.7rem;right:0.85rem;
  background:none;border:none;
  font-size:1.7rem;line-height:1;
  color:var(--ink-lt);
  cursor:pointer;
  padding:0.2rem 0.45rem;
  z-index:10;
  transition:color 0.2s;
}
.iso-modal-close:hover{color:var(--ink)}
.iso-modal-header{
  text-align:center;
  padding:1.5rem 3rem 0.6rem;
  flex-shrink:0;
  position:relative;z-index:2;
}
.iso-modal-pdf-wrap{
  flex:1;
  overflow:hidden;
  padding:0 1rem;
  position:relative;z-index:2;
}
.iso-modal-pdf{
  display:block;
  width:100%;
  height:100%;
  min-height:420px;
  border:none;
  border-radius:2px;
  background:#fff;
  box-shadow:0 2px 14px rgba(28,20,16,0.1);
}
.iso-cert-fallback{
  padding:3rem;
  text-align:center;
  background:#fff;
  border-radius:2px;
}
.iso-modal-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.2rem 0;
  padding:0.8rem 1.5rem 1.2rem;
  font-size:0.71rem;
  color:var(--ink-lt);
  letter-spacing:0.04em;
  flex-shrink:0;
  position:relative;z-index:2;
}
.iso-cert-dot{margin:0 0.45rem;color:var(--gold);opacity:0.6}
.iso-modal-dl{
  display:inline-flex;
  align-items:center;
  gap:0.3rem;
  margin-left:1rem;
  font-size:0.71rem;
  color:var(--gold-dk);
  text-decoration:none;
  letter-spacing:0.06em;
  border-bottom:1px solid rgba(140,109,53,0.3);
  transition:color 0.2s,border-color 0.2s;
}
.iso-modal-dl:hover{color:var(--gold);border-color:var(--gold)}

.iso-cert-eyebrow{
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:0.64rem;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.35rem;
}
.iso-cert-title{
  font-family:'Playfair Display',serif;
  font-size:1.5rem;
  font-weight:500;
  color:var(--ink);
  line-height:1.1;
}
.iso-cert-title em{color:var(--gold-dk);font-style:normal}
.iso-cert-sub{
  font-size:0.73rem;
  color:var(--ink-lt);
  margin-top:0.3rem;
  letter-spacing:0.03em;
}

@media(max-width:600px){
  .iso-modal-pdf{min-height:300px}
  .iso-modal-header{padding:1.2rem 2.5rem 0.5rem}
  .iso-cert-title{font-size:1.2rem}
  #iso-cert-modal{padding:0}
  .iso-modal-inner{width:100%;max-height:100vh;border-radius:0;max-width:100%}
}
