@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Manrope:wght@400;500;600&family=Caveat&display=swap');
:root{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101010;color:#e9e5df;font:15px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292929;background:#101010e8;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{font-size:12px;letter-spacing:2px}.brand i{font:28px Caveat;margin-left:20px}nav{display:flex;gap:30px}nav a{font-size:12px;color:#b9b5b0}nav a:hover{color:white}.hero{min-height:650px;position:relative;background:radial-gradient(ellipse at 78% 50%,#46382d 0%,#171717 37%,#0d0d0d 73%);display:flex;align-items:center;padding:70px 7%}.hero-inner{max-width:750px}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#a49f98}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(64px,9vw,132px);margin:24px 0}h2{font-size:clamp(42px,5vw,70px);margin:12px 0 25px}h3{font-size:38px;margin:0 0 6px}.hero p{font-size:17px;color:#c6c0ba}.down{display:inline-block;margin-top:38px;border-top:1px solid #6c625b;padding-top:22px;font-size:13px}.hand{font-family:Caveat,cursive;font-size:30px;color:#d0c0b2;line-height:1.15;transform:rotate(-7deg)}.hero-note{position:absolute;right:8%;top:26%}.section{padding:90px 5%;border-top:1px solid #292929}.section-head{display:flex;justify-content:space-between}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{min-height:360px;border:1px solid #343434;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background-size:cover;background-position:center;transition:transform .3s,border-color .3s}.project:hover{transform:translateY(-5px);border-color:#a49c92}.project p{color:#c9c2b9;margin:0}.project-mark{font:90px 'Cormorant Garamond';opacity:.55}.music{background:radial-gradient(circle at 65% 20%,#71523c,#211c1b 55%,#0c0c0c)}.print{background:radial-gradient(circle at 50% 30%,#484039,#1c1d1b 55%,#0c0c0c)}.other{background:radial-gradient(circle at 50% 30%,#33312f,#181818 60%,#0c0c0c)}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about p{color:#bfb9b2;max-width:590px}.signature{display:block;text-align:right;margin-top:25px}.about-art{min-height:470px;background:linear-gradient(145deg,#3a3530,#171717 55%,#0b0b0b);display:flex;align-items:center;justify-content:center}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.post-grid article{padding:25px;border:1px solid #333;background:#191919;min-height:220px}.post-grid article span{font-size:10px;letter-spacing:1.5px;color:#aaa}.post-grid h3{font-size:29px;margin:15px 0}.post-grid p{color:#bcb5ad;font-size:13px;white-space:normal}.contact{padding:110px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;background:linear-gradient(110deg,#181717,#332820,#101010)}.contact .hand{font-size:37px}.contact p{color:#c7c0b8}.small{font-size:12px}footer{border-top:1px solid #343434;padding:24px 5%;font-size:12px;color:#aaa;display:flex;justify-content:space-between}footer a{opacity:.45}@media(max-width:750px){header{height:65px}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:10px}.brand i{display:none}.hero{min-height:560px}.hero-note{right:7%;top:auto;bottom:45px;font-size:23px}.cards,.post-grid,.about,.contact{grid-template-columns:1fr}.section{padding:65px 6%}.project{min-height:260px}.about-art{min-height:250px}.contact{padding:70px 7%}h1{font-size:64px}}

/* v2 */
.hero,.about-art,.contact{background-size:cover;background-position:center}.hero{min-height:80vh}.hero-inner{position:relative;z-index:1}.about-copy{white-space:pre-line;line-height:1.9;color:#c7bfb5;max-width:620px}.post-card{background-image:linear-gradient(180deg,rgba(10,10,10,.25),#171717 72%),var(--post-image,linear-gradient(#25211e,#151515))!important;background-size:cover!important;background-position:center!important;padding-top:115px!important;transition:transform .3s}.post-card:hover{transform:translateY(-4px)}.settings-panel{padding:22px;border:1px solid #46403a;background:#1b1a19;margin:24px 0 38px;border-radius:8px}.settings-panel summary{cursor:pointer;font-size:19px}.settings-panel form{padding-top:15px}.admin-thumb{display:block;max-width:240px;max-height:140px;object-fit:cover;border-radius:5px;margin:12px 0}input[type=file]{padding:12px;border:1px dashed #777}textarea{width:100%}button:hover{opacity:.8}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v2.1 — approved cinematic layout */
:root{--paper:#e9e5df;--accent:#d2b89f}
body{background:#0b0b0c}
header{height:70px;background:rgba(10,10,11,.74);position:sticky;border-color:rgba(255,255,255,.12);padding:0 4%}
.brand{white-space:nowrap}.brand i{font-size:30px;margin-left:22px;color:#e4d6c9}
nav{gap:36px}nav a{font-size:12px}nav a.active{color:#f5eee5;border-bottom:1px solid #eee;padding-bottom:6px}
.hero{min-height:min(820px,calc(100svh - 70px));background-image:url('assets/hero-nikolay.webp');background-position:center center;background-size:cover;padding:80px 4%;align-items:center}
.hero-inner{max-width:760px}.hero .eyebrow{font-size:10px;letter-spacing:2.8px;color:#bca89a}
.hero h1{font-size:clamp(64px,6.1vw,112px);line-height:0.96;letter-spacing:-.025em;margin:40px 0 28px;text-wrap:balance}
.hero p{font-size:clamp(15px,1.35vw,19px);line-height:1.55;color:#d4cdc7;max-width:540px}
.down{border:0;display:inline-flex;align-items:center;gap:18px;margin-top:24px;padding:0;font-size:13px;line-height:1.45}
.down-circle{width:52px;height:52px;background:#f1efed;color:#151515;border-radius:50%;display:grid;place-items:center;font-size:29px;transition:transform .25s}
.down:hover .down-circle{transform:translateY(5px)}
.hero-note{right:4.8%;top:22%;font-size:29px;color:#dec9b6;text-shadow:0 2px 8px #0009}
.section{padding:86px 4%}.section h2{font-size:clamp(46px,5vw,68px)}.project{min-height:380px;background-color:#171615}
.project h3{font-size:38px}.project p{font-size:13px}
.about{gap:5%}.about-copy{white-space:normal;line-height:1.9}.about-art{background-position:center}
.post-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.post-grid h3{font-size:27px}
@media(max-width:1100px){.post-grid{grid-template-columns:repeat(2,1fr)}.hero{background-position:57% center}.hero h1{font-size:clamp(60px,7vw,86px)}}
@media(max-width:750px){header{height:auto;min-height:72px;padding:12px 5%;gap:8px}.brand{font-size:10px}.brand i{font-size:24px;margin-left:8px}nav{gap:8px}nav a{font-size:10px}nav a.active{display:none}.hero{min-height:740px;padding:90px 6% 55px;align-items:flex-start;background-position:59% center;position:relative}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,6,.82),rgba(5,5,6,.52) 45%,rgba(5,5,6,.16))}.hero-inner{z-index:1}.hero h1{font-size:clamp(54px,11vw,75px);margin-top:40px}.hero p{font-size:15px}.hero-note{z-index:1;right:8%;top:auto;bottom:65px}.cards,.post-grid{grid-template-columns:1fr}.project{min-height:280px}}

/* v2.2: no baked-in lettering, responsive hero with full-frame image */
.hero { background-image: linear-gradient(90deg,rgba(5,5,6,.30),rgba(5,5,6,0) 58%),url('assets/hero-nikolay.webp');background-size:100% 100%;background-position:center;aspect-ratio:1920/950;min-height:0;padding:4% 4%;}
.hero-inner{max-width:55%;}.hero h1{font-size:clamp(54px,5.1vw,98px);line-height:1.01;max-width:800px}.hero-note{right:5%;top:23%;font-size:clamp(20px,2vw,31px)}
@media(max-width:750px){.hero{aspect-ratio:auto;min-height:680px;background-size:auto 100%;background-position:57% center;padding:90px 6% 45px}.hero-inner{max-width:100%}.hero h1{font-size:clamp(52px,10vw,72px)}.hero-note{top:auto;bottom:30px;right:8%}}

/* v2.3 — clean photographic source, no embedded text; whole photo fits desktop width */
.hero{background-image:linear-gradient(90deg,rgba(5,5,6,.32),transparent 62%),url('assets/hero-nikolay-clean.webp');background-size:100% 100%;background-position:center;background-repeat:no-repeat;aspect-ratio:1746 / 901;min-height:0;padding:4% 4%;}
.hero-inner{max-width:54%;}.hero h1{font-size:clamp(50px,5vw,92px);line-height:1.02;letter-spacing:-.02em}.hero-note{right:4%;top:22%;}
@media(min-width:751px){.hero{background-size:100% 100%;}.hero-inner{max-width:55%;}}
@media(max-width:750px){.hero{aspect-ratio:auto;min-height:690px;background-size:auto 100%;background-position:57% center;padding:80px 6% 45px}.hero-inner{max-width:100%}.hero h1{font-size:clamp(48px,10vw,72px)}.hero-note{top:auto;bottom:34px;right:8%}}

/* v2.4 — admin-controlled hero photo, deliberate crop and two-line note */
.hero {
  background-image:linear-gradient(90deg,rgba(5,5,6,.35),rgba(5,5,6,0) 65%),var(--hero-photo,url('assets/hero-nikolay-clean.webp'));
  background-size:cover;
  background-position:center 64%;
  aspect-ratio:auto;
  min-height:0;
  height:clamp(580px,calc(100svh - 70px),860px);
  padding:50px 4%;
}
.hero-inner{max-width:58%}
.hero h1{font-size:clamp(52px,4.7vw,88px);max-width:760px;line-height:1.04}
.hero-note{right:5%;top:22%;width:245px;text-align:center;white-space:nowrap;line-height:1.12;font-size:clamp(22px,1.7vw,30px)}
@media(max-width:1100px){.hero{background-position:54% 62%}.hero-inner{max-width:61%}.hero-note{right:3%;width:210px}}
@media(max-width:750px){
 .hero{height:auto;min-height:690px;background-size:cover;background-position:58% 58%;padding:85px 6% 50px}
 .hero-inner{max-width:100%}.hero h1{font-size:clamp(48px,10vw,72px)}
 .hero-note{top:auto;bottom:35px;right:7%;width:205px;white-space:nowrap;font-size:25px}
}

/* v2.5 typography controls */
.hero h1{font-size:clamp(36px,5.3vw,var(--hero-title-size,76px));white-space:pre-line;overflow-wrap:normal;word-break:normal;hyphens:none;max-width:100%;}
.hero p{font-size:var(--hero-subtitle-size,17px);white-space:pre-line;}
.hero-note{font-size:var(--hero-note-size,28px);white-space:pre-line;}
@media(max-width:750px){.hero h1{font-size:clamp(36px,9vw,var(--hero-title-size,76px));}.hero p{font-size:min(var(--hero-subtitle-size,17px),19px)}.hero-note{font-size:min(var(--hero-note-size,28px),30px)}}

/* v2.6: one break per Enter; configurable leading */
.hero h1{white-space:normal!important;line-height:var(--hero-title-leading,1.05)!important;}
.hero-inner>p{white-space:normal!important;line-height:var(--hero-subtitle-leading,1.5)!important;}
.hero-note{white-space:normal!important;line-height:var(--hero-note-leading,1.12)!important;}
