@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=Montserrat:wght@300;400;500;600&display=swap');

:root{
  --bg:#07131d;
  --bg-2:#0b1b28;
  --panel:#0d1f2d;
  --panel-2:#102737;
  --text:#f5f8fb;
  --muted:#a8b6c4;
  --line:rgba(255,255,255,.12);
  --accent:#25b7e8;
  --photo:#db72e6;
  --dalej:#62d596;
  --shadow:0 22px 60px rgba(0,0,0,.28);
  --radius:22px;
  --nav-h:78px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:linear-gradient(180deg,#07131d 0%,#081824 45%,#06111a 100%);color:var(--text);font-family:"Montserrat","Avenir Next","Segoe UI",sans-serif;font-weight:300;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* navigation */
.site-header{height:var(--nav-h);position:sticky;top:0;z-index:80;background:rgba(5,16,25,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand-logo img{width:92px;height:auto;filter:drop-shadow(0 2px 7px rgba(0,0,0,.22))}
.nav-links{display:flex;align-items:center;gap:34px;font-size:.88rem;font-weight:400}
.nav-links a{position:relative;padding:10px 0;color:#e9eef3}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--accent);transition:.25s ease}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}
.menu-button{display:none;border:0;background:transparent;color:#fff;font-size:1.4rem;padding:8px;cursor:pointer}

/* home hero */
.home-hero{min-height:620px;position:relative;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(4,14,22,.82) 0%,rgba(4,14,22,.48) 43%,rgba(4,14,22,.12) 72%,rgba(4,14,22,.38) 100%),url('../images/hero-home.webp');background-size:cover;background-position:center center;overflow:hidden}
.home-hero::after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero-copy{position:relative;z-index:2;width:min(720px,70%);padding:64px 0 92px}
.eyebrow{text-transform:uppercase;letter-spacing:.35em;font-size:.73rem;font-weight:500;color:#d8e2ea;margin-bottom:20px}
.hero-title{margin:0;font-size:clamp(3rem,7vw,6.7rem);line-height:.96;font-weight:400;letter-spacing:.13em;text-indent:.13em;text-shadow:0 4px 26px rgba(0,0,0,.25)}
.hero-subtitle{margin:15px 0 0;font-size:clamp(1.45rem,2.7vw,2.5rem);letter-spacing:.1em;color:#dbe4ec;font-weight:300}
.hero-rule{width:52px;height:2px;background:var(--accent);margin:24px 0}
.hero-intro{max-width:510px;margin:0;color:#e9eef2;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.45}
.hero-script{position:absolute;z-index:3;right:7%;bottom:110px;font-family:"Caveat","Segoe Print",cursive;font-size:clamp(1.5rem,2.7vw,2.7rem);line-height:1.05;transform:rotate(-38deg);transform-origin:center center;text-align:center;text-shadow:0 4px 20px rgba(0,0,0,.65)}

/* homepage cards */
.home-sections{position:relative;z-index:4;margin-top:-48px;padding-bottom:90px}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.home-card{min-height:440px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease}
.home-card:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.25)}
.card-media{height:270px;position:relative;overflow:hidden;background:#0b1b28}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.home-card:hover .card-media img{transform:scale(1.035)}
.card-media.smart-abstract{display:grid;place-items:center;background:radial-gradient(circle at 70% 28%,rgba(37,183,232,.24),transparent 30%),linear-gradient(135deg,#0e2637,#07131d 72%)}

.card-media.smart-tile-media{background:#0b1b28}
.card-media.smart-tile-media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.smart-tile-overlay{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:flex-start;pointer-events:none}
.smart-tile-overlay span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(5,20,31,.72);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#ebf5fa;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.smart-illustration{width:62%;max-width:210px;color:#d9edf5;opacity:.9}
.smart-illustration path,.smart-illustration circle,.smart-illustration rect{stroke:currentColor}
.card-body{padding:25px 25px 27px;display:flex;flex-direction:column;flex:1}
.card-body h2{margin:0 0 7px;font-size:1.35rem;font-weight:500;letter-spacing:.01em}
.card-body p{margin:0;color:#c5d0da;font-size:.93rem}
.card-link{margin-top:auto;padding:13px 14px 13px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.035);font-size:.94rem;font-weight:600;letter-spacing:.055em;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,transform .2s ease}.card-link:hover{background:rgba(37,183,232,.09);border-color:rgba(37,183,232,.55);transform:translateY(-1px)}
.card-link .circle{width:46px;height:46px;flex:0 0 46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(37,183,232,.75);font-size:1.28rem}
.accent-smart{border-bottom:3px solid var(--accent)}
.accent-photo{border-bottom:3px solid var(--photo)}
.accent-dalej{border-bottom:3px solid var(--dalej)}

.home-thought{min-height:260px;padding:72px 0 92px;border-top:1px solid var(--line);background:radial-gradient(ellipse at 50% 100%,rgba(95,84,67,.34),transparent 48%),linear-gradient(180deg,#07131d,#07131d)}
.home-thought blockquote{margin:0 auto;text-align:center;max-width:850px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(1.3rem,2.4vw,2rem);color:#e7edf2}
.home-thought .mini-mark{width:52px;height:2px;background:var(--accent);margin:28px auto 0}

/* standard page hero */
.page-hero{position:relative;min-height:390px;display:flex;align-items:flex-end;overflow:hidden;background:#0c1d2a}
.page-hero.has-photo{background-size:cover;background-position:center}
.page-hero.has-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,14,22,.88),rgba(4,14,22,.48) 58%,rgba(4,14,22,.25)),linear-gradient(0deg,rgba(4,14,22,.9),transparent 55%)}
.page-hero .container{position:relative;z-index:2;padding-top:80px;padding-bottom:58px}
.page-kicker{text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:#b9c6d1;margin-bottom:10px}
.page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem);font-weight:400;letter-spacing:.09em;margin:0;line-height:1}
.page-tagline{margin:14px 0 0;font-size:clamp(1.08rem,2.1vw,1.55rem);font-style:italic;font-family:Georgia,"Times New Roman",serif;color:#e4eaf0}
.page-intro{max-width:790px;margin:32px 0 0;font-size:1.05rem;color:#d7e0e7}
/* W obiektywie telefonu — mocniejszy tekst otwierający */
.gallery-intro{font-size:1.38rem;line-height:1.55;max-width:900px;color:#eef4f8}


/* photo page */
.photo-hero{background-image:url('../images/cover-obiektyw.webp')}
.photo-page{padding:55px 0 130px}
.photo-intro{max-width:820px;margin:0 auto 46px;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2.1vw,1.65rem);font-style:italic;color:#dce4ea}
.masonry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;gap:18px}
.gallery-item{margin:0;position:relative;border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:0 14px 34px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.08);cursor:zoom-in}
.gallery-item.featured{grid-column:span 2}
.gallery-photo{position:relative;overflow:hidden;background:#07131d}
.gallery-photo>img{width:100%;height:auto;transition:transform .45s ease,filter .45s ease}
.gallery-item:hover .gallery-photo>img{transform:scale(1.018);filter:brightness(1.04)}
.watermark{position:absolute!important;width:112px!important;height:auto!important;bottom:14px;z-index:3;opacity:.88;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55));pointer-events:none}
.watermark.left{left:14px}.watermark.right{right:14px}
.gallery-item figcaption{padding:11px 14px 13px;color:#aab8c5;font-size:.78rem;letter-spacing:.05em}
.gallery-placeholder{color:#758695;font-style:italic}
.photo-sticky-quote{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70;max-width:calc(100% - 36px);padding:10px 20px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(5,16,25,.78);backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(0,0,0,.3);font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:.92rem;text-align:center;color:#edf2f6;white-space:nowrap}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(1,7,12,.94);z-index:120;display:none;align-items:center;justify-content:center;padding:40px 86px 68px}
.lightbox.open{display:flex}
.lightbox-stage{position:relative;max-width:min(1400px,92vw);max-height:82vh}
.lightbox-image{max-width:100%;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 65px rgba(0,0,0,.5)}
.lightbox-watermark{position:absolute;width:130px;bottom:18px;z-index:3;opacity:.9;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}
.lightbox-watermark.left{left:18px}.lightbox-watermark.right{right:18px}
.lightbox-caption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:2;color:#d8e2e9;font-size:.82rem;letter-spacing:.06em;white-space:nowrap}
.lightbox button{position:absolute;z-index:6;border:1px solid rgba(255,255,255,.24);background:rgba(8,22,33,.82);box-shadow:0 12px 28px rgba(0,0,0,.34);color:#fff;width:46px;height:46px;border-radius:50%;cursor:pointer;display:grid;place-items:center;font-size:1.55rem;backdrop-filter:blur(10px)}
.lightbox .close{right:24px;top:22px;font-size:1.2rem}
.lightbox .prev{left:max(14px,env(safe-area-inset-left) + 10px);top:50%;transform:translateY(-50%)}
.lightbox .next{right:max(14px,env(safe-area-inset-right) + 10px);top:50%;transform:translateY(-50%)}

/* Dalej */
.dalej-hero{background-image:url('../images/cover-dalej.webp');background-position:center 52%}
.distance-block{padding:44px 0 10px}
.distance-counter{width:min(760px,100%);margin:auto;padding:22px 26px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:auto 1fr;gap:10px 22px;align-items:center}
.distance-number{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:400;letter-spacing:.04em;color:#f5f8fb;grid-row:span 2}
.distance-meta{font-size:.85rem;color:#aab7c2}
.distance-meta strong{color:#dce5ec;font-weight:400}
.journeys{padding:42px 0 90px}
.section-heading{margin:0 0 28px;font-size:1.7rem;font-weight:400;letter-spacing:.04em}
.draft-note{border:1px dashed rgba(255,255,255,.22);border-radius:18px;padding:30px;background:rgba(255,255,255,.025);color:#b8c5cf}
.draft-note strong{color:#eef3f7;font-weight:500}
.journey-template{margin-top:26px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel)}
.journey-template .journey-grid{display:grid;grid-template-columns:1.35fr .65fr}
.journey-main{padding:28px}
.journey-main h3{margin:0 0 8px;font-size:1.45rem;font-weight:500}
.stats{display:flex;flex-wrap:wrap;gap:10px 22px;color:#9fadb9;font-size:.82rem;margin-bottom:22px}
.journey-main p{color:#c7d1d9;max-width:680px}
.journey-route{padding:28px;border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;color:#91a1ae}
.road-thought{margin:68px auto 0;max-width:920px;padding:48px 30px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.4vw,1.85rem);font-style:italic;color:#e3e9ee}

/* Smart Home */
.smart-page{padding:58px 0 95px}
.smart-intro{max-width:830px;margin:0 0 38px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,2vw,1.55rem);font-style:italic;color:#dce4e9}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.project-card{border:1px solid var(--line);border-radius:20px;padding:27px;background:linear-gradient(145deg,rgba(20,49,68,.72),rgba(7,19,29,.95));min-height:220px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.project-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:radial-gradient(circle,rgba(37,183,232,.16),transparent 65%)}
.project-card h2{margin:0 0 9px;font-size:1.35rem;font-weight:500;position:relative;z-index:1}
.project-card p{margin:0;color:#b9c6d0;position:relative;z-index:1}
.project-foot{margin-top:auto;padding-top:24px;color:#7f93a2;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;position:relative;z-index:1}

/* footer */
.site-footer{border-top:1px solid var(--line);padding:34px 0 42px;color:#899aa7;font-size:.78rem;background:#06111a}
.footer-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}
.footer-brand{display:flex;align-items:center;gap:18px}.footer-brand img{width:82px}.footer-brand strong{display:block;color:#e5ebef;font-weight:400;letter-spacing:.18em;margin-bottom:2px}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.footer-copy{margin-top:25px;padding-top:22px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:20px}

/* responsive */
@media (max-width:900px){
  :root{--nav-h:70px}
  .container{width:min(100% - 34px,1180px)}
  .menu-button{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:var(--nav-h);padding:18px 22px 24px;background:rgba(5,16,25,.96);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:7px}
  .nav-links.open{display:flex}
  .brand-logo img{width:80px}
  .home-hero{min-height:560px;background-position:54% center}
  .hero-copy{width:82%;padding-top:50px}.hero-title{font-size:clamp(2.7rem,10vw,5rem)}
  .hero-script{right:5%;bottom:95px;font-size:1.7rem}
  .home-grid{grid-template-columns:1fr}.home-card{min-height:0}.card-media{height:310px}
  .home-sections{margin-top:-35px}
  .masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item.featured{grid-column:span 2}
  .project-grid{grid-template-columns:1fr}
  .journey-template .journey-grid{grid-template-columns:1fr}.journey-route{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:620px){
  .container{width:calc(100% - 26px)}
  .home-hero{min-height:515px;background-position:52% center}
  .hero-copy{width:100%;padding-top:38px;padding-bottom:120px}
  .eyebrow{font-size:.61rem;letter-spacing:.25em}.hero-title{letter-spacing:.09em;text-indent:.09em;font-size:2.75rem}.hero-subtitle{font-size:1.25rem;letter-spacing:.06em}
  .hero-intro{font-size:1rem;max-width:320px}.hero-script{bottom:72px;font-size:1.45rem}
  .card-media{height:230px}.home-card{border-radius:17px}.card-body{padding:20px}
  .page-hero{min-height:355px}.page-hero .container{padding-bottom:42px}.page-hero h1{font-size:2.55rem}.page-intro{font-size:.95rem;margin-top:24px}.gallery-intro{font-size:1.12rem;line-height:1.5}
  .masonry-grid{grid-template-columns:1fr;display:block}.gallery-item,.gallery-item.featured{margin-bottom:16px}.photo-page{padding-bottom:145px}
  .photo-sticky-quote{bottom:10px;font-size:.78rem;white-space:normal;width:calc(100% - 26px);padding:9px 14px}
  .watermark{width:96px!important;bottom:11px}.watermark.left{left:11px}.watermark.right{right:11px}
  .lightbox{padding:70px 14px 100px}.lightbox .prev{left:max(10px,env(safe-area-inset-left) + 8px)}.lightbox .next{right:max(10px,env(safe-area-inset-right) + 8px)}.lightbox .close{right:10px;top:12px}.lightbox button{width:44px;height:44px}.lightbox-caption{bottom:38px;max-width:74vw;overflow:hidden;text-overflow:ellipsis}.lightbox-watermark{width:105px;bottom:15px}
  .distance-counter{grid-template-columns:1fr;gap:3px}.distance-number{grid-row:auto}.project-card{min-height:200px}
  .footer-grid,.footer-copy{flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start}
}

/* Dalej — wpisy tras i QR */
.journey-entry .journey-main p + p{margin-top:14px}
.route-box{display:flex;flex-direction:column;align-items:center;gap:14px;color:#cbd6de;text-decoration:none;transition:transform .2s ease,color .2s ease}
.route-box:hover{transform:translateY(-2px);color:#fff}
.route-box img{width:min(190px,70%);height:auto;border-radius:14px;background:#fff;padding:8px;box-shadow:0 14px 32px rgba(0,0,0,.18)}
.route-box span{font-size:.82rem;letter-spacing:.04em}
@media (max-width:720px){.route-box img{width:min(170px,58vw)}.journey-route{padding:22px}}


/* Dalej — zdjęcia przy wpisach */
.journey-photos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:0 28px 28px;
}
.journey-photo{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#07131d;
  border:1px solid rgba(255,255,255,.07);
}
.journey-photo img{
  width:100%;
  height:100%;
  max-height:520px;
  object-fit:contain;
  display:block;
  background:#07131d;
}
@media (max-width:720px){
  .journey-photos{
    grid-template-columns:1fr;
    padding:0 18px 20px;
    gap:10px;
  }
  .journey-photo img{
    height:auto;
    max-height:none;
  }
}


/* =========================================================
   DALEJ v0.8 — zintegrowane panele 4-elementowe
   tekst + dwa zdjęcia + QR
   ========================================================= */

.journey-entry{
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 10%, rgba(92,145,180,.08), transparent 34%),
    linear-gradient(145deg, rgba(12,28,40,.96), rgba(7,18,27,.96));
  border:1px solid rgba(255,255,255,.075);
  border-radius:22px;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}

.journey-mosaic{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(180px,.72fr) minmax(150px,.52fr);
  grid-template-rows:minmax(170px,auto) minmax(145px,auto);
  grid-template-areas:
    "text photo1 photo1"
    "text photo2 qr";
  gap:12px;
  padding:12px;
}

.journey-tile{
  min-width:0;
  border-radius:15px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.065);
}

.journey-text-tile{
  grid-area:text;
  padding:28px 30px;
  background:linear-gradient(145deg, rgba(16,35,49,.78), rgba(11,25,36,.60));
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.journey-text-tile h3{
  margin-top:0;
}

.journey-photo-tile{
  margin:0;
  position:relative;
  background:rgba(18,39,53,.62);
}

.journey-photo-primary{ grid-area:photo1; }
.journey-photo-secondary{ grid-area:photo2; }

.journey-photo-tile img{
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease;
}

.journey-photo-tile:hover img{
  transform:scale(1.018);
}

.journey-qr-tile{
  grid-area:qr;
  padding:12px;
  background:linear-gradient(145deg, rgba(18,39,53,.82), rgba(12,29,41,.72));
  display:flex;
  align-items:center;
  justify-content:center;
}

.journey-qr-tile .route-box{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px;
  text-align:center;
  border:0;
  background:transparent;
}

.journey-qr-tile .route-box img{
  width:94px;
  height:94px;
  object-fit:contain;
  padding:5px;
  border-radius:10px;
  background:#fff;
}

.journey-qr-tile .route-box span{
  font-size:.76rem;
  line-height:1.25;
}

/* Co drugi wpis ma delikatnie odwrócony rytm,
   żeby lista nie wyglądała jak powtarzalny szablon. */
.journey-entry.mosaic-alt .journey-mosaic{
  grid-template-columns:minmax(150px,.52fr) minmax(180px,.72fr) minmax(0,1.65fr);
  grid-template-areas:
    "photo1 photo1 text"
    "qr photo2 text";
}

/* Poprzedni układ zdjęć z v0.7 nie jest już używany. */
.journey-photos{
  display:none;
}

@media (max-width:900px){
  .journey-mosaic,
  .journey-entry.mosaic-alt .journey-mosaic{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:auto 210px 150px;
    grid-template-areas:
      "text text"
      "photo1 photo1"
      "photo2 qr";
  }

  .journey-text-tile{
    padding:24px;
  }
}

@media (max-width:620px){
  .journey-mosaic,
  .journey-entry.mosaic-alt .journey-mosaic{
    grid-template-columns:minmax(0,1fr) 118px;
    grid-template-rows:auto 205px 135px;
    grid-template-areas:
      "text text"
      "photo1 photo1"
      "photo2 qr";
    gap:8px;
    padding:8px;
  }

  .journey-tile{
    border-radius:12px;
  }

  .journey-text-tile{
    padding:21px 18px;
  }

  .journey-qr-tile{
    padding:8px;
  }

  .journey-qr-tile .route-box img{
    width:78px;
    height:78px;
  }

  .journey-qr-tile .route-box span{
    font-size:.68rem;
  }
}



/* =========================================================
   SMART HOME v0.9 — pełne projekty
   ========================================================= */
.smart-hero{
  background-image:url('../images/smart-home/smart-home-tile.webp');
  background-position:center 42%;
  background-size:cover;
  background-repeat:no-repeat;
}
.smart-hero::after{
  content:"";
  position:absolute;
  inset:auto 10% 8% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(37,183,232,.18), transparent 68%);
  z-index:1;
  pointer-events:none;
}
.smart-hero .container{z-index:2;}

.smart-story{padding:64px 0 38px}
.smart-story-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.smart-story-main,.smart-story-cont{
  color:#bdc9d2;
  font-size:1.02rem;
  line-height:1.78;
}
.smart-story-main p,.smart-story-cont p{margin:0 0 16px}
.smart-lead{
  color:#eef3f6!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.25rem,2.3vw,1.72rem);
  line-height:1.48!important;
}
.ring-card{
  padding:27px 25px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 50% 30%,rgba(218,168,74,.10),transparent 48%),
    rgba(255,255,255,.025);
}
.ring-kicker,.small-kicker{
  color:#7fbad5;
  font-size:.70rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:13px;
}
.ring-black-speech{
  color:#edf2f5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.02rem;
  line-height:1.6;
}
.ring-translation{
  color:#aebcc6;
  font-size:.88rem;
  line-height:1.55;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:15px;
}
.ring-punchline{color:#dce5eb;font-size:.91rem;line-height:1.55;margin-bottom:0}
.smart-story-cont{max-width:960px;margin-top:26px}
.smart-pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:23px}
.smart-pill-row span{
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(117,192,222,.22);
  background:rgba(37,183,232,.055);
  color:#bcd8e4;
  font-size:.74rem;
  letter-spacing:.05em;
}

.smart-project-section{padding:34px 0 96px}
.smart-project{
  margin-top:34px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:25px;
  padding:34px;
  background:
    radial-gradient(circle at 92% 6%,rgba(37,183,232,.10),transparent 24%),
    linear-gradient(145deg,rgba(14,35,50,.92),rgba(7,19,29,.97));
  box-shadow:0 26px 70px rgba(0,0,0,.22);
}
.smart-project + .smart-project{margin-top:34px}
.smart-project-head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
  padding-bottom:27px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.project-number{
  font-size:.69rem;
  letter-spacing:.19em;
  color:#76bddb;
  margin-bottom:10px;
}
.smart-project-head h2{
  margin:0;
  font-weight:400;
  font-size:clamp(2rem,4vw,3.25rem);
  letter-spacing:.035em;
}
.project-tagline{
  margin:10px 0 0;
  color:#c8d3db;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(1rem,1.8vw,1.25rem);
}
.project-status{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  color:#8297a6;
  font-size:.67rem;
  text-transform:uppercase;
  letter-spacing:.10em;
  white-space:nowrap;
}
.project-copy{color:#bac7d0;line-height:1.75}
.project-copy p{margin:0 0 15px}
.two-col-copy{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:38px;
  margin-top:31px;
}
.local-note{
  margin-top:21px!important;
  padding:17px 18px;
  border-left:3px solid rgba(55,182,222,.7);
  background:rgba(37,183,232,.045);
  border-radius:0 12px 12px 0;
  color:#d2dde4;
}

.smart-figure{
  margin:0;
  border-radius:17px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  background:#081720;
}
.smart-figure img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.smart-figure figcaption{
  padding:10px 13px;
  color:#8699a7;
  font-size:.72rem;
  line-height:1.4;
  border-top:1px solid rgba(255,255,255,.06);
  background:rgba(7,19,29,.96);
}
.cwu-hardware-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:13px;
  margin-top:28px;
}
.cwu-hardware-grid .smart-figure img{height:330px;object-fit:cover}
.hardware-main img{object-position:center 55%}
.hardware-detail img{object-position:center 50%}

.project-subsection{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr);
  gap:28px;
  align-items:center;
  margin-top:42px;
  padding-top:36px;
  border-top:1px solid rgba(255,255,255,.07);
}
.subsection-copy h3,.future-step h3,.archive-copy h3{
  font-size:clamp(1.35rem,2.4vw,2rem);
  font-weight:400;
  line-height:1.25;
  margin:0 0 16px;
}
.subsection-copy p,.future-step p,.archive-copy p{
  color:#b9c6cf;
  line-height:1.72;
}
.nodered-shot img{object-fit:contain;background:#f5f5f5}
.wide-dashboard{margin-top:35px}
.wide-dashboard img{height:auto;object-fit:contain;background:#0d1218}
.future-step{
  margin-top:29px;
  padding:25px 27px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.075);
  background:rgba(255,255,255,.024);
}

.energy-project{margin-top:64px!important}
.energy-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  margin-top:14px;
}
.energy-stat{
  padding:18px 19px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:rgba(255,255,255,.026);
}
.energy-stat span{
  display:block;
  color:#8094a2;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:7px;
}
.energy-stat strong{
  color:#e5edf2;
  font-size:1.4rem;
  font-weight:400;
}

.archive-block{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:27px;
  align-items:start;
  margin-top:37px;
  padding-top:34px;
  border-top:1px solid rgba(255,255,255,.07);
}
.archive-shot img{height:auto;object-fit:contain;background:#f5f5f5}
.archive-details{
  margin-top:20px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:13px;
  overflow:hidden;
  background:rgba(255,255,255,.02);
}
.archive-details summary{
  cursor:pointer;
  padding:13px 15px;
  color:#cbd5dc;
  font-size:.83rem;
  letter-spacing:.03em;
}
.archive-table-wrap{overflow-x:auto;border-top:1px solid rgba(255,255,255,.07)}
.archive-table{
  width:100%;
  border-collapse:collapse;
  font-size:.78rem;
  min-width:460px;
}
.archive-table th,.archive-table td{
  padding:9px 12px;
  border-bottom:1px solid rgba(255,255,255,.055);
  text-align:right;
  color:#aebdc7;
}
.archive-table th:first-child,.archive-table td:first-child{text-align:left}
.archive-table th{color:#d6e0e6;font-weight:500;background:rgba(255,255,255,.025)}

.smart-next{
  margin-top:34px;
  padding:22px 24px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#8395a2;
  display:flex;
  gap:18px;
  justify-content:space-between;
  align-items:center;
}
.smart-next span{font-size:.69rem;text-transform:uppercase;letter-spacing:.15em}
.smart-next strong{font-weight:400;color:#b8c6cf;text-align:right}

@media (max-width:900px){
  .smart-story-grid,
  .two-col-copy,
  .project-subsection,
  .archive-block{grid-template-columns:1fr}
  .cwu-hardware-grid{grid-template-columns:1fr 1fr}
  .project-subsection{gap:22px}
  .project-status{white-space:normal}
}
@media (max-width:620px){
  .smart-story{padding-top:46px}
  .smart-project{padding:20px 13px;border-radius:19px}
  .smart-project-head{flex-direction:column;padding:6px 5px 22px}
  .two-col-copy{gap:0;margin-top:24px;padding:0 5px}
  .cwu-hardware-grid{grid-template-columns:1fr;gap:10px}
  .cwu-hardware-grid .smart-figure img{height:auto;max-height:430px;object-fit:contain}
  .project-subsection{margin-top:31px;padding-top:28px}
  .subsection-copy{padding:0 5px}
  .nodered-shot img{height:auto}
  .wide-dashboard{margin-top:24px}
  .future-step{padding:20px 18px}
  .energy-summary{grid-template-columns:1fr}
  .archive-block{margin-top:28px}
  .smart-next{flex-direction:column;align-items:flex-start}
  .smart-next strong{text-align:left}
}

.dashboard-note{
  margin:14px 2px 0;
  color:#8497a5;
  font-size:.78rem;
  line-height:1.5;
}


/* Smart Home v0.11 — motto Saurona jako część narracji */
.smart-story-grid-single{
  grid-template-columns:1fr;
  max-width:980px;
}

.smart-story-grid-single .smart-story-main{
  width:100%;
}

.smart-story-grid-single .ring-card{
  margin-top:24px;
  max-width:760px;
  padding:24px 26px;
  background:
    radial-gradient(circle at 18% 20%,rgba(218,168,74,.08),transparent 42%),
    rgba(255,255,255,.022);
}

.smart-story-grid-single .ring-card .ring-kicker{
  margin-bottom:10px;
}

.smart-story-grid-single .ring-black-speech{
  margin:0 0 13px;
}

.smart-story-grid-single .ring-translation{
  margin-bottom:12px;
}

.smart-story-grid-single .ring-punchline{
  margin-top:8px;
}

@media (max-width:620px){
  .smart-story-grid-single .ring-card{
    max-width:none;
    padding:20px 18px;
  }
}

    /* Smart Home v0.13 — dashboardy */
    .dashboards-project{margin-top:64px!important}
    .dashboard-intro h3{
      font-size:clamp(1.3rem,2vw,1.8rem);
      font-weight:400;
      margin:0 0 14px;
      color:#e7edf1;
    }
    .infrastructure-dashboard{margin-top:30px}
    .infrastructure-dashboard img{
      height:auto;
      object-fit:contain;
      background:#f5f7f8;
    }
    .dashboard-purpose-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin-top:14px;
    }
    .purpose-card{
      padding:18px 20px;
      border-radius:15px;
      border:1px solid rgba(255,255,255,.075);
      background:rgba(255,255,255,.025);
    }
    .purpose-card span{
      display:block;
      color:#7f96a5;
      font-size:.69rem;
      text-transform:uppercase;
      letter-spacing:.11em;
      margin-bottom:6px;
    }
    .purpose-card strong{
      display:block;
      color:#e1e9ee;
      font-size:1.18rem;
      font-weight:400;
      margin-bottom:7px;
    }
    .purpose-card p{
      margin:0;
      color:#9fb0bb;
      font-size:.83rem;
      line-height:1.55;
    }
    @media(max-width:620px){
      .dashboard-purpose-grid{grid-template-columns:1fr}
    }
    

/* Smart Home v0.14 — Panel rodzinny + Infrastruktura */
.dashboard-showcase{
  margin-top:34px;
  padding-top:31px;
  border-top:1px solid rgba(255,255,255,.07);
}
.dashboard-showcase-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.dashboard-showcase-head h3{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,2rem);
  font-weight:400;
}
.dashboard-showcase-head > p{
  max-width:500px;
  margin:0;
  color:#8799a6;
  font-size:.82rem;
  line-height:1.5;
  text-align:right;
}
.dashboard-shots-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dashboard-shots-grid .smart-figure img{
  height:auto;
  object-fit:contain;
  background:#0e0e0e;
}
.infrastructure-showcase{
  margin-top:34px;
}
.infrastructure-showcase .wide-dashboard{
  margin-top:0;
}
.infrastructure-dashboard img{
  background:#0e0e0e;
}

@media(max-width:800px){
  .dashboard-shots-grid{
    grid-template-columns:1fr;
  }
  .dashboard-showcase-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .dashboard-showcase-head > p{
    text-align:left;
  }
}


/* Smart Home v0.15 — rozdzielenie dashboardów + powiadamianie */
.dashboard-section{
  margin-top: 28px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.dashboard-section:first-of-type{
  margin-top: 18px;
}
.dashboard-section-copy{
  align-items: start;
}
.compact-showcase,
.standalone-dashboard{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.compact-showcase .dashboard-showcase-head,
.standalone-dashboard .dashboard-showcase-head{
  margin-bottom: 14px;
}
.family-showcase.compact-showcase .smart-figure img{
  background:#0e0e0e;
  object-fit: contain;
}
.infrastructure-dashboard.standalone-dashboard{
  align-self: start;
}
.infrastructure-dashboard.standalone-dashboard img{
  background:#0e0e0e;
}
.alerts-grid{
  display:grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.25fr);
  gap:14px;
  margin-top: 24px;
  align-items:start;
}
.alert-main{
  grid-row: span 2;
}
.alerts-grid .smart-figure{
  margin:0;
}
.alerts-grid .smart-figure img{
  background:#f4f2ee;
}
@media(max-width: 980px){
  .dashboard-section-copy{
    grid-template-columns: 1fr;
  }
  .alerts-grid{
    grid-template-columns:1fr;
  }
  .alert-main{
    grid-row:auto;
  }
}



/* =========================================================
   v0.16 — strona główna: pierwszy ekran + projekty w realizacji
   ========================================================= */

/* Szybkie wejścia w hero */
.hero-quick-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:26px;
}
.hero-quick-link{
  min-width:155px;
  padding:11px 13px 11px 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:13px;
  background:rgba(6,18,28,.56);
  backdrop-filter:blur(9px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.hero-quick-link b{
  font-size:1.05rem;
  font-weight:400;
}
.hero-quick-link:hover{
  transform:translateY(-2px);
  background:rgba(10,31,45,.82);
}
.hero-quick-link.smart:hover{border-color:rgba(37,183,232,.8)}
.hero-quick-link.photo:hover{border-color:rgba(219,114,230,.8)}
.hero-quick-link.dalej:hover{border-color:rgba(98,213,150,.8)}

/* Desktop: przy 1920x1080 / typowym oknie przeglądarki widać CTA kart
   bez konieczności pierwszego scrolla. */
@media (min-width:1100px) and (min-height:700px){
  .home-page .home-hero{
    min-height:455px;
    align-items:center;
  }
  .home-page .hero-copy{
    padding:38px 0 70px;
    width:min(690px,64%);
  }
  .home-page .eyebrow{
    margin-bottom:13px;
  }
  .home-page .hero-title{
    font-size:clamp(3.6rem,5.6vw,5.7rem);
  }
  .home-page .hero-subtitle{
    margin-top:11px;
    font-size:clamp(1.45rem,2.1vw,2.05rem);
  }
  .home-page .hero-rule{
    margin:17px 0;
  }
  .home-page .hero-intro{
    font-size:1.05rem;
  }
  .home-page .hero-script{
    bottom:66px;
  }
  .home-page .home-sections{
    margin-top:-58px;
    padding-bottom:62px;
  }
  .home-page .home-card{
    min-height:318px;
  }
  .home-page .card-media{
    height:152px;
  }
  .home-page .card-body{
    padding:17px 18px 18px;
  }
  .home-page .card-body h2{
    font-size:1.15rem;
    margin-bottom:5px;
  }
  .home-page .card-body p{
    font-size:.82rem;
    line-height:1.45;
  }
  .home-page .card-link{
    padding:9px 10px 9px 14px;
    margin-top:15px;
    font-size:.78rem;
  }
  .home-page .card-link .circle{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
}

/* Projekty w realizacji */
.in-progress-projects{
  margin-top:64px!important;
}
.in-progress-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.progress-card{
  padding:22px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:17px;
  background:
    radial-gradient(circle at 88% 10%,rgba(37,183,232,.07),transparent 28%),
    rgba(255,255,255,.022);
}
.progress-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:17px;
}
.progress-icon{
  font-size:1.55rem;
}
.progress-state{
  color:#7f96a4;
  font-size:.63rem;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-align:right;
}
.progress-card h3{
  margin:0 0 9px;
  font-size:1.22rem;
  font-weight:400;
  line-height:1.25;
}
.progress-card p{
  margin:12px 0 0;
  color:#aebdc7;
  font-size:.82rem;
  line-height:1.62;
}
.progress-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.progress-tags span{
  padding:5px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.09);
  color:#87a1b1;
  font-size:.61rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.progress-note{
  margin-top:14px;
  padding:15px 17px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  color:#8fa2af;
  font-size:.78rem;
  line-height:1.55;
}
.progress-note strong{
  color:#c9d4db;
  font-weight:500;
}

@media(max-width:900px){
  .in-progress-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .hero-quick-links{
    gap:8px;
    margin-top:20px;
  }
  .hero-quick-link{
    min-width:0;
    flex:1 1 100%;
    padding:10px 13px;
  }
}


/* =========================================================
   v0.17 — projekty + powiększanie dashboardów
   ========================================================= */

.smart-figure:has(.smart-zoom-image){
  position:relative;
}

.smart-zoom-image{
  cursor:zoom-in;
  transition:filter .2s ease, transform .2s ease;
}

.smart-zoom-image:hover{
  filter:brightness(1.06);
}

.zoom-hint{
  position:absolute;
  right:11px;
  top:11px;
  z-index:4;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(5,16,25,.78);
  backdrop-filter:blur(9px);
  color:#e8eef2;
  font-size:.64rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  pointer-events:none;
  box-shadow:0 5px 18px rgba(0,0,0,.25);
}

.smart-zoom-lightbox{
  position:fixed;
  inset:0;
  z-index:180;
  display:none;
  align-items:center;
  justify-content:center;
  padding:66px 82px 80px;
  background:rgba(1,7,12,.96);
  backdrop-filter:blur(5px);
}

.smart-zoom-lightbox.open{
  display:flex;
}

.smart-zoom-stage{
  width:min(1600px,94vw);
  max-height:86vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.smart-zoom-large{
  display:block;
  max-width:100%;
  max-height:80vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 24px 80px rgba(0,0,0,.58);
  background:#0d0f11;
}

.smart-zoom-caption{
  margin-top:13px;
  color:#c7d3da;
  font-size:.78rem;
  letter-spacing:.05em;
  text-align:center;
}

.smart-zoom-lightbox button{
  position:absolute;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.23);
  background:rgba(7,20,30,.75);
  color:#fff;
  cursor:pointer;
  font-size:1.6rem;
  backdrop-filter:blur(10px);
}

.smart-zoom-close{
  top:20px;
  right:22px;
  font-size:1.15rem!important;
}

.smart-zoom-prev{
  left:22px;
  top:50%;
  transform:translateY(-50%);
}

.smart-zoom-next{
  right:22px;
  top:50%;
  transform:translateY(-50%);
}

@media(max-width:700px){
  .smart-zoom-lightbox{
    padding:65px 12px 80px;
  }
  .smart-zoom-prev{
    left:6px;
  }
  .smart-zoom-next{
    right:6px;
  }
  .smart-zoom-close{
    right:8px;
    top:10px;
  }
  .smart-zoom-lightbox button{
    width:42px;
    height:42px;
  }
  .zoom-hint{
    font-size:.58rem;
    padding:6px 8px;
  }
}


/* =========================================================
   v0.18 — finalna galeria 25 zdjęć
   ========================================================= */
.photo-page{padding-bottom:150px}
.masonry-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;gap:18px}
.gallery-item{border-radius:14px;background:#07131d;overflow:hidden}
.gallery-item.is-hidden{display:none!important}
.gallery-photo>img{display:block;width:100%;height:auto}
.gallery-item figcaption{display:none}
.gallery-item.featured{grid-column:span 2}
.gallery-controls{display:flex;justify-content:center;margin:34px 0 4px}
.gallery-more{
  min-width:190px;padding:13px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.17);
  background:rgba(8,25,36,.78);color:#eef4f7;cursor:pointer;font-size:.79rem;letter-spacing:.09em;
  text-transform:uppercase;transition:transform .2s ease,border-color .2s ease,background .2s ease
}
.gallery-more:hover{transform:translateY(-2px);border-color:rgba(37,183,232,.72);background:rgba(10,35,50,.95)}
.gallery-more span{margin-left:8px;color:#44c5ee}
.photo-sticky-quote{font-size:1rem}
.lightbox{padding-bottom:105px}
.lightbox-stage{max-width:min(1550px,94vw);max-height:80vh}
.lightbox-image{max-height:80vh}
.lightbox-caption{
  position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:min(900px,76vw);
  color:#d8e2e9;text-align:center;white-space:normal
}
.lightbox-title{display:block;font-size:.9rem;letter-spacing:.06em;font-weight:500;color:#f0f5f8}
.lightbox-description{display:block;margin-top:4px;font-size:.74rem;letter-spacing:.03em;color:#91a4b2}
.lightbox-watermark{display:none!important}
@media (max-width:900px){
  .masonry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-item.featured{grid-column:span 2}
}
@media (max-width:620px){
  .masonry-grid{display:block}
  .gallery-item,.gallery-item.featured{margin-bottom:16px}
  .gallery-item.is-hidden{display:none!important}
  .gallery-controls{margin-top:24px}
  .photo-sticky-quote{font-size:.82rem}
  .lightbox-caption{bottom:30px;width:78vw}
  .lightbox-description{display:none}
}


/* =========================================================
   v0.21 — powrót strony głównej do klimatu v05
   ========================================================= */

/* Desktop wraca do większego hero i bardziej przestronnych kart z v05. */
@media (min-width:1100px) and (min-height:700px){
  .home-page .home-hero{
    min-height:620px;
    align-items:center;
  }
  .home-page .hero-copy{
    width:min(720px,70%);
    padding:64px 0 92px;
  }
  .home-page .eyebrow{
    margin-bottom:20px;
  }
  .home-page .hero-title{
    font-size:clamp(3rem,7vw,6.7rem);
  }
  .home-page .hero-subtitle{
    margin-top:15px;
    font-size:clamp(1.45rem,2.7vw,2.5rem);
  }
  .home-page .hero-rule{
    margin:24px 0;
  }
  .home-page .hero-intro{
    font-size:1.2rem;
  }
  .home-page .hero-script{
    bottom:110px;
  }
  .home-page .home-sections{
    margin-top:-48px;
    padding-bottom:90px;
  }
  .home-page .home-card{
    min-height:440px;
  }
  .home-page .card-media{
    height:270px;
  }
  .home-page .card-body{
    padding:25px 25px 27px;
  }
  .home-page .card-body h2{
    font-size:1.35rem;
    margin-bottom:7px;
  }
  .home-page .card-body p{
    font-size:.93rem;
    line-height:normal;
  }
  .home-page .card-link{
    margin-top:auto;
    padding:24px 0 0;
    border:0;
    border-radius:0;
    background:transparent;
    font-size:.84rem;
    font-weight:500;
    gap:10px;
  }
  .home-page .card-link .circle{
    width:38px;
    height:38px;
    flex-basis:38px;
    font-size:1.1rem;
  }
}

/* Cały kafel jest linkiem. */
a.home-card{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
a.home-card:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:5px;
}
a.home-card .card-link{
  pointer-events:none;
}

/* Zdjęcia sprzętu w projektach */
.progress-equipment{
  margin:15px 0 4px;
  border-radius:13px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0b151c;
}
.progress-equipment img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.progress-equipment figcaption{
  padding:9px 11px 10px;
  color:#8498a5;
  font-size:.66rem;
  line-height:1.45;
  border-top:1px solid rgba(255,255,255,.06);
}


/* =========================================================
   v0.23 — strona główna + Dalej
   ========================================================= */

@media (min-width:900px){
  .home-page .home-sections{
    margin-top:-86px;
  }
}

.dalej-kicker-art{
  display:flex;
  width:max-content;
  align-items:baseline;
  gap:.62em;
  transform:rotate(-2.1deg);
  transform-origin:left center;
  margin-bottom:15px;
}
.dalej-kicker-art span{
  display:inline-block;
}
.dalej-kicker-art .word-than{
  transform:translateY(7px);
}
.dalej-kicker-art .word-faster{
  transform:translateY(-6px);
}

.road-thought.v23-added{
  margin-top:52px;
  margin-bottom:0;
}

@media(max-width:620px){
  .dalej-kicker-art{
    gap:.45em;
    transform:rotate(-1.5deg);
  }
  .dalej-kicker-art .word-than{transform:translateY(4px)}
  .dalej-kicker-art .word-faster{transform:translateY(-4px)}
}


/* =========================================================
   v0.30 REVIEW — końcowe poprawki wizualne
   ========================================================= */

/* Strona główna: bardziej naturalny kąt napisu. */
.home-page .hero-script{
  transform:rotate(-38deg);
  transform-origin:center center;
}

/* Dalej: równy, spokojny napis nad tytułem. */
.dalej-kicker-clean{
  display:block;
  width:auto;
  margin-bottom:12px;
  transform:none;
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:.72rem;
  line-height:1.4;
}

/* Etykiety na wszystkich trzech kaflach strony głównej. */
.home-card .smart-tile-overlay{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:flex;
  justify-content:flex-start;
  pointer-events:none;
}
.home-card .smart-tile-overlay span{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(5,20,31,.76);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:.72rem;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#ebf5fa;
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

@media (max-width:620px){
  .home-card .smart-tile-overlay{left:10px;right:10px;bottom:10px}
  .home-card .smart-tile-overlay span{font-size:.62rem;padding:7px 10px;letter-spacing:.07em}
  .dalej-kicker-clean{letter-spacing:.22em;font-size:.64rem}
}
