:root{--red:#a71920;--red-bright:#d52c34;--bg:#111214;--panel:#191b1e;--soft:#9da0a5;--line:rgba(255,255,255,.11);--white:#f4f1eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 8%,#2a1a1c 0,transparent 28%),var(--bg);color:var(--white);font-family:Manrope,sans-serif;overflow-x:hidden}.topbar{height:72px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;gap:48px;position:sticky;top:0;z-index:10;background:rgba(151,20,27,.92);backdrop-filter:blur(22px);border-bottom:1px solid rgba(255,255,255,.15)}.brand{font:600 21px Unbounded,sans-serif;letter-spacing:.16em;color:#fff;text-decoration:none}.brand span{color:#22090a}.topbar nav{display:flex;gap:30px}.topbar nav a{color:rgba(255,255,255,.66);text-decoration:none;font-size:13px;font-weight:600}.topbar nav a:hover,.topbar nav .active{color:#fff}.login-button{margin-left:auto;color:#fff;background:rgba(20,5,5,.22);border:1px solid rgba(255,255,255,.35);padding:10px 18px;border-radius:30px;font:600 13px Manrope;cursor:pointer}.intro{min-height:68vh;padding:clamp(90px,12vw,160px) max(24px,8vw) 60px;position:relative}.intro:after{content:"І";position:absolute;right:-.05em;top:-.12em;font:600 min(42vw,560px) Unbounded;color:rgba(255,255,255,.018);pointer-events:none}.eyebrow{margin:0 0 20px;color:#d9676d;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700}.intro h1{font:500 clamp(48px,8.6vw,130px)/.96 Unbounded,sans-serif;letter-spacing:-.06em;margin:0;max-width:1100px}.intro h1 em{font-style:normal;color:#6e7075}.intro-copy{color:var(--soft);max-width:420px;line-height:1.7;margin:34px 0}.scroll-cue{color:#d7d7d8;text-decoration:none;font-size:12px;letter-spacing:.1em}.scroll-cue span{display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;margin-right:12px}.photo-section,.texts{padding:80px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;padding:0 max(24px,8vw);margin-bottom:35px}.section-heading h2{font:500 clamp(34px,5vw,66px) Unbounded;margin:0;letter-spacing:-.05em}.gallery-controls{display:flex;gap:8px}.gallery-controls button{width:45px;height:45px;border-radius:50%;border:1px solid var(--line);background:#1b1d20;color:white;font-size:18px;cursor:pointer}.photo-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:15px max(24px,8vw) 35px;scrollbar-width:none}.photo-track::-webkit-scrollbar{display:none}.photo-card{position:relative;flex:0 0 min(72vw,760px);height:clamp(390px,53vw,650px);border-radius:28px;overflow:hidden;scroll-snap-align:center;background:#202225;box-shadow:0 30px 80px #0008,0 1px 0 rgba(255,255,255,.25) inset;transform:translateY(calc((var(--i) % 2) * 12px))}.photo-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.03);transition:transform .7s ease}.photo-card:hover img{transform:scale(1.025)}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 22%,transparent 55%,rgba(8,8,9,.8));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}.glass-glow{position:absolute;z-index:1;top:-20%;left:-5%;width:70%;height:55%;transform:rotate(-12deg);background:radial-gradient(ellipse,rgba(255,255,255,.23),transparent 68%);filter:blur(12px);pointer-events:none}.photo-caption{position:absolute;z-index:2;left:30px;bottom:28px}.photo-caption span{font-size:11px;color:#ddd;letter-spacing:.12em;text-transform:uppercase}.photo-caption h3{font:500 clamp(22px,3vw,36px) Unbounded;margin:8px 0}.comment-chip{position:absolute;z-index:3;right:24px;bottom:25px;border:1px solid rgba(255,255,255,.3);background:rgba(20,20,20,.4);backdrop-filter:blur(14px);color:#fff;border-radius:30px;padding:10px 15px}.swipe-hint{padding:0 max(24px,8vw);font-size:11px;letter-spacing:.08em;color:#72757a}.swipe-hint span{margin-left:8px;color:#d9676d}.texts{max-width:1220px;margin:auto}.post-list{padding:0 max(24px,8vw)}.post-card{border-top:1px solid var(--line);padding:48px 0}.post-meta{display:flex;gap:22px;color:#777b81;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.post-card h3{font:500 clamp(25px,3.4vw,46px)/1.2 Unbounded;letter-spacing:-.045em;margin:18px 0;max-width:900px}.post-card h3 a{color:var(--white);text-decoration:none}.post-card>p{color:var(--soft);max-width:730px;line-height:1.8;font-size:15px}.post-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.read-more{color:#ef7b80;text-decoration:none;font-size:13px;font-weight:700}.post-actions{display:flex;gap:8px}.post-actions button{color:#aaa;background:#1b1d20;border:1px solid var(--line);border-radius:22px;padding:9px 13px;cursor:pointer}.post-actions button.liked{color:#ff6068;border-color:#8c3035}.about{margin:80px max(24px,8vw);padding:70px;border-radius:30px;background:linear-gradient(135deg,#811319,#b82028);box-shadow:inset 0 1px rgba(255,255,255,.2)}.about .eyebrow{color:#ffb7b9}.about>p:last-child{font:500 clamp(25px,4vw,50px)/1.25 Unbounded;max-width:900px;margin:0}.site-footer{padding:35px max(24px,8vw);border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#777b81;font-size:12px}.site-footer a{color:#aaa;text-decoration:none}.modal{width:min(92vw,480px);border:1px solid rgba(255,255,255,.15);border-radius:26px;background:rgba(26,27,30,.96);backdrop-filter:blur(30px);color:#fff;padding:40px;box-shadow:0 40px 120px #000}.modal::backdrop{background:rgba(3,3,4,.75);backdrop-filter:blur(8px)}.modal h2{font:500 32px Unbounded;margin:0 0 25px}.modal-close{position:absolute;right:20px;top:16px;border:0;background:transparent;color:#aaa;font-size:28px;cursor:pointer}.modal form{display:grid;gap:16px}.modal label{display:grid;gap:8px;color:#aaa;font-size:12px}.modal input,.modal textarea{width:100%;border:1px solid var(--line);background:#101113;color:#fff;border-radius:12px;padding:14px;font:inherit;resize:vertical}.primary-button{border:0;border-radius:12px;background:var(--red);color:#fff;padding:14px;font-weight:700;cursor:pointer}.modal-note{color:#85888d;font-size:12px;text-align:center}.modal-note a{color:#e56d73}.comment{border-top:1px solid var(--line);padding:20px 0}.comment time{color:#777;font-size:10px;margin-left:10px}.comment p{color:#bbb;font-size:14px}.comment>button{border:0;background:none;color:#db686e;padding:0}.comment-form{border-top:1px solid var(--line);padding-top:20px}
@media(max-width:700px){.topbar{height:62px;padding:0 18px;gap:0}.topbar nav{display:none}.login-button{padding:8px 14px}.intro{min-height:68svh;padding-top:100px}.intro h1{font-size:clamp(44px,14vw,68px)}.intro-copy{font-size:14px}.photo-section,.texts{padding:55px 0}.photo-card{flex-basis:86vw;height:118vw;max-height:570px;border-radius:22px}.gallery-controls{display:none}.photo-caption{left:22px;bottom:22px}.comment-chip{right:18px;bottom:18px}.post-card footer{align-items:flex-end}.post-actions{gap:4px}.post-actions button{padding:8px 10px}.about{padding:42px 26px;margin-top:40px}.site-footer{gap:20px;flex-direction:column}.modal{padding:34px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Гостра, але читабельна типографіка за мотивами татуювання. */
.brand,.intro h1,.section-heading h2,.photo-caption h3,.post-card h3,.about>p:last-child,.modal h2,.photo-modal h2{font-family:"Cormorant SC",serif;font-weight:600;letter-spacing:.015em}
.brand{font-size:27px}.intro h1{letter-spacing:-.025em}.topbar{background:rgba(177,18,28,.94)}
.photo-open{position:absolute;z-index:2;inset:0;border:0;background:transparent;cursor:zoom-in}
.comment-chip{z-index:4;cursor:pointer}
.photo-modal{width:min(94vw,980px);max-height:92vh;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:#17181b;color:#fff;overflow:hidden;box-shadow:0 45px 140px #000}
.photo-modal::backdrop{background:rgba(3,3,4,.82);backdrop-filter:blur(9px)}
.photo-modal>.modal-close{z-index:3;color:#fff;text-shadow:0 2px 12px #000}
.photo-modal>img{display:block;width:100%;height:min(62vh,660px);object-fit:cover;filter:saturate(.78)}
.photo-modal-copy{padding:28px 34px 34px;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent)}
.photo-modal-copy .eyebrow{margin-bottom:10px;color:#f06a72}
.photo-modal-copy h2{font-size:clamp(30px,5vw,52px);margin:0}
.photo-modal-copy>p:not(.eyebrow){margin:8px 0 22px;color:var(--soft)}
.photo-modal-copy .primary-button{width:auto;padding-inline:22px}
@media(max-width:700px){.photo-modal>img{height:58vh}.photo-modal-copy{padding:22px}.brand{font-size:23px}}
.section-tools{display:flex;align-items:center;gap:14px}.admin-add-button{height:45px;padding:0 18px;border:1px solid rgba(255,255,255,.28);border-radius:24px;background:var(--red);color:#fff;font:700 12px Manrope,sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 10px 35px rgba(167,25,32,.24)}.admin-add-button span{font-size:17px;margin-right:5px}.add-photo-modal{width:min(94vw,620px);max-height:92vh;overflow-y:auto}.add-photo-modal form{gap:18px}.add-photo-modal label small{color:#696d73;line-height:1.5}.upload-field{position:relative;display:grid!important;place-items:center;height:230px;border:1px dashed rgba(255,255,255,.25);border-radius:18px;background:#101113;overflow:hidden;cursor:pointer}.upload-field input{position:absolute;width:1px!important;height:1px;padding:0!important;opacity:0}.upload-placeholder{display:grid;gap:7px;text-align:center;color:#bfc1c5}.upload-placeholder b{color:#fff}.upload-field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.upload-field.has-preview img{display:block}.upload-field.has-preview .upload-placeholder{position:absolute;z-index:1;bottom:12px;padding:8px 12px;border-radius:20px;background:rgba(0,0,0,.6);backdrop-filter:blur(12px)}.upload-field.has-preview .upload-placeholder small{display:none}.form-status{min-height:18px;margin:0;color:#d96d73;font-size:12px;text-align:center}.form-status.success{color:#8fc7a0}@media(max-width:700px){.section-tools{gap:8px}.admin-add-button{height:40px;padding:0 13px;font-size:11px}.add-photo-modal{padding:34px 20px}.upload-field{height:200px}}
