:root,[data-theme="light"]{color-scheme:light;--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.85rem);--text-sm:clamp(0.85rem,0.8rem + 0.35vw,0.95rem);--text-base:clamp(1rem,0.95rem + 0.25vw,1.1rem);--text-lg:clamp(1.1rem,1rem + 0.5vw,1.25rem);--text-xl:clamp(1.4rem,1.2rem + 1vw,2rem);--text-2xl:clamp(1.8rem,1.3rem + 2vw,3rem);--color-bg:#FAFAF8;--color-surface:#FFFFFF;--color-surface-2:#F4F3EF;--color-border:#E5E2DB;--color-text:#2B2A28;--color-text-muted:#333333;--color-text-inverse:#FFFFFF;--color-primary:#1A1A1A;--color-primary-hover:#333333;--color-gold:#594827;--color-gold-soft:#E8E3D8;--shadow-sm:0 4px 12px rgba(0,0,0,0.04);--shadow-md:0 8px 24px rgba(0,0,0,0.08);--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--font-display:'Cormorant Garamond',serif;--font-body:'Inter',sans-serif;--content:1200px;--logo-filter:brightness(0)}
[data-theme="dark"]{color-scheme:dark;--color-bg:#111111;--color-surface:#1E1E1E;--color-surface-2:#262626;--color-border:#333333;--color-text:#EBEAE8;--color-text-muted:#AFAFAF;--color-text-inverse:#111111;--color-primary:#D1CAB8;--color-primary-hover:#FFFFFF;--color-gold:#AD9368;--color-gold-soft:#383125;--shadow-sm:0 4px 12px rgba(0,0,0,0.4);--shadow-md:0 8px 24px rgba(0,0,0,0.6);--logo-filter:brightness(0) invert(1)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark;--color-bg:#111111;--color-surface:#1E1E1E;--color-surface-2:#262626;--color-border:#333333;--color-text:#EBEAE8;--color-text-muted:#AFAFAF;--color-text-inverse:#111111;--color-primary:#D1CAB8;--color-primary-hover:#FFFFFF;--color-gold:#AD9368;--color-gold-soft:#383125;--shadow-sm:0 4px 12px rgba(0,0,0,0.4);--shadow-md:0 8px 24px rgba(0,0,0,0.6);--logo-filter:brightness(0) invert(1)}}


@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: local('Cormorant Garamond'), url('/assets/CormorantGaramond.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: local('Inter'), url('/assets/Inter.woff2') format('woff2');
}

*,:after,:before{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text);font:400 var(--text-base)/1.7 var(--font-body);text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit;transition:color 0.3s}
body a:hover{color:var(--color-gold)}
button{font:inherit;cursor:pointer;background:none;border:none}
ul{list-style:none}
.container{width:min(calc(100% - 2rem),var(--content));margin-inline:auto}
.text-center{text-align:center}
.text-muted{color:var(--color-text-muted)}
.topbar{background-color:#0A0A0A;color:#EBEAE8;padding:0.6rem 0;border-bottom:2px solid var(--color-gold);font-size:0.9rem}
.topbar-inner{position:relative;display:flex;justify-content:center;align-items:center;min-height:32px}
.topbar-phones{display:flex;gap:2.5rem;justify-content:center;align-items:center;flex-wrap:wrap}
.topbar-phones strong{font-weight:600;color:#fff}
.topbar-toggle{position:absolute;right:0;background:transparent;border:1px solid rgba(255,255,255,0.2);color:#fff;padding:0.4rem 0.8rem;border-radius:var(--radius-sm);font-size:0.9rem;transition:background-color 0.3s}
.topbar-toggle:hover{background-color:rgba(255,255,255,0.1)}
header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
.nav{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;gap:1.5rem}
.brand-header{display:flex;flex-direction:row;gap:1.5rem;align-items:center}
.brand-img-main{width:120px;min-width:120px;height:60px;object-fit:contain;filter:var(--logo-filter);-webkit-filter:var(--logo-filter);transition:all 0.3s ease}
.brand-copy{text-align:left}
.brand-copy span{display:block;font:600 2.8rem/1 var(--font-display);letter-spacing:0.02em;color:var(--color-primary)}
.brand-copy small{display:block;font-size:0.9rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--color-text-muted);margin-bottom:0.2rem}
.brand-copy em{display:block;font-style:normal;font-size:1.1rem;margin-top:0.4rem;color:var(--color-text-muted)}
nav ul{display:flex;justify-content:center;gap:clamp(1.2rem,2.2vw,2.4rem);align-items:center;flex-wrap:wrap}
nav a{font-size:0.95rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;padding:0.5rem 0;color:var(--color-text-muted);transition:color 0.3s ease, border-color 0.3s ease;white-space:nowrap}
nav a:hover, nav a.active, nav a[aria-current="page"]{color:var(--color-gold)}
nav a.active, nav a[aria-current="page"]{border-bottom:2px solid var(--color-gold);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:46px;padding:0.8rem 1.6rem;text-transform:uppercase;letter-spacing:0.05em;font-size:0.9rem;font-weight:600;border-radius:var(--radius-sm);transition:all 0.3s;cursor:pointer}
.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border:1px solid var(--color-primary)}
.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-text-inverse)}
.btn-gold{background-color:var(--color-gold);color:#FFFFFF;border:1px solid var(--color-gold)}
.btn-gold:hover{background-color:#48391d;border-color:#48391d;color:#FFFFFF}
.btn-facebook{background-color:#1877F2;color:#FFFFFF;border:1px solid #1877F2}
.btn-facebook:hover{background-color:#1464cc;border-color:#1464cc;color:#FFFFFF}
.btn-outline{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}
.btn-outline:hover{border-color:var(--color-gold);color:var(--color-gold)}
.tabs-container{display:flex;justify-content:center;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}
.tab-btn{display:inline-flex;align-items:center;gap:0.6rem;padding:0.75rem 1.5rem;font-size:0.92rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all 0.25s ease}
.tab-btn:hover{border-color:var(--color-gold);color:var(--color-primary)}
.tab-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}
.tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:0.15rem 0.55rem;font-size:0.75rem;border-radius:12px;background-color:var(--color-surface-2);color:var(--color-text);font-weight:700}
.tab-btn.active .tab-badge{background-color:rgba(255,255,255,0.22);color:#FFFFFF}
.podziekowanie-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2.2rem 2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;text-align:center;transition:transform 0.25s ease,border-color 0.25s ease}
.podziekowanie-card:hover{transform:translateY(-3px);border-color:var(--color-gold)}
.podziekowanie-badge{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-gold);font-weight:600;margin-bottom:0.6rem}
.podziekowanie-imie{font-family:var(--font-display);font-size:1.8rem;color:var(--color-text);margin-bottom:1.1rem;line-height:1.2;font-weight:700}
.podziekowanie-tresc{font-size:0.95rem;line-height:1.75;color:var(--color-text);margin-bottom:1.5rem;white-space:pre-line;text-align:left}
.podziekowanie-footer{border-top:1px solid var(--color-border);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;font-size:0.85rem}
.podziekowanie-podpis{font-weight:700;font-style:italic;color:var(--color-primary)}
.podziekowanie-data{color:var(--color-text-muted)}
.simple-banner{width:100%;overflow:hidden;background-color:#000;height:350px}
.simple-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-bottom:4px solid var(--color-gold);filter:brightness(0.85)}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;color:var(--color-text);font-weight:700}
h1{font-size:var(--text-2xl);margin-bottom:1rem}
h2{font-size:var(--text-xl);margin-bottom:1.2rem}
h3{font-size:1.6rem;margin-bottom:0.8rem;color:var(--color-primary)}
.intro-section{padding:4rem 0 3rem}
.intro-container{max-width:850px;margin:0 auto}
.section-head{margin-bottom:2.5rem;max-width:800px}
main section{padding:4rem 0}
.bg-light{background-color:var(--color-surface-2);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem;align-items:center}
.contact-info-section{padding-top:1rem;padding-bottom:3rem}
.emergency-bar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.8rem 2.2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;gap:2rem}
.emergency-text{max-width:580px}
.emergency-label{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.78rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-bottom:0.4rem}
.emergency-label .pulse-dot{width:7px;height:7px;border-radius:50%;background-color:var(--color-gold);display:inline-block}
.emergency-title{font-size:clamp(1.3rem,1.1rem + 0.8vw,1.75rem);margin-bottom:0.3rem;color:var(--color-primary)}
.emergency-desc{font-size:0.95rem;color:var(--color-text-muted);line-height:1.5;margin:0}
.emergency-phones{display:flex;gap:1rem;flex-shrink:0}
.btn-phone{display:flex;align-items:center;gap:0.85rem;background-color:var(--color-surface-2);border:1px solid var(--color-border);padding:0.75rem 1.3rem;border-radius:var(--radius-sm);transition:all 0.25s ease;text-decoration:none;color:inherit}
.btn-phone:hover{background-color:var(--color-surface);border-color:var(--color-gold);transform:translateY(-2px);box-shadow:var(--shadow-sm);color:inherit}
.btn-phone svg{width:20px;height:20px;color:var(--color-gold);flex-shrink:0}
.btn-phone .phone-meta{display:flex;flex-direction:column;text-align:left}
.btn-phone .phone-meta small{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted)}
.btn-phone .phone-meta strong{font-size:1.15rem;font-family:var(--font-body);color:var(--color-primary);font-weight:700;line-height:1.2}
.branches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.branch-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.8rem 1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:space-between;transition:transform 0.25s ease,border-color 0.25s ease}
.branch-card:hover{transform:translateY(-3px);border-color:var(--color-gold)}
.branch-header{border-bottom:1px solid var(--color-border);padding-bottom:0.75rem;margin-bottom:1.1rem;display:flex;justify-content:space-between;align-items:baseline;gap:0.5rem;flex-wrap:wrap}
.branch-city{font-family:var(--font-display);font-size:1.55rem;font-weight:700;color:var(--color-text);line-height:1.1;margin:0}
.branch-type{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);font-weight:500}
.branch-body{display:flex;flex-direction:column;gap:0.9rem;flex-grow:1}
.branch-row{display:flex;align-items:flex-start;gap:0.7rem;font-size:0.93rem;line-height:1.5}
.branch-row svg{width:17px;height:17px;margin-top:3px;color:var(--color-gold);flex-shrink:0}
.branch-row strong{color:var(--color-text)}
.branch-row a{color:var(--color-text);font-weight:600}
.branch-row a:hover{color:var(--color-gold)}
.branch-footer{margin-top:1.3rem;padding-top:0.9rem;border-top:1px solid var(--color-border);text-align:right}
.branch-link{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-gold);transition:gap 0.2s ease,color 0.2s ease}
.branch-link svg{width:14px;height:14px;transition:transform 0.2s ease}
.branch-link:hover{color:var(--color-primary)}
.branch-link:hover svg{transform:translateX(3px)}
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.card,.contact-card,.service,.step{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:2rem;box-shadow:var(--shadow-sm);transition:transform 0.3s ease,border-color 0.3s ease}
.card:hover,.service:hover,.step:hover,.contact-card:hover{transform:translateY(-3px);border-color:var(--color-gold)}
.service{border-top:3px solid var(--color-gold)}
.list{display:grid;gap:0.8rem;margin:1.5rem 0}
.list li{padding-left:1.5rem;position:relative;color:var(--color-text-muted)}
.list li:before{content:"-";position:absolute;left:0;color:var(--color-gold);font-weight:bold}
.image-card{display:block;border:1px solid var(--color-gold);padding:15px;background-color:var(--color-surface);border-radius:6px;box-shadow:var(--shadow-md);height:100%}
.image-card img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.gallery-item{border:1px solid var(--color-gold);padding:10px;background-color:var(--color-surface);border-radius:4px;box-shadow:var(--shadow-sm);transition:transform 0.3s ease}
.gallery-item:hover{transform:translateY(-5px);border-color:var(--color-primary)}
.gallery-item img{width:100%;height:280px;object-fit:cover;border-radius:2px}
.step{border-top:3px solid var(--color-primary);position:relative}
.step-index{position:absolute;top:-20px;left:30px;background-color:var(--color-gold);color:#FFFFFF;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:2px;font-weight:bold;font-size:1.2rem;box-shadow:var(--shadow-sm);font-family:var(--font-body)}
.step h3{margin-top:1rem}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.contact-card iframe{width:100%;height:240px;border:1px solid var(--color-border);border-radius:var(--radius-sm);filter:grayscale(0.5) contrast(1.1);margin-top:1.2rem}
.contact-intro{grid-column:1 / -1;background:transparent;border:none;padding:0;box-shadow:none}
.contact-intro:hover{transform:none;border-color:transparent}
footer{padding:3rem 0;background-color:#0A0A0A;color:#AAAAAA;border-top:3px solid var(--color-gold);margin-top:2rem;font-size:0.9rem}
.footer-grid{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}

@media(max-width:950px){
  .split,.contact-grid{grid-template-columns:1fr}
  .emergency-bar{flex-direction:column;text-align:center;align-items:center;padding:1.8rem 1.2rem;gap:1.5rem}
  .emergency-phones{flex-direction:row;width:100%;justify-content:center;flex-wrap:wrap}
  .branches-grid{grid-template-columns:1fr;gap:1.2rem}
}
@media(max-width:550px){
  .emergency-phones{flex-direction:column;width:100%}
  .btn-phone{width:100%;justify-content:center}
}
@media(max-width:720px){
  .topbar{padding:0.8rem 0}
  .topbar-inner{flex-direction:column;gap:1rem}
  .topbar-phones{gap:0.5rem;flex-direction:column;text-align:center}
  .topbar-toggle{position:static}
  .nav{padding:1.5rem 0 0.5rem;gap:1.5rem}
  .brand-header{flex-direction:column;text-align:center;gap:0.8rem}
  .brand-copy{text-align:center}
  .brand-img-main{width:85px;min-width:85px;height:42px}
  .brand-copy span{font-size:1.8rem !important}
  .brand-copy small{font-size:0.75rem}
  .brand-copy em{display:block;font-size:1rem;margin-top:0.3rem}
  header nav{width:100%;border-top:1px solid var(--color-border);padding-top:1rem;display:block}
  nav ul{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;width:100%;text-align:center;padding:0 1rem}
  nav a{padding:0.5rem;font-size:0.85rem;display:block}
  nav ul li:last-child{grid-column:1 / -1;text-align:center}
  nav ul li:last-child a{display:inline-block;width:100%}
  .simple-banner{height:160px}
  .simple-banner img{height:100%;border-bottom:2px solid var(--color-gold)}
  main section{padding:2.5rem 0}
  .intro-section{padding:2.5rem 0 1rem}
  h1{font-size:1.8rem;margin-bottom:0.5rem;line-height:1.2}
  h2{font-size:1.5rem}
  .lead{font-size:1rem}
  .card,.contact-card,.service,.step{padding:1.5rem}
  .contact-info-grid h2{font-size:1.3rem;margin-bottom:0.3rem}
  .gallery-item img{height:240px}
  footer{text-align:center;padding:2rem 0}
  .footer-grid{flex-direction:column;gap:0.5rem;align-items:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;transition:none !important}
}