/*
Theme Name: Пам'ять
Description: Тема сайту ритуальних послуг: підбір місця поховання, організація поховання, оформлення документів, благоустрій.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: pamyat
*/

:root{
  --rs-bg:#F4F1E9; --rs-bg-2:#ECE7DB; --rs-bg-3:#E4DECF;
  --rs-dark:#2C342E; --rs-dark-2:#222a24; --rs-dark-3:#1b211d;
  --rs-ink:#2A2A26; --rs-muted:#6E6C63; --rs-line:#D8D2C4;
  --rs-accent:#A07E4C; --rs-accent-deep:#876736;
  --rs-ivory:#F4F1E9; --rs-ivory-soft:#CBC8BD;
  --rs-shadow:0 18px 50px rgba(44,52,46,.10);
  --rs-radius:16px;
  --rs-serif:'Spectral',Georgia,'Times New Roman',serif;
  --rs-sans:'Commissioner',-apple-system,system-ui,sans-serif;
}
[class^="rs-"], [class^="rs-"] *{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--rs-bg); }
section[id^="rs-"]{ scroll-margin-top:72px; }
.admin-bar section[id^="rs-"]{ scroll-margin-top:104px; }
.screen-reader-text{ border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; word-wrap:normal!important; }

.rs-ph{ position:relative; overflow:hidden; border-radius:var(--rs-radius);
  background:linear-gradient(140deg,#39443b 0%, #2c342e 60%, #242b25 100%); }
.rs-ph::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 20% 0%, rgba(160,126,76,.28), transparent 55%),
  repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 2px, transparent 2px 9px); }
.rs-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:2; }

.rs-head{ font-family:var(--rs-sans); position:sticky; top:0; z-index:100;
  background:rgba(244,241,233,.86); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rs-line); }
.admin-bar .rs-head{ top:32px; }
.rs-head__bar{ max-width:1200px; margin:0 auto; padding:16px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; }
.rs-logo{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.rs-logo__mark{ width:38px; height:38px; border-radius:9px; background:var(--rs-dark);
  display:flex; align-items:center; justify-content:center; }
.rs-logo__mark svg{ width:20px; height:20px; color:var(--rs-accent); }
.rs-logo__img{ display:block; width:auto; height:38px; max-width:200px; object-fit:contain; }
.rs-logo__txt b{ font-family:var(--rs-serif); font-weight:500; font-size:19px; color:var(--rs-ink); display:block; line-height:1; }
.rs-logo__txt span{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--rs-muted); }
.rs-nav{ display:flex; align-items:center; gap:28px; }
.rs-nav a{ font-size:15px; color:var(--rs-ink); text-decoration:none; transition:color .2s; }
.rs-nav a:hover{ color:var(--rs-accent); }
.rs-head__phone{ display:flex; align-items:center; gap:14px; }
.rs-head__num{ font-family:var(--rs-serif); font-size:18px; color:var(--rs-ink); text-decoration:none; white-space:nowrap; }
.rs-head__num:hover{ color:var(--rs-accent); }
.rs-mini-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--rs-accent); color:#fff;
  font-size:14px; font-weight:500; padding:11px 20px; border-radius:50px; text-decoration:none; transition:background .2s,transform .2s; }
.rs-mini-btn:hover{ background:var(--rs-accent-deep); transform:translateY(-1px); }
.rs-mini-btn svg{ width:15px; height:15px; }
.rs-burger,.rs-nav-toggle{ display:none; }
@media(max-width:980px){
  .rs-nav{ position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0;
    background:var(--rs-bg); border-bottom:1px solid var(--rs-line);
    max-height:0; overflow:hidden; transition:max-height .35s ease; }
  .rs-nav a{ width:100%; padding:16px 22px; border-top:1px solid var(--rs-line); }
  .rs-nav-toggle:checked ~ .rs-nav{ max-height:340px; }
  .rs-burger{ display:flex; flex-direction:column; gap:5px; cursor:pointer; padding:6px; }
  .rs-burger span{ width:24px; height:2px; background:var(--rs-ink); border-radius:2px; transition:.3s; }
  .rs-nav-toggle:checked ~ .rs-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .rs-nav-toggle:checked ~ .rs-burger span:nth-child(2){ opacity:0; }
  .rs-nav-toggle:checked ~ .rs-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .rs-head__num{ display:none; }
}
@media(max-width:782px){ .admin-bar .rs-head{ top:46px; } }
@media(max-width:600px){ .admin-bar .rs-head{ top:0; } }
@media(max-width:560px){ .rs-mini-btn span{ display:none; } .rs-mini-btn{ padding:11px; } }

.rs-hero{ font-family:var(--rs-sans);
  background:radial-gradient(120% 80% at 80% 0%, rgba(160,126,76,.16), transparent 55%), var(--rs-bg); }
.rs-hero__in{ max-width:1200px; margin:0 auto; padding:clamp(40px,7vw,84px) 22px;
  display:grid; grid-template-columns:1fr; gap:clamp(34px,5vw,56px); align-items:center; }
.rs-hero__eyebrow{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--rs-accent);
  margin:0 0 18px; display:flex; align-items:center; gap:10px; }
.rs-hero__eyebrow::before{ content:""; width:30px; height:1px; background:var(--rs-accent); }
.rs-hero h1{ font-family:var(--rs-serif); font-weight:400; font-size:clamp(30px,5vw,50px);
  line-height:1.15; letter-spacing:-.01em; color:var(--rs-ink); margin:0 0 20px; }
.rs-hero p{ font-size:clamp(16px,2.2vw,18px); line-height:1.7; color:var(--rs-muted);
  font-weight:300; max-width:520px; margin:0 0 30px; }
.rs-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
.rs-btn{ display:inline-flex; align-items:center; gap:10px; font-family:var(--rs-sans);
  font-size:16px; font-weight:500; padding:16px 30px; border-radius:50px; text-decoration:none;
  transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,color .25s; cursor:pointer; border:1px solid transparent; }
.rs-btn--gold{ background:var(--rs-accent); color:#fff; box-shadow:0 10px 28px rgba(160,126,76,.32); }
.rs-btn--gold:hover{ background:var(--rs-accent-deep); transform:translateY(-2px); }
.rs-btn--outline{ background:transparent; color:var(--rs-ink); border-color:var(--rs-line); }
.rs-btn--outline:hover{ border-color:var(--rs-accent); color:var(--rs-accent); }
.rs-btn svg{ width:18px; height:18px; }
.rs-hero__badge{ display:inline-flex; align-items:center; gap:10px; font-size:14px; color:var(--rs-muted); }
.rs-hero__badge svg{ width:18px; height:18px; color:var(--rs-accent); }
.rs-hero__photo{ min-height:clamp(300px,46vw,520px); box-shadow:var(--rs-shadow); }
@media(min-width:920px){ .rs-hero__in{ grid-template-columns:1.05fr .95fr; } }

.rs-stats{ font-family:var(--rs-sans); background:var(--rs-dark); color:var(--rs-ivory);
  padding:clamp(34px,5vw,52px) 22px; }
.rs-stats__in{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr);
  gap:30px 20px; text-align:center; }
.rs-stats b{ display:block; font-family:var(--rs-serif); font-weight:400; font-size:clamp(30px,5vw,44px); color:var(--rs-accent); line-height:1; }
.rs-stats span{ display:block; margin-top:10px; font-size:14px; color:var(--rs-ivory-soft); }
@media(min-width:760px){ .rs-stats__in{ grid-template-columns:repeat(4,1fr); } }

.rs-about{ font-family:var(--rs-sans); background:var(--rs-bg); padding:clamp(56px,8vw,96px) 22px; }
.rs-about__in{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:clamp(34px,5vw,56px); align-items:center; }
.rs-eyebrow{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--rs-accent); margin:0 0 14px; }
.rs-h2{ font-family:var(--rs-serif); font-weight:400; font-size:clamp(26px,4vw,38px); line-height:1.2; color:var(--rs-ink); margin:0 0 18px; }
.rs-about p{ font-size:16px; line-height:1.75; color:var(--rs-muted); font-weight:300; margin:0 0 16px; }
.rs-about__photo{ min-height:clamp(280px,40vw,420px); box-shadow:var(--rs-shadow); }
@media(min-width:880px){ .rs-about__in{ grid-template-columns:.95fr 1.05fr; } .rs-about__photo{ order:-1; } }

.rs-serv{ font-family:var(--rs-sans); background:var(--rs-bg-2); padding:clamp(56px,8vw,96px) 22px; }
.rs-wrap{ max-width:1140px; margin:0 auto; }
.rs-lead{ font-size:16px; line-height:1.7; color:var(--rs-muted); max-width:560px; margin:0 0 8px; font-weight:300; }
.rs-serv__grid{ display:grid; grid-template-columns:1fr; gap:18px; margin-top:38px; }
.rs-card{ background:var(--rs-bg); border:1px solid var(--rs-line); border-radius:var(--rs-radius);
  padding:30px 26px; transition:transform .3s,box-shadow .3s,border-color .3s; }
.rs-card:hover{ transform:translateY(-4px); box-shadow:var(--rs-shadow); border-color:var(--rs-accent); }
.rs-card__icon{ width:52px; height:52px; border-radius:13px; background:rgba(160,126,76,.12);
  color:var(--rs-accent); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.rs-card__icon svg{ width:26px; height:26px; }
.rs-card h3{ font-family:var(--rs-serif); font-weight:500; font-size:21px; color:var(--rs-ink); margin:0 0 8px; }
.rs-card p{ font-size:15px; line-height:1.65; color:var(--rs-muted); margin:0; font-weight:300; }
@media(min-width:640px){ .rs-serv__grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1000px){ .rs-serv__grid{ grid-template-columns:repeat(4,1fr); } }

.rs-pick{ font-family:var(--rs-sans); background:var(--rs-bg); padding:clamp(56px,8vw,96px) 22px; }
.rs-pick__status{ display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--rs-accent); background:rgba(160,126,76,.12);
  padding:8px 15px; border-radius:50px; }
.rs-pick__status i{ width:9px; height:9px; border-radius:50%; background:var(--rs-accent); animation:rsPulse 1.8s infinite; }
@keyframes rsPulse{ 0%{box-shadow:0 0 0 0 rgba(160,126,76,.55)} 70%{box-shadow:0 0 0 8px rgba(160,126,76,0)} 100%{box-shadow:0 0 0 0 rgba(160,126,76,0)} }
.rs-pick__panel{ margin-top:40px; display:grid; grid-template-columns:1fr;
  background:var(--rs-bg); border:1px solid var(--rs-line); border-radius:var(--rs-radius);
  overflow:hidden; box-shadow:var(--rs-shadow); }
.rs-pick__media{ position:relative; min-height:280px; background:#2c342e; }
.rs-pick__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rs-pick__media .rs-pick__status{ position:absolute; left:18px; top:18px; z-index:2;
  background:rgba(27,33,29,.82); backdrop-filter:blur(5px); color:#fff; }
.rs-pick__media .rs-pick__status i{ background:#fff; }
.rs-pick__body{ padding:clamp(26px,4vw,40px); }
.rs-pick__body h3{ font-family:var(--rs-serif); font-weight:500; font-size:22px; color:var(--rs-ink); margin:0 0 12px; }
.rs-pick__body p{ font-size:15px; line-height:1.7; color:var(--rs-muted); font-weight:300; margin:0 0 18px; }
.rs-plan__title{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--rs-muted); margin:4px 0 12px; }
#rs-pick-grid{ margin-bottom:16px; }
.rs-grid__section{ display:grid; grid-template-columns:repeat(var(--rs-cols,19),1fr); gap:4px; }
.rs-grid__aisle{ display:flex; align-items:center; gap:12px; margin:14px 2px;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--rs-muted); }
.rs-grid__aisle::before, .rs-grid__aisle::after{ content:""; flex:1; height:1px;
  background:repeating-linear-gradient(90deg,var(--rs-line) 0 6px,transparent 6px 12px); }
.rs-cell{ aspect-ratio:1/1.35; border-radius:3px; border:1px solid var(--rs-line);
  background:#FBFAF6; padding:0; margin:0; cursor:pointer; appearance:none; transition:.15s ease; }
.rs-cell--free:hover{ border-color:var(--rs-accent); background:rgba(160,126,76,.18); transform:translateY(-1px); }
.rs-cell--reserved{ background:var(--rs-bg-3); cursor:not-allowed; opacity:.6; }
.rs-cell--selected{ background:var(--rs-accent)!important; border-color:var(--rs-accent-deep)!important; }
.rs-legend{ display:flex; flex-wrap:wrap; gap:14px 18px; font-size:13px; color:var(--rs-muted); margin-bottom:18px; }
.rs-legend span{ display:inline-flex; align-items:center; gap:7px; }
.rs-dot{ width:14px; height:14px; border-radius:3px; border:1px solid var(--rs-line); }
.rs-dot--free{ background:#FBFAF6; }
.rs-dot--reserved{ background:var(--rs-bg-3); }
.rs-dot--selected{ background:var(--rs-accent); border-color:var(--rs-accent-deep); }
.rs-pick__info{ display:flex; flex-wrap:wrap; gap:6px 28px; padding:15px 18px; background:var(--rs-bg-2);
  border-radius:12px; margin-bottom:20px; font-size:15px; color:var(--rs-muted); }
.rs-pick__info b{ color:var(--rs-ink); font-weight:600; }
.rs-pick .rs-btn--gold{ border:0; }
.rs-pick__note{ font-size:13px; line-height:1.5; color:var(--rs-muted); margin:14px 0 0; }
@media(min-width:920px){ .rs-pick__panel{ grid-template-columns:.9fr 1.1fr; } }

.rs-why{ font-family:var(--rs-sans); background:linear-gradient(180deg,var(--rs-dark),var(--rs-dark-2)); color:var(--rs-ivory); padding:clamp(56px,8vw,96px) 22px; }
.rs-why .rs-eyebrow{ color:var(--rs-accent); }
.rs-why .rs-h2{ color:var(--rs-ivory); }
.rs-why__grid{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:38px; }
.rs-why__item{ display:flex; gap:16px; align-items:center; padding:20px 22px;
  border:1px solid rgba(244,241,233,.12); border-radius:12px; background:rgba(244,241,233,.03); }
.rs-why__item svg{ width:24px; height:24px; color:var(--rs-accent); flex:0 0 auto; }
.rs-why__item span{ font-size:16px; line-height:1.5; color:var(--rs-ivory); }
@media(min-width:680px){ .rs-why__grid{ grid-template-columns:1fr 1fr; } }

.rs-steps{ font-family:var(--rs-sans); background:var(--rs-bg); padding:clamp(56px,8vw,96px) 22px; }
.rs-steps__grid{ display:grid; grid-template-columns:1fr; gap:30px; margin-top:42px; position:relative; }
.rs-step{ position:relative; padding-left:64px; }
.rs-step__num{ position:absolute; left:0; top:0; font-family:var(--rs-serif); font-size:28px; color:#fff;
  width:46px; height:46px; border-radius:50%; background:var(--rs-accent); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(160,126,76,.3); }
.rs-step h3{ font-family:var(--rs-serif); font-weight:500; font-size:20px; color:var(--rs-ink); margin:6px 0; }
.rs-step p{ font-size:15px; line-height:1.6; color:var(--rs-muted); margin:0; font-weight:300; }
@media(min-width:880px){
  .rs-steps__grid{ grid-template-columns:repeat(4,1fr); gap:24px; }
  .rs-steps__grid::before{ content:""; position:absolute; left:23px; right:23px; top:23px; height:1px; background:var(--rs-line); }
  .rs-step{ padding-left:0; padding-top:62px; }
  .rs-step__num{ position:relative; }
}

.rs-rev{ font-family:var(--rs-sans); background:var(--rs-bg-2); padding:clamp(56px,8vw,96px) 22px; }
.rs-rev__grid{ display:grid; grid-template-columns:1fr; gap:20px; margin-top:40px; }
.rs-rev__card{ background:var(--rs-bg); border:1px solid var(--rs-line); border-radius:var(--rs-radius); padding:30px 28px; position:relative; }
.rs-rev__quote{ font-family:var(--rs-serif); font-size:46px; color:var(--rs-accent); line-height:.5; opacity:.5; }
.rs-rev__card p{ font-size:16px; line-height:1.7; color:var(--rs-ink); font-weight:300; margin:14px 0 22px; font-style:italic; }
.rs-rev__who{ font-size:14px; color:var(--rs-muted); }
.rs-rev__who b{ color:var(--rs-ink); font-weight:500; font-style:normal; }
@media(min-width:780px){ .rs-rev__grid{ grid-template-columns:repeat(3,1fr); } }

.rs-faq{ font-family:var(--rs-sans); background:var(--rs-bg); padding:clamp(56px,8vw,96px) 22px; }
.rs-faq .rs-eyebrow, .rs-faq .rs-h2{ text-align:center; }
.rs-faq__list{ max-width:780px; margin:38px auto 0; }
.rs-faq details{ border-bottom:1px solid var(--rs-line); }
.rs-faq summary{ list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative;
  font-family:var(--rs-serif); font-size:19px; color:var(--rs-ink); font-weight:500; }
.rs-faq summary::-webkit-details-marker{ display:none; }
.rs-faq summary::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-size:26px; font-weight:300; color:var(--rs-accent); }
.rs-faq details[open] summary::after{ content:"–"; }
.rs-faq__a{ padding:0 0 22px; font-size:16px; line-height:1.7; color:var(--rs-muted); font-weight:300; }

.rs-contacts{ font-family:var(--rs-sans); background:linear-gradient(180deg,var(--rs-dark),var(--rs-dark-2)); color:var(--rs-ivory); padding:clamp(56px,8vw,96px) 22px; }
.rs-contacts__in{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:clamp(34px,5vw,56px); }
.rs-contacts .rs-eyebrow{ color:var(--rs-accent); }
.rs-contacts h2{ font-family:var(--rs-serif); font-weight:400; font-size:clamp(26px,4vw,38px); margin:0 0 18px; color:var(--rs-ivory); }
.rs-contacts__lead{ font-size:16px; line-height:1.7; color:var(--rs-ivory-soft); font-weight:300; margin:0 0 28px; }
.rs-cline{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.rs-cline svg{ width:22px; height:22px; color:var(--rs-accent); flex:0 0 auto; }
.rs-cline a, .rs-cline span{ color:var(--rs-ivory); text-decoration:none; font-size:16px; }
.rs-cline a:hover{ color:var(--rs-accent); }
.rs-cline b{ display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--rs-ivory-soft); font-weight:400; margin-bottom:2px; }
.rs-form{ font-family:var(--rs-sans); }
.rs-form--panel{ background:rgba(244,241,233,.05); border:1px solid rgba(244,241,233,.12); border-radius:var(--rs-radius); padding:clamp(24px,4vw,36px); }
.rs-form label{ display:block; font-size:13px; color:var(--rs-ivory-soft); margin:0 0 7px; }
.rs-form input, .rs-form textarea{ width:100%; background:rgba(244,241,233,.07); border:1px solid rgba(244,241,233,.18);
  border-radius:10px; padding:14px 16px; color:var(--rs-ivory); font-family:var(--rs-sans); font-size:15px; margin-bottom:18px; outline:none; transition:border-color .2s; }
.rs-form input:focus, .rs-form textarea:focus{ border-color:var(--rs-accent); }
.rs-form input::placeholder, .rs-form textarea::placeholder{ color:rgba(203,200,189,.6); }
.rs-form textarea{ resize:vertical; min-height:96px; }
.rs-form .rs-btn--gold{ width:100%; justify-content:center; border:0; font-size:16px; }
.rs-form button{ appearance:none; -webkit-appearance:none; }
.rs-form button:disabled{ opacity:.6; cursor:wait; }
.rs-form__hp{ position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.rs-form__msg{ margin:0 0 20px; padding:14px 16px; border-radius:10px; font-size:15px; line-height:1.5;
  color:var(--rs-ivory); background:rgba(160,126,76,.22); border:1px solid rgba(160,126,76,.45); }
.rs-form__msg--error{ background:rgba(190,80,60,.18); border-color:rgba(190,80,60,.45); }
@media(min-width:880px){ .rs-contacts__in{ grid-template-columns:1fr 1fr; align-items:start; } }

.rs-foot{ font-family:var(--rs-sans); background:var(--rs-dark-3); color:var(--rs-ivory-soft); padding:clamp(44px,6vw,68px) 22px 30px; }
.rs-foot__in{ max-width:1140px; margin:0 auto; display:grid; grid-template-columns:1fr; gap:34px; }
.rs-foot__col h4{ font-family:var(--rs-serif); font-weight:500; font-size:17px; color:var(--rs-ivory); margin:0 0 16px; }
.rs-foot__col a, .rs-foot__col p{ display:block; color:var(--rs-ivory-soft); text-decoration:none; font-size:15px; line-height:1.5; margin:0 0 10px; font-weight:300; }
.rs-foot__col a:hover{ color:var(--rs-accent); }
.rs-foot__col .rs-logo{ margin-bottom:16px; }
.rs-foot .rs-logo__txt b{ color:var(--rs-ivory); }
.rs-foot .rs-logo__txt span{ color:var(--rs-ivory-soft); }
.rs-foot__bottom{ max-width:1140px; margin:34px auto 0; padding-top:22px; border-top:1px solid rgba(244,241,233,.1);
  font-size:13px; color:rgba(203,200,189,.7); display:flex; flex-wrap:wrap; gap:8px 18px; justify-content:space-between; }
@media(min-width:760px){ .rs-foot__in{ grid-template-columns:1.4fr 1fr 1fr; } }

.rs-modal{ position:fixed; inset:0; z-index:1000; display:none; align-items:center; justify-content:center; padding:20px; }
.rs-modal.is-open{ display:flex; }
.rs-modal__overlay{ position:absolute; inset:0; background:rgba(20,25,21,.7); backdrop-filter:blur(4px); animation:rsFade .25s ease; }
@keyframes rsFade{ from{opacity:0} to{opacity:1} }
.rs-modal__box{ position:relative; z-index:2; width:100%; max-width:480px; max-height:90vh; overflow:auto;
  background:linear-gradient(180deg,var(--rs-dark),var(--rs-dark-2)); border:1px solid rgba(244,241,233,.14);
  border-radius:var(--rs-radius); box-shadow:0 30px 70px rgba(0,0,0,.45); padding:clamp(26px,4vw,38px);
  animation:rsPop .28s cubic-bezier(.16,1,.3,1); }
@keyframes rsPop{ from{opacity:0; transform:translateY(14px) scale(.98)} to{opacity:1; transform:none} }
.rs-modal__close{ position:absolute; top:14px; right:14px; width:38px; height:38px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(244,241,233,.08); color:var(--rs-ivory-soft); font-size:0; transition:background .2s,color .2s; }
.rs-modal__close::before{ content:"\00d7"; font-size:24px; line-height:1; }
.rs-modal__close:hover{ background:var(--rs-accent); color:#fff; }
.rs-modal__eyebrow{ font-family:var(--rs-sans); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--rs-accent); margin:0 0 10px; }
.rs-modal__title{ font-family:var(--rs-serif); font-weight:400; font-size:24px; color:var(--rs-ivory); margin:0 0 8px; }
.rs-modal__lead{ font-family:var(--rs-sans); font-size:14px; line-height:1.6; color:var(--rs-ivory-soft); font-weight:300; margin:0 0 22px; }
body.rs-noscroll{ overflow:hidden; }

.rs-page{ font-family:var(--rs-sans); background:var(--rs-bg); padding:clamp(48px,7vw,88px) 22px; min-height:calc(100vh - 415px); }
.rs-page .rs-wrap{ max-width:820px; }
.rs-page__title{ font-family:var(--rs-serif); font-weight:400; font-size:clamp(28px,4.4vw,44px); line-height:1.2; color:var(--rs-ink); margin:0 0 28px; }
.rs-page__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.rs-content{ font-size:17px; line-height:1.75; color:var(--rs-ink); font-weight:300; }
.rs-content h2, .rs-content h3, .rs-content h4{ font-family:var(--rs-serif); font-weight:500; color:var(--rs-ink); line-height:1.3; margin:1.6em 0 .6em; }
.rs-content h2{ font-size:28px; }
.rs-content h3{ font-size:22px; }
.rs-content h4{ font-size:19px; }
.rs-content p, .rs-content ul, .rs-content ol{ margin:0 0 1.1em; }
.rs-content a{ color:var(--rs-accent-deep); }
.rs-content a:hover{ color:var(--rs-accent); }
.rs-content img{ max-width:100%; height:auto; border-radius:12px; }
.rs-content blockquote{ margin:1.4em 0; padding:4px 0 4px 22px; border-left:2px solid var(--rs-accent); font-family:var(--rs-serif); font-style:italic; }
.rs-list{ border-top:1px solid var(--rs-line); }
.rs-list__item{ padding:26px 0; border-bottom:1px solid var(--rs-line); }
.rs-list__item h2{ font-family:var(--rs-serif); font-weight:500; font-size:24px; line-height:1.3; margin:0 0 8px; }
.rs-list__item h2 a{ color:var(--rs-ink); text-decoration:none; }
.rs-list__item h2 a:hover{ color:var(--rs-accent); }
.rs-list__item p{ font-size:16px; line-height:1.7; color:var(--rs-muted); font-weight:300; margin:0; }
.rs-pager{ margin-top:34px; }
.rs-pager .nav-links{ display:flex; flex-wrap:wrap; gap:8px; }
.rs-pager .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px;
  border:1px solid var(--rs-line); border-radius:50px; color:var(--rs-ink); text-decoration:none; font-size:15px; }
.rs-pager .page-numbers.current, .rs-pager a.page-numbers:hover{ background:var(--rs-accent); border-color:var(--rs-accent); color:#fff; }
