:root{--bg:#f4f3ef;--fg:#0c0c0c;--mut:#77756e;--line:#d9d7cf;--card:#fbfaf7;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b0b0b;--fg:#efede6;--mut:#8a887f;--line:#262624;--card:#141413}}
:root[data-theme="dark"]{--bg:#0b0b0b;--fg:#efede6;--mut:#8a887f;--line:#262624;--card:#141413}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--fg);font-family:'Space Mono',monospace;font-size:14px;line-height:1.6;overflow-x:hidden}
h1,h2,h3,.big{font-family:'Archivo Black',sans-serif;font-weight:400;line-height:.95;letter-spacing:-.03em}
em{font-family:'Instrument Serif',serif;font-style:italic;letter-spacing:0}
a{color:inherit;text-decoration:none}
section{padding:110px 5vw;border-top:1px solid var(--line)}
.lbl{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mut);margin-bottom:28px;display:block}
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 5vw 14px;background:var(--bg);border-bottom:1px solid var(--line);color:var(--fg)}
nav .links{display:flex;gap:26px;font-size:12px;text-transform:uppercase}
nav a:hover{text-decoration:line-through}
.logo{display:flex;align-items:center;gap:10px;font-family:'Archivo Black';font-size:17px;letter-spacing:-.03em}
.logo svg{width:30px;height:34px}
#cur{position:fixed;width:14px;height:14px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:99;transform:translate(-50%,-50%);transition:width .2s,height .2s;left:-50px;top:-50px}
#cur.big{width:70px;height:70px}
@media(hover:none){#cur{display:none}}
/* raw redacted-tape reveal */
.w{display:inline-block;position:relative;overflow:hidden;vertical-align:top;padding:.1em .12em .22em .03em;margin:-.1em -.1em -.22em 0}
.w>i{display:inline-block;font-style:inherit;opacity:0}
.w::after{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:left}
.in .w>i{animation:txt 0s linear forwards;animation-delay:calc(var(--d)*1ms + 260ms)}
.in .w::after{animation:tape .62s cubic-bezier(.7,0,.2,1) forwards;animation-delay:calc(var(--d)*1ms)}
@keyframes txt{to{opacity:1}}
@keyframes tape{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}50.1%{transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
.fade{opacity:0;transform:translateY(24px) rotate(.6deg);transition:.8s}
.fade.in{opacity:1;transform:none}
/* hero */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;border:0;padding-top:140px;position:relative}
#hero h1{font-size:clamp(40px,10vw,170px);line-height:1.04}
.sub{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-top:40px;align-items:flex-end}
.sub p{max-width:380px;color:var(--mut)}
.ghost{position:absolute;right:5vw;top:110px;width:min(11vw,96px);animation:fl 5s ease-in-out infinite;transition:transform .2s}
@keyframes fl{50%{translate:0 -18px}}
.stamp{position:absolute;right:6vw;bottom:34vh;font-size:10px;border:1px solid var(--fg);padding:4px 8px;transform:rotate(-6deg);text-transform:uppercase}
.btn{display:inline-flex;gap:10px;align-items:center;border:1.5px solid var(--fg);padding:14px 22px;background:var(--fg);color:var(--bg);font:700 12px 'Space Mono';text-transform:uppercase;cursor:pointer;transition:.25s}
.btn:hover{background:transparent;color:var(--fg);transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--fg)}
.btn.o{background:transparent;color:var(--fg)}
.mq{overflow:hidden;border-block:1.5px solid var(--fg);padding:14px 0;white-space:nowrap;background:var(--fg);color:var(--bg)}
.mq div{display:inline-block;animation:m 28s linear infinite;font-family:'Archivo Black';font-size:28px}
.mq span{margin:0 22px}
@keyframes m{to{transform:translateX(-50%)}}
/* work */
.proj{display:grid;grid-template-columns:60px 1fr auto;gap:20px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:.3s;position:relative}
.proj:hover{padding-left:24px;background:var(--card)}
.proj h3{font-size:clamp(30px,6vw,84px)}
.proj small{color:var(--mut)}
.proj .ar{font-size:26px;transition:.3s}
.proj:hover .ar{transform:rotate(-45deg)}
#pv{position:fixed;width:240px;height:160px;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) rotate(-4deg) scale(.8);transition:opacity .25s,transform .25s;border:1.5px solid var(--fg);display:grid;place-items:center;text-align:center;padding:14px;font-family:'Archivo Black';font-size:20px;text-transform:lowercase}
#pv.on{opacity:1;transform:translate(-50%,-50%) rotate(-4deg) scale(1)}
/* opinie */
.ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.op{border:1.5px solid var(--fg);padding:30px;background:var(--card);transition:.3s}
.op:nth-child(2){transform:rotate(1.2deg)}.op:nth-child(3){transform:rotate(-1deg)}
.op:hover{transform:rotate(0) translateY(-6px);box-shadow:6px 6px 0 var(--fg)}
.op q{font-family:'Instrument Serif';font-style:italic;font-size:26px;line-height:1.15;display:block;margin:14px 0 24px;quotes:none}
.st{color:var(--fg);font-size:12px}
/* booking */
.bk{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
@media(max-width:800px){.bk{grid-template-columns:1fr}nav .links{display:none}.proj{grid-template-columns:1fr auto}.proj>small{display:none}.ghost{opacity:.15}}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:18px}
.d{flex:0 0 auto;border:1.5px solid var(--fg);padding:10px 14px;cursor:pointer;text-align:center;background:none;color:var(--fg);font:inherit}
.d b{display:block;font:700 20px 'Archivo Black'}
.d.sel,.t.sel{background:var(--fg);color:var(--bg)}
.ts{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}
.t{border:1.5px solid var(--fg);padding:9px;cursor:pointer;background:none;color:var(--fg);font:inherit;text-align:center}
.t:disabled{opacity:.25;text-decoration:line-through;cursor:not-allowed}
.f{display:flex;flex-direction:column;gap:14px}
input,textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--fg);color:var(--fg);padding:12px 0;font:inherit;outline:0;border-radius:0}
input:focus,textarea:focus{border-bottom-width:4px}
.msg{font-size:12px;min-height:18px}
h2{font-size:clamp(40px,8vw,120px);margin-bottom:50px}
footer{padding:80px 5vw 40px;border-top:1px solid var(--fg)}
footer .big{font-size:clamp(50px,15vw,260px);display:block;margin-bottom:40px}
.soc{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}
.soc a{width:48px;height:48px;border:1.5px solid var(--fg);display:grid;place-items:center;font-size:18px;transition:.25s}
.soc a:hover{background:var(--fg);color:var(--bg);transform:rotate(-8deg) scale(1.1)}
.fb{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--mut);font-size:11px}
.fb button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
/* admin */
#adm{position:fixed;inset:0;z-index:90;background:var(--bg);overflow:auto;padding:calc(30px + env(safe-area-inset-top,0px)) 5vw 40px;display:none}
#adm.on{display:block}
.row{border:1px solid var(--line);padding:14px;margin-bottom:10px;display:flex;justify-content:space-between;gap:14px;background:var(--card)}
.row small{color:var(--mut);display:block}
.tabs{display:flex;gap:10px;margin:20px 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.stats div{border:1.5px solid var(--fg);padding:16px}
.stats b{font:32px 'Archivo Black';display:block}
.pg{display:none;padding-top:150px;min-height:100svh}.pg.on{display:block}.hm.off{display:none}
.pr{display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:28px 0;border-bottom:1px solid var(--line);transition:.3s}
.pr:hover{background:var(--card);padding-left:20px}.pr h3{font-size:clamp(22px,3.4vw,44px)}.pr p{color:var(--mut)}
.ab{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:5vw;align-items:center}
.ph{aspect-ratio:4/5;border:1.5px solid var(--fg);display:grid;place-items:center;text-align:center;color:var(--mut);font-size:11px;background:var(--card);transform:rotate(-1.5deg);transition:.4s}.ph:hover{transform:none}
.ab p{margin-bottom:16px;max-width:560px}
#mb{display:none;background:none;border:0;color:inherit;font-size:20px;cursor:pointer;position:relative;z-index:2}
@media(max-width:800px){.pr,.ab{grid-template-columns:1fr}#mb{display:block}nav .links.open{display:flex;position:fixed;inset:0;background:#0b0b0b;color:#fff;flex-direction:column;justify-content:center;align-items:flex-start;padding:5vw;gap:18px;font:34px 'Archivo Black';text-transform:lowercase}}
.ct{margin-bottom:28px;font-size:16px;display:flex;gap:24px;flex-wrap:wrap}.ct a{border-bottom:1.5px solid var(--fg)}.ct a:hover{border-bottom-style:dashed}
.pk ul{list-style:none;padding:0;margin:18px 0 0}.pk li{margin:9px 0;display:flex;gap:10px;color:var(--mut)}.pk li i{color:var(--fg);margin-top:5px;font-size:12px}.pk h3{font-size:26px}.pk small{color:var(--mut)}
details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font:20px 'Archivo Black';list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'+';float:right}details[open] summary::after{content:'–'}details p{margin-top:14px;max-width:640px;color:var(--mut)}
.ph{position:relative;overflow:hidden}.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}

