/*
Theme Name: Neurocoaching
Theme URI: https://neurocoaching.sy3.ru/
Author: SY3
Description: Custom staging theme for Ksenia Belousova.
Version: 0.1.0
Text Domain: neurocoaching
*/

:root {
  --nc-ink: #26352f;
  --nc-forest: #476c59;
  --nc-sage: #b8c9b6;
  --nc-mist: #eef1ea;
  --nc-cream: #f7f1e8;
  --nc-peach: #e8c6ad;
  --nc-white: #fffdf9;
  --nc-line: rgba(38, 53, 47, .22);
  --nc-radius: 1.4rem;
  --nc-wide: min(1180px, calc(100% - 3rem));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--nc-ink); background: var(--nc-white); font: 400 17px/1.55 Arial, Helvetica, sans-serif; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: .5rem; left: .5rem; width: auto; height: auto; padding: .75rem; clip: auto; background: #fff; }
.nc-container { width: var(--nc-wide); margin-inline: auto; }
.nc-section { padding: clamp(4rem, 8vw, 8rem) 0; }
.nc-section--sage { background: var(--nc-mist); }
.nc-section--forest { color: var(--nc-white); background: var(--nc-forest); }
.nc-section--cream { background: var(--nc-cream); }
.nc-eyebrow { margin: 0 0 1rem; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.nc-title { max-width: 900px; margin: 0 0 2rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem, 6.5vw, 6.5rem); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.nc-heading { max-width: 800px; margin: 0 0 2rem; font: 400 clamp(2.2rem, 4.6vw, 4.8rem)/1.03 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.nc-copy { max-width: 670px; font-size: clamp(1.05rem, 1.7vw, 1.35rem); }
.nc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3.2rem; padding: .8rem 1.35rem; border: 1px solid currentColor; border-radius: 999px; font-size: .84rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: transform .2s, background .2s, color .2s; }
.nc-button:hover, .nc-button:focus-visible { transform: translateY(-2px); color: var(--nc-white); background: var(--nc-ink); }

.nc-header { position: relative; z-index: 10; border-bottom: 1px solid var(--nc-line); background: var(--nc-white); }
.nc-header__bar { min-height: 88px; display: flex; align-items: center; gap: 2rem; }
.nc-brand { margin-right: auto; font: 400 1.1rem/1.05 Georgia, serif; text-decoration: none; }
.nc-nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.nc-nav a { font-size: .82rem; font-weight: 700; letter-spacing: .05em; text-decoration: none; }
.nc-nav a:hover, .nc-nav a:focus-visible { text-decoration: underline; text-underline-offset: .35rem; }
.nc-socials { display: flex; gap: .55rem; }
.nc-socials a { width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border: 1px solid var(--nc-line); border-radius: 50%; }
.nc-socials svg { width: 1rem; height: 1rem; fill: currentColor; }
.nc-menu-toggle { display: none; width: 2.8rem; height: 2.8rem; border: 1px solid var(--nc-line); border-radius: 50%; color: inherit; background: transparent; }

.nc-hero { min-height: calc(100svh - 89px); display: grid; align-items: end; padding: clamp(4rem, 9vw, 9rem) 0 3rem; background: linear-gradient(125deg, var(--nc-cream) 0 67%, var(--nc-sage) 67%); }
.nc-hero--career { background: linear-gradient(125deg, #e7cbc0 0 67%, #c3d0c2 67%); }
.nc-hero--neuro { background: linear-gradient(125deg, #cbd5c8 0 67%, #efd8c7 67%); }
.nc-hero__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr); gap: 3rem; align-items: end; }
.nc-hero__meta { max-width: 34rem; margin-bottom: 1rem; }
.nc-hero__placeholder, .nc-photo-placeholder { min-height: 420px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50% 50% 1rem 1rem; background: rgba(255,255,255,.18); text-align: center; }
.nc-placeholder-label { max-width: 14rem; padding: 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.nc-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 8vw, 8rem); align-items: center; }
.nc-facts { margin: 0; padding: 0; list-style: none; border-top: 1px solid currentColor; }
.nc-facts li { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid currentColor; }
.nc-facts strong { font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.nc-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.nc-card { min-height: 330px; display: flex; flex-direction: column; padding: 1.6rem; border: 1px solid var(--nc-line); border-radius: var(--nc-radius); background: var(--nc-white); }
.nc-card__number { margin-bottom: auto; font-size: .78rem; font-weight: 700; }
.nc-card h3 { margin: 2rem 0 .75rem; font: 400 1.65rem/1.08 Georgia, serif; }
.nc-card p { margin-bottom: 0; }
.nc-quote { max-width: 860px; margin: 0; font: 400 clamp(2rem, 4vw, 4.1rem)/1.12 Georgia, serif; }
.nc-quote footer { margin-top: 1.5rem; font: 700 .8rem/1.4 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.nc-gallery { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1rem; }
.nc-gallery .nc-photo-placeholder { min-height: 390px; border-radius: 1rem; }
.nc-gallery .nc-photo-placeholder:nth-child(2) { margin-top: 4rem; }
.nc-cta { text-align: center; }
.nc-cta .nc-heading, .nc-cta .nc-copy { margin-inline: auto; }
.nc-faq { border-top: 1px solid currentColor; }
.nc-faq details { border-bottom: 1px solid currentColor; }
.nc-faq summary { padding: 1.4rem 3rem 1.4rem 0; cursor: pointer; font: 400 clamp(1.2rem, 2vw, 1.6rem)/1.25 Georgia, serif; }
.nc-faq details p { max-width: 760px; margin: 0; padding: 0 0 1.5rem; }
.nc-site-end { min-height: 2rem; background: var(--nc-ink); }

@media (max-width: 960px) {
  .nc-menu-toggle { display: grid; place-items: center; }
  .nc-nav { position: absolute; inset: 89px 0 auto; display: none; padding: 1.5rem; flex-direction: column; align-items: flex-start; border-bottom: 1px solid var(--nc-line); background: var(--nc-white); }
  .nc-header.is-open .nc-nav { display: flex; }
  .nc-header__cta { display: none; }
  .nc-hero__grid { grid-template-columns: 1fr .45fr; }
  .nc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  :root { --nc-wide: min(100% - 2rem, 1180px); }
  body { font-size: 16px; }
  .nc-header__bar { min-height: 72px; }
  .nc-nav { top: 73px; }
  .nc-socials { display: none; }
  .nc-hero { min-height: auto; padding-top: 4.5rem; background: var(--nc-cream); }
  .nc-hero--career { background: #e7cbc0; }
  .nc-hero--neuro { background: #cbd5c8; }
  .nc-hero__grid, .nc-split { grid-template-columns: 1fr; gap: 2rem; }
  .nc-hero__placeholder { min-height: 320px; }
  .nc-cards, .nc-gallery { grid-template-columns: 1fr; }
  .nc-card { min-height: 270px; }
  .nc-gallery .nc-photo-placeholder, .nc-gallery .nc-photo-placeholder:nth-child(2) { min-height: 300px; margin-top: 0; }
  .nc-facts li { grid-template-columns: 3.8rem 1fr; }
}
