/* Base / reset */
html, body { margin:0; padding:0; background:#F7F2E9; }
* { box-sizing: border-box; }
a { color:#6F2232; text-decoration: none; }
a:hover { color:#8E3244; text-decoration: underline; text-underline-offset: 3px; }
::selection { background:#6F223222; }

/* Shared atoms */
.eyebrow { font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:#6F2232; margin:0 0 28px; }
.h2-serif { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:36px; margin:0; }
.link-underline { color:#6F2232; border-bottom:1px solid #6F223255; padding-bottom:2px; }
.muted-link { color:#6B655C; }
.empty-note { color:#8A8175; }
.empty-note--padded { padding:40px 0; }
.drop-cap { float:left; font-family:'Cormorant Garamond', serif; font-size:70px; line-height:.82; padding:6px 13px 0 0; color:#6F2232; }

/* Page shell */
.page { background:#F7F2E9; color:#24211D; font-family:'Golos Text', system-ui, sans-serif; font-size:16px; line-height:1.6; min-height:100vh; display:flex; flex-direction:column; }

/* Header */
.site-header { border-bottom:1px solid #DCD3C4; background:#F7F2E9; }
.site-header--sticky { position:sticky; top:0; z-index:10; }
.site-header__inner { max-width:1180px; margin:0 auto; padding:20px 32px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:14px; cursor:pointer; }
.brand__mark { width:46px; height:46px; border:1px solid #C9BEA9; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond', serif; font-size:21px; color:#6F2232; letter-spacing:.06em; flex:none; }
.brand__name { font-family:'Cormorant Garamond', serif; font-size:26px; line-height:1.1; letter-spacing:.01em; color:#24211D; }
.brand__tagline { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#8A8175; margin-top:3px; }

.site-nav { margin-left:auto; display:flex; gap:34px; align-items:center; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.site-nav__link { padding-bottom:4px; border-bottom:1px solid transparent; color:#4A453D; }
.site-nav__link--active { border-bottom-color:#6F2232; color:#24211D; }

/* Main */
.site-main { flex:1; }
.site-main--center { display:flex; align-items:center; }

/* Footer */
.site-footer { border-top:1px solid #DCD3C4; background:#F1EADD; }
.site-footer__inner { max-width:1180px; margin:0 auto; padding:44px 32px; display:flex; gap:32px; flex-wrap:wrap; align-items:center; font-size:13.5px; color:#8A8175; }
.site-footer__social { margin-left:auto; display:flex; gap:24px; }

/* 18+ notice */
.age-notice { background:#2C2823; }
.age-notice__inner { max-width:1180px; margin:0 auto; padding:16px 32px; display:flex; align-items:center; gap:14px; font-size:12.5px; line-height:1.5; color:#C9BEA9; }
.age-notice__badge { flex:none; border:1px solid #8A8175; padding:2px 8px; font-family:'Cormorant Garamond', serif; font-size:13px; color:#E5DDCE; }

/* Error pages (404 / 500) */
.error-page { max-width:760px; margin:0 auto; padding:96px 32px; text-align:center; }
.error-page__code { font-family:'Cormorant Garamond', serif; font-size:120px; line-height:1; margin:0 0 20px; color:#6F2232; }
.error-page__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:36px; margin:0 0 20px; }
.error-page__text { font-size:17px; line-height:1.7; color:#5C564C; margin:0 0 40px; }
.error-page__actions { display:flex; gap:28px; justify-content:center; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }

/* Home: hero */
.hero { max-width:1180px; margin:0 auto; padding:96px 32px 72px; }
.hero__row { display:flex; align-items:center; gap:64px; flex-wrap:wrap; }
.hero__text { flex:1 1 460px; max-width:620px; }
.hero__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:64px; line-height:1.08; margin:0 0 28px; letter-spacing:-.01em; }
.hero__lead { font-size:19px; line-height:1.75; color:#4A453D; max-width:600px; margin:0; }
.hero__image { position:relative; flex:1 1 360px; max-width:440px; aspect-ratio:974/699; overflow:hidden; }
.hero__image img { width:100%; height:100%; object-fit:cover; display:block; }
.hero__image-fade { position:absolute; inset:0; background:linear-gradient(to right, #F7F2E9 0%, rgba(247,242,233,.85) 8%, rgba(247,242,233,0) 30%); pointer-events:none; }

/* Home: latest works */
.latest-works { border-top:1px solid #DCD3C4; }
.latest-works__wrap { max-width:1180px; margin:0 auto; padding:56px 32px 88px; }
.latest-works__head { display:flex; align-items:baseline; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:44px; }
.latest-works__link { font-size:14px; letter-spacing:.06em; }
.latest-works__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(210px, 1fr)); gap:0; border-top:1px solid #DCD3C4; border-bottom:1px solid #DCD3C4; }

.work-card { background:#F7F2E9; padding:28px 22px 30px; cursor:pointer; display:flex; flex-direction:column; gap:14px; box-shadow:inset -1px 0 0 #DCD3C4; color:inherit; text-decoration:none; }
.work-card:hover { background:#F1EADD; }
.work-card__num { font-family:'Cormorant Garamond', serif; font-size:15px; color:#B0A691; }
.work-card__title { font-family:'Cormorant Garamond', serif; font-weight:500; font-size:25px; line-height:1.2; margin:0; }
.work-card__excerpt { margin:0; font-size:14.5px; line-height:1.65; color:#5C564C; }
.work-card__meta { margin-top:auto; padding-top:10px; display:flex; flex-direction:column; gap:6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:#8A8175; }
.work-card__genre { color:#6F2232; }

/* Home: quote */
.quote-section { border-top:1px solid #DCD3C4; border-bottom:1px solid #DCD3C4; background:#F1EADD; }
.quote-section__wrap { max-width:900px; margin:0 auto; padding:80px 32px; text-align:center; }
.quote-section__text { font-family:'Cormorant Garamond', serif; font-style:italic; font-size:34px; line-height:1.5; color:#3A342D; margin:0; }
.quote-section__source { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#8A8175; margin:28px 0 0; }

/* Home: rubrics */
.rubrics__wrap { max-width:1180px; margin:0 auto; padding:72px 32px 88px; }
.rubrics__title { margin:0 0 34px; }
.rubrics__grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:28px; }
.rubric { cursor:pointer; border-top:1px solid #C9BEA9; padding-top:18px; display:block; color:inherit; text-decoration:none; }
.rubric:hover { border-top-color:#6F2232; }
.rubric__label { font-family:'Cormorant Garamond', serif; font-size:26px; margin-bottom:8px; }
.rubric__count { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#8A8175; }

/* Home: about */
.about { border-top:1px solid #DCD3C4; background:#F1EADD; }
.about__wrap { max-width:1180px; margin:0 auto; padding:88px 32px; display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr); gap:76px; align-items:start; }
.about__portrait { aspect-ratio:4/5; background:#E3DACA; border:1px solid #D2C7B2; overflow:hidden; }
.about__portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block; }
.about__caption { font-family:'Cormorant Garamond', serif; font-style:italic; font-size:17px; color:#8A8175; margin:14px 0 0; }
.about__body { max-width:660px; }
.about__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:48px; line-height:1.1; margin:0 0 34px; }
.about__text { font-size:19px; line-height:1.9; color:#2C2823; margin:0 0 24px; }
.about__text--last { margin:0 0 40px; }
.about__facts { border-top:1px solid #DCD3C4; padding-top:28px; display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:24px; font-size:14px; color:#5C564C; }
.about__facts-label { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#B0A691; margin-bottom:7px; }

/* Home: stats */
.stats { border-top:1px solid #DCD3C4; }
.stats__wrap { max-width:1180px; margin:0 auto; padding:80px 32px; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:56px; }
.stats__number { font-family:'Cormorant Garamond', serif; font-size:52px; color:#6F2232; line-height:1; }
.stats__label { font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#8A8175; margin-top:10px; }

/* Home: contacts */
.contacts { border-top:1px solid #DCD3C4; background:#F1EADD; }
.contacts__wrap { max-width:1180px; margin:0 auto; padding:96px 32px; }
.contacts__inner { max-width:640px; }
.contacts__text { font-family:'Cormorant Garamond', serif; font-size:32px; line-height:1.45; margin:0 0 40px; color:#2C2823; }
.contacts__email { font-family:'Cormorant Garamond', serif; font-size:44px; border-bottom:1px solid #6F223255; padding-bottom:6px; }
.contacts__note { margin:44px 0 0; font-size:15px; line-height:1.8; color:#8A8175; }

/* Works list page */
.works-page { max-width:1180px; margin:0 auto; padding:72px 32px 100px; }
.works-page__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:52px; margin:0 0 12px; }
.works-page__meta { color:#8A8175; font-size:14px; letter-spacing:.06em; margin:0 0 40px; }

.chips { display:flex; gap:10px; flex-wrap:wrap; padding-bottom:28px; border-bottom:1px solid #DCD3C4; margin-bottom:8px; }
.chip { padding:8px 18px; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; border:1px solid #DCD3C4; background:transparent; color:#5C564C; display:inline-block; }
.chip--active { border-color:#6F2232; background:#6F2232; color:#F7F2E9; }

.work-row { cursor:pointer; display:grid; grid-template-columns:minmax(0,88px) minmax(0,1fr); gap:32px; padding:34px 12px 34px 0; border-bottom:1px solid #E5DDCE; color:inherit; text-decoration:none; }
.work-row:hover { background:#F1EADD; }
.work-row__num { font-family:'Cormorant Garamond', serif; font-size:15px; color:#B0A691; padding-top:8px; }
.work-row__body { max-width:760px; }
.work-row__title { font-family:'Cormorant Garamond', serif; font-weight:500; font-size:31px; line-height:1.2; margin:0 0 12px; }
.work-row__excerpt { margin:0 0 16px; font-size:16px; line-height:1.7; color:#5C564C; }
.work-row__meta { display:flex; gap:22px; flex-wrap:wrap; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#8A8175; }
.work-row__genre { color:#6F2232; }

/* Pagination (works list + work detail) */
.pager { display:flex; align-items:baseline; justify-content:center; gap:26px; padding-top:52px; font-family:'Cormorant Garamond', serif; font-size:22px; color:#8A8175; flex-wrap:wrap; }
.pager--inline { padding-top:36px; margin-top:20px; border-top:1px solid #DCD3C4; }
.pager__label { font-size:12px; font-family:'Golos Text', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#B0A691; }
.pager__edge { font-size:12px; font-family:'Golos Text', sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#6F2232; }
.pager__ellipsis { color:#C9BEA9; }
.pager__num { color:#8A8175; }
.pager__num--current { color:#24211D; border-bottom:1px solid #6F2232; padding-bottom:3px; }

/* Work detail page */
.work-detail { max-width:1180px; margin:0 auto; padding:64px 32px 110px; }
.work-detail__back { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8A8175; }
.work-detail__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,220px); gap:72px; align-items:start; margin-top:44px; }
.work-detail__layout--single { grid-template-columns: 1fr; }
.work-detail__main { max-width:680px; }
.work-detail__meta { display:flex; gap:20px; flex-wrap:wrap; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#8A8175; margin-bottom:22px; }
.work-detail__genre { border:1px solid #6F223255; color:#6F2232; padding:3px 12px; }
.work-detail__title { font-family:'Cormorant Garamond', serif; font-weight:400; font-size:56px; line-height:1.08; margin:0 0 8px; letter-spacing:-.01em; }
.work-detail__rule { width:64px; height:1px; background:#6F2232; margin:36px 0 44px; }

.pages-aside { position:sticky; top:120px; border-left:1px solid #DCD3C4; padding-left:26px; }
.pages-aside__title { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#B0A691; margin-bottom:18px; }
.pages-aside__list { display:flex; flex-direction:column; gap:14px; font-family:'Cormorant Garamond', serif; font-size:19px; }
.pages-aside__link { color:#8A8175; }
.pages-aside__link--current { color:#24211D; }
.pages-aside__ellipsis { color:#C9BEA9; }

/* Rich text content (CKEditor output) */
.work-content p { font-size:19px; line-height:1.95; color:#2C2823; margin:0 0 26px; }
.work-content p:first-of-type::first-letter {
  float:left; font-family:'Cormorant Garamond', serif; font-size:78px; line-height:.82;
  padding:6px 14px 0 0; color:#6F2232;
}
.work-content h2, .work-content h3 {
  font-family:'Cormorant Garamond', serif; font-weight:500; font-size:17px;
  letter-spacing:.16em; text-transform:uppercase; color:#8A8175; margin:56px 0 24px;
}
.work-content blockquote {
  margin:44px 0; padding-left:28px; border-left:1px solid #6F2232;
  font-family:'Cormorant Garamond', serif; font-style:italic; font-size:26px;
  line-height:1.5; color:#3A342D;
}
.work-content img { max-width:100%; height:auto; }
.work-content figure { margin: 30px 0; }
.work-content table { border-collapse:collapse; width:100%; margin:30px 0; }
.work-content table td, .work-content table th { border:1px solid #DCD3C4; padding:8px 12px; }

/* Mobile */
@media (max-width: 680px) {
  .about__wrap { grid-template-columns: 1fr; gap:40px; }
  .contacts__email { font-size:26px; }
  .site-nav { font-size:12px; }
}

@media (max-width: 780px) {
  .work-detail__layout { grid-template-columns: 1fr; gap:40px; }
  .pages-aside { position:static; border-left:none; padding-left:0; border-top:1px solid #DCD3C4; padding-top:26px; }
  .pages-aside__list { flex-direction:row; flex-wrap:wrap; gap:10px 20px; }
}
