:root{--bg:#0a0a0b;--bg2:#111113;--bg3:#17171a;--tx:#e9e8e5;--mut:#8f8e8a;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.22);--acc:#e8c9a0}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font-family:"Manrope",system-ui,Arial,sans-serif;font-weight:300;line-height:1.6;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.grain::after,.gr::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
/* шапка */
header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:16px clamp(16px,3vw,44px);background:linear-gradient(180deg,rgba(10,10,11,.85),rgba(10,10,11,0))}
.logo{font-weight:500;letter-spacing:.14em;font-size:13px;text-transform:uppercase;text-decoration:none}
nav.main{display:flex;gap:30px;font-size:13px;letter-spacing:.06em}
nav.main a{text-decoration:none;color:var(--mut);transition:.25s}nav.main a:hover,nav.main a.on{color:var(--tx)}
.btn{display:inline-block;background:var(--tx);color:#0a0a0b;border:1px solid var(--tx);padding:13px 24px;border-radius:2px;font:inherit;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;transition:.25s}
.btn:hover{background:transparent;color:var(--tx)}
.btn.ghost{background:transparent;color:var(--tx);border-color:var(--line2)}.btn.ghost:hover{border-color:var(--tx)}
.badge{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line2);padding:5px 11px;color:var(--mut)}
.tagm{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mut)}
.mock{font-size:10px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--acc);color:var(--acc);padding:3px 9px}
/* заголовки */
h1,h2{font-weight:200;letter-spacing:-.02em;line-height:1.04;margin:0}
h1{font-size:clamp(38px,7.2vw,104px)}
h2{font-size:clamp(30px,5vw,68px)}
h3{font-weight:400;font-size:20px;margin:0 0 6px}
.sub{color:var(--mut);max-width:36em}
section.s{padding:clamp(70px,11vw,140px) clamp(16px,5vw,80px);max-width:1360px;margin:0 auto;position:relative}
.lab{display:flex;gap:14px;align-items:center;margin-bottom:26px}
.lab::before{content:"";width:34px;height:1px;background:var(--mut)}
/* первый экран главной */
#hero{height:560vh;position:relative}
.stick{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;background:#050506}
#cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 40%,rgba(5,5,6,.75)),linear-gradient(180deg,rgba(5,5,6,.6),transparent 28%,transparent 60%,rgba(5,5,6,.85))}
.heroText{position:absolute;left:clamp(16px,5vw,80px);right:clamp(16px,5vw,80px);top:clamp(96px,16vh,170px);max-width:900px;transition:opacity .2s}
.heroText h1{margin:18px 0 20px}
.heroText p{color:#c9c8c4;max-width:30em;margin:0 0 26px;font-size:clamp(14px,1.5vw,18px)}
.heroText .row{display:flex;gap:12px;flex-wrap:wrap}
.stage{position:absolute;right:clamp(16px,5vw,80px);bottom:clamp(76px,12vh,120px);text-align:right}
.stage .n{font-weight:200;font-size:clamp(40px,7vw,100px);line-height:1;letter-spacing:-.03em}
.stage .t{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-top:8px;min-height:1.4em}
.bar{position:absolute;left:0;bottom:0;height:2px;background:var(--acc);width:0}
.scroll{position:absolute;left:clamp(16px,5vw,80px);bottom:clamp(30px,6vh,60px);font-size:11px;letter-spacing:.3em;color:#bbb;text-transform:uppercase}
/* полоса-картинка */
.band{position:relative;height:min(82vh,760px);overflow:hidden;background:#050506}
.band img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;filter:grayscale(.15) contrast(1.04) brightness(.9);will-change:transform}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.9),rgba(10,10,11,.1) 28%,rgba(10,10,11,.1) 60%,rgba(10,10,11,.92))}
.band .in{position:absolute;z-index:2;left:clamp(16px,5vw,80px);right:clamp(16px,5vw,80px);bottom:clamp(30px,6vw,70px)}
.band .in h2{max-width:14em}
/* карточки */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:18px}
.card{position:relative;border:1px solid var(--line);background:var(--bg2);overflow:hidden}
.card .ph{aspect-ratio:4/3;overflow:hidden;position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) brightness(.92);transition:transform 1s ease,filter .5s}
.card:hover .ph img{transform:scale(1.05);filter:none}
.card .in{padding:18px 20px 22px}
.card .meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.card .price{color:var(--tx);margin-top:10px}
.show-no{display:none}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.chips button{background:transparent;color:var(--tx);border:1px solid var(--line2);padding:10px 18px;font:inherit;font-size:13px;cursor:pointer;transition:.25s}
.chips button.on,.chips button:hover{background:var(--tx);color:#0a0a0b;border-color:var(--tx)}
/* стеклянные панели */
.glass{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:14px;padding:26px;backdrop-filter:blur(14px)}
.kv{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv:last-child{border:0}.kv span{color:var(--mut)}
.split{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:56px;align-items:center}.split.a{grid-template-columns:1.15fr .85fr}}
.panel{aspect-ratio:4/5;position:relative;overflow:hidden;background:radial-gradient(90% 70% at 70% 20%,#b9b8b4 0%,#4b4a47 38%,#111112 80%)}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* список услуг */
.rows a,.rows div.r{display:grid;grid-template-columns:1fr;gap:10px;padding:clamp(22px,3vw,38px) 0;border-top:1px solid var(--line);text-decoration:none}
@media(min-width:800px){.rows a,.rows div.r{grid-template-columns:.9fr 1.3fr .8fr;align-items:center;gap:40px}}
.rows>:last-child{border-bottom:1px solid var(--line)}
.rows h3{font-weight:200;font-size:clamp(22px,2.8vw,38px);letter-spacing:-.01em;margin:0}
.rows p{margin:0;color:var(--mut)}
.rows .pr{font-weight:400;font-size:clamp(18px,2vw,26px);white-space:nowrap}
.rows .pr small{display:block;color:var(--mut);font-weight:300;font-size:12px;margin-top:2px}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:15px 10px;border-bottom:1px solid var(--line);text-align:left}
th{font-weight:400;color:var(--mut);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
/* форма */
form{display:grid;gap:12px}
input,textarea,select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line2);padding:14px 2px;color:var(--tx);font:inherit;font-size:16px;outline:none;border-radius:0}
input:focus,textarea:focus{border-color:var(--acc)}
footer{border-top:1px solid var(--line);padding:50px clamp(16px,5vw,80px) 120px;color:var(--mut);font-size:13px}
footer .cols{max-width:1360px;margin:0 auto;display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:800px){footer .cols{grid-template-columns:1.4fr 1fr 1fr}}
footer b{color:var(--tx);font-weight:400;display:block;margin-bottom:8px}
#bar2{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px;background:rgba(10,10,11,.92);backdrop-filter:blur(10px)}
#bar2 a{flex:1;text-align:center;padding:13px 6px;border:1px solid var(--line2);text-decoration:none;font-size:13px}
#bar2 a:first-child{background:var(--tx);color:#0a0a0b;border-color:var(--tx);font-weight:500}
.pagehero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden}
.pagehero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) grayscale(.2)}
.pagehero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.7),transparent 35%,rgba(10,10,11,.95))}
.pagehero .in{position:relative;z-index:2;padding:clamp(100px,16vh,150px) clamp(16px,5vw,80px) clamp(40px,6vw,70px);max-width:1360px;margin:0 auto;width:100%}
@media(max-width:800px){nav.main{display:none}#bar2{display:flex}.heroText{top:92px}.stage{bottom:130px}.scroll{display:none}}
@media(prefers-reduced-motion:reduce){#hero{height:100vh}}
/* мобильная правка: таблица не должна расширять страницу */
.glass{overflow-x:auto}
@media(max-width:800px){th,td{padding:12px 6px;font-size:13px}table{table-layout:fixed}td:first-child,th:first-child{width:26%}.rows .pr{white-space:normal}}

/* ===== v5: плотные проработанные рамки ===== */
:root{--b1:rgba(255,255,255,.16);--b2:rgba(255,255,255,.34)}
/* карточки: паспарту + градиентная рамка + тень */
.card{border:0;border-radius:6px;background:linear-gradient(165deg,#17181b 0%,#0f1012 100%);padding:10px;box-shadow:0 1px 0 rgba(255,255,255,.10) inset,0 0 0 1px rgba(255,255,255,.09),0 40px 70px -35px rgba(0,0,0,.9);transition:box-shadow .35s,transform .35s}
.card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 0 0 1px rgba(232,201,160,.45),0 50px 80px -30px rgba(0,0,0,.95)}
.card .ph{border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.card .in{padding:16px 10px 12px}
.card::before,.card::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--acc);opacity:.75;pointer-events:none;z-index:3}
.card::before{left:4px;top:4px;border-right:0;border-bottom:0}
.card::after{right:4px;bottom:4px;border-left:0;border-top:0}
/* стеклянные панели: двойная рамка и блик */
.glass{border:0;border-radius:10px;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.025) 60%);box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 0 0 1px rgba(255,255,255,.12),0 0 0 7px rgba(255,255,255,.025),0 40px 80px -40px rgba(0,0,0,.95);backdrop-filter:blur(18px)}
.panel{border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 0 0 9px rgba(255,255,255,.03),0 0 0 10px rgba(255,255,255,.10),0 40px 70px -35px rgba(0,0,0,.95)}
/* кнопки */
.btn{border:1.5px solid var(--tx);border-radius:3px;padding:15px 30px;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;font-weight:600;box-shadow:0 14px 30px -14px rgba(255,255,255,.35)}
.btn:hover{background:transparent;color:var(--tx);box-shadow:0 0 0 4px rgba(255,255,255,.07)}
.btn.ghost{background:rgba(255,255,255,.04);border:1.5px solid var(--b2);box-shadow:none;backdrop-filter:blur(6px)}
.btn.ghost:hover{border-color:var(--tx);background:rgba(255,255,255,.1)}
.badge{border:1.5px solid var(--b2);padding:7px 14px;background:rgba(255,255,255,.04);backdrop-filter:blur(6px);color:var(--tx)}
.mock{border-width:1.5px;padding:5px 11px;background:rgba(232,201,160,.08)}
/* фильтры */
.chips button{border:1.5px solid var(--b1);padding:12px 22px;background:rgba(255,255,255,.03);border-radius:3px;font-weight:500;letter-spacing:.04em}
.chips button.on,.chips button:hover{background:var(--tx);color:#0a0a0b;border-color:var(--tx);box-shadow:0 12px 28px -12px rgba(255,255,255,.4)}
/* поля формы в рамке */
input,textarea{background:rgba(255,255,255,.04);border:1.5px solid var(--b1);border-radius:4px;padding:15px 16px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset}
input:focus,textarea:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(232,201,160,.14)}
/* линии списков и таблиц: градиентные, чуть толще */
.rows a,.rows div.r{border-top:1.5px solid transparent;border-image:linear-gradient(90deg,rgba(255,255,255,.34),rgba(255,255,255,.06)) 1}
.rows>:last-child{border-bottom:1.5px solid rgba(255,255,255,.14)}
th,td{border-bottom:1px solid rgba(255,255,255,.16)}
th{background:rgba(255,255,255,.04)}
.kv{border-bottom:1px solid rgba(255,255,255,.16)}
/* картинки-полосы и первый экран: рамка-видоискатель с угловыми метками */
.band .in::before,.pagehero .in::before{content:"";position:absolute}
.band::before,.pagehero::before,.stick::before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.22);pointer-events:none;z-index:4;
 background:linear-gradient(var(--acc),var(--acc)) left top/22px 2px no-repeat,linear-gradient(var(--acc),var(--acc)) left top/2px 22px no-repeat,
 linear-gradient(var(--acc),var(--acc)) right top/22px 2px no-repeat,linear-gradient(var(--acc),var(--acc)) right top/2px 22px no-repeat,
 linear-gradient(var(--acc),var(--acc)) left bottom/22px 2px no-repeat,linear-gradient(var(--acc),var(--acc)) left bottom/2px 22px no-repeat,
 linear-gradient(var(--acc),var(--acc)) right bottom/22px 2px no-repeat,linear-gradient(var(--acc),var(--acc)) right bottom/2px 22px no-repeat}
.stick::before{inset:12px}
.band img{filter:grayscale(.15) contrast(1.06) brightness(.9)}
footer{border-top:1.5px solid rgba(255,255,255,.14)}
header{background:linear-gradient(180deg,rgba(10,10,11,.92),rgba(10,10,11,0))}
@media(max-width:800px){.band::before,.pagehero::before{inset:10px}.stick::before{inset:8px}.card{padding:8px}}

/* ===== v6: стеклянные карточки со свечением (как в референсе) ===== */
.gcs{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.gc{position:relative;display:flex;flex-direction:column;min-height:340px;padding:28px 26px 26px;border-radius:28px;overflow:hidden;text-decoration:none;color:var(--tx);isolation:isolate;
 box-shadow:0 0 0 1.5px rgba(255,255,255,.22) inset,0 1px 0 rgba(255,255,255,.4) inset,0 40px 70px -35px rgba(0,0,0,.95);transition:transform .4s,box-shadow .4s}
.gc::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--g)}
.gc::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:28px;background:radial-gradient(120% 60% at 50% -10%,rgba(255,255,255,.14),transparent 60%);pointer-events:none}
.gc:hover{transform:translateY(-6px);box-shadow:0 0 0 1.5px rgba(255,255,255,.4) inset,0 1px 0 rgba(255,255,255,.55) inset,0 50px 80px -30px rgba(0,0,0,.95)}
.gc .ic{width:48px;height:48px;border-radius:14px;background:rgba(8,9,12,.78);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 10px 24px -10px rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.gc .ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gc h3{font-weight:600;font-size:22px;letter-spacing:-.01em;margin:0 0 10px;color:#fff}
.gc p{margin:0;color:rgba(255,255,255,.62);font-size:15px;max-width:19em}
.gc .pr{margin-top:auto;padding-top:26px;font-weight:600;font-size:16px;color:#fff}
.gc .pr small{display:block;color:rgba(255,255,255,.55);font-weight:300;font-size:12px}
.gc .go{margin-top:8px;font-weight:600;font-size:14px;color:#fff}
.gc.a{--g:linear-gradient(180deg,#20120d 0%,#2a140c 30%,#b53a1b 78%,#f0cf62 100%)}
.gc.b{--g:linear-gradient(180deg,#0a0f1c 0%,#0f1a33 30%,#3453b3 78%,#cfe2ff 100%)}
.gc.c{--g:linear-gradient(180deg,#09120f 0%,#0c1a14 30%,#1fae57 78%,#d6ffe6 100%)}
.gc.d{--g:linear-gradient(180deg,#101114 0%,#1a1c21 30%,#6a6e79 78%,#eef0f5 100%)}
.gc.e{--g:linear-gradient(180deg,#160c14 0%,#22101f 30%,#a33a7a 78%,#ffd0ea 100%)}
/* фото-карточки: те же большие скругления и мягкое стеклянное кольцо */
.card{border-radius:26px;padding:10px;background:linear-gradient(180deg,#16171a,#0e0f11);box-shadow:0 0 0 1.5px rgba(255,255,255,.14) inset,0 1px 0 rgba(255,255,255,.3) inset,0 40px 70px -35px rgba(0,0,0,.95)}
.card .ph{border-radius:18px;box-shadow:none}
.card::before,.card::after{display:none}
.card:hover{box-shadow:0 0 0 1.5px rgba(255,255,255,.34) inset,0 1px 0 rgba(255,255,255,.5) inset,0 50px 80px -30px rgba(0,0,0,.95)}
.glass{border-radius:26px}
.panel{border-radius:26px}
.btn,.btn.ghost{border-radius:14px}
.chips button{border-radius:14px}
input,textarea{border-radius:14px}
/* текст карточек выше свечения, чтобы читался */
.gc{padding-bottom:92px;min-height:390px}
.gc .go{margin-top:6px}

/* ===== v7: везде стеклянные рамки со свечением, палитра чёрный / графит / серый ===== */
:root{--r:28px;--ring:rgba(255,255,255,.2)}
/* карточки услуг: серые свечения вместо цветных */
.gc.a{--g:linear-gradient(180deg,#0c0c0e 0%,#151619 32%,#45474d 76%,#c8cad1 100%)}
.gc.b{--g:linear-gradient(180deg,#0a0b10 0%,#12151c 32%,#394051 76%,#b7bfd2 100%)}
.gc.c{--g:linear-gradient(180deg,#0b0b0b 0%,#171717 32%,#575759 76%,#efeff2 100%)}
.gc.d{--g:linear-gradient(180deg,#0e0d0c 0%,#1a1816 32%,#4b4640 76%,#cdc6bc 100%)}
.gc.e{--g:linear-gradient(180deg,#070708 0%,#0f0f11 32%,#2a2b2f 76%,#74767d 100%)}
/* фото-карточки: стеклянная рамка и серое свечение под подписью */
.card{position:relative;border-radius:var(--r);padding:10px 10px 0;overflow:hidden;isolation:isolate;
 background:linear-gradient(180deg,#0d0d0f 0%,#131416 55%,#2b2c30 100%);
 box-shadow:0 0 0 1.5px var(--ring) inset,0 1px 0 rgba(255,255,255,.38) inset,0 40px 70px -35px rgba(0,0,0,.95)}
.card::after{display:block;content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:-1;border:0;width:auto;opacity:1;background:linear-gradient(0deg,rgba(210,213,222,.30),transparent);pointer-events:none}
.card::before{display:none}
.card .ph{border-radius:20px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.card .in{padding:18px 14px 22px}
.card:hover{transform:translateY(-5px);box-shadow:0 0 0 1.5px rgba(255,255,255,.38) inset,0 1px 0 rgba(255,255,255,.55) inset,0 50px 80px -30px rgba(0,0,0,.95)}
/* стеклянные панели, таблицы, формы */
.glass{position:relative;border-radius:var(--r);border:0;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#0e0e10 0%,#151619 58%,#303136 100%);
 box-shadow:0 0 0 1.5px var(--ring) inset,0 1px 0 rgba(255,255,255,.4) inset,0 40px 80px -40px rgba(0,0,0,.95)}
.glass::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:-1;background:linear-gradient(0deg,rgba(210,213,222,.26),transparent);pointer-events:none}
.panel{border-radius:var(--r);box-shadow:0 0 0 1.5px var(--ring) inset,0 40px 70px -35px rgba(0,0,0,.95)}
.panel::before{content:"";position:absolute;inset:0;border-radius:var(--r);box-shadow:0 0 0 1.5px var(--ring) inset,0 1px 0 rgba(255,255,255,.4) inset;z-index:2;pointer-events:none}
/* картинки-полосы и шапки страниц: вписаны в скруглённую рамку со свечением */
.band,.pagehero{margin:clamp(10px,1.6vw,22px) clamp(10px,2vw,28px);border-radius:var(--r);box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.band::before,.pagehero::before{inset:0;border:0;border-radius:var(--r);background:none;box-shadow:0 0 0 1.5px var(--ring) inset,0 1px 0 rgba(255,255,255,.4) inset;z-index:4}
.band::after,.pagehero::after{border-radius:var(--r)}
.pagehero{min-height:58vh}
.band .in,.pagehero .in{padding-left:clamp(22px,4vw,64px);padding-right:clamp(22px,4vw,64px)}
.band .in{left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px)}
/* первый экран: мягкое стеклянное кольцо вместо золотых уголков */
.stick::before{inset:12px;border:0;border-radius:var(--r);background:none;box-shadow:0 0 0 1.5px rgba(255,255,255,.16) inset,0 1px 0 rgba(255,255,255,.3) inset}
/* кнопки, плашки, фильтры: стекло и графит */
.btn{border:1.5px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 16px 30px -14px rgba(0,0,0,.8)}
.btn.ghost{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1.5px solid rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3) inset}
.badge{border-radius:30px;border:1.5px solid rgba(255,255,255,.28);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02))}
.mock{border-radius:30px;border-width:1.5px}
.chips button{border-radius:16px;border:1.5px solid rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.015));box-shadow:0 1px 0 rgba(255,255,255,.15) inset}
.chips button.on,.chips button:hover{background:var(--tx);color:#0a0a0b;border-color:var(--tx)}
input,textarea{border-radius:16px;border:1.5px solid rgba(255,255,255,.2);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:0 1px 0 rgba(255,255,255,.14) inset}
#bar2{border-radius:24px 24px 0 0;border-top:1px solid rgba(255,255,255,.18)}
#bar2 a{border-radius:16px}
@media(max-width:800px){:root{--r:22px}.band,.pagehero{margin-left:8px;margin-right:8px}.stick::before{inset:8px}}

/* ===== v8: светлее карточки с фото как у карточек услуг + стеклянный 3D-шрифт ===== */
/* карточки с фото и этапы: яркое свечение снизу, текст над ним */
.card{--g:linear-gradient(180deg,#121316 0%,#1b1c20 34%,#585b64 76%,#d6d9e1 100%);background:var(--g);box-shadow:0 0 0 1.5px rgba(255,255,255,.26) inset,0 1px 0 rgba(255,255,255,.5) inset,0 40px 70px -35px rgba(0,0,0,.95)}
.card:nth-child(3n+2){--g:linear-gradient(180deg,#0e1016 0%,#161a24 34%,#434b60 76%,#c3cce0 100%)}
.card:nth-child(3n+3){--g:linear-gradient(180deg,#121110 0%,#1d1b19 34%,#57524c 76%,#dad3c8 100%)}
.card::after{display:none!important}
.card::before{display:none!important}
.card .in{padding:18px 14px 64px}
.card h3{color:#fff}
.card .meta{color:rgba(255,255,255,.7)}
.card .ph{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.card .ph img{filter:brightness(1.22) contrast(1.06) saturate(1.1)}
#process .card .ph img{filter:brightness(1.9) contrast(1.12)}
.card:hover .ph img{filter:brightness(1.3) contrast(1.06) saturate(1.15)}
/* картинки-полосы светлее */
.band img,.pagehero img{filter:brightness(1.12) contrast(1.05) saturate(1.05)}
.pagehero img{filter:brightness(.8) contrast(1.05)}
.band::after{background:linear-gradient(180deg,rgba(10,10,11,.6),rgba(10,10,11,0) 30%,rgba(10,10,11,0) 55%,rgba(10,10,11,.78))}
/* стеклянные панели светлее */
.glass{background:linear-gradient(180deg,#121316 0%,#1a1b1f 40%,#4d5058 100%)}
.glass::after{height:55%;background:linear-gradient(0deg,rgba(220,223,232,.34),transparent)}
.panel{background:radial-gradient(90% 70% at 70% 20%,#d0d0d0 0%,#6a6a6c 40%,#1a1a1c 82%)}
/* ===== стеклянный 3D-шрифт: хромовый блик, объём, тень ===== */
h1,h2,.logo,.stage .n,.big,.gc h3,.card h3,.rows h3,.lab,.pr,th{
 background-image:linear-gradient(180deg,#ffffff 0%,#f3f5fa 32%,#a5abb8 50%,#e9ecf3 52%,#bfc4d0 78%,#8d93a1 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
 filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 2px 0 rgba(70,74,84,.9)) drop-shadow(0 3px 0 rgba(48,51,59,.85)) drop-shadow(0 9px 12px rgba(0,0,0,.65));
}
h1,h2{font-weight:600;letter-spacing:-.025em}
h3,.gc h3,.card h3{font-weight:700}
.logo{font-weight:700}
.stage .n{font-weight:600}
.big{font-weight:600}
.gc h3,.card h3,.rows h3{filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 2px 0 rgba(40,43,50,.9)) drop-shadow(0 6px 8px rgba(0,0,0,.55))}
.lab{filter:none;background-image:none;color:var(--mut);-webkit-text-fill-color:currentColor}
.pr,th{filter:drop-shadow(0 2px 0 rgba(40,43,50,.9)) drop-shadow(0 5px 6px rgba(0,0,0,.5))}
th{-webkit-text-fill-color:currentColor;color:var(--mut);background-image:none;filter:none}
.tagm{filter:none}
/* заголовки внутри карточек: белые с объёмной тенью (читаются на свечении) */
.gc h3,.card h3,.rows h3{background:none;-webkit-text-fill-color:#fff;color:#fff;filter:none;text-shadow:0 1px 0 rgba(255,255,255,.45),0 2px 0 rgba(28,30,36,.95),0 3px 0 rgba(20,22,26,.9),0 8px 12px rgba(0,0,0,.6)}
.card .in{padding:18px 14px 56px}

/* ===== v9: первый экран с фото + шрифт Forum в тёплой гамме ===== */
.hero2{position:relative;height:calc(100vh - 24px);height:calc(100dvh - 24px);min-height:560px;margin:12px clamp(10px,2vw,28px) 0;border-radius:var(--r);overflow:hidden;background:#050506;box-shadow:0 40px 80px -40px rgba(0,0,0,.95)}
.hero2>img{position:absolute;left:0;top:-8%;width:100%;height:116%;object-fit:cover;object-position:50% 40%;filter:brightness(1.06) contrast(1.05) saturate(1.08);will-change:transform}
.hero2::before{content:"";position:absolute;inset:0;border-radius:var(--r);box-shadow:0 0 0 1.5px rgba(255,255,255,.2) inset,0 1px 0 rgba(255,255,255,.4) inset;z-index:4;pointer-events:none}
.shade2{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,9,.62) 0%,rgba(8,8,9,.12) 34%,rgba(8,8,9,.18) 55%,rgba(8,8,9,.88) 100%)}
.hero2 .heroText{position:absolute;z-index:3;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);top:auto;bottom:clamp(60px,10vh,110px);max-width:960px;opacity:1!important}
.hero2 .scroll{position:absolute;z-index:3;left:clamp(22px,4vw,64px);bottom:clamp(22px,4vh,40px);font-size:11px;letter-spacing:.3em;color:#cfcfd2;text-transform:uppercase}
@media(max-width:800px){.hero2{margin-left:8px;margin-right:8px}.hero2 .heroText{bottom:90px}}
/* шрифт Forum: тонкие классические заглавные, тёплая шампань со стеклянным объёмом */
h1,h2,.logo,.big{font-family:"Forum","Cormorant Garamond",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.035em;line-height:1.08}
h1{font-size:clamp(34px,6.2vw,96px)}
h2{font-size:clamp(28px,4.6vw,66px)}
.big{font-size:clamp(24px,4vw,52px);text-transform:none;letter-spacing:.01em}
.logo{font-size:15px;letter-spacing:.2em}
h1,h2,.logo,.big,.pr{
 background-image:linear-gradient(180deg,#fff6e3 0%,#f6dcb0 34%,#c99a5e 54%,#f1d3a3 56%,#d2a468 80%,#9b6f3a 100%);
 -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
 filter:drop-shadow(0 1px 0 rgba(255,236,200,.5)) drop-shadow(0 2px 0 rgba(88,58,26,.9)) drop-shadow(0 3px 0 rgba(58,38,16,.85)) drop-shadow(0 9px 12px rgba(0,0,0,.65))}
.gc h3,.card h3,.rows h3,.stage .n{font-family:"Forum",Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:22px}
.gc h3,.card h3,.rows h3{color:#fff4de;-webkit-text-fill-color:#fff4de;text-shadow:0 1px 0 rgba(255,236,200,.5),0 2px 0 rgba(70,46,20,.95),0 3px 0 rgba(48,30,12,.9),0 8px 12px rgba(0,0,0,.6)}
.rows h3{font-size:clamp(22px,2.8vw,38px)}
.tagm,.lab,.meta{color:#cdb48f}
.pr{font-family:"Forum",Georgia,serif;font-weight:400;font-size:20px}

/* ===== v10: стеклянный холодный шрифт (серебро-лёд) + анимация чтения слов ===== */
h1,h2,.logo,.big,.pr{
 background-image:linear-gradient(180deg,#ffffff 0%,#eef4fc 30%,#a9bad3 52%,#e6eefa 55%,#b6c6dd 80%,#8196b5 100%);
 filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 2px 0 rgba(60,76,102,.9)) drop-shadow(0 3px 0 rgba(36,46,66,.85)) drop-shadow(0 9px 12px rgba(0,0,0,.65))}
.gc h3,.card h3,.rows h3{color:#f4f8ff;-webkit-text-fill-color:#f4f8ff;text-shadow:0 1px 0 rgba(255,255,255,.5),0 2px 0 rgba(40,52,74,.95),0 3px 0 rgba(26,34,50,.9),0 8px 12px rgba(0,0,0,.6)}
.tagm,.lab,.meta{color:#a9afba}
.mock{color:#dfe8f5;border-color:rgba(223,232,245,.7);background:rgba(223,232,245,.08)}
/* чтение слов: тусклые слова загораются по очереди, прочитанные светятся */
.rw{opacity:.2;transition:opacity .55s ease,filter .55s ease}
.rw.on{opacity:1;filter:drop-shadow(0 0 14px rgba(190,215,255,.55))}
p .rw.on,.sub .rw.on{filter:none;text-shadow:0 0 14px rgba(190,215,255,.4)}
@media(prefers-reduced-motion:reduce){.rw{opacity:1;transition:none}}

/* ===== v11: шрифт Nunito, рамка «рамка в рамке» с градиентом и бликом, плавное появление ===== */
body{font-family:"Nunito",system-ui,Arial,sans-serif;font-weight:400}
h1,h2,.big,.logo,.gc h3,.card h3,.rows h3,.pr,.stage .n,.heroText p,.sub{font-family:"Nunito",system-ui,Arial,sans-serif}
h1,h2,.big{text-transform:none;font-weight:400;letter-spacing:-.015em;line-height:1.08}
h1{font-size:clamp(34px,6.4vw,92px)}
h2{font-size:clamp(28px,4.8vw,64px)}
.logo{text-transform:uppercase;font-weight:600;letter-spacing:.2em;font-size:14px}
.gc h3,.card h3,.rows h3{text-transform:none;font-weight:600;letter-spacing:0;font-size:22px}
.pr{font-weight:600;font-size:18px}
.sub,.heroText p,p{font-weight:400}
/* рамка вокруг заголовка первого экрана: тёмное стекло, градиентный контур, двойной обод, блики по углам */
.hero2 .heroText{padding:clamp(24px,3.2vw,46px);border-radius:30px;background:linear-gradient(155deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.04) 45%,rgba(6,7,9,.55) 100%);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);
 box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 0 0 1.5px rgba(255,255,255,.3) inset,0 0 0 8px rgba(255,255,255,.045),0 0 0 9.5px rgba(255,255,255,.2),0 40px 80px -30px rgba(0,0,0,.95);
 animation:heroIn 1.2s cubic-bezier(.2,.8,.2,1) .15s both}
.hero2 .heroText::before{content:"";position:absolute;inset:0;border-radius:30px;padding:1.5px;pointer-events:none;
 background:linear-gradient(135deg,rgba(255,255,255,.95) 0%,rgba(190,210,240,.55) 22%,rgba(255,255,255,.06) 52%,rgba(190,210,240,.5) 82%,rgba(255,255,255,.9) 100%);
 -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.hero2 .heroText::after{content:"";position:absolute;inset:0;border-radius:30px;pointer-events:none;background:radial-gradient(60% 50% at 0% 0%,rgba(255,255,255,.22),transparent 60%),radial-gradient(50% 45% at 100% 100%,rgba(190,210,240,.2),transparent 60%)}
.hero2 .heroText .badge{margin-bottom:6px}
.hero2 .heroText>*{position:relative;z-index:1}
@keyframes heroIn{from{opacity:0;transform:translateY(34px) scale(.985);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
/* плавное появление слов на первом экране: из размытия, снизу вверх */
.rwh{opacity:0;display:inline-block;transform:translateY(18px);filter:blur(12px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1.1s cubic-bezier(.2,.7,.2,1)}
.rwh.on{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.rwh{opacity:1;transform:none;filter:none;transition:none}.hero2 .heroText{animation:none}}
@media(max-width:800px){.hero2 .heroText{padding:22px;border-radius:24px}.hero2 .heroText::before,.hero2 .heroText::after{border-radius:24px}}
/* у каждого слова заголовка свой хромовый блик (одинаковый на всех строках) */
h1 .rw,h2 .rw,.big .rw{background-image:linear-gradient(180deg,#ffffff 0%,#eef4fc 30%,#a9bad3 52%,#e6eefa 55%,#b6c6dd 80%,#8196b5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-bottom:.08em}

/* ===== v13: элегантный шрифт (Cormorant Garamond + Jost), текст прямо на фото, анимация «из-под маски» ===== */
body{font-family:"Jost",system-ui,Arial,sans-serif;font-weight:300}
h1,h2,.big,.gc h3,.card h3,.rows h3,.stage .n{font-family:"Cormorant Garamond",Georgia,serif;text-transform:none}
h1,h2{font-weight:600;letter-spacing:-.01em;line-height:1.02}
h1{font-size:clamp(46px,8.4vw,132px)}
h2{font-size:clamp(34px,5.6vw,84px)}
.big{font-weight:500;font-size:clamp(28px,4.4vw,58px);line-height:1.12;letter-spacing:0}
.logo,.badge,.tagm,.lab,.btn,.chips button,.meta,.pr,th,.go,.mock,nav.main a,.scroll,#bar2 a{font-family:"Jost",system-ui,sans-serif}
.logo{font-weight:500;letter-spacing:.24em;font-size:13px}
.gc h3,.card h3,.rows h3{font-weight:600;font-size:clamp(24px,2.2vw,30px);letter-spacing:0}
.pr{font-weight:500;font-size:17px}
.sub,.heroText p,p,.rows p{font-family:"Jost",system-ui,sans-serif;font-weight:300;font-size:clamp(15px,1.25vw,18px);line-height:1.65}
/* первый экран: никакой плашки, текст прямо на фото внизу слева */
.hero2 .heroText{padding:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;animation:none;max-width:1100px;bottom:clamp(64px,11vh,120px)}
.hero2 .heroText::before,.hero2 .heroText::after{display:none}
.hero2 .heroText h1{margin:16px 0 20px}
.hero2 .heroText p{max-width:30em;color:#d9dce3}
.hero2 .heroText .row{margin-top:26px}
.shade2{background:linear-gradient(180deg,rgba(8,8,9,.55) 0%,rgba(8,8,9,.05) 30%,rgba(8,8,9,.22) 52%,rgba(8,8,9,.9) 100%)}
.hero2>img{scale:1.14;animation:zoomOut 2.8s cubic-bezier(.2,.7,.2,1) .05s both}
@keyframes zoomOut{from{scale:1.14}to{scale:1}}
.hero2 .badge{animation:fadeUp 1s cubic-bezier(.2,.8,.2,1) .35s both}
.hero2 .row{animation:fadeUp 1s cubic-bezier(.2,.8,.2,1) 2.1s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
/* слова заголовков выезжают из-под маски */
.rwh{display:inline-block;overflow:hidden;vertical-align:top;line-height:1.12;padding:.04em .02em .16em;margin:-.04em -.02em -.16em;opacity:1;transform:none;filter:none;background:none;transition:none}
.rwh i{display:inline-block;font-style:normal;transform:translateY(115%);transition:transform 1.2s cubic-bezier(.77,0,.18,1);
 background-image:linear-gradient(180deg,#ffffff 0%,#eef4fc 30%,#a9bad3 52%,#e6eefa 55%,#b6c6dd 80%,#8196b5 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.rwh.on i{transform:none}
/* абзацы плавно всплывают */
.fu{opacity:0;transform:translateY(16px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.fu.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rwh i{transform:none;transition:none}.fu{opacity:1;transform:none}.hero2>img,.hero2 .badge,.hero2 .row{animation:none;scale:1}}
@media(max-width:800px){.hero2 .heroText{bottom:92px}h1{font-size:clamp(44px,13vw,70px)}}

/* ===== v14: тёплый мягкий цвет заголовков и дорогое появление по буквам ===== */
h1,h2,.logo,.big,.pr{
 background-image:linear-gradient(180deg,#fffaf0 0%,#f5ebd9 30%,#cbb79a 52%,#efe2cb 55%,#cdb596 80%,#a38c6d 100%);
 filter:drop-shadow(0 1px 0 rgba(255,246,228,.5)) drop-shadow(0 2px 0 rgba(74,60,44,.9)) drop-shadow(0 3px 0 rgba(48,38,26,.85)) drop-shadow(0 10px 14px rgba(0,0,0,.65))}
.tagm,.lab,.meta{color:#b9ad9a}
.mock{color:#eadfc9;border-color:rgba(234,223,201,.65);background:rgba(234,223,201,.08)}
.gc h3,.card h3,.rows h3{color:#fbf3e4;-webkit-text-fill-color:#fbf3e4;text-shadow:0 1px 0 rgba(255,246,228,.45),0 2px 0 rgba(60,48,34,.95),0 3px 0 rgba(40,32,22,.9),0 8px 12px rgba(0,0,0,.6)}
/* по буквам: плавно из размытия, чуть снизу, мягкое замедление (Expo out) */
.wd{display:inline-block;white-space:nowrap}
.ch{display:inline-block;opacity:0;transform:translateY(.38em);filter:blur(10px);font-style:normal;will-change:opacity,transform,filter;
 transition:opacity 1.6s cubic-bezier(.16,1,.3,1),transform 1.9s cubic-bezier(.16,1,.3,1),filter 1.5s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms);
 background-image:linear-gradient(180deg,#fffaf0 0%,#f5ebd9 30%,#cbb79a 52%,#efe2cb 55%,#cdb596 80%,#a38c6d 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding:.06em .01em .16em;margin:-.06em -.01em -.16em}
.in .ch{opacity:1;transform:none;filter:blur(0)}
@media(prefers-reduced-motion:reduce){.ch{opacity:1;transform:none;filter:none;transition:none}}
/* без мелькания до запуска скрипта */
h1,h2{visibility:hidden}
.hero2 .heroText p{opacity:0}
.hero2 .heroText p.on{opacity:1}

/* ===== v16: цвет шрифта подбирается по снимку (по замеру цвета под текстом) ===== */
/* тёплое фото (коричневый, окна): холодный ледяной шрифт + более плотное затемнение под текстом */
.band[data-tone="cool"]::after{background:linear-gradient(180deg,rgba(10,10,11,.6),rgba(10,10,11,0) 24%,rgba(10,10,11,.28) 46%,rgba(10,10,11,.86) 74%,rgba(8,9,12,.96))}
.band[data-tone="cool"] h2{filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 2px 0 rgba(36,52,78,.92)) drop-shadow(0 3px 0 rgba(18,28,44,.88)) drop-shadow(0 12px 18px rgba(0,0,0,.8))}
.band[data-tone="cool"] .ch{background-image:linear-gradient(180deg,#ffffff 0%,#eaf3ff 30%,#a9c2e6 52%,#e2eeff 55%,#b2c9ea 80%,#7f9bc6 100%)}
.band[data-tone="cool"] .tagm{color:#bcd0ee}
/* холодное фото (синее небо, краны): тёплый шампань потеплее и светлее, плотное затемнение внизу */
.band:not([data-tone]) .in h2{filter:drop-shadow(0 1px 0 rgba(255,246,228,.5)) drop-shadow(0 2px 0 rgba(74,52,30,.92)) drop-shadow(0 3px 0 rgba(48,32,16,.88)) drop-shadow(0 12px 18px rgba(0,0,0,.8))}
.band:not([data-tone]) .ch{background-image:linear-gradient(180deg,#fffbf2 0%,#ffeccb 30%,#e0b87d 52%,#ffe7c2 55%,#dcb27a 80%,#b88a52 100%)}
.band:not([data-tone])::after{background:linear-gradient(180deg,rgba(10,10,11,.5),rgba(10,10,11,0) 28%,rgba(10,10,11,.22) 50%,rgba(10,10,11,.82) 76%,rgba(8,9,12,.94))}
