/* Елена Золотарева — v12: палитра «Лён и шалфей», десктоп-раскладка */
@font-face{font-family:"Playfair Display";src:url(fonts/PlayfairDisplay-VariableFont_wght.ttf) format("truetype");font-weight:400 900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf) format("truetype");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Alice";src:url(fonts/Alice-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/Manrope-VariableFont_wght.ttf) format("truetype");font-weight:200 800;font-display:swap}
:root{
 --bg:#F7F2EB;      /* слоновая кость / лён */
 --bg2:#EEE5D9;     /* тёплый песок */
 --card:#FFFCF8;
 --ink:#2B2622;     /* эспрессо */
 --body:#5C534B; --taupe:#94836F; --line:#E3D8CA;
 --acc:#467A78;     /* приглушённая бирюза коврика (после мягкой обработки) */
 --acc-d:#335B59;
 --warm:#A27C5E;    /* карамель — акцент заголовков */
 --dark:#2C2E2F;    /* фон героя = фон кадра 6805 */
 --serif:"Playfair Display",Georgia,serif; --alice:"Alice","Playfair Display",Georgia,serif; --sans:"Manrope",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--bg);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

/* меню */
.menu{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:4px;padding:10px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.menu a{flex:1;text-align:center;padding:9px 4px;border-radius:12px;font-size:14.5px;font-weight:500;color:var(--ink);white-space:nowrap}
.menu a.on{background:var(--bg2)}

/* общие */
.sec{padding:52px 22px 56px;text-align:center}
.sec.alt{background:var(--bg2)}
.num{font-variant-numeric:lining-nums;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--taupe);letter-spacing:1px}
.lbl{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--taupe)}
h1,h2,h3{font-family:var(--serif);font-weight:500;text-transform:uppercase;color:var(--ink)}
h2{font-size:28px;line-height:1.15;letter-spacing:.5px;margin-top:10px}
h3{font-size:25px;line-height:1.15;letter-spacing:.4px;margin-top:8px}
.line{font-size:15px;line-height:1.5;color:var(--body);margin:18px auto 0;max-width:320px}
.line.caps{text-transform:uppercase;font-size:13.5px;letter-spacing:.6px;line-height:1.55}

/* фото-арка */
.arch{width:80%;max-width:310px;margin:24px auto 0;aspect-ratio:4/5;border-radius:999px 999px 0 0;overflow:hidden;background:#2B2F33;box-shadow:0 14px 34px rgba(31,28,26,.14);position:relative}
.arch img{width:100%;height:100%;object-fit:cover}
.arch-wrap{position:relative;padding-bottom:16px}
.sm .arch{width:64%;max-width:250px;margin-top:22px}
.sm .arch-wrap:before{width:calc(64% + 20px);max-width:270px}
.sm .sec{padding:40px 22px 44px}
.arch-wrap:before{content:"";position:absolute;left:50%;top:-10px;transform:translateX(-50%);width:calc(80% + 20px);max-width:330px;aspect-ratio:4/5;border:1px solid var(--taupe);opacity:.45;border-radius:999px 999px 0 0;pointer-events:none}

/* кнопки */
.pill{display:inline-block;min-width:230px;margin-top:24px;padding:16px 28px 15px;border-radius:999px;background:var(--acc);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;box-shadow:0 10px 22px rgba(70,122,120,.20)}
.pill .c{display:block;margin-top:3px;font-size:12.5px;font-weight:500;letter-spacing:.2px;text-transform:none;opacity:.92}
.outline{display:block;margin:26px auto 0;max-width:346px;padding:15px 20px 14px;border-radius:999px;border:1px solid var(--taupe);color:var(--ink);font-size:14px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;text-align:center}
.small{margin-top:14px;font-size:14px;color:var(--body)}
.small a{color:var(--acc);font-weight:700}

/* hero */
.hero{padding:34px 0 0;text-align:center}
.hero h1{font-size:40px;line-height:1.05;letter-spacing:1.5px;padding:0 16px}
.hero .tag{font-family:var(--alice);font-size:16px;letter-spacing:3px;text-transform:uppercase;color:var(--acc);margin-top:12px}
.hero .photo{margin-top:24px;aspect-ratio:10/11;overflow:hidden;background:#2B2F33}
.hero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero .txt{padding:24px 22px 46px}
.hero .role2{font-size:13.5px;line-height:1.45;color:var(--body);margin-top:6px}
.hero .role{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--ink)}

/* цифры */
.nums{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.nums div{background:var(--card);border-radius:20px;padding:16px 10px 15px}
.nums b{display:block;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1;color:var(--acc);white-space:nowrap}
.nums span{display:block;margin-top:7px;font-size:13.5px;line-height:1.35;color:var(--body)}

/* отзывы */
.rv{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:24px -22px 0;padding:0 22px 6px;scrollbar-width:none}
.rv::-webkit-scrollbar{display:none}
.rv .r{flex:0 0 86%;scroll-snap-align:center;background:var(--card);border-radius:22px;padding:24px 22px 22px;text-align:left}
.rv .q{font-family:var(--serif);font-size:30px;line-height:.6;color:var(--acc)}
.rv p{font-size:15.5px;line-height:1.5;color:var(--ink);margin-top:10px}
.rv .who{margin-top:14px;font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--taupe)}
.rv .r.ph{background:transparent;border:1.5px dashed var(--taupe);display:flex;flex-direction:column;justify-content:center;text-align:center}
.rv .r.ph p{color:var(--taupe)}
.dots{display:flex;justify-content:center;gap:7px;margin-top:16px}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.dots i.on{background:var(--acc)}

/* контакты */
.links{display:grid;gap:12px;margin-top:26px}
.links a{display:block;padding:17px 20px 16px;border-radius:999px;background:var(--acc);color:#fff;font-size:14.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.links a.o{background:transparent;border:1px solid var(--taupe);color:var(--ink)}
.foot{padding:26px 22px 34px;text-align:center;font-size:12.5px;color:var(--taupe);letter-spacing:.5px}

/* внутренние страницы */
.back{display:inline-block;margin:20px 22px 0;font-size:14.5px;font-weight:600;color:var(--acc)}
.ph-head{padding:22px 22px 34px;text-align:center}
.ph-head h1{font-size:34px;line-height:1.1;letter-spacing:1px;margin-top:10px}
.ph-head .sub{font-family:var(--alice);font-size:17px;color:var(--body);margin-top:10px}
.st{padding:34px 22px 40px}
.st.alt{background:var(--bg2)}
.st img{width:100%;height:auto;border-radius:22px;box-shadow:0 14px 34px rgba(31,28,26,.14);background:#2B2F33}
.st img.archimg{border-radius:999px 999px 0 0}
.st .n{font-variant-numeric:lining-nums;display:block;margin-top:20px;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--taupe)}
.st .k{display:block;margin-top:6px;font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:.8px;text-transform:uppercase;color:var(--acc-d)}
.st p{margin-top:8px;font-size:16.5px;line-height:1.5;color:var(--ink)}
.st.fin{text-align:center}
.st .quote{display:block;margin-top:18px;font-family:var(--serif);font-style:italic;font-size:27px;line-height:1.2;color:var(--ink)}
.st.fin p{color:var(--body)}
.dip{margin-top:22px;background:var(--card);border-radius:22px;padding:20px 20px 16px;text-align:left}
.dip ul{list-style:none}
.dip li{position:relative;padding:9px 0 9px 16px;font-size:14.5px;line-height:1.45;border-bottom:1px solid var(--line)}
.dip li:last-child{border-bottom:0}
.dip li:before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.dip .yl{display:block;margin-top:3px;font-size:13.5px;line-height:1.55;color:var(--body)}
.dip .yl i{display:block;font-style:normal}
.end{padding:40px 22px 10px;text-align:center}

/* ===== v11 · по образцу amaratma.online ===== */
.hero.v11{padding:0;position:relative;background:var(--dark)}
.hero.v11 .photo{margin:0;aspect-ratio:auto}
.hero.v11 .photo img{height:auto;object-fit:initial}
.hero.v11 .over{position:static;padding:30px 16px 22px;text-align:center;color:#fff}
.hero.v11 .over h1{color:#fff;font-size:38px;line-height:1.05;letter-spacing:2px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero.v11 .over .tag{color:#CFE0DA;margin-top:10px;font-size:15px}
.promise{background:var(--bg);padding:30px 26px 44px;text-align:center}
.promise .line.caps{max-width:340px;font-size:14.5px;letter-spacing:.8px;color:var(--ink);margin-top:0}
.me{padding:46px 22px 50px}
.me h2{text-align:left;font-size:26px;color:var(--acc-d);margin-top:0}
.me .arch-wrap{margin-top:8px}
.me ul{list-style:none;margin-top:26px;text-align:left}
.me li{position:relative;padding:7px 0 7px 18px;font-size:14.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--ink)}
.me li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.me .outline{margin-top:28px}
.sub-o{font-size:13px;color:var(--taupe);margin-top:6px;letter-spacing:.6px}
.wide{margin:24px -22px 0}
.wide img{width:100%;height:auto}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.pair img{width:100%;height:auto;border-radius:16px;box-shadow:0 10px 26px rgba(31,28,26,.14);background:#2B2F33}
.pair img:first-child{border-radius:999px 999px 16px 16px}
.stamp-wrap{position:relative}
.stamp{position:absolute;right:4px;bottom:0;width:112px;height:112px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(31,28,26,.10)}
.stamp svg{width:100%;height:100%;animation:spin 28s linear infinite}
.stamp b{position:absolute;font-family:var(--serif);font-weight:500;font-size:30px;color:var(--acc)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.stamp svg{animation:none}}
.band{background:var(--bg2);padding:44px 0 46px;text-align:center}
.band .ttl{font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:var(--acc-d);padding:12px 10px 11px}
.band img{width:100%;height:auto}
.band .line{max-width:330px;font-size:16px;color:var(--ink)}
.band .pill{margin-top:22px}
.st .pair{margin-top:12px}
details.edu{margin-top:18px;background:var(--card);border-radius:22px;padding:16px 20px;text-align:left}
details.edu summary{cursor:pointer;list-style:none;font-size:14px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink);text-align:center}
details.edu summary::-webkit-details-marker{display:none}
details.edu summary:after{content:" +";color:var(--acc)}
details.edu[open] summary:after{content:" −"}
details.edu .dip{margin-top:6px;padding:4px 0 0;box-shadow:none}

/* v11.2: один отзыв без карусели */
.rv.single{overflow:visible;margin:24px 0 0;padding:0}
.rv.single .r{flex:1 1 100%}
/* v11.2: позиционирование и кнопка в первом экране, обычный регистр, ловец снов меньше */
.hero.v11 .over{padding:26px 20px 26px}
.hero.v11 .over .promise-l{max-width:330px;margin:16px auto 0;font-size:16.5px;line-height:1.45;color:#EFE9E2;text-transform:none;letter-spacing:0}
.hero.v11 .over .pill{margin-top:18px;box-shadow:none}
.me li{text-transform:none;letter-spacing:0;font-size:16px}
.band .arch-wrap.sm{margin-top:30px}
.band .arch-wrap.sm .arch{margin:0 auto}
.band .arch img{height:100%;object-fit:cover;object-position:50% 40%}
.st.fin img.archimg{display:block;width:64%;max-width:250px;margin-left:auto;margin-right:auto}
.arch-wrap.sm:before{width:calc(64% + 20px);max-width:270px}
.band .arch-wrap.sm .arch{aspect-ratio:2/3;width:56%;max-width:220px}
.band .arch-wrap.sm:before{aspect-ratio:2/3;width:calc(56% + 20px);max-width:240px}

/* ===================== v12 ===================== */
.pb-note{background:var(--acc-d);color:#fff;font-size:12.5px;text-align:center;padding:7px 10px}
.pb-note a{color:#fff;text-decoration:underline}
.var-b .hero.v11 .photo{padding:0 16px 16px}
.var-b .hero.v11 .photo img{border-radius:16px}
.me h2,.st .k{color:var(--warm)}
.num,.st .n{color:var(--warm)}
.band .ttl{background:var(--acc-d)}
.rv .r{box-shadow:0 10px 30px rgba(43,38,34,.06)}
.links a{transition:opacity .2s}.links a:hover,.pill:hover{opacity:.9}
.media img{background:var(--bg2)}
.arch,.pair img,.st img{background:var(--bg2)}

/* планшет: колонка по центру, без пустых краёв на фоне */
@media (min-width:600px) and (max-width:959px){
 .sec,.st,.me,.promise,.ph-head,.end,.foot,#contacts{padding-left:calc(50% - 270px);padding-right:calc(50% - 270px)}
 .wide{margin-left:0;margin-right:0}.wide img{border-radius:18px}
 .hero.v11 .photo{max-width:600px;margin:0 auto}
}

/* ноутбук и шире */
@media (min-width:960px){
 html{scroll-padding-top:76px}
 .menu{justify-content:center;gap:10px;padding:14px 24px}
 .menu a{flex:0 0 auto;padding:10px 22px;font-size:15.5px}
 h2{font-size:40px}
 h3{font-size:34px}
 .line{font-size:17px;max-width:460px}
 .pill{font-size:15px;padding:18px 34px 17px}
 /* герой: текст слева, фото справа на тёмном фоне */
 .hero.v11{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:calc(100vh - 66px);max-height:980px;padding:0 max(48px,calc(50% - 620px))}
 .hero.v11 .over{text-align:left;padding:60px 40px 60px 0}
 .hero.v11 .over h1{font-size:64px;letter-spacing:3px}
 .hero.v11 .over .tag{font-size:18px;margin-top:16px}
 .hero.v11 .over .promise-l{margin:28px 0 0;max-width:470px;font-size:20px;line-height:1.5}
 .hero.v11 .over .pill{margin-top:34px}
 .hero.v11 .photo{align-self:stretch;display:flex;align-items:center;justify-content:center;padding:32px 0}
 .hero.v11 .photo img{width:auto;max-width:100%;height:auto;max-height:min(calc(100vh - 130px),900px);border-radius:18px}
 .var-b .hero.v11 .photo{padding:32px 0}
 /* две колонки: фото + текст, чередуем стороны */
 .split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding:96px max(48px,calc(50% - 560px));text-align:left}
 .split .txt{text-align:left}
 .split .txt .line,.split .txt .sub-o{margin-left:0;margin-right:0}
 .split .txt .outline{margin-left:0;max-width:320px}
 .split .txt .pill{min-width:280px}
 #services > section:nth-child(even).split .media,#s02 .media,#s04 .media{order:2}
 .split .media .arch{width:100%;max-width:440px;margin:0 auto}
 .split .media .arch-wrap:before{width:calc(100% + 24px);max-width:464px}
 .split .media .wide{margin:0}.split .media .wide img{border-radius:22px;box-shadow:0 18px 44px rgba(43,38,34,.14)}
 .split .media .pair{margin-top:0}
 .split .stamp{width:136px;height:136px;right:-10px}
 .me.split{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
 .me h2{font-size:44px}
 .me li{font-size:18px;padding:10px 0 10px 22px}.me li:before{top:19px}
 /* полоса ловца снов */
 .band.split{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
 .band .ttl{background:none;color:var(--acc-d);padding:0;font-size:40px;text-align:left}
 .band .line{font-size:19px;margin-top:18px}
 .band .arch-wrap.sm{margin-top:0}
 .band .arch-wrap.sm .arch{width:100%;max-width:360px}
 .band .arch-wrap.sm:before{width:calc(100% + 24px);max-width:384px}
 /* отзывы и контакты */
 #reviews{padding:96px 48px}
 .rv.single{max-width:760px;margin:36px auto 0}
 .rv .r{padding:40px 44px}.rv p{font-size:19px}
 #contacts{padding:96px 48px}
 #contacts .links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:34px auto 0}
 #contacts .links a{margin:0}
 #contacts .links a:nth-child(-n+2){grid-column:span 1}
 #contacts .links a.o:last-child{grid-column:1 / -1}
 .foot{font-size:13.5px;padding:34px}
 /* внутренние страницы */
 .back{margin:28px max(48px,calc(50% - 560px)) 0}
 .ph-head{padding:30px 48px 40px}.ph-head h1{font-size:52px}
 .st.split{padding:72px max(48px,calc(50% - 520px));gap:64px}
 .st.split:nth-of-type(even) .media{order:2}
 .st.split img,.st.fin img.archimg{width:100%;max-width:520px;margin:0 auto}
 .st.split img.archimg{max-width:400px}
 .st .k{font-size:32px}.st p{font-size:18.5px}
 .st.fin{text-align:left}
 .st.fin.split img.archimg{max-width:340px}
 section.st:not(.split){max-width:860px;margin:0 auto;padding:60px 48px}
 .end{padding:56px 48px 20px}
 .end .pill{min-width:320px}
}
@media (min-width:960px){ .hero.v11 .over h1{padding:0} .band.split .line{max-width:460px;margin-left:0} .band.split{padding-top:96px;padding-bottom:96px} }
@media (min-width:1400px){ .hero.v11 .over h1{font-size:72px} }
