:root{--ink:#1d2421;--ink-soft:#38423c;--paper:#f1efe9;--paper-deep:#e5e1d7;--green:#315c45;--green-bright:#a1bb8f;--line:rgba(29,36,33,.18);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--green-bright);outline-offset:4px}.container{width:min(calc(100% - 64px),var(--max));margin:0 auto}.screen-reader-text{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.skip-link:focus{clip:auto;background:var(--ink);color:#fff;height:auto;left:10px;margin:0;padding:10px 16px;top:10px;width:auto;z-index:100}.site-header{background:var(--ink);color:var(--paper);position:sticky;top:0;left:0;width:100%;z-index:10}.header-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:11px}.wordmark-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--green-bright);border-radius:50%;color:var(--green-bright);font:italic 20px var(--serif)}.wordmark-name{font-size:15px;font-weight:700;letter-spacing:.18em}.wordmark-name span{font-weight:400;color:var(--green-bright)}.site-navigation .menu{display:flex;gap:36px;list-style:none;margin:0;padding:0}.site-navigation a{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:rgba(241,239,233,.75);transition:color .25s}.site-navigation a:hover{color:#fff}.header-cta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--green-bright);padding-bottom:5px}.header-cta span,.text-link span{color:var(--green-bright);margin-left:8px}.menu-toggle{display:none;background:transparent;border:0;color:var(--paper);padding:8px}.hero{height:min(780px,100vh);min-height:650px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:var(--ink);opacity:.85}.hero-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:90px}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-bright);margin:0 0 26px}.hero h1{font-size:clamp(4rem,8vw,7.6rem);line-height:.95;letter-spacing:-.065em;font-weight:400;margin:0;max-width:900px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.06em}.hero-footer{display:flex;align-items:end;justify-content:space-between;max-width:650px;margin-top:46px}.hero-footer p{font-size:15px;line-height:1.6;color:rgba(241,239,233,.75);max-width:420px;margin:0}.circle-link{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(241,239,233,.65);border-radius:50%;font-size:23px;transition:background .3s,color .3s}.circle-link:hover{background:var(--paper);color:var(--ink)}.hero-index{position:absolute;right:32px;bottom:36px;font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl;color:rgba(241,239,233,.55)}.section-pad{padding:145px 0}.section-heading h2{font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.06em;font-weight:400;margin:0}.offer{background:var(--paper)}.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:80px;border:1px solid var(--line)}.offer-card{background:var(--paper);min-height:300px;padding:30px;position:relative}.card-number{font:italic 22px var(--serif);color:var(--green);display:block;margin-bottom:64px}.offer-card h3{font-size:21px;line-height:1.1;margin:0 0 14px;font-weight:500}.offer-card p{color:var(--ink-soft);font-size:14px;line-height:1.6;max-width:290px;margin:0}.offer-card>a{position:absolute;right:30px;bottom:26px;color:var(--green);font-size:22px}.wood-section{background:var(--ink);color:var(--paper)}.wood-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,140px);align-items:center}.wood-visual{position:relative}.wood-image{height:620px;background:linear-gradient(0deg,rgba(27,39,31,.18),rgba(27,39,31,.18)),url('images/steico-konstrukcja-01.jpg') center/cover}.wood-visual>span{position:absolute;bottom:18px;left:18px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(20,27,23,.55);padding:6px 10px}.wood-copy h2{font-size:clamp(3rem,5.5vw,5.4rem);line-height:.98;font-weight:400;letter-spacing:-.06em;margin:0 0 46px}.wood-copy .lead{font-size:19px;line-height:1.5;color:var(--paper);max-width:510px}.wood-copy p:not(.eyebrow):not(.lead){color:rgba(241,239,233,.63);font-size:15px;max-width:470px}.text-link{display:inline-block;margin-top:30px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--green-bright);padding-bottom:7px}.projects{background:var(--paper-deep)}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-note{max-width:280px;color:var(--ink-soft);font-size:14px;line-height:1.6;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:26px;margin-top:80px}.project-card{min-width:0}.project-card-large{grid-row:span 2}.project-image{min-height:300px;background-position:center;background-size:cover;filter:saturate(.72)}.project-card-large .project-image{height:650px}.project-image-one{background-image:linear-gradient(0deg,rgba(29,36,33,.12),rgba(29,36,33,.12)),url('images/steico-dom-02.webp')}.project-image-two{background-image:url('images/steico-konstrukcja-02.jpg')}.project-image-three{background-image:url('images/steico-dom-01.jpg')}.project-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.process{background:var(--paper)}.process-list{border-top:1px solid var(--line);margin-top:80px}.process-item{display:grid;grid-template-columns:20% 1fr;gap:25px;padding:33px 0;border-bottom:1px solid var(--line)}.process-item>span{font:italic 20px var(--serif);color:var(--green)}.process-item h3{font-size:24px;font-weight:400;margin:0 0 8px}.process-item p{font-size:15px;color:var(--ink-soft);margin:0;max-width:500px}.contact{background:var(--green);color:var(--paper);text-align:center;padding:155px 0}.contact .eyebrow{color:var(--green-bright)}.contact h2{font-size:clamp(3rem,7vw,7rem);font-weight:400;line-height:.96;letter-spacing:-.07em;margin:0 auto 38px}.contact p:not(.eyebrow){color:rgba(241,239,233,.75);font-size:15px;max-width:440px;margin:0 auto 34px}.contact-placeholder{display:inline-block;border:1px solid rgba(241,239,233,.4);padding:12px 24px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.site-footer{background:var(--ink);color:var(--paper);padding:78px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:80px}.wordmark-footer{margin-bottom:25px}.footer-intro>p{color:rgba(241,239,233,.62);font:italic 19px/1.4 var(--serif);max-width:280px;margin:0}.footer-label{color:var(--green-bright);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:3px 0 20px}.footer-grid>div:not(:first-child)>a,.footer-grid>div:not(:first-child)>.footer-muted{display:block;color:rgba(241,239,233,.72);font-size:14px;margin:0 0 10px}.footer-grid>div:not(:first-child)>a:hover{color:#fff}.footer-muted{max-width:170px}.footer-bottom{border-top:1px solid rgba(241,239,233,.16);padding-top:20px;display:flex;justify-content:space-between;color:rgba(241,239,233,.45);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.generic-page{min-height:70vh;padding-top:160px}.generic-page h1{font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:.95}.generic-page article{border-top:1px solid var(--line);padding:25px 0}.generic-page article h2{font-weight:400}.reveal{opacity:1;transform:none}
@media (max-width:800px){.container{width:min(calc(100% - 40px),var(--max))}.header-inner{height:78px}.site-navigation{display:none;position:absolute;top:78px;left:0;width:100%;background:var(--ink);padding:20px}.site-navigation.is-open{display:block}.site-navigation .menu{display:block}.site-navigation li{border-bottom:1px solid rgba(241,239,233,.12);padding:14px 0}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle>span:not(.screen-reader-text){display:block;width:23px;height:1px;background:var(--paper)}.hero{min-height:680px}.hero h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-footer{align-items:start;gap:25px}.hero-index{right:19px}.section-pad{padding:95px 0}.section-heading h2{font-size:clamp(3rem,13vw,5rem)}.offer-grid{grid-template-columns:1fr;margin-top:50px}.offer-card{min-height:250px}.wood-grid{grid-template-columns:1fr;gap:58px}.wood-image{height:400px}.wood-copy h2{font-size:clamp(3.2rem,13vw,5rem);margin-bottom:35px}.projects-heading{display:block}.section-note{margin-top:30px}.project-grid{grid-template-columns:1fr;margin-top:52px}.project-card-large{grid-row:auto}.project-card-large .project-image{height:420px}.project-image{min-height:260px}.process-list{margin-top:50px}.process-item{grid-template-columns:44px 1fr}.process-item h3{font-size:21px}.contact{padding:110px 0}.contact h2{font-size:clamp(3.2rem,14vw,6rem)}.footer-grid{grid-template-columns:1fr 1fr;gap:40px;padding-bottom:55px}.footer-intro{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}}
.hero{
  --hero-stage-height:clamp(640px,calc(100svh - 92px),1000px);
  height:var(--hero-stage-height);min-height:0;display:block;overflow:visible;
  background:#1d2421;
}
.hero.has-scroll-scene{height:calc(var(--hero-stage-height) + 54svh)}
.hero-stage{
  position:sticky;top:92px;height:var(--hero-stage-height);overflow:hidden;isolation:isolate;
  background:radial-gradient(ellipse at 72% 68%,rgba(94,123,91,.19),transparent 60%),linear-gradient(180deg,#1d2421 0%,#17231d 100%);
}
.hero-content{
  position:relative;z-index:2;width:min(calc(100% - 128px),1580px);max-width:none;
  height:100%;margin:0 auto;padding:clamp(76px,12svh,150px) 0 0;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
  transform:translate3d(0,var(--hero-copy-y,0px),0);pointer-events:none;
}
.hero-content,.hero-footer{background:transparent;box-shadow:none;backdrop-filter:none}
.hero .eyebrow{margin-bottom:30px;color:#b3c4a8}
.hero h1{
  font-size:clamp(5rem,7.9vw,9.3rem);max-width:none;line-height:.98;letter-spacing:-.065em;
  text-shadow:0 2px 4px rgba(15,25,19,.28),0 8px 28px rgba(15,25,19,.26);
}
.hero h1 em{display:inline-block;margin-left:clamp(26px,4vw,78px);white-space:nowrap;letter-spacing:-.065em}
.hero-footer{display:flex;flex-direction:column;align-items:flex-start;gap:30px;margin-top:42px;max-width:min(330px,21vw)}
.hero-footer p{font-size:14px;line-height:1.75;max-width:330px;color:#d0d7cd;text-shadow:0 2px 10px rgba(15,25,19,.5)}
.hero-footer .circle-link{width:56px;height:56px;flex-shrink:0;pointer-events:auto;border-color:rgba(241,239,233,.45)}
.hero-image{position:absolute;inset:0;overflow:visible;background:transparent;opacity:1;pointer-events:none;z-index:1}
.hero-image img{
  position:absolute;top:62%;left:64%;width:min(102vw,calc(var(--hero-stage-height) * 1.83));height:auto;max-width:none;
  filter:saturate(.78) contrast(1.04) drop-shadow(0 28px 32px rgba(5,14,9,.18));
  transform:translate3d(-56.3%,calc(-50% + var(--hero-shift-y,0px)),0) scale(var(--hero-scale,1));
  transform-origin:56.3% 50%;
}
.hero-index{z-index:3;right:32px;bottom:34px;writing-mode:horizontal-tb;color:#aab8a9}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.project-card{display:flex;flex-direction:column;min-height:0}
.project-card-large{grid-row:auto}
.project-image,.project-card-large .project-image{height:300px;min-height:300px;flex:none}
.project-meta{min-height:52px;align-items:center;gap:18px}
.offer-grid{gap:18px;background:transparent;border:0}
.offer-card{display:flex;flex-direction:column;min-height:320px;padding:32px;background:rgba(255,255,255,.34);border:1px solid rgba(29,36,33,.08);border-radius:18px;box-shadow:0 10px 26px rgba(29,36,33,.04);transition:background .25s ease,box-shadow .25s ease,border-color .25s ease}
.offer-card:hover{background:#fff;border-color:rgba(49,92,69,.28);box-shadow:0 18px 36px rgba(29,36,33,.1)}
.offer-card:focus-visible{outline:3px solid var(--green-bright);outline-offset:5px}
.offer-card .card-number{margin-bottom:auto;color:var(--green);font-size:18px}
.offer-card h3{max-width:260px;margin:24px 0 14px;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.08}
.offer-card p{margin:0;max-width:300px}

/* Content is visible before observation; only the entering class adds motion. */
.reveal{opacity:1;transform:none;--reveal-delay:0ms}
.reveal-delay-1{--reveal-delay:130ms}
.reveal-delay-2{--reveal-delay:260ms}
.reveal.is-visible{animation:reveal-rise 900ms cubic-bezier(.16,1,.3,1) var(--reveal-delay) backwards}
.offer-card.is-visible,.project-card.is-visible{animation-name:card-rise;animation-duration:1100ms}
.wood-visual.is-visible{animation:none}
.wood-image,.project-image,.project-feature-image,.team-card img{border:1px solid rgba(29,36,33,.08);border-radius:16px}
.wood-image,.project-image,.project-feature-image{position:relative;overflow:hidden}
.wood-image::before,.project-image::before,.project-feature-image::before{content:"";position:absolute;inset:-16px;background-image:inherit;background-repeat:no-repeat;background-size:cover;background-position:center calc(50% + var(--scroll-shift,0px));pointer-events:none}
.is-visible .wood-image::before,.is-visible .project-image::before,.project-feature-image.is-visible::before{animation:image-enter 1500ms cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) backwards}
@keyframes reveal-rise{from{transform:translate3d(0,24px,0)}to{transform:none}}
@keyframes card-rise{from{transform:translate3d(0,64px,0) scale(.96)}to{transform:none}}
@keyframes image-enter{from{transform:translate3d(0,3%,0) scale(1.18)}to{transform:none}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .offer-card{transition:background .3s ease,box-shadow .3s ease,border-color .3s ease,translate .4s cubic-bezier(.16,1,.3,1)}
  .offer-card:hover{translate:0 -8px}
  .project-image::before{transition:scale .7s cubic-bezier(.16,1,.3,1)}
  .project-card:hover .project-image::before{scale:1.04}
  .process-item{margin-inline:-24px;padding-inline:24px;border-radius:16px;transition:background .35s ease,color .35s ease,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
  .process-item:hover{background:var(--paper-deep);transform:translateX(10px);box-shadow:0 16px 28px rgba(29,36,33,.08)}
  .process-item:hover>span{color:var(--green)}
  .process-item:hover p{color:var(--ink-soft)}
}
@media(max-width:1100px){
  .hero,.hero.has-scroll-scene{--hero-title-size:clamp(2.65rem,9.8vw,4.8rem);--hero-model-height:clamp(230px,64vw,500px);height:auto;min-height:0}
  .hero-stage{position:relative;top:auto;height:auto;min-height:0;padding-bottom:70px}
  .hero-content{width:calc(100% - 40px);height:auto;padding:52px 0 0;transform:none}
  .hero .eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:24px}
  .hero h1{font-size:var(--hero-title-size);line-height:1.03}
  .hero h1 em{margin-left:0}
  .hero-footer{margin-top:calc(var(--hero-model-height) + 42px);max-width:500px;flex-direction:row;align-items:center;gap:24px}
  .hero-footer p{font-size:13px;line-height:1.7;max-width:390px}
  .hero-footer .circle-link{width:44px;height:44px}
  .hero-image{top:calc(108px + var(--hero-title-size) * 2.06);bottom:auto;height:var(--hero-model-height)}
  .hero-image img{top:50%;left:50%;width:162vw;max-width:1160px;transform:translate3d(-56.3%,calc(-50% + var(--hero-shift-y,0px)),0) scale(var(--hero-scale,1))}
  .hero-index{font-size:9px;bottom:20px;right:20px}
}
@media(max-width:800px){
  .project-grid{grid-template-columns:1fr}
  .project-image,.project-card-large .project-image{height:320px;min-height:320px}
  .offer-grid{gap:16px}
  .offer-card{min-height:280px}
  .reveal-delay-1{--reveal-delay:70ms}
  .reveal-delay-2{--reveal-delay:140ms}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.is-visible{opacity:1;transform:none;animation:none}
  .hero.has-scroll-scene{height:var(--hero-stage-height)}
  .hero-content{transform:none}
  .hero-image img{transform:translate3d(-56.3%,-50%,0)!important}
  .wood-image::before,.project-image::before,.project-feature-image::before{animation:none!important;transform:none;background-position:center}
  .offer-card,.project-image::before{transition:none}
}
.site-chat{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.site-chat-panel{width:min(330px,calc(100vw - 40px));padding:22px 48px 22px 22px;background:var(--paper);border:1px solid rgba(29,36,33,.1);border-radius:18px;box-shadow:0 18px 46px rgba(11,20,14,.2);color:var(--ink)}.site-chat-panel p{margin:0 0 14px;font-size:15px;line-height:1.5}.site-chat-panel a{display:inline-block;color:var(--green);font-size:14px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid currentColor}
.site-chat-panel a.chat-cta{color:var(--ink);background:var(--green-bright);border-bottom:0;padding:8px 16px;border-radius:999px}.site-chat-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(29,36,33,.07);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}.site-chat-trigger{display:flex;align-items:center;gap:9px;border:0;border-radius:999px;padding:15px 18px;background:var(--green);box-shadow:0 12px 28px rgba(11,20,14,.24);color:var(--paper);font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .25s ease,background .25s ease}.site-chat-trigger span:first-child{color:var(--green-bright);font-size:16px;line-height:0}.site-chat-trigger:hover{background:var(--ink);transform:translateY(-3px)}.js .site-chat-panel{position:absolute;right:0;bottom:56px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);pointer-events:none;transition:opacity .25s ease,transform .25s cubic-bezier(.16,1,.3,1),visibility .25s}.js .site-chat.is-open .site-chat-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}@media(max-width:600px){.site-chat{right:16px;bottom:16px}.site-chat-trigger{padding:14px 16px}}@media(prefers-reduced-motion:reduce){.site-chat-trigger,.js .site-chat-panel{transition:none}}
@media(max-width:1100px) and (prefers-reduced-motion:reduce){.hero.has-scroll-scene{height:auto}}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:50;background:transparent;pointer-events:none}
.scroll-progress::before{content:"";display:block;height:100%;width:calc(var(--progress,0)*100%);background:var(--green-bright)}
.site-navigation a[aria-current="page"],.site-navigation a.is-active{color:#fff;border-bottom:1px solid var(--green-bright)}
.site-navigation a:focus-visible,.header-cta:focus-visible,.text-link:focus-visible{outline:3px solid var(--green-bright);outline-offset:4px}
.offer-card,.project-card,.team-card{transition:translate .35s ease,box-shadow .35s ease}
.offer-card:hover,.offer-card:focus-within{translate:0 -4px}
.project-card:hover .project-image{border-color:rgba(49,92,69,.35)}
.team-card img,.project-feature-image{background-color:var(--paper-deep)}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.reveal,.reveal.is-visible{animation:none!important;opacity:1!important;transform:none!important}.offer-card,.project-card,.team-card,.site-chat-trigger{transition:none!important}}
@media(max-width:800px){.process-item{margin-inline:0;padding-inline:0}.process-item:hover{transform:none;box-shadow:none}}
/*A11Y-FIX-03: AA 4.5:1, tylko jasne sekcje; hero/inner-hero/focus bez zmian*/
.offer .eyebrow,.projects .eyebrow,.process .eyebrow,#proces .eyebrow,.projects-heading .eyebrow,.section-heading .eyebrow,.project-list .eyebrow,.process-detail .eyebrow,.contact-detail .eyebrow,.team-section .eyebrow{color:var(--green)}
.contact .eyebrow{color:#f4f1e8}
.footer-bottom{color:rgba(241,239,233,.8)}
