/* Общий стиль внутренних страниц NAHOREA (Виктория, Архе, услуги).
   Главная (index.html) держит свои стили внутри себя. */
@font-face { font-family:"Cormorant"; src:url("/media/cormorant-garamond.woff2") format("woff2"), url("/media/cormorant-garamond.ttf") format("truetype"); font-display:swap; }
@font-face { font-family:"Manrope"; src:url("/media/manrope.woff2") format("woff2"), url("/media/manrope.ttf") format("truetype"); font-display:swap; }
:root { --ink:#0d0c0b; --ink2:#14110f; --card:#171411; --paper:#f3ebe3; --sand:#d4c6b9; --muted:rgba(243,235,227,.68); --line:rgba(243,235,227,.18); }
* { box-sizing:border-box; }
html { min-width:320px; scroll-behavior:smooth; background:var(--ink); }
body { margin:0; overflow-x:hidden; color:var(--paper); background:var(--ink); font-family:"Manrope",Arial,sans-serif; }
a { color:inherit; }
img { max-width:100%; }
.page { width:min(calc(100% - 80px),1320px); margin:0 auto; }
.serif { font-family:"Cormorant",Georgia,serif; font-weight:400; }
.eyebrow { color:var(--sand); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }

/* Шапка */
.site-header { position:sticky; top:0; z-index:10; height:78px; border-bottom:1px solid var(--line); background:rgba(13,12,11,.92); backdrop-filter:blur(10px); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:100%; gap:28px; }
.brand { display:inline-flex; flex-direction:column; color:var(--paper); text-decoration:none; }
.brand-name { font-family:"Cormorant",Georgia,serif; font-size:27px; letter-spacing:.25em; line-height:.8; }
.brand-sub { margin-top:8px; font-size:7px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.nav { display:flex; gap:clamp(18px,2.2vw,36px); }
.nav a { color:rgba(243,235,227,.86); font-size:10px; font-weight:700; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.nav a:hover, .nav a:focus-visible, .nav a[aria-current] { color:#fff; }
.nav a[aria-current] { border-bottom:1px solid var(--paper); padding-bottom:4px; }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { display:grid; gap:7px; width:28px; cursor:pointer; list-style:none; padding:8px 0; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary span { display:block; height:1px; background:var(--paper); }
.mobile-menu nav { position:absolute; top:44px; right:0; width:210px; padding:8px 16px; border:1px solid var(--line); background:var(--ink2); box-shadow:0 12px 30px rgba(0,0,0,.35); }
.mobile-menu nav a { display:block; padding:12px 0; font-size:10px; font-weight:700; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; }

/* Первый экран страницы */
.phero { padding:72px 0 80px; border-bottom:1px solid var(--line); }
.phero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr); gap:clamp(40px,6vw,96px); align-items:center; }
.phero h1 { margin:18px 0 26px; font-size:clamp(46px,5.4vw,84px); letter-spacing:-.035em; line-height:.95; }
.phero .lead { max-width:600px; margin:0; color:var(--muted); font-size:16px; line-height:1.75; }
.phero-photo { aspect-ratio:3/4; overflow:hidden; border:1px solid var(--line); background:var(--card); }
.phero-photo.wide { aspect-ratio:4/3; }
.phero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 0%; filter:saturate(.85) contrast(1.02); }
.actions { display:flex; flex-wrap:wrap; gap:14px 22px; align-items:center; margin-top:32px; }
.cta { display:inline-flex; align-items:center; gap:20px; min-height:48px; padding:0 18px 0 20px; border:1px solid rgba(243,235,227,.9); color:var(--paper); font-size:10px; font-weight:700; letter-spacing:.16em; text-decoration:none; text-transform:uppercase; transition:background .2s,color .2s; }
.cta span { font-size:20px; font-weight:400; line-height:1; }
.cta:hover, .cta:focus-visible { background:var(--paper); color:var(--ink); }
.cta.solid { background:var(--paper); color:var(--ink); }
.cta.solid:hover, .cta.solid:focus-visible { background:transparent; color:var(--paper); }
.plain-link { display:inline-flex; align-items:center; gap:12px; padding-bottom:6px; border-bottom:1px solid var(--paper); font-size:10px; font-weight:700; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; }

/* Блоки */
.block { padding:84px 0; border-bottom:1px solid var(--line); }
.block.alt { background:var(--ink2); }
.split { display:grid; grid-template-columns:220px minmax(0,1fr); gap:64px; }
.split > * { min-width:0; }
.block h2 { margin:0 0 26px; font-size:clamp(34px,3.6vw,54px); letter-spacing:-.03em; line-height:1.02; }
.block p { max-width:760px; margin:0 0 18px; color:var(--muted); font-size:16px; line-height:1.75; }
.note { max-width:760px; margin-top:28px; padding:22px 24px; border-left:1px solid var(--sand); background:rgba(243,235,227,.04); }
.note p:last-child { margin-bottom:0; }

/* Заглушка: место под текст, который ещё не написан */
.todo { max-width:760px; padding:20px 22px; border:1px dashed rgba(212,198,185,.45); color:var(--sand); font-size:14px; line-height:1.65; }
.todo b { display:block; margin-bottom:6px; font-size:9px; letter-spacing:.2em; text-transform:uppercase; }
.todo ul { margin:8px 0 0; padding-left:18px; }

/* Сетка карточек (услуги, возможности) */
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; }
.tile { display:flex; flex-direction:column; min-width:0; padding:26px 24px 24px; border:1px solid var(--line); background:var(--card); }
.tile h3 { margin:12px 0 12px; font-size:28px; line-height:1.05; }
.tile p { margin:0; font-size:14px; }

.svc { position:relative; display:flex; min-height:340px; align-items:flex-end; overflow:hidden; border:1px solid var(--line); background:var(--card); color:var(--paper); text-decoration:none; transition:border-color .2s,transform .2s; }
.svc:hover, .svc:focus-visible { border-color:rgba(243,235,227,.62); transform:translateY(-4px); }
.svc-img { position:absolute; inset:0; }
.svc-img img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.6) brightness(.62); }
.svc-img::after { position:absolute; inset:0; content:""; background:linear-gradient(180deg,rgba(13,12,11,.05) 10%,rgba(13,12,11,.5) 45%,rgba(13,12,11,.95) 100%); }
.svc-body { position:relative; width:100%; padding:18px 18px 16px; }
.svc-body h3 { margin:8px 0 10px; font-size:30px; line-height:1; }
.svc-body p { margin:0; color:rgba(243,235,227,.84); font-size:13px; line-height:1.55; }
.svc-more { display:block; margin-top:14px; color:var(--sand); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }

/* Шаги / формат */
.facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; max-width:900px; border:1px solid var(--line); }
.facts div { padding:20px 22px; border-right:1px solid var(--line); }
.facts div:last-child { border-right:0; }
.facts dt { color:var(--sand); font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.facts dd { margin:10px 0 0; font-size:17px; }

/* Сертификаты */
.cert-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:34px; }
.cert { display:block; overflow:hidden; border:1px solid var(--line); background:var(--card); text-decoration:none; }
.cert img { display:block; width:100%; aspect-ratio:1.41; object-fit:cover; border-bottom:1px solid var(--line); filter:saturate(.85); transition:transform .3s; }
.cert:hover img { transform:scale(1.025); }
.cert div { padding:16px 18px 18px; }
.cert h3 { margin:0 0 6px; font-size:22px; }
.cert span { color:var(--muted); font-size:12px; line-height:1.5; }

/* Вопросы */
.faq details { max-width:860px; margin:10px 0; border:1px solid var(--line); background:var(--card); }
.faq summary { display:flex; justify-content:space-between; gap:18px; padding:20px; cursor:pointer; list-style:none; font-size:15px; font-weight:700; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--sand); }
.faq details[open] summary::after { content:"−"; }
.faq details p { padding:0 20px 20px; margin:0; font-size:14px; }

/* Цена — в самом конце страницы услуги */
.price-box { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; padding:clamp(28px,4vw,54px); border:1px solid rgba(243,235,227,.4); background:linear-gradient(135deg,rgba(243,235,227,.06),rgba(243,235,227,.01)); }
.price-box h2 { margin:10px 0 12px; }
.price-box .price { font-family:"Cormorant",Georgia,serif; font-size:clamp(34px,4vw,52px); line-height:1; }
.price-box p { margin:12px 0 0; }

/* Переход к другим услугам */
.more-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.more-list a { padding:11px 16px; border:1px solid var(--line); font-size:11px; font-weight:700; letter-spacing:.08em; text-decoration:none; }
.more-list a:hover { border-color:var(--paper); }

.final { padding:90px 0; text-align:center; }
.final h2 { margin:14px auto 18px; max-width:760px; font-size:clamp(36px,4.2vw,58px); line-height:1.02; }
.final p { max-width:600px; margin:0 auto 26px; color:var(--muted); line-height:1.7; }

.site-footer { padding:32px 0 42px; border-top:1px solid var(--line); }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-inner small { color:var(--muted); font-size:10px; letter-spacing:.12em; }

@media (max-width:1180px) {
  .nav { display:none; } .mobile-menu { display:block; }
  .grid, .cert-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .page { width:min(calc(100% - 32px),1320px); }
  .site-header { height:68px; } .brand-name { font-size:22px; }
  .phero { padding:40px 0 56px; }
  .phero-grid, .split { grid-template-columns:1fr; gap:26px; }
  .phero h1 { font-size:clamp(40px,11.5vw,56px); }
  .phero-photo { order:-1; aspect-ratio:4/5; }
  .phero-photo.wide { aspect-ratio:4/3; }
  .block { padding:58px 0; }
  .grid, .cert-grid { grid-template-columns:1fr; }
  .svc { min-height:300px; }
  .facts { grid-template-columns:1fr; } .facts div { border-right:0; border-bottom:1px solid var(--line); } .facts div:last-child { border-bottom:0; }
  .price-box { grid-template-columns:1fr; }
  .final { padding:64px 0; text-align:left; } .final h2, .final p { margin-left:0; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
}


/* Сертификаты свёрнуты, открываются по желанию */
.cert-toggle { margin-top:30px; }
.cert-toggle summary { display:inline-flex; align-items:center; gap:14px; min-height:48px; padding:0 20px; border:1px solid rgba(243,235,227,.6); cursor:pointer; list-style:none; font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.cert-toggle summary::-webkit-details-marker { display:none; }
.cert-toggle summary::after { content:"+"; font-size:18px; font-weight:400; color:var(--sand); }
.cert-toggle[open] summary::after { content:"−"; }
.cert-toggle .when-open, .cert-toggle[open] .when-closed { display:none; }
.cert-toggle[open] .when-open { display:inline; }
.cert-toggle .cert-grid { margin-top:22px; }

/* Отзывы */
.reviews { display:grid; gap:14px; margin-top:8px; max-width:760px; }
.review { margin:0; padding:24px 26px; border:1px solid var(--line); border-left:2px solid var(--sand); background:var(--card); }
.review p { margin:0; color:var(--paper); font-size:15px; line-height:1.7; font-style:italic; }
.review footer { margin-top:14px; color:var(--sand); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.review footer span { color:var(--muted); font-weight:400; text-transform:none; letter-spacing:0; }

/* Сворачивающиеся разделы на странице услуги (вместо длинного текста подряд) */
.info-accordion { margin-top:8px; }
.info-accordion details { margin:10px 0; border:1px solid var(--line); background:var(--card); }
.info-accordion summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px; cursor:pointer; list-style:none; font-family:"Cormorant",Georgia,serif; font-size:20px; }
.info-accordion summary::-webkit-details-marker { display:none; }
.info-accordion summary::after { content:"+"; color:var(--sand); font-size:22px; font-weight:400; line-height:1; }
.info-accordion details[open] summary::after { content:"−"; }
.info-accordion .acc-body { padding:0 20px 22px; }
.info-accordion .acc-body p { margin:0 0 14px; color:var(--muted); font-size:15px; line-height:1.7; }
.info-accordion .acc-body p:last-child { margin-bottom:0; }
.info-accordion .facts { margin-top:20px; }
@media (max-width:760px) { .info-accordion summary { font-size:18px; padding:16px 18px; } .info-accordion .acc-body { padding:0 18px 18px; } }
