/* Therapiya — design tokens & utilities */
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&display=swap');

:root{
  /* warm wellness palette — глина, бумага, шалфей */
  --ink:        #1B1C1A;
  --ink-2:      #2D2E2A;
  --ink-3:      #4A4B45;
  --mute:       #7A7A72;
  --line:       rgba(27,28,26,.10);
  --line-2:     rgba(27,28,26,.18);

  --paper:      #F4EFE7;
  --paper-2:    #EAE2D2;
  --paper-3:    #DCD2BD;
  --card:       #FBF7EE;
  --white:      #FFFDF8;

  --clay:       #C26943;      /* primary accent — терракота */
  --clay-deep:  #9D4E2C;
  --clay-soft:  #ECB99E;

  --sage:       #5C6B5C;
  --sage-deep:  #3E4A3E;
  --sage-soft:  #C2CBB7;

  --ochre:      #C8A155;
  --rose:       #D89F8A;
  --plum:       #5D3F4A;

  --danger:     #B5453A;
  --ok:         #4F7A53;

  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 18px;
  --r-xl: 28px;
  --r-2xl: 40px;

  --shadow-sm: 0 1px 2px rgba(27,28,26,.06), 0 2px 8px rgba(27,28,26,.04);
  --shadow-md: 0 2px 6px rgba(27,28,26,.06), 0 10px 30px rgba(27,28,26,.07);
  --shadow-lg: 0 4px 12px rgba(27,28,26,.08), 0 30px 60px rgba(27,28,26,.10);

  --font-display: "Newsreader", Georgia, serif;
  --font-ui:      "Geist", system-ui, sans-serif;
  --font-mono:    "Geist Mono", ui-monospace, monospace;
}

/* artboard scaffolding */
.ab{font-family:var(--font-ui); color:var(--ink); background:var(--paper); width:100%; height:100%; overflow-y:auto; overflow-x:hidden; line-height:1.4; -webkit-font-smoothing:antialiased;}
.ab *{box-sizing:border-box;}
.ab img{max-width:100%; display:block;}
.ab button{font-family:inherit;}

/* display & ui type */
.dsp{font-family:var(--font-display); font-weight:500; line-height:1.02; letter-spacing:-0.025em;}
.dsp-i{font-family:var(--font-display); font-style:italic; font-weight:400;}
.eyebrow{font-family:var(--font-ui); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--clay-deep);}
.mono{font-family:var(--font-mono); font-feature-settings:"tnum";}

/* logo */
.logo{display:inline-flex; align-items:center; gap:8px; color:var(--ink); text-decoration:none;}
.logo-mark{width:22px; height:22px; flex:0 0 22px;}
.logo-word{font-family:var(--font-display); font-size:22px; font-weight:500; letter-spacing:-0.02em;}
.logo-word .dot{color:var(--clay);}

/* topbar */
.topbar{display:flex; align-items:center; gap:24px; padding:18px 56px; border-bottom:1px solid var(--line); background:var(--paper);}
.topbar .nav{display:flex; gap:22px; font-size:14px; color:var(--ink-2);}
.topbar .nav a{color:inherit; text-decoration:none;}
.topbar .nav a:hover{color:var(--clay-deep);}
.topbar .right{margin-left:auto; display:flex; align-items:center; gap:14px;}

/* buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family:var(--font-ui); font-weight:500; font-size:14px; line-height:1; border:0; cursor:pointer; padding:12px 18px; border-radius:999px; transition:all .15s;}
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-primary:hover{background:var(--ink-2);}
.btn-clay{background:var(--clay); color:#fff;}
.btn-clay:hover{background:var(--clay-deep);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line-2);}
.btn-ghost:hover{background:rgba(27,28,26,.04);}
.btn-pill{background:var(--white); color:var(--ink); border:1px solid var(--line-2);}
.btn-lg{padding:16px 26px; font-size:15px;}
.btn-sm{padding:8px 14px; font-size:13px;}
.btn-icon{padding:12px; aspect-ratio:1;}

/* chips */
.chip{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:var(--paper-2); color:var(--ink-2); font-size:13px; line-height:1; border:1px solid transparent;}
.chip.outline{background:transparent; border-color:var(--line-2);}
.chip.clay{background:rgba(194,105,67,.10); color:var(--clay-deep);}
.chip.sage{background:rgba(92,107,92,.12); color:var(--sage-deep);}
.chip.ink{background:var(--ink); color:var(--paper);}
.chip.lg{padding:8px 14px; font-size:14px;}

/* cards */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r-lg); padding:20px;}
.card-white{background:var(--white);}
.card-tight{padding:14px;}

/* containers */
.cont{padding:0 56px;}
.cont-tight{padding:0 36px;}
.row{display:flex; gap:24px;}
.col{display:flex; flex-direction:column; gap:14px;}
.between{display:flex; align-items:center; justify-content:space-between;}
.center{display:flex; align-items:center; justify-content:center;}

/* divider */
.hr{height:1px; background:var(--line); border:0; margin:0;}

/* trust strip pills */
.verif{display:inline-flex; align-items:center; gap:5px; padding:4px 9px; border-radius:999px; background:rgba(79,122,83,.12); color:var(--ok); font-size:12px; font-weight:500;}
.verif svg{width:12px; height:12px;}

/* rating */
.rating{display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:600;}
.rating svg{color:var(--ochre);}

/* hero ribbon — accent strip on the side */
.ribbon{position:absolute; inset:0; pointer-events:none;}

/* utility */
.muted{color:var(--mute);}
.ink-2{color:var(--ink-2);}
.clay{color:var(--clay-deep);}
.sage{color:var(--sage-deep);}
.tight{letter-spacing:-0.02em;}
.serif-i{font-family:var(--font-display); font-style:italic; font-weight:400;}

/* form */
.input{font-family:inherit; font-size:15px; padding:14px 18px; border:1px solid var(--line-2); border-radius:var(--r-md); background:var(--white); color:var(--ink); width:100%;}
.input:focus{outline:none; border-color:var(--clay);}

/* photo placeholder block */
.photo{position:relative; background:linear-gradient(135deg, var(--clay-soft), var(--ochre) 60%, var(--rose)); border-radius:var(--r-xl); overflow:hidden;}
.photo.sage{background:linear-gradient(135deg, var(--sage-soft), var(--sage) 80%);}
.photo.dark{background:linear-gradient(160deg, #38332D, #1B1C1A);}
.photo.warm{background:linear-gradient(150deg, #E8C9B0, #D9A37E 50%, #B97A52);}
.photo svg.illu{position:absolute; inset:0; width:100%; height:100%; opacity:.4;}
.photo .label{position:absolute; bottom:14px; left:14px; right:14px; color:#fff; font-family:var(--font-display); font-style:italic; font-size:13px; opacity:.85;}

/* scrollbar hidden everywhere inside artboards */
.ab::-webkit-scrollbar, .ab *::-webkit-scrollbar{ display:none; }
.ab, .ab *{ scrollbar-width:none; }
