:root{
  --paper:#f6f0e8;--paper-2:#fbf8f3;--ink:#332d2a;--muted:#665d58;--rose:#b98786;--rose-soft:#e7d0cb;--line:rgba(51,45,42,.16);--white:#fffdf9;
  --serif:'Playfair Display',Georgia,serif;--sans:'Montserrat',Arial,sans-serif;--max:1360px;--ease:cubic-bezier(.2,.72,.2,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizeLegibility}
body{margin:0;background:var(--paper);color:var(--ink);overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} button,input{font:inherit} img{display:block;width:100%;height:auto} button{color:inherit}
::selection{background:var(--rose-soft);color:var(--ink)}
.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-180%);z-index:999;background:var(--ink);color:white;padding:10px 14px;border-radius:999px}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}
.site-header.scrolled{border-bottom-color:var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent)}
.header-inner{height:84px;max-width:var(--max);margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:44px;height:44px;border:1px solid rgba(51,45,42,.25);border-radius:50%;display:grid;place-items:center;font:500 15px/1 var(--serif);letter-spacing:.04em;position:relative}.brand-mark:after{content:'';position:absolute;width:22px;height:8px;border-bottom:1px solid var(--rose);border-radius:50%;bottom:4px;right:-4px;transform:rotate(-7deg)}
.brand-text{display:grid;gap:2px}.brand-text strong{font:500 15px/1.2 var(--serif)}.brand-text small{font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:14px;letter-spacing:.06em;position:relative;padding:8px 0}.desktop-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:1px;height:1px;background:var(--rose);transition:right .3s var(--ease)}.desktop-nav a:hover:after{right:0}
.header-tools{display:flex;align-items:center;gap:8px}.icon-button{height:44px;padding:0 14px;border:1px solid var(--line);background:transparent;border-radius:999px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.icon-button:hover{background:var(--white);border-color:rgba(51,45,42,.28)}.icon-button:active{transform:scale(.97)}.music-glyph{font-family:Georgia;font-size:19px;color:var(--rose)}.tool-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.menu-toggle{display:none}.menu-lines{width:16px;display:grid;gap:4px}.menu-lines i{display:block;height:1px;background:currentColor}.menu-lines i:last-child{width:10px;margin-left:auto}
.mobile-menu{position:fixed;inset:84px 0 0;z-index:45;background:var(--paper);border-top:1px solid var(--line)}.mobile-menu[hidden]{display:none}.mobile-menu-inner{height:100%;padding:28px 22px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between}.mobile-menu nav{display:grid}.mobile-menu nav a{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:18px 2px;font:500 clamp(30px,9vw,48px)/1.05 var(--serif)}.mobile-menu nav span{font:400 10px/1 var(--sans);color:var(--muted)}.menu-contact p{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.menu-contact a{display:block;font:500 22px/1.5 var(--serif)}
.hero{max-width:var(--max);margin:0 auto;min-height:calc(100svh - 84px);padding:42px 32px 48px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);gap:clamp(42px,7vw,110px);align-items:center}.hero-art{min-width:0}.hero-image{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:2px;text-align:center}.hero-image img{width:auto;max-width:100%;height:min(76vh,820px);margin:0 auto;object-fit:contain;transition:transform 1s var(--ease),filter .5s}.hero-image:hover img{transform:scale(1.018)}.hero-art-caption{margin:0;padding-top:12px;color:var(--muted);font-size:12px;letter-spacing:.06em;text-align:center}.hero-copy{align-self:center;max-width:560px}.eyebrow{margin:0 0 22px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}.hero h1,.section-heading h2,.about h2,.order h2,.contact h2{margin:0;font:500 clamp(64px,6vw,104px)/.9 var(--serif);letter-spacing:-.045em}.hero h1 em,.section-heading h2 em,.about h2 em,.order h2 em,.contact h2 em{font-weight:500;color:var(--rose);font-style:italic}.hero-lead{max-width:520px;margin:30px 0 0;font-size:17px;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{min-height:50px;border:1px solid transparent;border-radius:999px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;letter-spacing:.03em;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}.button.primary{background:var(--ink);color:var(--white)}.button.primary:hover{background:#4a403c;transform:translateY(-2px)}.text-link{font-size:14px;letter-spacing:.02em;border-bottom:1px solid var(--line);padding:11px 0}.text-link span{color:var(--rose)}.hero-note{display:flex;align-items:center;gap:16px;margin-top:44px}.hairline{width:48px;height:1px;background:var(--rose)}.hero-note p{margin:0;font:500 14px/1.25 var(--serif)}.hero-note small{font:400 9px/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.intro-strip{max-width:var(--max);margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.intro-strip>div{padding:26px 32px;border-right:1px solid var(--line)}.intro-strip>div:last-child{border-right:0}.intro-strip span{font-size:9px;color:var(--rose);letter-spacing:.1em}.intro-strip p{margin:0;font-size:15px;line-height:1.6;color:var(--muted);max-width:320px}.intro-strip strong{display:block;font:500 19px/1.3 var(--serif);color:var(--ink);margin-bottom:4px}
.section-space{padding:clamp(92px,10vw,150px) 32px}.works{max-width:var(--max);margin:auto}.section-heading{display:grid;grid-template-columns:1fr 1.1fr;column-gap:50px;align-items:end;margin-bottom:62px}.section-heading .eyebrow{grid-column:1;margin-bottom:16px}.section-heading h2{font-size:clamp(52px,5.7vw,88px);grid-column:1}.section-heading>p:last-child{grid-column:2;align-self:end;max-width:500px;margin:0 0 6px;font-size:16px;line-height:1.75;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px 34px;align-items:start}.work-card{min-width:0}.work-card.wide{grid-column:span 2}.work-media{display:block;width:100%;border:0;padding:0;background:none;overflow:hidden;cursor:zoom-in}.work-media picture{display:block}.work-media img{width:100%;height:auto;transition:transform .8s var(--ease),filter .5s}.work-media:hover img{transform:scale(1.018);filter:saturate(1.03)}.work-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:14px;border-top:1px solid var(--line);margin-top:12px}.work-meta h3{font:500 22px/1.1 var(--serif);margin:0}.work-meta p{margin:5px 0 0;font-size:13px;color:var(--muted)}.work-meta>a{flex:none;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-size:14px;transition:background .2s,border-color .2s}.work-meta>a span{color:var(--rose)}.work-meta>a:hover{background:var(--white)}
.quote-section{max-width:var(--max);margin:auto;position:relative;padding-top:180px;padding-bottom:180px;display:grid;place-items:center;text-align:center;overflow:hidden}.quote-section:before{content:'';position:absolute;inset:0 7%;background:linear-gradient(135deg,#ead6d0 0%,#f1e4dc 55%,#ece4db 100%);border-radius:50% 48% 46% 52%/44% 50% 50% 56%;transform:rotate(-2deg)}.quote-section blockquote{position:relative;z-index:2;margin:0;padding:60px 24px}.quote-section blockquote p{margin:0;font:500 italic clamp(40px,5vw,72px)/1.08 var(--serif);letter-spacing:-.025em}.quote-section footer{margin-top:28px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:center;align-items:center;gap:12px}.quote-section footer span{width:40px;height:1px;background:var(--rose)}
.about{max-width:var(--max);margin:auto;display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(60px,9vw,150px);align-items:center}.about-portrait{max-width:520px}.about-portrait img{aspect-ratio:.8/1;object-fit:cover;filter:saturate(.91) contrast(.98)}.about-copy{max-width:660px}.about h2{font-size:clamp(56px,5.8vw,88px)}.about-copy>p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:16px;line-height:1.8}.about-copy .large-copy{font:500 22px/1.55 var(--serif)!important;color:var(--ink)!important;margin-top:34px}.about-stat{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:18px;align-items:center}.about-stat strong{font:500 42px/1 var(--serif);color:var(--rose)}.about-stat span{font-size:14px;line-height:1.45;color:var(--muted);max-width:190px}
.order{max-width:var(--max);margin:auto;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,120px)}.order h2{font-size:clamp(56px,5.6vw,88px)}.order-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.order-steps li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--line)}.order-steps>li>span{font:500 26px/1 var(--serif);color:var(--rose);padding-top:2px}.order-steps h3{font:500 24px/1.2 var(--serif);margin:0}.order-steps p{margin:8px 0 0;color:var(--muted);font-size:16px;line-height:1.7}.order-cta{grid-column:2;background:var(--paper-2);padding:36px;display:flex;align-items:center;justify-content:space-between;gap:30px}.order-cta p{margin:0;max-width:390px;font:500 20px/1.5 var(--serif)}
.contact{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);background:var(--paper-2)}.contact h2{font-size:clamp(56px,5.6vw,88px)}.contact-list{border-top:1px solid var(--line)}.contact-list a{display:grid;grid-template-columns:210px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.contact-list span{font-size:13px;color:var(--muted)}.contact-list strong{font:500 20px/1.2 var(--serif);transition:color .2s}.contact-list a:hover strong{color:var(--rose)}
.site-footer{max-width:var(--max);margin:0 auto;padding:34px 32px calc(38px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand p{margin:0;font:500 15px/1.2 var(--serif)}.footer-brand small{font:400 11px/1.4 var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.footer-meta{text-align:right;font-size:13px;color:var(--muted)}.footer-meta a{text-decoration:underline;text-underline-offset:3px}.footer-meta p{margin:8px 0 0}
\.lightbox{border:0;padding:0;background:transparent;max-width:none}.quiet-button{border:0;background:none;color:var(--muted);font-size:14px;cursor:pointer;padding:10px 12px;min-height:44px}.quiet-button:hover{color:var(--ink)}
.lightbox{width:100vw;height:100vh;background:rgba(27,23,21,.93);color:white}.lightbox::backdrop{background:rgba(27,23,21,.93)}.lightbox figure{height:100%;margin:0;padding:28px;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}.lightbox img{max-width:min(92vw,1100px);max-height:calc(100vh - 90px);width:auto;height:auto;object-fit:contain}.lightbox figcaption{font:500 16px/1.2 var(--serif);padding-top:12px;color:#f3e8dd}.lightbox-close{position:fixed;right:20px;top:20px;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.22);color:white;font:300 28px/1 Arial;cursor:pointer}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:900px){
  .header-inner{height:72px;padding:0 18px}.desktop-nav{display:none}.menu-toggle{display:flex}.tool-label{display:none}.icon-button{width:42px;height:42px;padding:0;justify-content:center}.brand-text small{display:none}.brand-text strong{font-size:14px}.brand-mark{width:40px;height:40px}.mobile-menu{inset:72px 0 0}
  .hero{min-height:auto;padding:18px 18px 68px;grid-template-columns:1fr;gap:34px}.hero-art{order:1}.hero-copy{order:2;max-width:none}.hero-image img{width:100%;height:auto;max-height:none}.hero h1{font-size:clamp(58px,17vw,84px);line-height:.88;letter-spacing:-.05em}.hero-lead{font-size:16px;line-height:1.75;margin-top:24px}.hero-actions{margin-top:28px}.hero-note{margin-top:34px}
  .intro-strip{grid-template-columns:1fr;margin:0 18px}.intro-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.intro-strip>div:last-child{border-bottom:0}
  .section-space{padding:94px 18px}.section-heading{grid-template-columns:1fr;margin-bottom:42px}.section-heading .eyebrow,.section-heading h2,.section-heading>p:last-child{grid-column:1}.section-heading h2{font-size:clamp(48px,14vw,70px);line-height:.93}.section-heading>p:last-child{margin-top:24px;font-size:16px}
  .gallery-grid{grid-template-columns:1fr;gap:56px}.work-card.wide{grid-column:auto}.work-meta h3{font-size:20px}
  .quote-section{padding:130px 18px}.quote-section:before{inset:28px 10px}.quote-section blockquote{padding:44px 4px}.quote-section blockquote p{font-size:clamp(38px,11vw,56px)}
  .about{grid-template-columns:1fr;gap:48px}.about-portrait{max-width:580px}.about h2,.order h2,.contact h2{font-size:clamp(50px,14vw,72px)}.about-copy .large-copy{font-size:20px!important}
  .order{grid-template-columns:1fr;gap:50px}.order-cta{grid-column:1;padding:26px;display:grid}.order-cta p{font-size:18px}.order-cta .button{width:100%}
  .contact{grid-template-columns:1fr;gap:46px}.contact-list a{grid-template-columns:1fr;gap:6px}.contact-list strong{font-size:18px}
  .site-footer{padding-left:18px;padding-right:18px;display:grid}.footer-meta{text-align:left}
}
@media (max-width:520px){
  .brand-text{display:none}.hero{padding-top:12px}.eyebrow{font-size:11px;margin-bottom:16px}.hero-actions{align-items:stretch;display:grid;grid-template-columns:1fr}.text-link{text-align:center}.button{min-height:52px}.lightbox figure{padding:16px}.lightbox-close{top:12px;right:12px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-image img,.work-media img,.button{transition:none}}
@media (hover:none){.hero-image:hover img,.work-media:hover img{transform:none}}

/* v3-claude additions */
.work-card.wide .work-media img{max-height:82vh;width:auto;max-width:100%;margin:0 auto}
.gallery-grid{align-items:end}
.works-more{margin:72px 0 0;text-align:center;font-size:16px;color:var(--muted)}
.works-more a{color:var(--ink);border-bottom:1px solid var(--rose);padding-bottom:2px}
.quote-section blockquote p{max-width:19ch;margin-inline:auto}
.contact-title>p:last-child{margin:28px 0 0;max-width:420px;font-size:16px;line-height:1.75;color:var(--muted)}
.button{white-space:nowrap}.button.small{min-height:44px;padding:0 20px}
.music-invite{position:fixed;z-index:60;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:14px;padding:12px 12px 12px 18px;background:var(--paper-2);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(40,31,27,.16);animation:invite-in .5s var(--ease)}
.music-invite[hidden]{display:none}
.music-invite p{margin:0;flex:1;font:500 16px/1.35 var(--serif)}
.music-invite-glyph{font-family:Georgia,serif;font-size:22px;color:var(--rose)}
.music-invite-actions{display:flex;align-items:center;gap:4px;flex:none}
@keyframes invite-in{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.music-toggle.is-playing{border-color:var(--rose);background:var(--white)}
.music-toggle.is-playing .music-glyph{animation:note 1.6s ease-in-out infinite}
@keyframes note{50%{transform:translateY(-2px)}}
:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
@media (max-width:900px){.contact-list a{grid-template-columns:1fr}.works-more{margin-top:56px}}
@media (max-width:520px){.music-invite{flex-wrap:wrap;gap:8px 12px}.music-invite p{flex-basis:calc(100% - 40px)}.music-invite-actions{width:100%;justify-content:flex-end}}
@media (prefers-reduced-motion:reduce){.music-invite,.music-toggle.is-playing .music-glyph{animation:none}}

/* Legal page (moved out of inline <style> — blocked by CSP) */
.page-legal main{max-width:760px;margin:auto;padding:72px 22px 120px}
.page-legal h1{font:500 clamp(42px,8vw,68px)/1 var(--serif);margin:0 0 36px;letter-spacing:-.03em}
.page-legal h2{font:500 28px/1.15 var(--serif);margin:44px 0 12px}
.page-legal p,.page-legal li{font-size:16px;line-height:1.8;color:var(--muted)}
.page-legal a:not(.back){color:var(--ink);border-bottom:1px solid var(--rose)}
.page-legal .back{display:inline-block;margin-bottom:40px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:2px}

/* 404 page */
.page-404{min-height:100svh;display:grid;place-items:center}
.page-404 main{text-align:center;padding:32px}
.page-404 .code{display:block;font:500 110px/1 var(--serif);color:var(--rose-soft)}
.page-404 h1{font:500 42px/1.1 var(--serif);margin:8px 0 18px}
.page-404 p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 auto 28px;max-width:360px}
/* Lightbox: always full screen, painting never cropped */
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;outline:none}
.lightbox figure{width:100%;min-width:0}
.lightbox img{max-width:100%;max-height:calc(100dvh - 110px);min-width:0}
body.menu-open .music-invite{display:none}

/* 2026-09-28: фильтр, голос канала, уход, вопрос из крупного просмотра */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 46px}
.filters button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:14px}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper-2);border-color:var(--ink)}
.work-whisper{margin:8px 0 0;max-width:54ch;font:italic 15px/1.5 var(--serif);color:var(--muted)}
.work-meta{align-items:flex-start}
.work-meta>a{margin-top:2px}
.order-steps a,.care-list a{color:var(--ink);border-bottom:1px solid var(--rose)}
.care{max-width:var(--max);margin:auto;border-top:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,100px)}
.care h2{font-size:clamp(52px,5.4vw,84px)}
.care .large-copy{font:500 22px/1.45 var(--serif);margin:22px 0 0;max-width:22ch}
.care-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.care-list li{padding:22px 0;border-bottom:1px solid var(--line)}
.care-list h3{font:500 22px/1.25 var(--serif);margin:0}
.care-list p{margin:8px 0 0;color:var(--muted);font-size:16px;line-height:1.7}
.lightbox figcaption{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.lightbox-ask{color:#f3e8dd;border-bottom:1px solid #b98786;font-size:14px;padding-bottom:2px;min-height:44px;display:inline-flex;align-items:center}
.footer-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}
.footer-meta a{border-bottom:1px solid var(--line);padding-bottom:2px}
body:has(.music-invite:not([hidden])){padding-bottom:120px}
