/* LaPassion Group — arkusz stylów strony. Kolory marki: blok :root na górze. */

:root{
  /* --- palette sampled from the fleet livery --- */
  --white:#ffffff;
  --bg-alt:#f7f5f1;
  --navy:#1d1812;          /* lettering ink */
  --navy-deep:#14100c;
  --accent:#6b5437;        /* deep gold - readable on white */
  --accent-hover:#8f7556;
  --text:#1f1b16;
  --text-soft:#6d665e;
  --line:#e8e3db;
  --line-strong:#d5ccbf;
  --brand-gold:#a58a6a;    /* livery gold */
  --gold-hi:#be996e;       /* livery gold, highlight */
  --gold-deep:#6b5437;

  /* --- aliases kept so existing markup stays valid --- */
  --ink:#f7f5f1;
  --ink-2:#f7f5f1;
  --ink-3:#efeae2;
  --hair:#e8e3db;
  --hair-strong:#d5ccbf;
  --ivory:#1f1b16;
  --gold:#6b5437;
  --gold-bright:#a58a6a;
  --gold-dim:#d5ccbf;
  --steel:#6d665e;
  --steel-dim:#d5ccbf;
  --focus:#6b5437;
}
*{box-sizing:border-box;}
@media (prefers-reduced-motion:no-preference){ html{scroll-behavior:smooth;} }
/* keep anchored sections clear of the sticky header */
section[id],main[id]{scroll-margin-top:96px;}
@media (max-width:860px){ section[id],main[id]{scroll-margin-top:80px;} }
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;
  padding:12px 18px;border-radius:0 0 3px 0;font-size:14px;font-weight:600;text-decoration:none;}
.skip-link:focus{left:0;}
body{
  margin:0;
  background:var(--white);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;display:block;height:auto;}
picture{display:block;}
a{color:inherit;}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
h1,h2,h3{font-family:inherit;font-weight:700;margin:0;letter-spacing:-0.015em;text-wrap:balance;color:var(--navy);}
.eyebrow{
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}
.lede{font-size:17.5px;color:var(--text-soft);max-width:58ch;line-height:1.65;}
::selection{background:var(--accent);color:#fff;}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;}

section{padding:88px 0;border-top:1px solid var(--line);}
section.alt{background:var(--bg-alt);}
@media (max-width:720px){ section{padding:60px 0;} }

/* ---------- NAV ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:1200px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.brand img{height:32px;width:auto;}
.brand .word{font-size:17px;font-weight:700;letter-spacing:.04em;color:var(--navy);}
.brand .word b{color:var(--brand-gold);font-weight:700;}
nav.links{display:flex;gap:32px;font-size:14.5px;font-weight:500;}
nav.links a{text-decoration:none;color:var(--text);transition:color .18s;}
nav.links a:hover{color:var(--accent);}
.cta-btn{
  font-family:inherit;font-size:14px;font-weight:600;
  padding:11px 22px;border-radius:3px;text-decoration:none;
  background:var(--accent);color:#fff;letter-spacing:.01em;
  transition:background .18s;white-space:nowrap;display:inline-block;
}
.cta-btn:hover{background:var(--accent-hover);}
.cta-btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--line-strong);}
.cta-btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:transparent;}
.nav-toggle{display:none;background:none;border:0;color:var(--navy);font-size:24px;cursor:pointer;}
@media (max-width:860px){
  nav.links{display:none;}
  .nav .cta-btn:not(.ghost){display:none;}
  .nav-toggle{display:block;}
}
#mobileLinks a{color:var(--text)!important;border-top:1px solid var(--line)!important;}
@media (min-width:861px){ #mobileLinks{display:none!important;} }

/* ---------- HERO ---------- */
.hero{padding:66px 0 0;border-top:0;background:var(--white);}
.hero-intro{max-width:940px;margin:0 auto;text-align:center;}
.hero h1{font-size:clamp(32px,4.2vw,50px);line-height:1.12;margin:16px 0 20px;color:var(--navy);}
.hero h1 em{color:var(--accent);font-style:normal;}
.hero-intro .lede{margin-left:auto;margin-right:auto;}
.hero-ctas{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;justify-content:center;}
.hero-figure{margin-top:46px;}
.hero-figure img{display:block;width:100%;height:auto;}

/* ---------- MAP CARD (network section) ---------- */
.hero-map-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:4px;padding:20px;}
#worldmap2{width:100%;height:auto;display:block;max-width:100%;}

/* ---------- BRAND STRIPE (from the livery two-tone sweep) ---------- */
.brand-ribbon{height:5px;width:100%;
  background:linear-gradient(90deg,var(--navy) 0 34%,var(--brand-gold) 34% 68%,var(--gold-hi) 68% 100%);}
h2.head::after{content:"";display:block;width:64px;height:3px;margin-top:18px;
  background:linear-gradient(90deg,var(--brand-gold) 0 55%,var(--navy) 55% 100%);}
.band-cap b::before{content:"";display:inline-block;width:26px;height:3px;margin-right:10px;vertical-align:middle;
  background:linear-gradient(90deg,var(--gold-hi) 0 55%,#6b6055 55% 100%);}
footer .foot-bottom{border-top:0;position:relative;}
footer .foot-bottom::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--brand-gold) 0 30%,rgba(255,255,255,.14) 30% 100%);}

/* ---------- PHOTOGRAPHY ---------- */

.photo-band{padding:0;border-top:1px solid var(--line);}
.photo-band figure{margin:0;}
.band-photo{display:block;width:100%;height:auto;}
.photo-band figcaption{background:var(--navy-deep);padding:22px 0;}
.band-cap{display:flex;gap:24px;align-items:baseline;flex-wrap:wrap;}
.band-cap b{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-hi);white-space:nowrap;}
.band-cap p{margin:0;font-size:15.5px;line-height:1.5;color:#f2ede5;max-width:72ch;}

/* ---------- FLEET GALLERY ---------- */
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:900px){ .fleet-grid{grid-template-columns:repeat(2,1fr);} }
.fleet-item{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--bg-alt);}
.fleet-item img{display:block;width:100%;height:200px;object-fit:cover;}
.fleet-item span{display:block;padding:12px 14px;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);background:#fff;border-top:1px solid var(--line);}

/* ---------- HERO UTILITY BAR (track shipment) ---------- */
.hero-utility{display:flex;gap:0;margin:22px auto 0;max-width:470px;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden;background:#fff;}
.hero-utility input{
  flex:1;background:#fff;border:0;color:var(--text);
  padding:12px 14px;font-family:inherit;font-size:14.5px;
}
.hero-utility input::placeholder{color:#9b948b;}
.hero-utility input:focus{outline:none;background:#fbf9f6;}
.hero-utility button{
  font-family:inherit;font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  padding:0 22px;border:0;background:var(--navy);color:#fff;cursor:pointer;white-space:nowrap;
  transition:background .18s;
}
.hero-utility button:hover{background:var(--accent);}
.hero-utility-note{margin-top:9px;font-size:12.5px;color:var(--text-soft);}

/* ---------- CAPABILITY STRIP ---------- */
.capability-strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:18px 0;overflow:hidden;white-space:nowrap;background:var(--bg-alt);
}
.capability-strip .track{display:inline-flex;gap:44px;animation:marquee 34s linear infinite;}
.capability-strip span{
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-weight:600;
}
.capability-strip span b{color:var(--accent);font-weight:700;margin-right:9px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){ .capability-strip .track{animation:none;} }

/* ---------- SECTION HEADS ---------- */
.head{max-width:680px;margin-bottom:48px;}
.head h2{font-size:clamp(25px,3vw,36px);color:var(--navy);margin-top:12px;line-height:1.2;}

/* ---------- ABOUT ---------- */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
@media (max-width:860px){ .about-grid{grid-template-columns:1fr;gap:34px;} }
.about-grid p{color:var(--text-soft);font-size:16px;}
.pillars{display:grid;gap:20px;}
.pillar{display:flex;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.pillar:last-child{border-bottom:0;padding-bottom:0;}
.pillar .n{color:var(--accent);font-size:13px;font-weight:700;padding-top:3px;letter-spacing:.04em;}
.pillar h3{font-size:16px;color:var(--navy);font-weight:600;margin-bottom:4px;letter-spacing:0;}
.pillar p{margin:0;color:var(--text-soft);font-size:14.5px;}

/* ---------- STATS BAND ---------- */
.stats-band{border-top:1px solid var(--line);background:var(--white);padding:56px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:860px){ .stats-grid{grid-template-columns:repeat(2,1fr);} }
.stat{background:var(--white);padding:28px 26px;text-align:left;}
.stat .num{font-weight:700;font-size:clamp(24px,2.6vw,32px);color:var(--navy);display:block;letter-spacing:-0.02em;}
.stat .lbl{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-top:8px;display:block;line-height:1.45;}

/* ---------- SERVICES ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
@media (max-width:900px){ .svc-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .svc-grid{grid-template-columns:1fr;} }
.svc{background:var(--white);padding:34px 30px;min-height:250px;display:flex;flex-direction:column;gap:14px;transition:background .2s;}
.svc:hover{background:#fbf9f6;}
.svc svg{width:30px;height:30px;stroke:var(--accent);}
.svc h3{font-weight:600;font-size:18px;color:var(--navy);letter-spacing:-0.005em;}
.svc p{margin:0;color:var(--text-soft);font-size:14.5px;}
.svc-tag{
  font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-soft);background:var(--bg-alt);border:1px solid var(--line);border-radius:2px;
  padding:4px 9px;display:inline-block;width:fit-content;
}

/* ---------- PROCESS ---------- */
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;}
@media (max-width:900px){ .process{grid-template-columns:1fr;gap:26px;} }
.step{position:relative;padding-right:24px;}
.step:not(:last-child)::after{
  content:"";position:absolute;top:14px;right:0;width:24px;height:1px;background:var(--line-strong);
}
@media (max-width:900px){ .step:not(:last-child)::after{display:none;} }
.step .n{color:var(--accent);font-size:13px;font-weight:700;display:block;margin-bottom:12px;letter-spacing:.04em;}
.step h3{font-size:15.5px;font-weight:600;color:var(--navy);margin-bottom:8px;letter-spacing:0;}
.step p{margin:0;font-size:13.5px;color:var(--text-soft);}

/* ---------- TRACKER MOCKUP ---------- */
.tracker{
  background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px 30px;margin-top:56px;
}
.tracker-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:26px;flex-wrap:wrap;gap:10px;}
.tracker-top .ref{color:var(--text-soft);font-size:13px;letter-spacing:.01em;}
.tracker-top .ref b{color:var(--navy);font-weight:700;}
.tsteps{display:flex;justify-content:space-between;position:relative;}
.tsteps::before{content:"";position:absolute;top:6px;left:0;right:0;height:1px;background:var(--line-strong);}
.tstep{position:relative;flex:1;text-align:center;}
.tstep .pip{width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid var(--line-strong);margin:0 auto 12px;position:relative;z-index:1;}
.tstep.done .pip{background:var(--accent);border-color:var(--accent);}
.tstep.active .pip{background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(165,138,106,.28);}
.tstep .lbl{font-size:12px;color:var(--text-soft);letter-spacing:.02em;}
.tstep.done .lbl,.tstep.active .lbl{color:var(--navy);font-weight:600;}
@media (max-width:700px){ .tsteps{flex-direction:column;gap:18px;align-items:flex-start;} .tsteps::before{display:none;} .tstep{display:flex;align-items:center;gap:12px;text-align:left;} .tstep .pip{margin:0;} }

/* ---------- NETWORK ---------- */
.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media (max-width:900px){ .network-grid{grid-template-columns:1fr;} }
.hub-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0;}
.hub-list li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line-strong);font-size:14.5px;gap:16px;}
.hub-list li span:first-child{color:var(--navy);font-weight:600;}
.hub-list li span:last-child{color:var(--text-soft);font-size:13px;text-align:right;}

/* ---------- TRUST ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
@media (max-width:900px){ .trust-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .trust-grid{grid-template-columns:1fr;} }
.trust svg{width:26px;height:26px;stroke:var(--accent);margin-bottom:14px;}
.trust h3{font-size:16px;font-weight:600;color:var(--navy);margin-bottom:8px;letter-spacing:0;}
.trust p{margin:0;color:var(--text-soft);font-size:14px;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;gap:40px;} }
.contact-info a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--line-strong);}
.contact-info a:hover{border-bottom-color:var(--accent);}
.contact-info dl{margin-top:26px;}
.contact-info dt{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-soft);margin-top:20px;}
.contact-info dd{margin:5px 0 0;font-size:15.5px;color:var(--navy);}
form.quote{display:grid;gap:16px;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){ .row2{grid-template-columns:1fr;} }
label{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-soft);display:block;margin-bottom:7px;}
input,textarea,select{
  width:100%;background:#fff;border:1px solid var(--line-strong);color:var(--text);
  padding:11px 13px;font-family:inherit;font-size:14.5px;border-radius:3px;
}
input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;}
textarea{min-height:110px;resize:vertical;}
.submit-row{display:flex;align-items:center;gap:16px;margin-top:2px;flex-wrap:wrap;}
button.cta-btn{border:0;cursor:pointer;}
.form-note{font-size:12.5px;color:var(--text-soft);}
.consent{display:flex;gap:10px;align-items:flex-start;}
.consent input[type="checkbox"]{width:16px;height:16px;min-width:16px;flex:0 0 16px;margin:2px 0 0;padding:0;accent-color:var(--accent);}
.consent label{flex:1 1 auto;min-width:0;display:block;margin:0;font-size:12.5px;font-weight:400;letter-spacing:0;
  text-transform:none;color:var(--text-soft);line-height:1.55;}
.consent a{color:var(--accent);}
.demo-badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-soft);border:1px solid var(--line-strong);border-radius:2px;padding:2px 7px;margin-right:10px;}

/* ---------- FOOTER (dark navy anchor) ---------- */
footer{background:var(--navy-deep);color:#d2c9bc;border-top:0;padding:48px 0 30px;}
footer .brand .word{color:#fff;}
footer .brand .word b{color:var(--brand-gold);}
.foot-grid{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:26px;}
.foot-grid img{height:30px;opacity:1;}
.foot-links{display:flex;gap:26px;font-size:13.5px;color:#d2c9bc;flex-wrap:wrap;}
.foot-links a{text-decoration:none;}
.foot-links a:hover{color:#fff;}
.foot-bottom{margin-top:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#a0968a;}

@media (prefers-reduced-motion:no-preference){
  .reveal-init{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease;}
  /* must out-specify .reveal-init, otherwise revealed elements stay invisible */
  .reveal-init.reveal{opacity:1;transform:none;}
}
.reveal{opacity:1;transform:none;}
.mark{display:inline-flex;line-height:0;}

/* ---------- SIATKA STATYSTYK ---------- */
/* dluzsze etykiety (np. po estonsku) nie moga rozpychac siatki poza ekran */
.stats-grid > .stat{min-width:0;}
.stats-grid .lbl{overflow-wrap:anywhere;}

/* ---------- PRZELACZNIK JEZYKA ---------- */
.lang-switch{display:flex;gap:4px;align-items:center;}
.lang-switch a{font-size:12px;font-weight:700;letter-spacing:.07em;text-decoration:none;
  color:var(--text-soft);padding:6px 9px;border:1px solid var(--line);border-radius:3px;
  line-height:1;transition:color .18s,border-color .18s,background .18s;}
.lang-switch a:hover{color:var(--accent);border-color:var(--line-strong);}
.lang-switch a[aria-current="true"]{color:#fff;background:var(--navy);border-color:var(--navy);}
.nav-right{display:flex;align-items:center;gap:14px;}
@media (max-width:860px){ .nav-right .cta-btn{display:none;} }
@media (max-width:860px){
  .nav{gap:10px;}
  .nav-right{gap:8px;}
  .lang-switch a{padding:5px 6px;font-size:11px;letter-spacing:.04em;}
  .brand .word{font-size:15px;}
  .brand img{height:28px;}
}
