@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&display=swap");
:root{
  --noe-accent: var(--accent);

  --bg:#ffffff;
  --bg2:#f6f6f6;
  --text:#1b1b1b;
  --muted:#5c5c5c;
  --card:#ffffff;
  --border:rgba(0,0,0,.08);
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --accent:#9B7C4A;
  --accent2:rgba(155,124,74,.14);
  --headerH:84px;
  --radius:18px;
}
html[data-theme="dark"]{
  --bg:#0f1115;
  --bg2:#151922;
  --text:#f3f4f6;
  --muted:#b7bcc7;
  --card:#121621;
  --border:rgba(255,255,255,.10);
  --shadow:0 14px 34px rgba(0,0,0,.40);
  --accent2:rgba(155,124,74,.20);
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
img{max-width:100%;height:auto}
a{color:inherit}
.noe-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}

/* Header */
.noe-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.82);backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--border);padding:10px 0;}

.noe-header{position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.72);
  backdrop-filter:saturate(120%) blur(10px);
  -webkit-backdrop-filter:saturate(120%) blur(10px);
  border-bottom:1px solid rgba(0,0,0,.06);;padding:10px 0;}
html[data-theme="dark"] .noe-header{background:rgba(10,12,18,.62);
  border-bottom:1px solid rgba(255,255,255,.08);;padding:10px 0;}
.noe-header.is-scrolled{
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.noe-nav__list a{
  position:relative;
}
.noe-nav__list a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:-10px;
  height:2px;
  border-radius:2px;
  background:var(--accent);
  opacity:0;
  transform:translate3d(0,6px,0);
  transition:opacity .25s ease, transform .25s ease;
}
.noe-nav__list a:hover::after,
.noe-nav__list li.current-menu-item a::after{
  opacity:.9;
  transform:translate3d(0,0,0);
}

html[data-theme="dark"] .noe-header{background:rgba(15,17,21,.72);padding:10px 0;}
.noe-header__inner{height:var(--headerH);display:flex;align-items:center;gap:18px;justify-content:space-between}

.noe-brand{display:flex;align-items:center;gap:22px;text-decoration:none;min-width:240px}
.noe-brand__logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:12px 14px;box-shadow:0 10px 26px rgba(0,0,0,.10)margin:6px 0;}
html[data-theme="dark"] .noe-brand__logo{background:#fff;border-color:rgba(255,255,255,.18)}
.noe-brand__logo img{display:block;max-height:66px;max-width:260px;width:auto;filter:contrast(125%) saturate(110%) drop-shadow(0 2px 6px rgba(0,0,0,.18));margin:0;}
.noe-brand__text{display:flex;flex-direction:column;gap:2px}
.noe-brand__name{font-weight:700;font-size:14px;letter-spacing:.2px}
.noe-brand__tag{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:12px;}

.noe-nav__list{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.noe-nav__list a{text-decoration:none;font-size:13px;color:var(--muted);padding:10px 6px;border-radius:10px;transition:background .25s ease,color .25s ease;white-space:nowrap}
.noe-nav__list a:hover{background:var(--accent2);color:var(--text)}
.noe-nav__list a.is-active{background:var(--accent2);color:var(--text)}

/* Dropdown: Informacje (RODO + Polityka) */
.noe-nav__drop{position:relative}
.noe-nav__dropbtn{
  border:0;
  background:transparent;
  font:inherit;
  color:var(--muted);
  padding:10px 8px;
  border-radius:10px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  transition:background .25s ease,color .25s ease;
  white-space:nowrap;
}
.noe-nav__dropbtn:hover{background:var(--accent2);color:var(--text)}
.noe-nav__chev{opacity:.75;font-size:12px}
.noe-nav__submenu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:220px;
  list-style:none;
  margin:0;
  padding:10px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(130%) blur(14px);
  -webkit-backdrop-filter:saturate(130%) blur(14px);
  box-shadow:0 22px 60px rgba(0,0,0,.14);
  z-index:2000;

  opacity:0;
  transform:translate3d(0,8px,0);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}
html[data-theme="dark"] .noe-nav__submenu{
  background:rgba(15,17,21,.92);
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}
.noe-nav__drop.is-open > .noe-nav__submenu{
  opacity:1;
  transform:translate3d(0,0,0);
  pointer-events:auto;
}

/* Mobile: dropdown behaves like accordion inside the slide-out menu */
@media (max-width: 980px){
  .noe-mobile-menu .noe-nav__submenu{
    position:static;
    min-width:auto;
    margin-top:6px;
    padding:0 0 0 12px;
    border:none;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;

    max-height:0;
    overflow:hidden;
    opacity:1;
    transform:none;
    pointer-events:auto;
    transition:max-height .28s ease;
  }
  .noe-mobile-menu .noe-nav__drop.is-open > .noe-nav__submenu{
    max-height:220px;
  }
  .noe-mobile-menu .noe-nav__submenu a{padding:10px 10px}
}
.noe-nav__drop.is-open .noe-nav__submenu{display:block}
.noe-nav__submenu a{display:block;padding:10px 12px;border-radius:12px}

/* Mobile dropdown behaves like collapsible list */
.noe-mobile .noe-nav__submenu{position:static;display:none;min-width:0;border-radius:12px;background:transparent;backdrop-filter:none;box-shadow:none;padding:6px 0 0 0;border:0}
.noe-mobile .noe-nav__drop.is-open .noe-nav__submenu{display:block}
.noe-mobile .noe-nav__dropbtn{width:100%;justify-content:space-between;padding:12px 14px;border-radius:12px}

.noe-header__actions{display:flex;align-items:center;gap:10px}
.noe-call{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow)}
.noe-call__k{font-size:11px;color:var(--muted)}
.noe-call__v{font-size:13px;font-weight:700}

.noe-theme-toggle{height:42px;width:42px;border-radius:14px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);cursor:pointer;display:grid;place-items:center;color:var(--text)}
.noe-theme-toggle .noe-icon{font-size:16px;line-height:1;}
.noe-theme-toggle [data-icon-sun], .noe-theme-toggle [data-icon-moon]{display:none}
html[data-theme="light"] .noe-theme-toggle [data-icon-moon]{display:inline}
html[data-theme="dark"] .noe-theme-toggle [data-icon-sun]{display:inline}

.noe-burger{display:none;height:42px;width:42px;border-radius:14px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);cursor:pointer;position:relative}
.noe-burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--text);border-radius:2px}
.noe-burger span:nth-child(1){top:14px}
.noe-burger span:nth-child(2){top:20px;opacity:.8}
.noe-burger span:nth-child(3){top:26px}

.noe-mobile{display:none;border-top:1px solid var(--border);background:var(--bg)}
.noe-mobile__menu ul{list-style:none;margin:0;padding:14px 0;display:flex;flex-direction:column;gap:6px}
.noe-mobile__menu a{display:block;padding:12px 14px;border-radius:12px;text-decoration:none;color:var(--muted)}
.noe-mobile__menu a:hover{background:var(--accent2);color:var(--text)}

@media (max-width: 980px){
  .noe-nav{display:none}
  .noe-burger{display:block}
}

/* Sections */
.noe-main{min-height:60vh}
.noe-section{
  position:relative;
  overflow:hidden;
  padding:80px 0;
  border-top:1px solid var(--border);
  background:var(--bg);
}


.noe-section > .noe-container{position:relative;z-index:2}

/* Parallax ornament layers (SVG) */
.noe-section{position:relative;overflow:hidden}
.noe-section .noe-sec-bg,
.noe-section .noe-sec-bg2{
  content:"";
  position:absolute;
  inset:-10%;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  opacity:0.88;
  will-change:transform;
  transform:translate3d(var(--parallaxX,0px),var(--parallaxY,0px),0);
  filter:contrast(118%) saturate(105%);
}
.noe-section .noe-sec-bg{
  background-image:var(--noe-ornament, none);
  background-size:var(--noe-ornament-size, 820px auto);
  background-position:var(--noe-ornament-pos, right -40px top -18px);
  opacity:0.92;
}
.noe-section .noe-sec-bg2{
  background-image:var(--noe-ornament2, none);
  background-size:var(--noe-ornament2-size, 560px auto);
  background-position:var(--noe-ornament2-pos, left -60px bottom -60px);
  opacity:0.60;
  transform:translate3d(var(--parallaxX2,0px),var(--parallaxY2,0px),0);
  filter:contrast(114%) saturate(102%);
}
html[data-theme="dark"] .noe-section .noe-sec-bg,
html[data-theme="dark"] .noe-section .noe-sec-bg2{
  filter:contrast(120%) saturate(105%);
  opacity:0.85;
}



/* Parallax strengths */
#czynnosci{--parallaxStrength:170;}
#dokumenty{--parallaxStrength:200;}
#oplaty{--parallaxStrength:170;}
#linki{--parallaxStrength:160;}
#kontakt{--parallaxStrength:150;}
#informacje{--parallaxStrength:160;}

/* Section-specific ornaments (SVG line art) */
#czynnosci{--noe-ornament:url("../img/bg-czynnosci.svg");--noe-ornament2:url("../img/bg-czynnosci-2.svg");--noe-ornament-size:820px auto;--noe-ornament2-size:520px auto;--noe-ornament-pos:right -24px top -22px;--noe-ornament2-pos:left -34px bottom -34px;--parallaxStrength:180px;}
#dokumenty{--noe-ornament:url("../img/bg-dokumenty.svg");--noe-ornament2:url("../img/bg-dokumenty-2.svg");--noe-ornament-size:840px auto;--noe-ornament2-size:560px auto;--noe-ornament-pos:right -28px top -18px;--noe-ornament2-pos:left -40px bottom -42px;--parallaxStrength:210px;}
#oplaty{--noe-ornament:url("../img/bg-oplaty.svg");--noe-ornament2:url("../img/bg-oplaty-2.svg");--noe-ornament-size:860px auto;--noe-ornament2-size:520px auto;--noe-ornament-pos:right -30px top -24px;--noe-ornament2-pos:left -30px bottom -38px;--parallaxStrength:190px;}
#linki{--noe-ornament:url("../img/bg-linki.svg");--noe-ornament2:url("../img/bg-linki-2.svg");--noe-ornament-size:820px auto;--noe-ornament2-size:520px auto;--noe-ornament-pos:right -24px top -20px;--noe-ornament2-pos:left -34px bottom -40px;--parallaxStrength:170px;}
#kontakt{--noe-ornament:url("../img/bg-kontakt.svg");--noe-ornament2:url("../img/bg-kontakt-2.svg");--noe-ornament-size:880px auto;--noe-ornament2-size:560px auto;--noe-ornament-pos:right -40px top -28px;--noe-ornament2-pos:left -18px bottom -28px;--parallaxStrength:200px;}
#informacje{--noe-ornament:url("../img/bg-informacje.svg");--noe-ornament2:url("../img/bg-informacje-2.svg");--noe-ornament-size:840px auto;--noe-ornament2-size:520px auto;--noe-ornament-pos:right -28px top -22px;--noe-ornament2-pos:left -40px bottom -42px;--parallaxStrength:170px;}
@media (max-width: 900px){
  #czynnosci,#dokumenty,#oplaty,#linki,#kontakt,#informacje{--noe-ornament-size:640px auto;--noe-ornament2-size:420px auto;--noe-ornament-pos:right -140px top -18px;--noe-ornament2-pos:left -140px bottom -120px}


}



/* Dark theme ornament sources */
html[data-theme="dark"] #czynnosci{--noe-ornament:url("../img/bg-czynnosci-dark.svg");--noe-ornament2:url("../img/bg-czynnosci-2-dark.svg");}
html[data-theme="dark"] #dokumenty{--noe-ornament:url("../img/bg-dokumenty-dark.svg");--noe-ornament2:url("../img/bg-dokumenty-2-dark.svg");}
html[data-theme="dark"] #oplaty{--noe-ornament:url("../img/bg-oplaty-dark.svg");--noe-ornament2:url("../img/bg-oplaty-2-dark.svg");}
html[data-theme="dark"] #linki{--noe-ornament:url("../img/bg-linki-dark.svg");--noe-ornament2:url("../img/bg-linki-2-dark.svg");}
html[data-theme="dark"] #kontakt{--noe-ornament:url("../img/bg-kontakt-dark.svg");--noe-ornament2:url("../img/bg-kontakt-2-dark.svg");}
html[data-theme="dark"] #informacje{--noe-ornament:url("../img/bg-informacje-dark.svg");--noe-ornament2:url("../img/bg-informacje-2-dark.svg");}
/* Dark-specific ornament SVGs */
/* Section parallax background */
.noe-section--parallax{--parallaxStrength:160;position:relative;overflow:hidden}
.noe-section--parallax::before{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:0;
  pointer-events:none;
  color:rgba(26,26,26,.12);
  background-image:
    radial-gradient(circle at 18% 24%, rgba(120,120,120,.10), transparent 52%),
    radial-gradient(circle at 78% 12%, rgba(120,120,120,.08), transparent 50%),
    radial-gradient(circle at 62% 82%, rgba(120,120,120,.06), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.72));
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:auto, auto, auto, auto;
  background-position:18% 24%, 78% 12%, 62% 82%, 0 0;
  transform:translate3d(0, var(--parallaxY, 0px), 0);
  will-change:transform;
  filter:saturate(110%) contrast(112%);
}
html[data-theme="dark"] .noe-section--parallax::before{
  color:rgba(255,255,255,.10);
  background-image:
    radial-gradient(circle at 18% 24%, rgba(120,120,120,.10), transparent 52%),
    radial-gradient(circle at 78% 12%, rgba(120,120,120,.08), transparent 50%),
    radial-gradient(circle at 62% 82%, rgba(120,120,120,.06), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.72));
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:var(--noe-ornament-size, 720px auto), var(--noe-ornament2-size, 520px auto), auto, auto, auto, auto;
  background-position:var(--noe-ornament-pos, right -40px top -18px), 18% 24%, 80% 16%, 62% 82%, 0 0;
  filter:saturate(110%) contrast(110%);
}
.noe-section--parallax::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27220%27%20height%3D%27220%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.9%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27/%3E%3C/filter%3E%3Crect%20width%3D%27220%27%20height%3D%27220%27%20filter%3D%27url%28%2523n%29%27%20opacity%3D%27.35%27/%3E%3C/svg%3E");
  background-size:260px 260px;
  opacity:.055;
  mix-blend-mode:overlay;
}
html[data-theme="dark"] .noe-section--parallax::after{
  opacity:.04;
}

.noe-section .noe-container{ position:relative; z-index:1; }

.noe-section--parallax > .noe-container{position:relative; z-index:1}
@media (prefers-reduced-motion: reduce){
  .noe-section--parallax::before{transform:none !important}
}
.noe-section--alt{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.noe-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}
.noe-section__title{font-size:28px;margin:0;letter-spacing:-.2px}

.noe-section__title{
  position:relative;
}
.noe-section__title::after{
  content:"";
  display:block;
  width:260px;
  height:24px;
  margin-top:10px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27420%27%20height%3D%27120%27%20viewBox%3D%270%200%20420%20120%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%25239B7C4A%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.9%27%3E%3Cpath%20d%3D%27M18%2060h130%27/%3E%3Cpath%20d%3D%27M402%2060H272%27/%3E%3Cpath%20d%3D%27M148%2060c18-26%2044-40%2072-40s54%2014%2072%2040%27/%3E%3Cpath%20d%3D%27M148%2060c18%2026%2044%2040%2072%2040s54-14%2072-40%27/%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%2760%27%20r%3D%2710%27/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.55;
}
html[data-theme="dark"] .noe-section__title::after{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27420%27%20height%3D%27120%27%20viewBox%3D%270%200%20420%20120%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523C9B087%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.9%27%3E%3Cpath%20d%3D%27M18%2060h130%27/%3E%3Cpath%20d%3D%27M402%2060H272%27/%3E%3Cpath%20d%3D%27M148%2060c18-26%2044-40%2072-40s54%2014%2072%2040%27/%3E%3Cpath%20d%3D%27M148%2060c18%2026%2044%2040%2072%2040s54-14%2072-40%27/%3E%3Ccircle%20cx%3D%27210%27%20cy%3D%2760%27%20r%3D%2710%27/%3E%3C/g%3E%3C/svg%3E");
  opacity:.50;
}

.noe-section__lead{margin:0;color:var(--muted);max-width:64ch}

/* Hero */
.noe-hero{position:relative;min-height:calc(88vh - var(--headerH));display:grid;place-items:center;overflow:hidden;width:100%}
.noe-hero::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 30% 30%, rgba(0,0,0,.10), transparent 44%),radial-gradient(circle at 70% 25%, rgba(0,0,0,.08), transparent 46%),radial-gradient(circle at 50% 70%, rgba(0,0,0,.06), transparent 56%);transform:translate3d(0, var(--parallaxY, 0px), 0);z-index:2;pointer-events:none}
html[data-theme="dark"] .noe-hero::before{opacity:.9}

/* Hero vignette (premium-calm) */
.noe-hero::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% 40%, rgba(0,0,0,0) 52%, rgba(0,0,0,.26) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,0) 35%, rgba(0,0,0,.14));
  mix-blend-mode:multiply;
  opacity:.72;
}
html[data-theme="dark"] .noe-hero::after{
  opacity:.58;
  mix-blend-mode:normal;
}
.noe-hero__slides{position:absolute;inset:0;z-index:1}
.noe-hero__slide{
  position:absolute;
  inset:-6%;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:translate3d(0,0,0) scale(1.05);
  /* Greyscale cinematic grade: keep higher contrast (less "milky") */
  filter:grayscale(1) contrast(1.28) brightness(.86);
  will-change:transform,opacity;
  backface-visibility:hidden;
}
/* Cinematic overlay: darker + subtle lift at the bottom for legibility */
.noe-hero__slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 760px at 50% 40%, rgba(0,0,0,0), rgba(0,0,0,.28) 70%, rgba(0,0,0,.42) 100%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.10) 68%, rgba(255,255,255,.22) 100%);
  opacity:.78;
}
html[data-theme="dark"] .noe-hero__slide::after{
  background:
    radial-gradient(1200px 760px at 50% 40%, rgba(0,0,0,0), rgba(0,0,0,.34) 70%, rgba(0,0,0,.56) 100%),
    linear-gradient(180deg, rgba(10,12,18,.10), rgba(10,12,18,.28) 70%, rgba(10,12,18,.52) 100%);
  opacity:.82;
}

/* Firefox: avoid "steppy" hero by delaying the animation until assets are ready */
.noe-hero__slide{animation-play-state:paused}
.noe-hero.noe-hero--ready .noe-hero__slide{animation-play-state:running}
/* While loading, keep the first frame visible (prevents blank hero) */
.noe-hero:not(.noe-hero--ready) .noe-hero__slide:first-child{opacity:1}

@keyframes noeHeroCine{
  0%{opacity:0;transform:translate3d(-0.6%,-0.4%,0) scale(1.10)}
  12%{opacity:1;transform:translate3d(-0.2%,-0.1%,0) scale(1.06)}
  55%{opacity:1;transform:translate3d(0.4%,0.3%,0) scale(1.10)}
  74%{opacity:0;transform:translate3d(0.6%,0.4%,0) scale(1.12)}
  100%{opacity:0;transform:translate3d(-0.6%,-0.4%,0) scale(1.10)}
}
.noe-hero__slide:nth-child(1){animation:noeHeroCine 60s infinite}
.noe-hero__slide:nth-child(2){animation:noeHeroCine 60s infinite 15s}
.noe-hero__slide:nth-child(3){animation:noeHeroCine 60s infinite 30s}
.noe-hero__slide:nth-child(4){animation:noeHeroCine 60s infinite 45s}
@media (prefers-reduced-motion: reduce){
  .noe-hero__slide{animation:none !important; opacity:1 !important; transform:none !important}
  .noe-hero__slide:not(:first-child){display:none !important}
}
.noe-hero__inner{position:relative;padding:90px 0;display:grid;gap:18px;align-items:center;z-index:3}
.noe-hero__card{background:rgba(255,255,255,.80);border:1px solid rgba(255,255,255,.40);border-radius:28px;padding:34px 34px;box-shadow:0 34px 90px rgba(0,0,0,.18);backdrop-filter:saturate(130%) blur(18px)}
html[data-theme="dark"] .noe-hero__card{background:rgba(18,22,33,.74);border-color:rgba(255,255,255,.10);box-shadow:0 30px 80px rgba(0,0,0,.50)}
.noe-hero__kicker{display:inline-flex;gap:10px;align-items:center;color:var(--muted);font-size:13px}
.noe-badge{display:inline-flex;align-items:center;gap:8px;background:var(--accent2);border:1px solid rgba(155,124,74,.25);padding:7px 10px;border-radius:999px;color:var(--text);font-weight:600;font-size:12px}
.noe-hero__title{margin:0;font-size:46px;line-height:1.08;letter-spacing:-.8px}
.noe-hero__title span{color:var(--accent)}
.noe-hero__subtitle{margin:0;color:var(--muted);max-width:70ch;font-size:15px}
.noe-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.noe-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:14px;padding:12px 16px;border:1px solid var(--border);text-decoration:none;font-weight:700;font-size:13px;background:var(--card);box-shadow:var(--shadow);transition:transform .2s ease, background .2s ease}
.noe-btn:hover{transform:translateY(-1px);background:var(--accent2)}
.noe-btn--primary{background:var(--accent);color:#fff;border-color:rgba(0,0,0,.0)}
.noe-btn--primary:hover{background:var(--accent)}

/* Cards */
.noe-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.noe-card{grid-column:span 4;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.noe-card h3{margin:0 0 8px 0;font-size:16px}
.noe-card p{margin:0;color:var(--muted);font-size:13px}
@media (max-width: 980px){.noe-card{grid-column:span 6}}
@media (max-width: 640px){.noe-card{grid-column:span 12}.noe-hero__title{font-size:34px}}

/* Contact list */
.noe-contact-list{display:grid;gap:10px;margin-top:10px}
.noe-contact-person{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--bg2)}
.noe-contact-person__name{font-weight:700}
.noe-contact-person__tel{color:var(--accent);font-weight:700;text-decoration:none}
.noe-contact-person__tel:hover{text-decoration:underline}

/* Full-bleed helpers */
.noe-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.noe-map-full{width:100%;position:relative;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg)}
.noe-map-full iframe{display:block;width:100%;height:min(520px, 70vh);border:0;filter:saturate(1.22) contrast(1.38) brightness(.98)}
html[data-theme="dark"] .noe-map-full iframe{filter:saturate(1.10) contrast(1.26) brightness(.88)}

.noe-map-full::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 65% at 50% 35%, rgba(0,0,0,.02), rgba(0,0,0,.16));mix-blend-mode:multiply;opacity:.60}
html[data-theme="dark"] .noe-map-full::after{opacity:.42}

/* Content */
.noe-content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.noe-content :where(h1,h2,h3){scroll-margin-top:calc(var(--headerH) + 20px)}
.noe-content p{color:var(--text)}
.noe-content a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Documents tools */
.noe-docs-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px 0}
.noe-input{flex:1;min-width:220px;border-radius:14px;border:1px solid var(--border);background:var(--bg);padding:12px 14px;color:var(--text)}
.noe-chip{border-radius:999px;border:1px solid var(--border);background:var(--card);padding:10px 12px;cursor:pointer;font-size:12px;color:var(--muted)}
.noe-chip.is-active{background:var(--accent2);color:var(--text)}

/* Micro-icons */
.noe-ico{display:inline-flex;align-items:center;justify-content:center;margin-right:8px;vertical-align:middle}
.noe-ico svg{width:16px;height:16px;opacity:.88}

.noe-accordion{border-top:1px solid var(--border)}
.noe-acc-item{border-bottom:1px solid var(--border)}
.noe-acc-btn{width:100%;text-align:left;background:none;border:none;color:var(--text);padding:14px 6px;cursor:pointer;font-weight:700;display:flex;align-items:center;gap:12px}
.noe-acc-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:rgba(155,124,74,.12);border:1px solid rgba(155,124,74,.22);flex:0 0 auto}
html[data-theme="dark"] .noe-acc-ico{background:rgba(201,176,135,.10);border-color:rgba(201,176,135,.22)}
.noe-acc-ico svg{width:16px;height:16px;opacity:.92}
.noe-acc-title{flex:1;min-width:0}
.noe-acc-plus{margin-left:auto;opacity:.70}
.noe-acc-panel{display:none;padding:0 6px 16px 6px;color:var(--muted)}
.noe-acc-item.is-open .noe-acc-panel{display:block}

/* Footer */
.noe-footer{padding:36px 0;border-top:1px solid var(--border);background:var(--bg)}
.noe-footer__grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start}
.noe-footer small{color:var(--muted)}

/* Scroll to top */
.noe-top{position:fixed;right:18px;bottom:18px;height:46px;width:46px;border-radius:16px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);cursor:pointer;display:none;place-items:center;z-index:1200;color:var(--text)}
.noe-top.is-visible{display:grid}
html[data-theme="dark"] .noe-top{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.20);box-shadow:0 18px 50px rgba(0,0,0,.60)}
html[data-theme="dark"] .noe-top{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.noe-top svg{opacity:.92}
html[data-theme="dark"] .noe-top{outline:1px solid rgba(0,0,0,.22)}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;transition:none !important;animation:none !important}
}

/* Contact layout */
.noe-contact-card h3{margin-top:0}
.noe-contact-office__name{margin:10px 0 6px;font-weight:650}
.noe-contact-office__addr{margin:0;color:var(--muted)}
.noe-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
@media (max-width:860px){.noe-contact-row{grid-template-columns:1fr}}
.noe-contact-block h4{margin:0 0 8px;font-size:14px;letter-spacing:.2px;text-transform:uppercase;color:var(--muted)}
.noe-contact-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.noe-contact-list a{text-decoration:none}
.noe-contact-hours{margin:0;color:var(--muted)}
.noe-contact-note{margin:10px 0 0;color:var(--muted);font-style:italic}


/* Corner ornaments (subtle, notarial) */
#czynnosci::after, #oplaty::after, #rodo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27220%27%20height%3D%27220%27%20viewBox%3D%270%200%20220%20220%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%25239B7C4A%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.85%27%3E%3Cpath%20d%3D%27M30%2070c0-22%2018-40%2040-40h40%27/%3E%3Cpath%20d%3D%27M30%2030v40%27/%3E%3Cpath%20d%3D%27M70%2030H30%27/%3E%3Cpath%20d%3D%27M70%2030c20%200%2036%2016%2036%2036%27/%3E%3Ccircle%20cx%3D%27112%27%20cy%3D%2766%27%20r%3D%278%27/%3E%3C/g%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27220%27%20height%3D%27220%27%20viewBox%3D%270%200%20220%20220%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%25239B7C4A%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.85%27%3E%3Cpath%20d%3D%27M30%2070c0-22%2018-40%2040-40h40%27/%3E%3Cpath%20d%3D%27M30%2030v40%27/%3E%3Cpath%20d%3D%27M70%2030H30%27/%3E%3Cpath%20d%3D%27M70%2030c20%200%2036%2016%2036%2036%27/%3E%3Ccircle%20cx%3D%27112%27%20cy%3D%2766%27%20r%3D%278%27/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:22px 22px, calc(100% - 22px) calc(100% - 22px);
  background-size:160px 160px;
  opacity:.10;
}
html[data-theme="dark"] #czynnosci::after,
html[data-theme="dark"] #oplaty::after,
html[data-theme="dark"] #rodo::after{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27220%27%20height%3D%27220%27%20viewBox%3D%270%200%20220%20220%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523C9B087%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.85%27%3E%3Cpath%20d%3D%27M30%2070c0-22%2018-40%2040-40h40%27/%3E%3Cpath%20d%3D%27M30%2030v40%27/%3E%3Cpath%20d%3D%27M70%2030H30%27/%3E%3Cpath%20d%3D%27M70%2030c20%200%2036%2016%2036%2036%27/%3E%3Ccircle%20cx%3D%27112%27%20cy%3D%2766%27%20r%3D%278%27/%3E%3C/g%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27220%27%20height%3D%27220%27%20viewBox%3D%270%200%20220%20220%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523C9B087%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.85%27%3E%3Cpath%20d%3D%27M30%2070c0-22%2018-40%2040-40h40%27/%3E%3Cpath%20d%3D%27M30%2030v40%27/%3E%3Cpath%20d%3D%27M70%2030H30%27/%3E%3Cpath%20d%3D%27M70%2030c20%200%2036%2016%2036%2036%27/%3E%3Ccircle%20cx%3D%27112%27%20cy%3D%2766%27%20r%3D%278%27/%3E%3C/g%3E%3C/svg%3E");
  opacity:.11;
}
#dokumenty::after, #linki::after, #informacje::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27240%27%20height%3D%27240%27%20viewBox%3D%270%200%20240%20240%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%25239B7C4A%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.9%27%3E%3Cpath%20d%3D%27M34%2086c0-28%2023-51%2051-51h52%27/%3E%3Cpath%20d%3D%27M34%2034v52%27/%3E%3Cpath%20d%3D%27M86%2034H34%27/%3E%3Cpath%20d%3D%27M104%2034c34%200%2061%2027%2061%2061%27/%3E%3Cpath%20d%3D%27M160%2098c0%2023-19%2042-42%2042s-42-19-42-42%27/%3E%3Ccircle%20cx%3D%27118%27%20cy%3D%2798%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M118%2088v20%27/%3E%3Cpath%20d%3D%27M108%2098h20%27/%3E%3Cpath%20d%3D%27M150%20152c-18%2016-40%2025-64%2025-20%200-39-6-55-17%27/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:calc(100% - 22px) 22px;
  background-size:190px 190px;
  opacity:.065;
}
html[data-theme="dark"] #dokumenty::after,
html[data-theme="dark"] #linki::after,
html[data-theme="dark"] #informacje::after{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27240%27%20height%3D%27240%27%20viewBox%3D%270%200%20240%20240%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%2523C9B087%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20opacity%3D%27.9%27%3E%3Cpath%20d%3D%27M34%2086c0-28%2023-51%2051-51h52%27/%3E%3Cpath%20d%3D%27M34%2034v52%27/%3E%3Cpath%20d%3D%27M86%2034H34%27/%3E%3Cpath%20d%3D%27M104%2034c34%200%2061%2027%2061%2061%27/%3E%3Cpath%20d%3D%27M160%2098c0%2023-19%2042-42%2042s-42-19-42-42%27/%3E%3Ccircle%20cx%3D%27118%27%20cy%3D%2798%27%20r%3D%2710%27/%3E%3Cpath%20d%3D%27M118%2088v20%27/%3E%3Cpath%20d%3D%27M108%2098h20%27/%3E%3Cpath%20d%3D%27M150%20152c-18%2016-40%2025-64%2025-20%200-39-6-55-17%27/%3E%3C/g%3E%3C/svg%3E");
  opacity:.075;
}



/* Hero vignette + translucent editable box */
.noe-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(1200px 700px at 50% 35%, rgba(0,0,0,0), rgba(0,0,0,.16) 70%, rgba(0,0,0,.24) 100%),
    radial-gradient(900px 520px at 20% 65%, rgba(0,0,0,0), rgba(0,0,0,.10) 72%, rgba(0,0,0,.18) 100%);
  opacity:.22;
}
html[data-theme="dark"] .noe-hero::after{ opacity:.30; }

.noe-hero__card{ position:relative; z-index:3; }
.noe-hero__box{
  margin-top:14px;
  padding:14px 14px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:16px;
  background:rgba(255,255,255,.18);
  backdrop-filter:saturate(140%) blur(18px);
  -webkit-backdrop-filter:saturate(140%) blur(18px);
  box-shadow:0 18px 46px rgba(0,0,0,.12);
}
html[data-theme="dark"] .noe-hero__box{
  background:rgba(10,12,18,.40);
  border-color:rgba(255,255,255,.18);
}


/* Premium ornament under section titles */
.noe-section__title{position:relative;padding-bottom:14px}
.noe-section__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:190px;
  height:10px;
  background-repeat:no-repeat;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27190%27%20height%3D%2710%27%20viewBox%3D%270%200%20190%2010%27%3E%3Cg%20fill%3D%27none%27%20stroke%3D%27%25239B7C4A%27%20stroke-width%3D%271.4%27%20stroke-linecap%3D%27round%27%20opacity%3D%27.9%27%3E%3Cpath%20d%3D%27M2%205h74%27/%3E%3Cpath%20d%3D%27M114%205h74%27/%3E%3Ccircle%20cx%3D%2795%27%20cy%3D%275%27%20r%3D%272.4%27/%3E%3Cpath%20d%3D%27M91%205h8%27/%3E%3C/g%3E%3C/svg%3E");
  opacity:.75;
}
html[data-theme="dark"] .noe-section__title::after{opacity:.85;filter:saturate(120%)}

/* Ultra-delicate grain on sections */
.noe-section{position:relative}
.noe-section::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  transform:translateY(var(--parallaxY, 0px));
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27120%27%20height%3D%27120%27%20viewBox%3D%270%200%20120%20120%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.9%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27/%3E%3C/filter%3E%3Crect%20width%3D%27120%27%20height%3D%27120%27%20filter%3D%27url(%2523n)%27%20opacity%3D%270.35%27/%3E%3C/svg%3E");
  background-size:240px 240px;
  mix-blend-mode:overlay;
  opacity:.035;
}
html[data-theme="dark"] .noe-section::after{opacity:.02;mix-blend-mode:soft-light}

/* Ensure content sits above grain/ornaments */
.noe-container{position:relative;z-index:1}




/* === v2.5 header/nav polish === */
.noe-header__inner{
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:18px;
  height:var(--headerH);
}
.noe-brand{min-width:0}
.noe-nav{justify-self:center; min-width:0}
.noe-nav__list{
  justify-content:center;
  flex-wrap:wrap;
  row-gap:6px;
}
.noe-nav__list a{
  white-space:nowrap;
}
.noe-header__actions{
  display:flex;
  align-items:center;
  gap:12px;
  justify-self:end;
  min-width:0;
}
.noe-call{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.noe-call__k{white-space:nowrap}
.noe-call__v{white-space:nowrap}

@media (max-width: 1180px){
  .noe-brand__tag{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:12px;}
  .noe-nav__list{gap:12px}
  .noe-brand__logo img{max-width:210px;max-height:58px;margin:0;}
}
@media (max-width: 1040px){
  .noe-brand__text{display:none}
  .noe-brand__logo{padding:10px 12px;border-radius:16px}
  .noe-nav__list{gap:10px}
}
@media (max-width: 920px){
  .noe-nav{display:none}
  .noe-burger{display:inline-flex}
}

/* Contact list icons */
.noe-contact-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.noe-contact-list li a{display:inline-flex; align-items:center; gap:10px}
.noe-ico{
  width:18px;height:18px;flex:0 0 18px;
  opacity:.78;
  transform:translateY(1px);
  color:var(--muted);
  color:var(--accent);
}
.noe-contact-list a:hover .noe-ico{opacity:1;color:var(--text)}

/* Contact branding (large logo) */
.noe-contact-brand{
  display:flex;
  justify-content:center;
  margin:-6px 0 18px;
}
.noe-contact-brand__logo{
  display:flex;
  align-items:center;
  justify-content:center;
  /* light: logo should feel "printed" on the page, no pillow */
  padding:0;
  border-radius:18px;
  background:transparent;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
html[data-theme="dark"] .noe-contact-brand__logo{
  /* dark: subtle white outline so the logo doesn't disappear */
  padding:10px 14px;
  background:transparent;
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.noe-contact-logo-img{
  display:block;
  height:250px;
  width:auto;
  max-width:640px;
  object-fit:contain;
  filter:contrast(112%);
}
@media (max-width: 640px){
  .noe-contact-logo-img{ height:112px; }
}

html[data-theme="dark"] .noe-contact-logo-img{
  /* add a faint halo / stroke-like effect */
  filter:contrast(112%) drop-shadow(0 0 0.8px rgba(255,255,255,.85)) drop-shadow(0 0 10px rgba(255,255,255,.12));
}
@media (max-width: 520px){
  .noe-contact-logo-img{height:76px; max-width:360px;}
}


/* Cinzel headings */
h1,h2,h3,h4,h5,h6,.site-title,.menu a{font-family:'Cinzel',serif;letter-spacing:.04em;}


/* Header premium interactions: logo scale + intro */
.noe-header.is-intro .noe-nav,
.noe-header.is-intro .noe-call{opacity:0; transform:translateY(-10px); filter:blur(4px);}
.noe-header.is-intro .noe-nav{transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .7s ease;}
.noe-header.is-intro .noe-call{transition:opacity .75s ease .08s, transform .75s cubic-bezier(.2,.8,.2,1) .08s, filter .75s ease .08s;}
.noe-header.is-intro.is-intro-done .noe-nav,
.noe-header.is-intro.is-intro-done .noe-call{opacity:1; transform:none; filter:none;}




/* Header premium interactions: scale whole logo 'poduszka' symmetrically + intro */
.noe-header{--noe-logo-scale:1.18; --noe-logo-scale-scrolled:0.84;;padding:10px 0;}
.noe-brand{position:relative;}
.noe-brand__logo{transition:transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease; transform-origin:center center; transform:scale(var(--noe-logo-scale));}
.noe-header.is-scrolled .noe-brand__logo{transform:scale(var(--noe-logo-scale-scrolled)); box-shadow:0 8px 18px rgba(0,0,0,.08);}
.noe-brand__logo img, .noe-brand__logo .custom-logo{transition:filter .45s ease;}
.noe-header.is-scrolled .noe-brand__logo img, .noe-header.is-scrolled .noe-brand__logo .custom-logo{filter:contrast(120%) saturate(108%) drop-shadow(0 2px 5px rgba(0,0,0,.14));}

.noe-brand__text{transition:opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);}
.noe-header.is-scrolled .noe-brand__text{opacity:0; transform:translateY(-6px); pointer-events:none;}
@media (max-width: 980px){
  .noe-header{--noe-logo-scale:1.10; --noe-logo-scale-scrolled:0.88;;padding:10px 0;}
  .noe-header.is-scrolled .noe-brand__text{display:none;}
}

/* Intro animation at top load: menu slides from top, phone pops subtly */
.noe-header.is-intro .noe-nav{opacity:0; transform:translateY(-18px); filter:blur(6px);}
.noe-header.is-intro .noe-call{opacity:0; transform:translateY(-14px) scale(.96); filter:blur(3px);}
.noe-header.is-intro .noe-nav{transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .7s ease;}
.noe-header.is-intro .noe-call{transition:opacity .75s ease .10s, transform .75s cubic-bezier(.2,.8,.2,1) .10s, filter .75s ease .10s;}
.noe-header.is-intro.is-intro-done .noe-nav,
.noe-header.is-intro.is-intro-done .noe-call{opacity:1; transform:none; filter:none;}

/* Phone 'presence' accent: soft pulse on intro only */
@keyframes noePhonePulse{
  0%{box-shadow:0 0 0 rgba(0,0,0,0); transform:translateY(0) scale(1);}
  45%{box-shadow:0 14px 34px rgba(0,0,0,.16); transform:translateY(-1px) scale(1.02);}
  100%{box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(0) scale(1);}
}
.noe-header.is-intro.is-intro-done .noe-call{animation:noePhonePulse 900ms cubic-bezier(.2,.8,.2,1) 1;}
html[data-theme="dark"] .noe-header.is-intro.is-intro-done .noe-call{animation:none;}


/* Header call-to-action presence */
.noe-call{position:relative;border:1px solid rgba(0,0,0,.10);background:rgba(255,255,255,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
html[data-theme="dark"] .noe-call{border-color:rgba(255,255,255,.18);background:rgba(16,16,16,.50);}
.noe-call::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;box-shadow:0 18px 44px rgba(0,0,0,.14);}
.noe-call:hover::after{opacity:1;}
@keyframes noeShineSweep{
  0%{transform:translateX(-120%) skewX(-18deg);opacity:0;}
  20%{opacity:.35;}
  55%{opacity:.18;}
  100%{transform:translateX(140%) skewX(-18deg);opacity:0;}
}
.noe-call::before{content:"";position:absolute;top:-2px;bottom:-2px;left:-18%;width:48%;background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));transform:translateX(-120%) skewX(-18deg);opacity:0;pointer-events:none;border-radius:999px;filter:blur(1px);}
html[data-theme="dark"] .noe-call::before{background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.22), rgba(255,255,255,0));}
.noe-header.is-intro.is-intro-done .noe-call::before{opacity:1;animation:noeShineSweep 1100ms cubic-bezier(.2,.8,.2,1) 1;}

/* Hero title subtle shadow + two-line rhythm */
.noe-hero__title{ text-shadow: 0 10px 30px rgba(0,0,0,.22); }
html[data-theme="dark"] .noe-hero__title{ text-shadow: 0 10px 32px rgba(0,0,0,.52); }
.noe-hero__title br{content:""; }


/* Smooth accordion panels (height transition) */
.noe-acc-panel{display:block;height:0;overflow:hidden;transition:height .55s cubic-bezier(.2,.8,.2,1);will-change:height;}
.noe-acc-item.is-open .noe-acc-panel{height:auto;}
@media (prefers-reduced-motion: reduce){
  .noe-acc-panel{transition:none;}
}

/* Hero H1 shadow (ensure visible inside hero glass box) */
.noe-hero__title{ text-shadow: 0 10px 30px rgba(0,0,0,.22) !important; }
.noe-hero__box .noe-hero__title,
.noe-hero__content .noe-hero__title{ text-shadow: 0 10px 30px rgba(0,0,0,.22) !important; }
html[data-theme="dark"] .noe-hero__title,
html[data-theme="dark"] .noe-hero__box .noe-hero__title{ text-shadow: 0 12px 36px rgba(0,0,0,.60) !important; }

/* Hero title premium typography */
.noe-hero__title{letter-spacing:.06em; animation:noeHeroTitleIn 900ms cubic-bezier(.2,.8,.2,1) 1 both;}
.noe-hero__title .hero-name{display:inline-block;font-size:clamp(28px, 3.3vw, 44px);letter-spacing:.04em;font-weight:700;}
.noe-hero__title .hero-office{display:inline-block;font-size:clamp(14px, 1.4vw, 18px);letter-spacing:.18em;text-transform:uppercase;opacity:.88;}
@keyframes noeHeroTitleIn{
  0%{opacity:0; transform:translateY(10px); letter-spacing:.18em; filter:blur(2px);}
  100%{opacity:1; transform:none; letter-spacing:.06em; filter:none;}
}
@media (prefers-reduced-motion: reduce){
  .noe-hero__title{animation:none;}
}



/* --- Hero readability polish --- */
.noe-hero{position:relative;}
.noe-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1200px 520px at 50% 35%, rgba(255,255,255,.12), rgba(255,255,255,0) 62%),
    linear-gradient(180deg, rgba(255,255,255,.20), rgba(255,255,255,.48) 36%, rgba(255,255,255,.62));
  z-index:0;
}
html[data-theme="dark"] .noe-hero::before{
  background:
    radial-gradient(1100px 520px at 50% 35%, rgba(0,0,0,.10), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55) 40%, rgba(0,0,0,.68));
}
.noe-hero__inner,.noe-hero__box{position:relative;z-index:1;}
.noe-hero__box{background:rgba(255,255,255,.58);}
html[data-theme="dark"] .noe-hero__box{background:rgba(14,14,14,.52);}

.noe-hero__title{
  color: rgba(18,18,18,.92);
  text-shadow: 0 16px 44px rgba(0,0,0,.22) !important;
}
.noe-hero__title .hero-name{color: var(--accent);}
.noe-hero__title .hero-office{color: var(--accent);}
html[data-theme="dark"] .noe-hero__title,
html[data-theme="dark"] .noe-hero__title .hero-name{color: rgba(255,255,255,.92);}
html[data-theme="dark"] .noe-hero__title .hero-office{color: rgba(255,255,255,.74);}


/* --- Header brand text on scroll: keep, just compact --- */
.noe-header.is-scrolled .noe-brand__text{
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
.noe-header.is-scrolled .noe-brand__name{font-size:13px;letter-spacing:.01em;}
.noe-header.is-scrolled .noe-brand__tag{font-size:11px;opacity:.66;}
@media (max-width: 980px){
  .noe-header.is-scrolled .noe-brand__text{display:block;}
}




/* =========================
   Mobile polish (premium)
   ========================= */
@media (max-width: 980px){
  /* Header */
  .noe-header{padding:10px 0;}
  .noe-header__inner{gap:10px;}
  .noe-brand{gap:14px;}
  .noe-brand__logo{margin:4px 0; transform:scale(1.04);}
  .noe-header.is-scrolled .noe-brand__logo{transform:scale(.90);}
  .noe-brand__name{font-size:12px; line-height:1.2;}
  .noe-brand__tag{font-size:10px; letter-spacing:.14em;}
  /* Keep call compact */
  .noe-call{padding:10px 12px; border-radius:18px;}
  .noe-call__label{display:none;}
  .noe-call__num{font-size:13px; letter-spacing:.02em; white-space:nowrap;}
  /* Nav: tighter + wrap */
  .noe-nav ul{gap:8px;}
  .noe-nav a{padding:8px 10px; font-size:12px; border-radius:12px;}
}

@media (max-width: 640px){
  .noe-header__inner{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:center;
  }
  .noe-brand{grid-column:1 / 3; justify-self:start;}
  .noe-actions{grid-column:2 / 3; justify-self:end;}
  .noe-nav{grid-column:1 / 3;}
  .noe-nav ul{flex-wrap:wrap; justify-content:flex-start;}
  .noe-nav a{padding:8px 10px;}

  /* Hero */
  .noe-hero{min-height:calc(100svh - 78px);}
  .noe-hero__inner{padding:18px 0 22px;}
  .noe-hero__box{padding:18px 16px; border-radius:22px;}
  .noe-hero__title{letter-spacing:.04em;}
  .noe-hero__title .hero-name{font-size:clamp(24px, 7vw, 34px);}
  .noe-hero__title .hero-office{font-size:clamp(12px, 3.8vw, 15px); letter-spacing:.16em;}
  .noe-hero__lead{font-size:14px; line-height:1.55;}
  .noe-hero__actions{gap:10px; flex-wrap:wrap;}
  .noe-btn{width:100%; justify-content:center;}

  /* Sections */
  section{scroll-margin-top:88px;}
  .noe-section{padding:44px 0;}
  .noe-card{border-radius:18px;}
  .noe-grid{gap:14px;}

  /* Contact */
  .noe-contact__grid{gap:14px;}
  .noe-contact__card{padding:16px;}

  /* Accordion */
  .noe-acc-btn{padding:14px 14px;}
  .noe-acc-panel{padding:0 14px;}
}

@media (max-width: 420px){
  .noe-brand__logo{transform:scale(1.00);}
  .noe-header.is-scrolled .noe-brand__logo{transform:scale(.88);}
  .noe-hero__box{padding:16px 14px;}
  .noe-nav a{font-size:11.5px;}
}


/* Pages: allow content to expand freely */
.noe-content{overflow:visible;}



/* =========================
   Accent color for headings & contact icons
   ========================= */
.noe-section h1,
.noe-section h2,
.noe-content h1,
.noe-content h2{
  color: var(--accent);
}

/* Keep hero title colors untouched */
.noe-hero__title,
.noe-hero__title *{
  color: inherit;
}

/* Contact icons accent */
.noe-contact i,
.noe-contact svg,
.noe-contact .icon{
  color: var(--accent);
  fill: currentColor;
  stroke: currentColor;
}

/* Hover emphasis */
.noe-contact a:hover i,
.noe-contact a:hover svg{
  transform: translateY(-1px);
  transition: transform .25s ease;
}




/* =========================
   Premium headings (accent first word + underline reveal)
   ========================= */
.noe-section h1,
.noe-content h1{
  color: var(--accent);
}
.noe-section h2,
.noe-content h2{
  color: var(--text);
  position:relative;
}
.noe-section h2.noe-ux-h2::after,
.noe-content h2.noe-ux-h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-10px;
  width:72px;
  height:2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .8s cubic-bezier(.2,.8,.2,1);
  opacity:.9;
}
.noe-section h2.noe-ux-h2.is-inview::after,
.noe-content h2.noe-ux-h2.is-inview::after{
  transform: scaleX(1);
}
.noe-accent-word{
  color: var(--accent);
}
@media (max-width:640px){
  .noe-section h2.noe-ux-h2::after,
  .noe-content h2.noe-ux-h2::after{bottom:-8px;width:56px;}
}

/* Contact icons: force accent */
.noe-contact svg,
.noe-contact i,
.noe-contact .noe-icon,
.noe-contact [class*="icon"],
.noe-contact a svg{
  color: var(--accent) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}




/* =========================================
   Mobile UX polish v3.13.4 (tight + friendly)
   ========================================= */

/* Global rhythm */
@media (max-width: 980px){
  :root{
    --noe-mobile-gutter: 6px;
  }
  .noe-container{padding-left:var(--noe-mobile-gutter);padding-right:var(--noe-mobile-gutter);}
  .noe-section{padding:42px 0;}
  .noe-card{border-radius:18px;}
  .noe-grid{gap:14px;}
  .noe-muted{opacity:.78;}
  /* Reduce heavy background motion on mobile (smoothness) */
  .noe-sec-bg, .noe-sec-bg2{opacity:.55;}
}

/* Header: compact, readable, no clutter */
@media (max-width: 640px){
  .noe-header{padding:8px 0;}
  .noe-header__inner{gap:8px;}
  .noe-brand{gap:12px;}
  .noe-brand__logo{padding:10px 12px;margin:2px 0;}
  .noe-brand__name{font-size:12px;line-height:1.15;}
  .noe-brand__tag{font-size:10px;letter-spacing:.14em; margin-top:2px;}
  .noe-actions{gap:8px;}
  .noe-call{padding:9px 11px;border-radius:16px;}
  .noe-call__label{display:none;}
  .noe-call__num{font-size:12.5px;white-space:nowrap;}
  /* Navigation wraps neatly */
  .noe-nav ul{gap:8px;flex-wrap:wrap;}
  .noe-nav a{padding:7px 10px;font-size:12px;border-radius:12px;}
}

/* Hero: readable and comfortable */
@media (max-width: 640px){
  .noe-hero{min-height:calc(100svh - 84px);}
  .noe-hero__inner{padding:14px 0 18px;}
  .noe-hero__box{padding:16px 14px;border-radius:20px;}
  .noe-hero__title{margin:0 0 10px;}
  .noe-hero__title .hero-name{font-size:clamp(22px, 7.2vw, 34px);letter-spacing:.03em;}
  .noe-hero__title .hero-office{font-size:clamp(12px, 3.9vw, 15px);letter-spacing:.16em;}
  .noe-hero__lead{font-size:14px;line-height:1.55;margin:0 0 14px;}
  .noe-hero__actions{display:flex;flex-direction:column;gap:10px;}
  .noe-btn{width:100%;justify-content:center;}
  .noe-hero__meta{gap:10px;flex-wrap:wrap;}
  .noe-hero__meta > *{flex:1 1 140px;}
}

/* Section titles: less whitespace */
@media (max-width: 640px){
  .noe-section__head{margin-bottom:14px;}
  .noe-section__kicker{margin-bottom:6px;}
  .noe-section h2.noe-ux-h2::after{bottom:-8px;width:52px;}
}

/* Dokumenty accordion: bigger tap targets, tighter text */
@media (max-width: 640px){
  .noe-acc-item{border-radius:16px;}
  .noe-acc-btn{padding:14px 14px;gap:10px;}
  .noe-acc-btn .noe-acc-title{font-size:14px;line-height:1.3;}
  .noe-acc-panel{padding:0 14px;}
  .noe-acc-panel .noe-prose{font-size:14px;line-height:1.6;}
  .noe-acc-panel .noe-prose ul{padding-left:18px;}
}

/* Cards + lists: improve density */
@media (max-width: 640px){
  .noe-kpi{padding:14px;border-radius:16px;}
  .noe-list li{padding:10px 0;}
  .noe-pill{padding:8px 10px;}
}

/* Contact: stack, map full width, comfortable */
@media (max-width: 640px){
  .noe-contact__grid{display:flex;flex-direction:column;gap:14px;}
  .noe-contact__card{padding:16px;border-radius:18px;}
  .noe-contact__logo{margin:0 0 12px;}
  .noe-map{border-radius:18px;overflow:hidden;}
  .noe-map iframe{width:100%;min-height:320px;}
  .noe-contact__row{gap:10px;}
  .noe-contact__row .noe-contact__label{font-size:12px;}
  .noe-contact__row .noe-contact__value{font-size:14px;line-height:1.45;}
}

/* Footer: less height */
@media (max-width: 640px){
  .noe-footer{padding:22px 0;}
  .noe-footer__grid{gap:12px;}
}

/* Extra small devices */
@media (max-width: 420px){
  :root{ --noe-mobile-gutter: 4px; }
  .noe-brand__logo{padding:9px 11px;}
  .noe-nav a{font-size:11.5px;padding:7px 9px;}
  .noe-hero__box{padding:15px 13px;}
  .noe-acc-btn{padding:13px 13px;}
}




/* Mobile: prevent email overflow in contact cards */
.noe-contact__value,
.noe-contact__value a{
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media (max-width:640px){
  .noe-contact__value{font-size:13.5px;}
}




/* Mobile contact: stack notary cards vertically (do not affect other grids) */
@media (max-width: 640px){
  #kontakt .noe-grid{grid-template-columns: 1fr !important;}
  #kontakt .noe-contact-card{grid-column: 1 / -1 !important;}
}



/* Mobile menu: smooth open/close (keeps desktop intact) */
@media (max-width: 980px){
  .noe-mobile{
    display:block !important;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transform: translateY(-8px);
    transition: max-height .55s cubic-bezier(.2,.8,.2,1), opacity .28s ease, transform .55s cubic-bezier(.2,.8,.2,1);
    will-change: max-height, opacity, transform;
    pointer-events:none;
  }
  .noe-mobile.is-open{
    max-height: 70vh;
    opacity:1;
    transform: translateY(0);
    pointer-events:auto;
  }
}
@media (prefers-reduced-motion: reduce){
  .noe-mobile{transition:none !important;}
}



/* Contact: prevent long emails from overflowing */
#kontakt .noe-contact-list a{
  min-width:0;
}
#kontakt .noe-contact-list a span,
#kontakt .noe-contact-list a{
  overflow-wrap:anywhere;
  word-break:break-word;
}



/* =========================================
   Mobile: disable parallax & background ornaments
   ========================================= */
@media (max-width: 980px){
  /* Hide decorative SVG background layers */
  .noe-sec-bg,
  .noe-sec-bg2,
  .noe-ornament,
  [data-ornament]{
    display:none !important;
  }

  /* Disable parallax effects */
  .noe-parallax,
  [data-parallax],
  .parallax{
    transform:none !important;
    will-change:auto !important;
    background-attachment:scroll !important;
  }

  /* Hero backgrounds shouldn't use fixed/parallax on mobile */
  .noe-hero,
  .noe-hero__bg{
    background-attachment:scroll !important;
  }
}




/* Header call: two numbers stacked, premium */
.noe-call{display:flex;align-items:center;gap:10px;}
.noe-call__k{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px;opacity:.78;}
.noe-call__v{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.noe-call__num{white-space:nowrap;font-weight:700;font-size:13px;}
.noe-call__num--sub{font-weight:600;opacity:.85;font-size:12.5px;}
@media (max-width: 640px){
  .noe-call__k{display:none;}
  .noe-call__num{font-size:12.5px;}
  .noe-call__num--sub{font-size:12px;}
}

/* Contact: logo keep proportions and never overflow */
.noe-contact-brand__logo{display:flex;align-items:center;justify-content:center;max-width:100%;}
.noe-contact-logo-img{max-width:100%;height:auto;object-fit:contain;display:block;}
@media (max-width: 640px){
  .noe-contact-logo-img{max-width:92vw;}
}


/* Header call: clickable phone links */
.noe-call__num,
.noe-call__num--sub{
  display:block;
  font-weight:800;
  text-decoration:none;
  color:inherit;
}
.noe-call__num:hover,
.noe-call__num--sub:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Contact logo: ensure always visible */
.noe-contact-brand,
.noe-contact-brand__logo,
.noe-contact-logo-img{
  visibility:visible !important;
  opacity:1 !important;
}

/* Contact logo: size guard */
.noe-contact-logo-img{max-height:200px;}
@media (max-width:640px){.noe-contact-logo-img{max-height:84px;}}
