/* ====== Design tokens ====== */
:root{
  --gold-1:#d6b26e;
  --gold-2:#b88a45;
  --ink:#0b0c0f;
  --paper:#efe8dc;

  --text:#efe9dd;
  --muted:rgba(239,233,221,.78);

  --bg-a:#07080b;
  --bg-b:#111218;

  --waveA: rgba(214,178,110,.35);
  --waveB: rgba(214,178,110,.06);

  --radius: 14px;
  --max: 1080px;
}

/* ====== Light theme overrides ====== */
body[data-theme="light"]{
  --text:#2b2621;
  --muted:rgba(43,38,33,.70);

  --bg-a:#f3eee6;
  --bg-b:#e9e0d2;

  --waveA: rgba(184,138,69,.35);
  --waveB: rgba(184,138,69,.08);
}

/* ====== Base ====== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 15% 10%, rgba(214,178,110,.10), transparent 60%),
    radial-gradient(900px 500px at 85% 15%, rgba(214,178,110,.08), transparent 62%),
    radial-gradient(1100px 700px at 40% 90%, rgba(255,255,255,.06), transparent 55%),
    linear-gradient(180deg, var(--bg-a), var(--bg-b));
  overflow-x:hidden;
}

/* subtle grain */
body:before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  opacity:.10;
  mix-blend-mode:overlay;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.06), transparent 40%),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.05), transparent 45%),
    radial-gradient(circle at 30% 80%, rgba(255,255,255,.04), transparent 50%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.015), rgba(255,255,255,.015) 1px, transparent 1px, transparent 3px);
}

.section-band{
  position:relative;
  margin:0 calc(50% - 50vw);
  padding:0 calc(50% - 50vw);
  background-image:var(--band-bg-image);
  background-size:var(--band-bg-size);
  background-position:var(--band-bg-position);
  overflow:hidden;
}

.section-band::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--band-overlay);
  pointer-events:none;
  z-index:0;
}

.section-inner{
  position:relative;
  z-index:1;
  max-width:var(--layout-max-width);
  margin:0 auto;
  padding:0 var(--layout-content-padding);
}

/* container */
.page{max-width:var(--layout-max-width); margin:0 auto; padding:0 var(--layout-page-padding)}

/* ====== Theme toggle ====== */
.theme-toggle{
  position:fixed; top:18px; right:18px; z-index:50;
  display:flex; gap:0;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.25);
  backdrop-filter: blur(10px);
  border-radius:10px;
  padding:4px;
  color:var(--text);
}
body[data-theme="light"] .theme-toggle{
  border-color: rgba(0,0,0,.12);
  background:rgba(255,255,255,.45);
}
.theme-toggle span{
  font-size:14px;
  padding:8px 14px;
  border-radius:8px;
  opacity:.75;
}
body[data-theme="dark"] .theme-toggle span:first-child,
body[data-theme="light"] .theme-toggle span:last-child{
  opacity:1;
  background:rgba(255,255,255,.10);
}
body[data-theme="light"] .theme-toggle span{
  color:#1f1a16;
}

/* ====== Hero ====== */
.hero{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding:var(--hero-padding);
  min-height:var(--hero-min-height);
  background: var(--hero-bg-image) var(--hero-bg-pos-x) var(--hero-bg-pos-y) / var(--hero-bg-size) no-repeat;
  text-align:center;
  margin:0 calc(50% - 50vw);
  width:100vw;
}
body[data-theme="light"] .hero{ filter: brightness(1.05); }

.hero-inner{
  position:relative;
  z-index:2;
  max-width:960px;
  padding:var(--hero-inner-padding);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin-left:var(--hero-inner-offset);
  text-align:var(--hero-inner-align);
}
.hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:fit-content;
  transform: translate(var(--hero-copy-x), var(--hero-copy-y));
  gap:var(--hero-copy-gap);
}
.hero h1{
  font-family:"Cormorant Garamond", serif;
  font-weight:500;
  letter-spacing:.5px;
  margin:0;
  font-size:clamp(40px, 5.1vw, 62px);
  text-shadow: 0 18px 60px rgba(0,0,0,.55);
  display:inline-block;
  transform: translate(var(--hero-h1-shift-x), var(--hero-h1-shift-y));
}
/* underline consistent with separators */
.hero h1::after{
  content:"";
  display:block;
  height:1px;
  width: var(--hero-underline-width);
  margin:12px auto 0;
  background:linear-gradient(90deg,transparent,rgba(214,178,110,.4),rgba(255,245,220,.95),rgba(214,178,110,.4),transparent);
  box-shadow:0 0 12px rgba(214,178,110,.32);
  transform: translate(var(--hero-underline-shift-x), var(--hero-underline-shift-y));
}
body[data-theme="light"] .hero h1{
  text-shadow: 0 18px 60px rgba(120,90,40,.25);
}
.lead{
  margin:14px 0 0;
  font-weight:400;
  color:var(--muted);
  letter-spacing:.25px;
  text-align:center;
  font-size:clamp(18px, 2.2vw, 24px);
  font-family:"Cormorant Garamond", serif;
  transform: translate(var(--hero-lead-shift-x), var(--hero-lead-shift-y));
  max-width:var(--hero-lead-max-width);
}

/* ====== CTA button ====== */
.btn-cta{
  display:inline-block;
  margin-top:22px;
  padding:14px 34px;
  position: relative;
  left: var(--hero-cta-shift-x);
  top: var(--hero-cta-shift-y);
  border-radius:12px;
  color:#1b140e;
  text-decoration:none;
  font-weight:500;
  letter-spacing:.2px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 42%),
    linear-gradient(135deg, var(--gold-1), var(--gold-2));
  border:1px solid rgba(255,255,255,.28);

  box-shadow:
    0 18px 40px rgba(0,0,0,.35),
    0 2px 0 rgba(255,255,255,.25) inset,
    0 -10px 18px rgba(0,0,0,.18) inset;

  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-cta:hover{
  transform: translateY(-1px);
  filter: brightness(1.03) saturate(1.05);
  box-shadow:
    0 22px 52px rgba(0,0,0,.42),
    0 2px 0 rgba(255,255,255,.28) inset,
    0 -12px 22px rgba(0,0,0,.20) inset;
}
.btn-cta:active{
  transform: translateY(1px);
  box-shadow:
    0 10px 24px rgba(0,0,0,.35),
    0 1px 0 rgba(255,255,255,.22) inset,
    0 -8px 14px rgba(0,0,0,.22) inset;
}

/* ====== Separators ====== */
.section-sep{position:relative; padding-top:10px;}
.hairline{
  height:1px;
  margin:10px calc(50% - 50vw) 10px;
  width:100vw;
  background:var(--hairline-gradient);
  box-shadow:var(--hairline-shadow);
}
.hairline--joint{margin-top:0;}
.hairline--tight{margin-top:4px;}
.hairline--tail{margin-bottom:0;}

/* ====== Feature row ====== */
.feature-row{
  display:grid;
  grid-template-columns:var(--feature-grid-template);
  gap:var(--feature-grid-gap);
  align-items:center;
  align-content:center;
  text-align:center;
  padding:var(--feature-grid-padding);
  min-height:var(--feature-grid-min-height);
  position:var(--feature-grid-position);
}
.feature{
  text-align:center;
  padding:10px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
}
.feature-top{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:6px;
}
.feature .ico{
  width:42px;
  height:42px;
  display:block;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  filter:var(--feature-icon-shadow);
}
.feature .t{
  font-family:"Cormorant Garamond", serif;
  font-size:18px;
  letter-spacing:.2px;
}
.feature .s{
  margin:6px 0 0;
  font-size:13px;
  color:rgba(214,178,110,.95);
}
body[data-theme="light"] .feature .s{ color: rgba(184,138,69,.95); }
.mini-line{
  display:block;
  width:var(--feature-mini-line-width);
  height:1px;
  background:var(--feature-mini-line-gradient);
  opacity:.9;
  margin:0;
  align-self:center;
}
.feature--fleet .ico{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSI+CiAgPHJlY3QgeD0iMTAiIHk9IjI2IiB3aWR0aD0iNDQiIGhlaWdodD0iMTgiIHJ4PSI3IiBzdHJva2U9IiNkNmIyNmUiIHN0cm9rZS13aWR0aD0iMyIvPgogIDxwYXRoIGQ9Ik0xNCAyNmw0LTEwaDI4bDQgMTAiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICA8cGF0aCBkPSJNMTYgNDR2NG0zMi00djQiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjQ0IiByPSI0IiBzdHJva2U9IiNkNmIyNmUiIHN0cm9rZS13aWR0aD0iMyIvPgogIDxjaXJjbGUgY3g9IjQ0IiBjeT0iNDQiIHI9IjQiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPHBhdGggZD0iTTI0IDMyaDE2IiBzdHJva2U9IiNkNmIyNmUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPg==");}
.feature--vip .ico{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0iTTE0IDM2di02YTE4IDE4IDAgMCAxIDM2IDB2NiIgc3Ryb2tlPSIjZDZiMjZlIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogIDxyZWN0IHg9IjEyIiB5PSIzMiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjE0IiByeD0iMyIgc3Ryb2tlPSIjZDZiMjZlIiBzdHJva2Utd2lkdGg9IjMiLz4KICA8cmVjdCB4PSI0MiIgeT0iMzIiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxNCIgcng9IjMiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIi8+CiAgPHBhdGggZD0iTTIyIDQwdjJhMTAgMTAgMCAwIDAgMTAgMTBoNiIgc3Ryb2tlPSIjZDZiMjZlIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgogIDxwYXRoIGQ9Ik00MCA1Mmg0IiBzdHJva2U9IiNkNmIyNmUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPg==");}
.feature--shield .ico{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0iTTMyIDEwbDE2IDZ2MTNjMCAxMi03IDIwLTE2IDI1LTktNS0xNi0xMy0xNi0yNVYxNmwxNi02WiIgc3Ryb2tlPSIjZDZiMjZlIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICA8cGF0aCBkPSJNMzIgMjJ2MTQiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8cGF0aCBkPSJNMjUgMzBoMTQiIHN0cm9rZT0iI2Q2YjI2ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+");}

/* ====== Services ====== */
.services{
  padding:var(--services-padding);
  text-align:center;
  width:100%;
  margin:0;
}
.services h2{
  font-family:"Cormorant Garamond", serif;
  font-weight:600;
  font-size:clamp(28px, 3.2vw, 44px);
  margin: 8px 0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  letter-spacing:.3px;
  width:100%;
}
.h2-line{
  display:inline-block;
  height:1px;
  width:100%;
  max-width:none;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(214,178,110,.8),transparent);
  filter:blur(.1px);
}
.service-grid{
  display:grid;
  grid-template-columns:var(--service-grid-template);
  gap:var(--service-grid-gap);
  align-items:start;
  justify-items:center;
}
.service{
  text-align:center;
  aspect-ratio:1/1;
  max-width:var(--service-card-max-width);
  width:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
}
.service-media{
  overflow:hidden;
  position:relative;
  flex:0 0 75%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.service img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  background:rgba(0,0,0,.35);
}
.service h3{
  font-family:"Cormorant Garamond", serif;
  font-weight:500;
  margin:0;
  font-size:clamp(18px, 2.2vw, 24px);
  letter-spacing:.2px;
}
.service p{
  margin:0;
  font-size:clamp(13px, 1.4vw, 16px);
  color:var(--muted);
}
.service-caption{
  background:rgba(0,0,0,.24);
  backdrop-filter:blur(2px);
  padding:14px 12px 14px;
  position:relative;
  flex:0 0 25%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body[data-theme="light"] .service-caption{
  background:rgba(255,255,255,.55);
  color:#1f1a16;
}
.mini-line--caption{display:none;}

/* footer spacer */
.footer-spacer{padding-bottom:70px}
.note{opacity:var(--footer-note-opacity); font-size:var(--footer-note-font-size); text-align:center; padding:var(--footer-note-padding)}

/* ====== Asystent AI ====== */
.assistant-card{
  max-width:var(--assistant-card-max-width);
  margin:18px auto 0;
  padding:var(--assistant-card-padding);
  border:var(--assistant-card-border);
  border-radius:var(--assistant-card-radius);
  background:var(--assistant-card-bg);
}

.assistant-helper{
  font-family: var(--assistant-font-family);
  font-size: var(--assistant-helper-font-size);
  opacity: var(--assistant-helper-opacity);
  margin-bottom:10px;
  text-align:center;
}

.assistant-log{
  padding: var(--assistant-log-padding);
  border: var(--assistant-log-border);
  border-radius: var(--assistant-log-radius);
  min-height: var(--assistant-log-min-height);
  font-family: var(--assistant-font-family);
  font-size: var(--assistant-log-font-size);
  line-height:1.4;
  white-space: pre-wrap;
}

.assistant-input-row{
  display:flex;
  gap:var(--assistant-input-gap);
  margin-top:10px;
  align-items:stretch;
}

.assistant-textarea{
  flex:1;
  resize: vertical;
  padding:var(--assistant-textarea-padding);
  border-radius:var(--assistant-textarea-radius);
  border:var(--assistant-textarea-border);
  background:transparent;
  color:inherit;
  font-family: var(--assistant-font-family);
  font-size: var(--assistant-log-font-size);
}

.assistant-button{
  padding:var(--assistant-button-padding);
  border-radius:var(--assistant-button-radius);
  border:var(--assistant-button-border);
  background:var(--assistant-button-bg);
  color:inherit;
  font-family: var(--assistant-font-family);
  font-size:var(--assistant-button-font-size);
  cursor:pointer;
}

.assistant-hint{
  margin-top:10px;
  font-family: var(--assistant-font-family);
  font-size: var(--assistant-hint-font-size);
  opacity: var(--assistant-hint-opacity);
}

/* ====== Desktop layout ====== */
@media (min-width: 921px){
  :root{
    --layout-page-padding: var(--layout-padding-desktop);
    --layout-content-padding: var(--layout-padding-desktop);
    --hero-padding: var(--hero-padding-desktop);
    --hero-min-height: var(--hero-height-desktop);
    --hero-inner-padding: var(--hero-inner-padding-desktop);
    --hero-inner-offset: var(--hero-inner-offset-desktop);
    --hero-inner-align: var(--hero-inner-align-desktop);
    --hero-copy-gap: var(--hero-copy-gap-desktop);
    --hero-lead-max-width: var(--hero-lead-max-width-desktop);
    --feature-grid-template: var(--feature-grid-template-desktop);
    --feature-grid-gap: var(--feature-grid-gap-desktop);
    --feature-grid-padding: var(--feature-grid-padding-desktop);
    --feature-grid-min-height: var(--feature-grid-min-height-desktop);
    --feature-divider-height: var(--feature-divider-height-desktop);
    --feature-divider-margin: var(--feature-divider-margin-desktop);
    --feature-divider-first: var(--feature-divider-first-desktop);
    --feature-divider-second: var(--feature-divider-second-desktop);
    --services-padding: var(--services-padding-desktop);
    --service-grid-template: var(--service-grid-template-desktop);
    --service-grid-gap: var(--service-grid-gap-desktop);
  }
  .hero{
    align-items:flex-start;
    justify-content:flex-start;
    background-position: var(--hero-bg-pos-x) var(--hero-bg-pos-y);
    width:100vw;
    margin-left:calc(50% - 50vw);
  }
  .lead{max-width:var(--hero-lead-max-width);}
  .feature-row{position:relative;}
  .feature-row:before,
  .feature-row:after{
    content:"";
    position:absolute;
    top:50%;
    width:1px;
    height:var(--feature-divider-height);
    max-height:calc(100% - var(--feature-divider-margin));
    transform:translateY(-50%);
    background:var(--feature-divider-gradient);
  }
  .feature-row:before{left:var(--feature-divider-first);}
  .feature-row:after{left:var(--feature-divider-second);}
  .services h2{
    max-width:1016px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* ====== Mobile layout ====== */
@media (max-width: 920px){
  :root{
    --layout-page-padding: var(--layout-padding-mobile);
    --layout-content-padding: var(--layout-padding-mobile);
    --hero-padding: var(--hero-padding-mobile);
    --hero-min-height: var(--hero-height-mobile);
    --hero-inner-padding: var(--hero-inner-padding-mobile);
    --hero-inner-offset: var(--hero-inner-offset-mobile);
    --hero-inner-align: var(--hero-inner-align-mobile);
    --hero-copy-gap: var(--hero-copy-gap-mobile);
    --hero-lead-max-width: var(--hero-lead-max-width-mobile);
    --feature-grid-template: var(--feature-grid-template-mobile);
    --feature-grid-gap: var(--feature-grid-gap-mobile);
    --feature-grid-padding: var(--feature-grid-padding-mobile);
    --feature-grid-min-height: var(--feature-grid-min-height-mobile);
    --feature-divider-height: var(--feature-divider-height-mobile);
    --feature-divider-margin: var(--feature-divider-margin-mobile);
    --feature-divider-first: var(--feature-divider-first-mobile);
    --feature-divider-second: var(--feature-divider-second-mobile);
    --services-padding: var(--services-padding-mobile);
    --service-grid-template: var(--service-grid-template-mobile);
    --service-grid-gap: var(--service-grid-gap-mobile);
  }
  .hero{
    width:100vw;
    margin-left:calc(50% - 50vw);
    /* background-position:center 20%; */
    justify-content:flex-start;
   }
  .hero-inner{padding-top:4px; margin:0 auto; align-items:center;}
  .feature-row:before,
  .feature-row:after{display:none;}
  .services{
    margin:0;
    width:100%;
    background-position:center;
  }
}

/* ====== Chat log: ograniczenie wysokości + przewijanie ====== */
#vipChatLog{
  max-height: 9.5em;
  overflow-y: auto;
  overflow-x: hidden;
}

/* ====== TUNING: layout, HERO, BAND, SERVICES, ASYSTENT AI, FOOTER ====== */
/* Zmieniaj TYLKO wartości poniżej. */
:root{
  /* Layout */
  --layout-max-width: 1080px;
  --layout-padding-desktop: 32px;
  --layout-padding-mobile: 18px;
  --layout-page-padding: var(--layout-padding-desktop);
  --layout-content-padding: var(--layout-padding-desktop);

  /* HERO: układ i pozycje */
  --hero-padding-desktop: 42px 0 22px;
  --hero-padding-mobile: 28px 0 22px;
  --hero-padding: var(--hero-padding-desktop);
  --hero-height-desktop: 100vh;
  --hero-height-mobile: 78vh;
  --hero-min-height: var(--hero-height-desktop);
  --hero-inner-padding-desktop: 8px 12px 0;
  --hero-inner-padding-mobile: 0 12px;
  --hero-inner-padding: var(--hero-inner-padding-desktop);
  --hero-inner-offset-desktop: 8%;
  --hero-inner-offset-mobile: 0;
  --hero-inner-offset: var(--hero-inner-offset-desktop);
  --hero-inner-align-desktop: left;
  --hero-inner-align-mobile: center;
  --hero-inner-align: var(--hero-inner-align-desktop);
  --hero-copy-gap-desktop: 0px;
  --hero-copy-gap-mobile: 0px;
  --hero-copy-gap: var(--hero-copy-gap-desktop);
  --hero-lead-max-width-desktop: 480px;
  --hero-lead-max-width-mobile: none;
  --hero-lead-max-width: var(--hero-lead-max-width-desktop);

  /* HERO: pozycje elementów */
  --hero-bg-image: var(--hero-dark-desktop-bg);
  --hero-bg-pos-x: center;
  --hero-bg-pos-y: 15%;
  --hero-bg-size: cover;
  --hero-copy-x: 0px;
  --hero-copy-y: 0px;
  --hero-h1-shift-x: 0px;
  --hero-h1-shift-y: 0px;
  --hero-lead-shift-x: 0px;
  --hero-lead-shift-y: 0px;
  --hero-cta-shift-x: 0px;
  --hero-cta-shift-y: 0px;
  --hero-underline-width: calc(100% - 20px);
  --hero-underline-shift-x: 0px;
  --hero-underline-shift-y: 0px;

  /* CTA / hairline */
  --cta-margin-top: 22px;
  --hairline-gradient:linear-gradient(90deg,transparent 2%,rgba(214,178,110,.45) 14%,rgba(255,245,220,.95) 50%,rgba(214,178,110,.45) 86%,transparent 98%);
  --hairline-shadow:0 0 16px rgba(214,178,110,.35);

  /* BAND */
  --band-bg-image: var(--band-dark-desktop-bg);
  --band-bg-size: cover;
  --band-bg-position: center 100%;
  --band-overlay:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.24));

  /* SERVICES / FEATURE GRID */
  --feature-grid-template-desktop: repeat(3, 1fr);
  --feature-grid-template-mobile: 1fr;
  --feature-grid-template: var(--feature-grid-template-desktop);
  --feature-grid-gap-desktop: 18px;
  --feature-grid-gap-mobile: 12px;
  --feature-grid-gap: var(--feature-grid-gap-desktop);
  --feature-grid-padding-desktop: 10px 0;
  --feature-grid-padding-mobile: 8px 0 8px;
  --feature-grid-padding: var(--feature-grid-padding-desktop);
  --feature-grid-min-height-desktop: 92px;
  --feature-grid-min-height-mobile: 0;
  --feature-grid-min-height: var(--feature-grid-min-height-desktop);
  --feature-grid-position: relative;
  --feature-icon-shadow: drop-shadow(0 10px 16px rgba(0,0,0,.26));
  --feature-mini-line-width: 128px;
  --feature-mini-line-gradient: linear-gradient(90deg, transparent, rgba(214,178,110,.8), transparent);
  --feature-divider-height-desktop: 132px;
  --feature-divider-height-mobile: 0px;
  --feature-divider-height: var(--feature-divider-height-desktop);
  --feature-divider-margin-desktop: 28px;
  --feature-divider-margin-mobile: 0px;
  --feature-divider-margin: var(--feature-divider-margin-desktop);
  --feature-divider-gradient: linear-gradient(180deg, transparent, rgba(214,178,110,.6), transparent);
  --feature-divider-first-desktop: 33.33%;
  --feature-divider-first-mobile: 0%;
  --feature-divider-first: var(--feature-divider-first-desktop);
  --feature-divider-second-desktop: 66.66%;
  --feature-divider-second-mobile: 0%;
  --feature-divider-second: var(--feature-divider-second-desktop);

  --services-padding-desktop: 44px 0 64px;
  --services-padding-mobile: 38px 0 58px;
  --services-padding: var(--services-padding-desktop);
  --service-grid-template-desktop: repeat(3, 1fr);
  --service-grid-template-mobile: 1fr;
  --service-grid-template: var(--service-grid-template-desktop);
  --service-grid-gap-desktop: 28px;
  --service-grid-gap-mobile: 24px;
  --service-grid-gap: var(--service-grid-gap-desktop);
  --service-card-max-width: 320px;

  /* ASYSTENT AI / CTA */
  --assistant-card-max-width: 720px;
  --assistant-card-padding: 14px;
  --assistant-card-border: 1px solid rgba(255,255,255,.12);
  --assistant-card-radius: 14px;
  --assistant-card-bg: transparent;
  --assistant-font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --assistant-helper-font-size: 14px;
  --assistant-helper-opacity: .85;
  --assistant-log-padding: 12px;
  --assistant-log-border: 1px solid rgba(255,255,255,.10);
  --assistant-log-radius: 12px;
  --assistant-log-min-height: 96px;
  --assistant-log-font-size: 14px;
  --assistant-input-gap: 10px;
  --assistant-textarea-padding: 10px 12px;
  --assistant-textarea-radius: 12px;
  --assistant-textarea-border: 1px solid rgba(255,255,255,.12);
  --assistant-button-padding: 10px 14px;
  --assistant-button-radius: 12px;
  --assistant-button-border: 1px solid rgba(255,255,255,.18);
  --assistant-button-bg: rgba(255,255,255,.06);
  --assistant-button-font-size: 14px;
  --assistant-hint-font-size: 12px;
  --assistant-hint-opacity: .7;

  /* FOOTER */
  --footer-note-opacity: .6;
  --footer-note-font-size: 12px;
  --footer-note-padding: 18px 0;

  /* Mapy obrazów: HERO i BAND */
  --hero-dark-desktop-bg: url("assets/img/01-night-desktop/01-mb-wawa.webp");
  --hero-dark-mobile-bg: url("assets/img/01-night-mobile/01-lexus.webp");
  --hero-light-desktop-bg: url("assets/img/01-day-desktop/02-mb.webp");
  --hero-light-mobile-bg: url("assets/img/01-day-mobile/03-mb-oldtown.webp");

  --band-dark-desktop-bg: url("assets/img/02-night-desktop/bg-asphalt-night.webp");
  --band-dark-mobile-bg: url("assets/img/02-night-mobile/asphalt-night.webp");
  --band-light-desktop-bg: url("assets/img/02-day-desktop/bg-asphalt-day.webp");
  --band-light-mobile-bg: url("assets/img/02-day-mobile/bg-asphalt-day.webp");

  /* Mapy obrazów: SERVICES (dark/light x desktop/mobile) */
  --service-airport-dark-desktop-img: 'assets/img/02-night-desktop/service-airport.webp';
  --service-airport-dark-mobile-img: 'assets/img/02-night-mobile/service-airport.webp';
  --service-airport-light-desktop-img: 'assets/img/02-day-desktop/service-airport.webp';
  --service-airport-light-mobile-img: 'assets/img/02-day-mobile/service-airport.webp';

  --service-business-dark-desktop-img: 'assets/img/02-night-desktop/service-business.webp';
  --service-business-dark-mobile-img: 'assets/img/02-night-mobile/service-business.webp';
  --service-business-light-desktop-img: 'assets/img/02-day-desktop/service-business.webp';
  --service-business-light-mobile-img: 'assets/img/02-day-mobile/service-business.webp';

  --service-special-dark-desktop-img: 'assets/img/02-night-desktop/service-special.webp';
  --service-special-dark-mobile-img: 'assets/img/02-night-mobile/service-special.webp';
  --service-special-light-desktop-img: 'assets/img/02-day-desktop/service-special.webp';
  --service-special-light-mobile-img: 'assets/img/02-day-mobile/service-special.webp';
}

body[data-theme="light"]{
  --hero-bg-image: var(--hero-light-desktop-bg);
  --hero-bg-pos-x: center;
  --hero-bg-pos-y: 50%;
  --hero-bg-size: 100% auto;
  --band-bg-image: var(--band-light-desktop-bg);
  --assistant-card-border: 1px solid rgba(0,0,0,.12);
  --assistant-log-border: 1px solid rgba(0,0,0,.10);
  --assistant-textarea-border: 1px solid rgba(0,0,0,.12);
  --assistant-button-border: 1px solid rgba(0,0,0,.18);
  --assistant-button-bg: rgba(0,0,0,.06);
  --assistant-helper-opacity: .9;
  --assistant-hint-opacity: .7;
}

@media (max-width: 920px){
  :root{
    --layout-page-padding: var(--layout-padding-mobile);
    --layout-content-padding: var(--layout-padding-mobile);
    --hero-padding: var(--hero-padding-mobile);
    --hero-min-height: var(--hero-height-mobile);
    --hero-inner-padding: var(--hero-inner-padding-mobile);
    --hero-inner-offset: var(--hero-inner-offset-mobile);
    --hero-inner-align: var(--hero-inner-align-mobile);
    --hero-copy-gap: var(--hero-copy-gap-mobile);
    --hero-lead-max-width: var(--hero-lead-max-width-mobile);
    --hero-bg-image: var(--hero-dark-mobile-bg);
    --hero-bg-pos-y: center;
    --hero-bg-size: cover;
    --band-bg-image: var(--band-dark-mobile-bg);
    --feature-grid-template: var(--feature-grid-template-mobile);
    --feature-grid-gap: var(--feature-grid-gap-mobile);
    --feature-grid-padding: var(--feature-grid-padding-mobile);
    --feature-grid-min-height: var(--feature-grid-min-height-mobile);
    --feature-divider-height: var(--feature-divider-height-mobile);
    --feature-divider-margin: var(--feature-divider-margin-mobile);
    --feature-divider-first: var(--feature-divider-first-mobile);
    --feature-divider-second: var(--feature-divider-second-mobile);
    --services-padding: var(--services-padding-mobile);
    --service-grid-template: var(--service-grid-template-mobile);
    --service-grid-gap: var(--service-grid-gap-mobile);
  }

  body[data-theme="light"]{
    --hero-bg-image: var(--hero-light-mobile-bg);
    --hero-bg-pos-x: left;
    --hero-bg-pos-y: center;
    --hero-bg-size: cover;
    --band-bg-image: var(--band-light-mobile-bg);
  }
}
