
/* wspólne ustawienia dla bocznych grafik tła */
body::before,
body::after{
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0; /* za treścią, ale nad tłem */
}

/* =====================================================================
   MERGED CSS (text.css + grid.css + style.css)
   Generated: 2026-03-02 16:53:03
   Order preserved to match original imports:
     text.css -> grid.css -> style.css
   ===================================================================== */

/* ===================== BEGIN: text.css ===================== */
/*
  960 Grid System ~ Text CSS.
  Learn more ~ http://960.gs/

  Licensed under GPL and MIT.
*/

/* `Basic HTML
----------------------------------------------------------------------------------------------------*/

body {
  font: 13px/1.5 "Helvetica Neue", Arial, "Liberation Sans", FreeSans, sans-serif;
}

pre,
code {
  font-family: "DejaVu Sans Mono", Menlo, Consolas, monospace;
}

hr {
  border: 0 solid #ccc;
  border-top-width: 1px;
  clear: both;
  height: 0;
}

/* `Headings
----------------------------------------------------------------------------------------------------*/

h1 {
  font-size: 25px;
  color: #242424;
}

h2 {
  font-size: 23px;
  color: #242424;
}

h3 {
  font-size: 21px;
  color: #242424;
}

h4 {
  font-size: 19px;
  color: #242424;
}

h5 {
  font-size: 17px;
  color: #242424;
}

h6 {
  font-size: 15px;
  color: #242424;
}

/* `Spacing
----------------------------------------------------------------------------------------------------*/

ol {
  list-style: decimal;
}

ul {
  list-style: disc;
}

li {
  margin-left: 30px;
}

p,
dl,
hr,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
ul,
pre,
table,
address,
fieldset,
figure {
  margin-bottom: 20px;
}

/* ===================== END: text.css ======================= */

/* ===================== BEGIN: grid.css ===================== */
/* ===== Base ===== */
html{
  overflow-y: scroll;
}

body{
  margin: 0;
}

/* ===== Fonts ===== */
@font-face {
  font-family: 'embassy_btregular';
  src: url('../font/embassy.eot');
  src: url('../font/embassy.eot?#iefix') format('embedded-opentype'),
       url('../font/embassy.woff2') format('woff2'),
       url('../font/embassy.woff') format('woff'),
       url('../font/embassy.ttf') format('truetype'),
       url('../font/embassy.svg#embassy_btregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Fira_Code';
  src: url('../font/FiraCode-Regular.eot');
  src: url('../font/FiraCode-Regular.eot?#iefix') format('embedded-opentype'),
       url('../font/FiraCode-Regular.woff2') format('woff2'),
       url('../font/FiraCode-Regular.woff') format('woff'),
       url('../font/FiraCode-Regular.ttf') format('truetype'),
       url('../font/FiraCode-Regular.svg#FiraCode-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ===== Layout variables ===== */
:root{
  --nav-h: 45px;             /* sticky top dla nagłówka */
  --footer-h: 35px;          /* wysokość fixed footer */
  --content-max: 1100px;     /* szerokość layoutu */
  --text-max: 960px;         /* maks szerokość tekstu */
  --content-pad-x: 24px;

  --h1-big: 2.6rem;
  --h1-small: 1.6rem;

  --fade-h: 80px;            /* wysokość zanikania pod nagłówkiem */
  --content-gap: 5rem;     /* “białe miejsce” nad contentem */
   --header-big: 180; /* liczby bez unitów - JS też tak ustawia */
  --scale: 1;
  --shadow: 0;
}

/* ===== Container / Center ===== */
.container{
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--content-pad-x);
  position: relative;
}

/* U Ciebie w HTML jest "center" - nie ustawiaj left/width procentami */
.center{
  position: relative;
  z-index: 1;
}

/* ===== Top menu ===== */
.menubar{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-color: #575757;
  z-index: 200;
}

.menubar::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -70px;
  /* ile ma wystawać w dół */
  height: 70px;
  /* wysokość prostokąta */

  width: min(1100px, calc(100% - 40px));
  /* dopasuj 1100px do container */
  background: #fff;

  border-radius: 16px;
  /* opcjonalnie */
  pointer-events: none;
  z-index: -1;
}

.menu{
  position: fixed;
  top: 8px;
  left: 0;
  width: 100%;
  z-index: 210;
  background: #b33a3a00;
}

ul.menulist{
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: var(--content-max);
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  padding: 10px var(--content-pad-x);
  font-family: calibri, system-ui, sans-serif;
}

.menulist li{
  display: inline-block;
  white-space: nowrap;
}

.menulist a{
  text-decoration: none;
  color: #575757;
}

.menulist-active a{
  font-weight: 800;
  text-decoration:underline;
}

.naglowek{
  position: sticky;
  top: var(--nav-h);
  z-index: 150;

  background: #fff;

  /* wysokość kontrolowana przez JS */
  height: calc(var(--header-big) * 1px);

  /* układ nagłówka */
  display: flex;
  align-items: flex-end;

  /* cień kontrolowany przez JS */
  box-shadow: 0 0px calc(var(--shadow) * 0px) rgba(0,0,0,0.18);

  left: 0;
  right: 0;
}

/* fade / maska pod nagłówkiem */
.naglowek::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(-1 * var(--fade-h));
  height: var(--fade-h);
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,0.95) 40%,
    rgba(255,255,255,0.6) 70%,
    rgba(255,255,255,0) 100%
  );
}

/* nagłówek H1: responsywna baza + skala ze scrolla */
.naglowek h1{
  font-family: Fira_Code, monospace;

  /* baza responsywna */
  font-size: clamp(1.8rem, 3.2vw, 2.6rem);

  text-align: left;
  line-height: 1.05;
  margin: 1rem 0 0 0;
  color: #575757;
  font-weight: 300;

  padding-left: 0;

  /* scroll-driven scaling (z JS) */
  transform: scale(var(--scale));
  transform-origin: left bottom;
  will-change: transform;

  /* łamanie */
  overflow-wrap: anywhere;
  word-break: break-word;

  /* płynność */
  transition: transform 120ms ease;
}

/* ===== Content ===== */
.content{
  position: relative;
  z-index: 1;
  background: #fff0;

  /* białe miejsce nad contentem */
  padding-top: var(--content-gap);

  /* żeby fixed footer nie zasłaniał */
  padding-bottom: calc(var(--footer-h) + 40px);
}

/* ogranicz szerokość samego tekstu dla czytelności */
.content > section,
.content > div,
.content > article{
  max-width: var(--text-max);
}

/* jeżeli content nie jest opakowany w sekcje */
.content > *{
  max-width: var(--text-max);
}

/* ===== Footer ===== */
.footer{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--footer-h);
  z-index: 300;

  background-color: #fff;
  background-image: url("../img/kropka.png");
  background-position: 0px 0px;
  background-repeat: repeat-x;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.footer h3{
  margin: 0;
  padding-right: var(--content-pad-x);
  width: 100%;
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  text-align: right;
  font-family: calibri, system-ui, sans-serif;
  color: #575757;
  font-weight: 400;
}

/* ===== Responsive ===== */
@media (max-width: 768px){
  :root{ --content-pad-x: 16px; }

  ul.menulist{
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .content{
    padding-top: 2rem;
  }
}

/* ===================== END: grid.css ======================= */

/* ===================== BEGIN: style.css ==================== */



.menulink {
	color: #525252;
	font-size: 1.5em;
	text-decoration: none;
	font-weight: bolder;}


html,
body {
    height: 100%;
    margin: 0;
}

/* lewa grafika */
body::before {
    left: 0;
    width: 30%;
    background-image: url("/img/Papug_Lewy.png");
    background-position: left top;
}

/* prawa grafika */
body::after {
    right: 0;
    width: 22%;
    background-image: url("/img/Liscie_prawe.png");
    background-position: right top;
}


@media (max-width: 1100px){
  body::before,
  body::after{
    display: none;
  }
}
/* treść nad tłami */
.center {
    position: relative;
    z-index: 1;
}


p{
		font-family: calibri;
		font-size: 1.5rem;
		color: #242424;
		text-align: justify;
}
		
li { font-family: calibri;
		font-size: 1.1rem;
		color: #242424;
		text-align: justify;}	
h2 {
	color: #575757;
	font-size: 1.6rem;
	font-weight: lighter;}
	
	
h3 {
	font-family: calibri;
	font-size: 1.4rem;
	margin-top: 0.5%;
	color: #525252;}
	
	
/*h4 {
	font-family: calibri;
	font-size: 1em;
	font-weight: lighter;}*/
	

a:visited , a  {
	font-family: calibri;
	font-size: 1.0rem;
	text-decoration: none;
	color: #242424;}

a:hover {
	text-decoration: underline;
	color: #242424;}
.menulink a:hover {
  	text-decoration: none;
}

ul.linki_galeria a:hover {
	text-decoration: underline;}
	
.miniaturka {
	width: 140px;
	height: 93px;
	margin-top: 4px;}
	
.wstecz {
	font-size: 1.1rem;
	font-style: italic;}
	
.linki_strony {
	font-size: 1rem;}
	
a.linki_strony:hover {
	text-decoration: underline;}
	


.contact-section{
  padding: 80px 0;
}

.contact-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 40px;
}

.contact-card{
  background: #fff;
  padding: 30px;
  border-radius: 14px;
  box-shadow: 0 8px 30px rgba(0,0,0,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}



.contact-card h3{
  margin-bottom: 15px;
  font-size: 1.2rem;
}

.contact-card a{
  text-decoration: none;
  color: #222;
  font-weight: 500;
}

.contact-card a:hover{
  color: #0b63ff;
}

/* Mobile */
@media (max-width: 800px){
  .contact-grid{
    grid-template-columns: 1fr;
  }
}

/* ===================== END: style.css ====================== */
.lang-switch{
  position: sticky;
  top: 25px;
  left: 10px;
  z-index: 1000;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(0,0,0,0.10);
  backdrop-filter: blur(6px);

  text-decoration: none;
}

.lang-switch img{
  width: 22px;
  height: 16px;
  display: block;
  border-radius: 2px;
}

.lang-switch .lang-text{
  font: 600 12px/1.0 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #333;
  letter-spacing: 0.04em;
}

.lang-switch:hover{
  background: rgba(255,255,255,0.95);
}

.value-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.value-item h4{
  margin-bottom: 8px;
  font-weight: 600;
}