/* TechTree Solutions: płytka i drewno. Czcionki lokalne, zero zasobów z zewnątrz. */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../assets/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Bricolage;font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/bricolage-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Bricolage;font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/bricolage-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--deep:#08291E;--forest:#0F4D37;--leaf:#1C8160;--mint:#D9EDE4;--amber:#C97E2C;--resin:#E6A95C;--umber:#6F3F0E;--birch:#F1DFC2;--stone:#F1F4F0;--line:#CBD5CE;--pad:clamp(20px,3.4vw,56px);--ease:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.3,1.5,.5,1);--disp:Bricolage,Inter,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--stone);color:var(--deep);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,canvas,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
address{font-style:normal}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:100;padding:12px 18px;border-radius:8px;background:var(--deep);color:#fff;font-weight:650;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:4px}

/* przycisk jak klocek: twarda krawędź pod spodem, wciska się przy kliknięciu */
.key{--face:var(--forest);--edge:var(--deep);--ink:#FBF7EE;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border-radius:9px;background:var(--face);color:var(--ink);font-weight:650;font-size:16px;text-decoration:none;box-shadow:0 5px 0 var(--edge);transition:transform .16s var(--ease),box-shadow .16s var(--ease)}
.key svg{flex:none}
.key:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--edge)}
.key:active{transform:translateY(4px);box-shadow:0 1px 0 var(--edge)}
.key.pale{--face:#FBF7EE;--edge:#B98F52;--ink:var(--deep)}
.key.amber{--face:var(--resin);--edge:#8D5A1C;--ink:var(--deep)}

.sb{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;font-weight:650;text-underline-offset:3px}
.sb img{width:22px;height:22px;flex:none}

/* nagłówek */
.top{position:sticky;top:0;z-index:50;background:#FBFAF6;box-shadow:0 1px 0 rgba(8,41,30,.12)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;padding-inline:var(--pad)}
.brand{display:flex;border-radius:6px}
.brand svg{height:40px;width:auto}
.nav ul{display:flex;align-items:center;gap:4px}
.nav a{display:block;padding:9px 13px;border-radius:7px;font-weight:600;font-size:15px;text-decoration:none}
.nav a:hover{background:#E9EDE7}
.nav a.key{display:inline-flex;min-height:42px;margin-left:10px;padding:0 16px;font-size:15px;box-shadow:0 4px 0 var(--edge)}
.nav a.key:hover{background:var(--face)}
.menu-btn{display:none;width:46px;height:46px;border-radius:8px;align-items:center;justify-content:center;background:#E9EDE7}
.menu-btn span{position:relative;display:block;width:20px;height:2px;background:var(--deep);transition:background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--deep);transition:transform .25s var(--ease)}
.menu-btn span::before{top:-6px}
.menu-btn span::after{top:6px}
.menu-btn[aria-expanded=true] span{background:transparent}
.menu-btn[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}

/* tła materiałowe */
.m-tech{background-color:var(--forest);background-image:linear-gradient(rgba(15,77,55,.9),rgba(15,77,55,.9)),url(../assets/pcb.svg);background-size:auto,320px}
.m-tree{background-color:var(--birch);background-image:url(../assets/brzoza.webp);background-size:cover;background-position:center}

/* start: ukośny szew biegnie pod kątem znaku, kursor go przesuwa */
.hero{--s:50%;--t:15vh;position:relative;min-height:max(620px,calc(100svh - 72px));overflow:clip;display:grid}
.plane{grid-area:1/1;position:relative;padding:clamp(26px,4.4vh,48px) var(--pad);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.p-tree{color:var(--deep)}
.p-tech{background-color:#0A3A2A;background-image:linear-gradient(rgba(10,58,42,.88),rgba(10,58,42,.88)),url(../assets/pcb.svg);background-size:auto,320px;color:#F6EAD6;pointer-events:none;clip-path:polygon(0 0,calc(var(--s) + var(--t)) 0,calc(var(--s) - var(--t)) 100%,0 100%)}
.seamline{grid-area:1/1;z-index:2;pointer-events:none;background:var(--resin);clip-path:polygon(calc(var(--s) + var(--t)) 0,calc(var(--s) + var(--t) + 4px) 0,calc(var(--s) - var(--t) + 4px) 100%,calc(var(--s) - var(--t)) 100%)}
.word{font-family:var(--disp);font-weight:800;font-size:min(16vw,34vh);line-height:.8;letter-spacing:-.045em}
.word>span{display:inline-block}
.w-clip{display:block;overflow-x:visible;overflow-y:clip;white-space:nowrap;padding-bottom:.1em;margin-bottom:-.02em}
.side{min-width:0}
.side-tech{grid-area:1/1}
.side-tree{grid-area:2/2;align-self:end;justify-self:end;width:max-content;max-width:100%}
.say{margin-top:10px;max-width:24em;font-size:clamp(17px,1.35vw,20px);line-height:1.4;font-weight:500}
.go{margin-top:20px}
.go svg{display:none}
.p-tech .go{--face:#F6EAD6;--edge:#A9884F;--ink:var(--deep)}
.who{position:absolute;left:var(--pad);bottom:clamp(26px,4.4vh,48px);max-width:26em;margin:0;font-family:Inter,sans-serif;font-size:clamp(16px,1.2vw,18px);line-height:1.4;font-weight:650;letter-spacing:0}
.who b{font-weight:650}
.who span{display:block;font-weight:450}
.knot{position:absolute;z-index:3;left:var(--s);top:50%;width:min(58vh,37vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}
.knot canvas,.knot .fallback{position:absolute;inset:0;width:100%;height:100%}
.knot canvas{opacity:0;transition:opacity .2s}
.knot.live canvas{opacity:1}
.knot.live .fallback{display:none}
.js .knot .fallback{opacity:0;animation:appear .3s linear 2.6s forwards}
.js .knot.static .fallback{animation:appear .3s linear forwards}
@keyframes appear{to{opacity:1}}
/* wejście: słowa wyjeżdżają w chwili, gdy klocki się zatrzaskują */
.js .word>span{transform:translateY(106%);animation:rise .95s var(--ease) .75s forwards}
.js .side .say,.js .side .go,.js .who{opacity:0;animation:appear .6s linear 1.25s forwards}
.js .seamline{opacity:0;animation:appear .35s linear 1.3s forwards}
@keyframes rise{to{transform:none}}
.hero:has(.a-tech:focus-visible) .p-tech .go-tech,.hero:has(.a-tree:focus-visible) .p-tech .go-tree{outline:3px solid var(--resin);outline-offset:3px}
.hero:has(.a-tech:hover) .p-tech .go-tech{transform:translateY(-2px);box-shadow:0 7px 0 var(--edge)}
.hero:has(.a-tech:active) .p-tech .go-tech{transform:translateY(4px);box-shadow:0 1px 0 var(--edge)}
.a-tech:focus-visible{outline-color:transparent}

/* zakres */
.panel{position:relative;padding:clamp(72px,9vw,132px) var(--pad);overflow:clip}
.panel-in{position:relative;z-index:1;max-width:1320px;margin-inline:auto}
.tech{color:var(--mint)}
.tree{color:var(--deep);clip-path:polygon(0 clamp(30px,5vw,84px),100% 0,100% 100%,0 100%);margin-top:calc(clamp(30px,5vw,84px) * -1);padding-top:clamp(110px,13vw,190px)}
.glow{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px),#000,transparent);mask-image:radial-gradient(300px circle at var(--mx,-999px) var(--my,-999px),#000,transparent)}
.tech .glow{background:url(../assets/pcb.svg) 0 0/320px}
.tree .glow{background:url(../assets/brzoza.webp) center/cover;filter:saturate(1.8) brightness(.8)}
.head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:clamp(36px,5vw,72px)}
.pword{font-family:var(--disp);font-size:clamp(84px,14vw,216px);font-weight:800;line-height:.8;letter-spacing:-.045em}
.tech .pword{color:#F6EAD6}
.tree .pword{color:var(--forest)}
.lede{margin-top:20px;max-width:30em;font-size:clamp(18px,1.6vw,22px);line-height:1.4;font-weight:500}
.art{position:relative;width:clamp(150px,21vw,320px)}
.art img{width:100%}
.art .over{position:absolute;inset:0}
.js .art .glify{animation:bob 3.6s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(-5px)}to{transform:translateY(5px)}}
.beam{position:absolute;width:44%;right:-6%;top:-14%}
.js .art .beam{opacity:0}
.js .art.show .beam{animation:drop 1.1s var(--spring) .2s both}
@keyframes drop{from{transform:translate(-30px,-110px) rotate(-25deg);opacity:0}60%{opacity:1}to{transform:none;opacity:1}}
.rows{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(28px,5vw,80px)}
.row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--rl)}
.tech .rows{--rl:rgba(217,237,228,.24)}
.tree .rows{--rl:rgba(8,41,30,.24)}
.row img{width:96px;transition:transform .45s var(--spring);transform-origin:50% 90%}
.row:hover img{transform:translateY(-6px) rotate(-5deg) scale(1.08)}
.row h3{font-family:var(--disp);font-size:clamp(21px,1.9vw,26px);line-height:1.15;letter-spacing:-.015em;font-weight:700}
.tech .row h3{color:#FBF7EE}
.row p{margin-top:5px;font-size:16px;line-height:1.45}
.row.wide{grid-column:1/-1;grid-template-columns:96px minmax(0,1fr) auto;border-top-color:var(--resin)}
.row.wide .mark{width:64px;height:64px;justify-self:center}
.row.wide:hover .mark{transform:translateY(-6px) rotate(-5deg) scale(1.08)}
.mark{transition:transform .45s var(--spring)}
.tech .sb{color:var(--resin)}
.next{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:clamp(28px,4vw,48px)}
.next p{font-size:17px;font-weight:500}

/* zarząd i kontakt: ten sam szew co na początku */
.people{--t:7vh;position:relative;overflow:clip}
.people::before{content:"";position:absolute;inset:0;background-color:#0A3A2A;background-image:linear-gradient(rgba(10,58,42,.88),rgba(10,58,42,.88)),url(../assets/pcb.svg);background-size:auto,320px;clip-path:polygon(0 0,calc(50% + var(--t)) 0,calc(50% - var(--t)) 100%,0 100%)}
.people::after{content:"";position:absolute;inset:0;background:var(--resin);clip-path:polygon(calc(50% + var(--t)) 0,calc(50% + var(--t) + 4px) 0,calc(50% - var(--t) + 4px) 100%,calc(50% - var(--t)) 100%)}
.people-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr}
.person{padding:clamp(64px,8vw,116px) clamp(40px,8vw,120px) clamp(64px,8vw,116px) var(--pad);display:flex;flex-direction:column}
.person.tree-side{padding:clamp(64px,8vw,116px) var(--pad) clamp(64px,8vw,116px) clamp(40px,8vw,120px)}
.person.tech-side{color:#F6EAD6}
.person h2{font-family:var(--disp);font-size:clamp(17px,1.4vw,20px);font-weight:600;letter-spacing:0;margin-bottom:26px}
.card{display:grid;grid-template-columns:clamp(110px,14vw,190px) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:end}
.shot{aspect-ratio:5/6;object-fit:cover;object-position:50% 50%;width:100%;border-radius:5px;box-shadow:9px 9px 0 var(--sh)}
.tech-side .shot{--sh:var(--resin)}
.tree-side .shot{--sh:var(--forest)}
.person h3{font-family:var(--disp);font-size:clamp(34px,4vw,60px);line-height:.95;letter-spacing:-.03em;font-weight:800}
.role{margin-top:10px;font-size:16px;font-weight:500}
.scope{margin-top:26px;max-width:28em;font-size:18px;line-height:1.45}
.big{display:inline-block;margin-top:18px;font-family:var(--disp);font-weight:700;font-size:clamp(23px,2.35vw,36px);line-height:1.12;letter-spacing:-.015em;text-underline-offset:5px;text-decoration-thickness:2px;overflow-wrap:anywhere}
.acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.aside{margin-top:30px;font-size:15.5px}
.tech-side .sb{color:var(--resin)}

/* kontakt ogólny */
.general{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 40px;padding:clamp(34px,4.4vw,60px) var(--pad);background:var(--deep);color:#F6EAD6}
.general h2{font-family:var(--disp);font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.2;letter-spacing:-.01em}
.general .big{margin-top:0;color:var(--resin)}

/* dane spółki */
.reg{padding:clamp(80px,10vw,148px) var(--pad)}
.reg-in{max-width:1320px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.reg h2{font-family:var(--disp);font-size:clamp(46px,6.6vw,104px);font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--forest)}
.reg-art{position:relative;margin-top:36px;max-width:480px}
.reg-art img{width:100%}
.reg-art .stamp{position:absolute;inset:0}
.js .reg-art .stamp{opacity:0}
.js .reg-art.show .stamp{animation:stamp .9s var(--spring) .25s both}
@keyframes stamp{0%{opacity:0;transform:translateY(-90px) rotate(-10deg)}55%{opacity:1;transform:translateY(6px) scaleY(.96)}75%{transform:translateY(-6px)}100%{opacity:1;transform:none}}
.facts>div{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:6px 20px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}
.facts>div:last-child{border-bottom:1px solid var(--line)}
.facts dt{font-size:15.5px;font-weight:550;color:#3A5549}
.facts dd a{color:var(--forest);font-weight:650;overflow-wrap:anywhere;text-underline-offset:3px}
.facts dd{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:18px;line-height:1.35;font-weight:550}
.num{font-variant-numeric:tabular-nums;font-size:20px;font-weight:650;letter-spacing:.01em}
.copy{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border-radius:7px;font-size:14px;font-weight:600;background:#DFE6E0;transition:background .18s,color .18s}
.copy:hover{background:var(--forest);color:#fff}
.copy.ok{background:var(--leaf);color:#fff}
.src{margin-top:18px;font-size:15.5px;color:#3A5549}
.src a{font-weight:650;color:var(--forest)}
.hq{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:24px;align-items:center;margin-top:40px}
.hq-art{position:relative}
.hq-art .pin{position:absolute;inset:0}
.js .hq-art .pin{opacity:0}
.js .hq-art.show .pin{animation:pin 1s var(--spring) .2s both}
@keyframes pin{0%{opacity:0;transform:translateY(-70px)}60%{opacity:1;transform:translateY(4px)}80%{transform:translateY(-5px)}100%{opacity:1;transform:none}}
.hq address{font-family:var(--disp);font-size:clamp(24px,2.3vw,32px);line-height:1.1;font-weight:700;letter-spacing:-.015em}
.hq .key{margin-top:16px}

/* stopka */
.foot{background:var(--deep);color:#D6E4DC;padding:clamp(48px,6vw,80px) var(--pad) 36px;font-size:15px;line-height:1.7}
.foot-in{max-width:1320px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px 60px}
.foot svg.logo{height:46px;width:auto;margin-bottom:20px}
.foot a{color:#fff;text-underline-offset:3px}
.foot .sb{color:var(--resin)}
.foot-links{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.foot-note{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(214,228,220,.2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 30px;font-size:14px}

/* polityka prywatności */
.doc-hero{--t:44px;position:relative;padding:clamp(56px,7vw,96px) var(--pad);color:var(--deep);overflow:clip}
.doc-hero::before{content:"";position:absolute;inset:0;background-color:#0A3A2A;background-image:linear-gradient(rgba(10,58,42,.88),rgba(10,58,42,.88)),url(../assets/pcb.svg);background-size:auto,320px;clip-path:polygon(0 0,calc(78% + var(--t)) 0,calc(78% - var(--t)) 100%,0 100%)}
.doc-hero::after{content:"";position:absolute;inset:0;background:var(--resin);clip-path:polygon(calc(78% + var(--t)) 0,calc(78% + var(--t) + 4px) 0,calc(78% - var(--t) + 4px) 100%,calc(78% - var(--t)) 100%)}
.doc-hero>div{position:relative;z-index:1;max-width:1180px;margin-inline:auto;color:#F6EAD6}
.doc-hero h1{font-family:var(--disp);font-size:clamp(40px,6.2vw,92px);line-height:.95;letter-spacing:-.035em;font-weight:800;max-width:11em}
.doc-hero p{margin-top:18px;font-size:17px;max-width:62%}
.doc{max-width:1180px;margin-inline:auto;padding:clamp(40px,6vw,80px) var(--pad);display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(30px,6vw,88px);align-items:start}
.toc{position:sticky;top:96px;font-size:15px;line-height:1.35}
.toc h2{font-family:var(--disp);font-size:18px;margin:0 0 12px}
.toc ol{counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:grid;grid-template-columns:24px 1fr;padding:6px 0;text-decoration:none}
.toc a::before{content:counter(t) ".";color:#3A5549;font-variant-numeric:tabular-nums}
.toc a:hover{text-decoration:underline;text-underline-offset:3px}
.body{max-width:42em}
.short{padding:22px 24px;border-left:5px solid var(--amber);background:#E7EDE7;border-radius:0 6px 6px 0;margin-bottom:44px}
.short h2{font-family:var(--disp);font-size:22px;margin:0 0 10px;font-weight:700}
.short li{position:relative;padding-left:18px;margin-top:6px}
.short li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--amber)}
.body section{padding-top:8px;margin-bottom:38px;scroll-margin-top:90px}
.body h2.t{font-family:var(--disp);font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.015em;font-weight:700;color:var(--forest);margin:0 0 12px}
.body p+p{margin-top:12px}
.body ul.l{margin-top:12px}
.body ul.l li{position:relative;padding-left:18px;margin-top:8px}
.body ul.l li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--forest)}
.body ul.l+p{margin-top:12px}
.body a{color:var(--forest);font-weight:600;text-underline-offset:3px}

/* 404 */
.lost{min-height:100svh;display:grid;align-content:center;gap:18px;padding:var(--pad);color:#F6EAD6}
.lost h1{font-family:var(--disp);font-size:clamp(90px,22vw,300px);line-height:.85;letter-spacing:-.05em;font-weight:800;color:var(--resin)}
.lost p{font-size:clamp(20px,2.4vw,30px);font-weight:500}
.lost .key{justify-self:start;margin-top:12px}

@media (max-width:1040px){
 .nav{position:absolute;top:66px;right:16px;left:16px;display:none}
 .nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch;gap:2px;padding:12px;background:#FBFAF6;border-radius:10px;box-shadow:0 18px 40px -14px rgba(8,41,30,.45),0 0 0 1px rgba(8,41,30,.1)}
 .nav a{padding:14px;font-size:17px}
 .nav a.key{margin:8px 0 0;min-height:52px}
 .menu-btn{display:inline-flex}
}
@media (max-width:820px){
 html{scroll-padding-top:80px}
 .m-tree{background-size:1300px auto;background-position:center top}
 .rows{grid-template-columns:1fr}
 .row.wide{grid-template-columns:96px minmax(0,1fr)}
 .row.wide .sb{grid-column:2}
 .head{grid-template-columns:minmax(0,1fr) auto}
 .art{width:32vw}
 .people{--t:5vw}
 .people::before{clip-path:polygon(0 0,100% 0,100% calc(50% - var(--t)),0 calc(50% + var(--t)))}
 .people::after{clip-path:polygon(0 calc(50% + var(--t)),100% calc(50% - var(--t)),100% calc(50% - var(--t) + 4px),0 calc(50% + var(--t) + 4px))}
 .people-in{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
 .person,.person.tree-side{padding:56px var(--pad) 72px}
 .person.tree-side{padding-top:84px}
 .reg-in{grid-template-columns:1fr}
 .foot-in{grid-template-columns:1fr}
 .doc{grid-template-columns:1fr}
 .toc{position:static}
 .doc-hero::before,.doc-hero::after{clip-path:none}
 .doc-hero::after{display:none}
 .doc-hero p{max-width:none}
}
@media (max-width:820px) and (orientation:portrait){
 /* telefon: układ obrócony o 180 stopni jak dwa klocki znaku, szew pod kątem logo */
 .top-in{height:60px}
 .brand svg{height:34px}
 .hero{--pad:16px;--t:15vw;--ww:calc(100vw - 32px);--hh:calc(100svh - 60px);min-height:max(480px,var(--hh))}
 .plane{grid-template-columns:minmax(0,1fr);padding:14px var(--pad) 18px}
 .p-tech{clip-path:polygon(0 0,100% 0,100% calc(var(--s) - var(--t)),0 calc(var(--s) + var(--t)))}
 .seamline{clip-path:polygon(0 calc(var(--s) + var(--t)),100% calc(var(--s) - var(--t)),100% calc(var(--s) - var(--t) + 3px),0 calc(var(--s) + var(--t) + 3px))}
 .who{position:static;grid-area:1/1;max-width:none;font-size:14.5px;line-height:1.3;font-weight:500}
 .who .nm,.who span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .side{display:grid;gap:8px 12px;align-items:center}
 .side-tech{grid-area:1/1;align-self:start;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"s g" "w w"}
 .side-tree{grid-area:2/1;align-self:end;justify-self:stretch;width:auto;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"w w" "g s";text-align:right}
 .side .word{grid-area:w;margin-bottom:-.01em}
 .side .say{grid-area:s;margin:0;max-width:none;font-size:clamp(14.5px,4vw,17px);line-height:1.32;text-wrap:balance}
 .side .go{grid-area:g;margin:0}
 .side-tech .word{font-size:min(calc(var(--ww) / 2.16),23svh);line-height:.78}
 .side-tree .word{font-size:min(calc(var(--ww) / 2.03),23svh);line-height:.78;text-align:right}
 .side-tree .say{margin-left:auto}
 .go{width:50px;min-height:50px;padding:0;border-radius:10px}
 .go svg{display:block}
 .go-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .knot{left:50%;top:calc(var(--s) + 7px);width:min(92vw,46svh)}
 .p-tech{background-size:auto,250px}
}
/* telefon w poziomie: układ po skosie jak na komputerze, skrócony do wysokości ekranu */
@media (max-height:500px) and (orientation:landscape){
 .hero{min-height:max(300px,calc(100svh - 72px));--t:13vh}
 .plane{grid-template-rows:minmax(0,1fr);padding:16px var(--pad)}
 .side-tech{grid-area:1/1}
 .side-tree{grid-area:1/2;align-self:end}
 .word{font-size:min(14vw,34vh)}
 .say{font-size:14.5px;max-width:14.5em;margin-top:6px}
 .go{margin-top:10px;min-height:42px;padding:0 15px;font-size:15px}
 .who{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .knot{width:min(74vh,34vw)}
}
@media (max-width:820px) and (orientation:portrait) and (max-height:600px){
 .knot{width:40svh;top:var(--s)}
 .side-tech .word,.side-tree .word{font-size:min(calc(var(--ww) / 2.16),21svh)}
}
@media (max-width:820px) and (orientation:portrait) and (min-height:720px){
 .who span{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}
 .side-tech{margin-top:30px}
}
@media (max-width:560px){
 .facts>div{grid-template-columns:minmax(0,1fr)}
 .row{grid-template-columns:72px minmax(0,1fr);gap:14px}
 .row img{width:72px}
 .row.wide{grid-template-columns:72px minmax(0,1fr)}
 .card{grid-template-columns:112px minmax(0,1fr)}
 .hq{grid-template-columns:120px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
