:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#080909;color:#efeee9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #e8e5da;outline-offset:10px}.splash{height:100svh;min-height:480px;position:relative;overflow:hidden;isolation:isolate;background:#080909}.portrait,.shade,.grain{position:absolute;inset:0;pointer-events:none}.portrait{background:url('assets/bartek.jpg') center center/cover no-repeat;transform:scale(1.025);animation:portrait-in 2.4s ease-out both;z-index:-3}.shade{background:linear-gradient(90deg,rgba(6,7,7,.4),transparent 68%),linear-gradient(0deg,rgba(6,7,7,.9),transparent 30%,transparent 80%,rgba(6,7,7,.35));z-index:-2}.grain{opacity:.055;z-index:2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}header,footer{position:absolute;left:4.4%;right:4.4%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.19em;line-height:1.5}header{top:max(35px,env(safe-area-inset-top));color:#b7b7b2}.location::before{content:'';display:inline-block;width:5px;height:5px;border-radius:100%;background:#d9dbcf;margin-right:12px;vertical-align:2px}.edition{font-size:9px;color:#8a8b87}.identity{position:absolute;top:48%;left:11.5%;transform:translateY(-50%);width:32%;display:flex;flex-direction:column;align-items:center}.logo{position:relative;width:clamp(185px,18.5vw,300px);aspect-ratio:174/214;margin:0;overflow:hidden;animation:logo-in 1s ease-out both}.contact{text-align:center;margin-top:42px;animation:contact-in 1.4s .45s both}.contact p{font-size:9px;letter-spacing:.25em;color:#a5a7a2;margin:0 0 16px}.phone{font-size:clamp(28px,2.7vw,43px);font-weight:400;letter-spacing:-.035em;white-space:nowrap;display:inline-flex;gap:16px;align-items:center}.phone-arrow{font-size:24px;color:#a8aaa2;transition:transform .3s,color .3s}.phone:hover .phone-arrow{transform:translate(4px,-4px);color:#fff}footer{bottom:max(31px,env(safe-area-inset-bottom));color:#9b9d96;font-size:9px}.separator{margin:0 12px;color:#555954}.instagram{display:flex;align-items:center;gap:12px;min-height:44px;transition:color .2s}.instagram:hover{color:#fff}.instagram svg{width:17px;height:17px}.instagram>span{font-size:19px;margin-left:12px}@keyframes portrait-in{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1.025)}}@keyframes logo-in{from{opacity:0;filter:blur(8px);transform:translateY(13px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes logo-breathe{0%,100%{opacity:.88}50%{opacity:1}}@keyframes contact-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes glint{0%,70%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(max-width:650px){.splash{min-height:460px}header,footer{left:7%;right:7%}header{top:25px}.location{font-size:8px;letter-spacing:.15em}.edition{display:none}.portrait{background-position:72% center;opacity:.8}.shade{background:linear-gradient(0deg,#080909 0%,rgba(8,9,9,.87) 20%,rgba(8,9,9,.1) 66%,rgba(8,9,9,.3) 100%),linear-gradient(90deg,rgba(8,9,9,.42),transparent)}.identity{left:7%;top:auto;bottom:120px;transform:none;width:auto;align-items:flex-start}.logo{width:135px}.contact{margin-top:24px;text-align:left}.contact p{font-size:8px;margin-bottom:12px}.phone{font-size:34px}.phone-arrow{font-size:22px}.address{max-width:150px;font-size:8px;line-height:1.9}.separator{display:none}.address{word-spacing:1px}.instagram{font-size:8px;gap:8px}.instagram>span{margin-left:2px}footer{bottom:22px}}
@media(max-height:620px) and (min-width:651px){.logo{width:145px}.contact{margin-top:18px}.phone{font-size:28px}.identity{top:49%}}
@media(max-height:700px) and (max-width:650px){.identity{bottom:95px}.logo{width:115px}.contact{margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.portrait{transform:none}}
.portrait{background-position:75% center}
@media(max-aspect-ratio:1/1) and (min-width:651px){.portrait{background-position:85% center}.shade{background:linear-gradient(90deg,rgba(6,7,7,.8),rgba(6,7,7,.2) 70%),linear-gradient(0deg,#080909,transparent 40%)}.identity{left:7%;width:36%}}
@media(max-width:650px){.portrait{background-position:72% center}}

/* True vector contours draw once, then settle into solid white lettering. */
.logo svg{display:block;width:100%;height:100%;overflow:visible;color:#efeee9}
.logo svg path{fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;animation:logo-draw 2.5s cubic-bezier(.4,0,.2,1) var(--delay) both}
@keyframes logo-draw{0%{stroke-dashoffset:1;fill-opacity:0;stroke-opacity:0}12%{stroke-opacity:.85;fill-opacity:0}62%{fill-opacity:0}82%{stroke-dashoffset:0;stroke-opacity:1}100%{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}}
.contact{animation-delay:1.35s}

/* Explicit vector arrows avoid iOS emoji substitution. */
.phone-arrow,.instagram-arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.phone-arrow svg{display:block;width:24px;height:24px}
.instagram .instagram-arrow svg{display:block;width:18px;height:18px}
@media(max-width:650px){.phone-arrow svg{width:22px;height:22px}.instagram .instagram-arrow svg{width:16px;height:16px}}
