/* ============================================================
   КОНТОРА — клуб благородного ремонта Петербурга
   Skeuomorphism / тактильный премиум · мудборд образцов
   Уникальные CSS-фактуры материалов, латунь, кремовая бумага.
   ============================================================ */
:root{
  --stone:#78716C; --stone-d:#57534E; --paper:#FAF5F2; --paper-2:#F3ECE4;
  --ink:#0F172A; --ink-2:#3A3F4B; --dim:#8A827A;
  --brass:#B08D57; --brass-d:#8C6E3F; --brass-l:#D8B879; --brass-hi:#F2DFB6;
  --wine:#7B3B3B; --wine-d:#5E2C2C;
  --line:#E7E1DA; --line-2:#D9D0C5;
  --card:#FFFDFA;
  --d:'Fraunces',Georgia,'Times New Roman',serif;      /* заголовки — антиква */
  --b:'Manrope','Inter',system-ui,-apple-system,sans-serif; /* текст — гротеск */
  --shadow-1:0 1px 0 rgba(23,20,18,.03), 0 8px 22px -8px rgba(23,20,18,.14);
  --shadow-2:0 2px 0 rgba(23,20,18,.04), 0 20px 44px -14px rgba(23,20,18,.24);
  --brass-grad:linear-gradient(103deg,#8C6E3F 0%,#B08D57 14%,#E7CF9C 26%,#B08D57 38%,#9A7B49 52%,#D8B879 66%,#B08D57 80%,#8C6E3F 100%);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--b);color:var(--ink);line-height:1.6;text-align:left;
  -webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1200px 600px at 80% -10%, #FBF6F0 0%, transparent 60%),
    linear-gradient(180deg,#F6EFE7 0%, #EFE7DD 100%);
  background-attachment:fixed;
}
/* тонкое зерно на всём фоне */
body::before{content:"";position:fixed;inset:0;background-image:var(--grain);opacity:.05;pointer-events:none;z-index:0;mix-blend-mode:multiply}
body>*{position:relative;z-index:1}
a,a:link,a:visited,a:hover,a:active,a:focus{text-decoration:none !important;color:inherit}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--d);font-weight:600;margin:0;line-height:1.12;letter-spacing:.1px;font-optical-sizing:auto}
.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* ============================================================ ЛАТУНЬ / ОБЩЕЕ */
.brass-plate{background:var(--brass-grad);color:#3a2c12;position:relative;overflow:hidden}
.brass-plate::after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.10;mix-blend-mode:multiply}

/* латунный медальон-монограмма */
.medallion{width:44px;height:44px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--d);font-weight:600;color:#3a2c12;background:var(--brass-grad);
  box-shadow:inset 0 2px 3px rgba(255,247,224,.7), inset 0 -3px 5px rgba(74,55,20,.5), 0 2px 6px rgba(74,55,20,.35);
  border:1px solid rgba(74,55,20,.35);position:relative}
.medallion::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid rgba(255,247,224,.35)}

/* ============================================================ ШАПКА */
.mast{position:sticky;top:0;z-index:60;background:linear-gradient(180deg,#20160E 0%, #2A1D12 100%);color:#F0E6D6;
  box-shadow:0 1px 0 rgba(176,141,87,.4), 0 6px 22px rgba(20,14,8,.4);border-bottom:1px solid #4A382180}
.mast::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.08;pointer-events:none}
.mast .row{display:flex;align-items:center;gap:22px;padding:12px 0;position:relative}
.brand{display:flex;align-items:center;gap:13px;color:#F5ECDC}
.brand .mono{width:46px;height:46px}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-family:var(--d);font-weight:600;font-size:1.5rem;letter-spacing:3px;color:#EBD9B6}
.brand .wm small{font-size:.63rem;letter-spacing:2.4px;text-transform:uppercase;color:#B9A784;margin-top:4px}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{padding:9px 14px;border-radius:9px;font-weight:600;font-size:.86rem;color:#D8C7A8;transition:color .22s ease,background .22s ease}
.nav a:hover{background:rgba(176,141,87,.16);color:#F7EEDC}
.nav a.cta{background:var(--brass-grad);color:#2A1D0E;box-shadow:inset 0 1px 2px rgba(255,247,224,.6),0 2px 8px rgba(74,55,20,.4)}
.nav a.cta:hover{filter:brightness(1.06)}
.search{display:flex;align-items:center;gap:9px;background:rgba(255,247,224,.09);border:1px solid rgba(176,141,87,.28);border-radius:10px;padding:8px 13px;color:#E7D9BE}
.search svg{opacity:.8;flex:0 0 auto}
.search input{background:transparent;border:0;color:#F3E9D6;font-family:var(--b);font-size:.86rem;outline:none;width:168px}
.search input::placeholder{color:#A79A80}

/* ============================================================ HERO — сборка мудборда */
.hero{position:relative;overflow:hidden;padding:52px 0 46px;
  background:
    radial-gradient(900px 380px at 74% 8%, rgba(216,184,121,.20), transparent 62%),
    linear-gradient(180deg,#EFE6DA 0%, #E7DCCD 100%);
  border-bottom:1px solid var(--line-2)}
.hero .inner{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.hero .copy .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--brass-d);font-weight:700;margin-bottom:16px}
.hero .copy .eyebrow::before{content:"";width:26px;height:1px;background:var(--brass-d)}
.hero .copy h1{font-size:clamp(2.1rem,4.4vw,3.5rem);color:var(--ink);letter-spacing:.3px;font-weight:500}
.hero .copy h1 i{font-style:italic;color:var(--brass-d)}
.hero .copy p{margin:16px 0 24px;color:var(--ink-2);font-size:clamp(1rem,1.4vw,1.16rem);max-width:44ch}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--b);font-weight:700;font-size:.9rem;padding:12px 22px;border-radius:11px;cursor:pointer;border:0;transition:transform .18s ease,box-shadow .2s ease,filter .2s ease}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-brass{background:var(--brass-grad);color:#2A1D0E;box-shadow:inset 0 1px 2px rgba(255,247,224,.7),var(--shadow-1)}
.btn-brass:hover{filter:brightness(1.05);box-shadow:inset 0 1px 2px rgba(255,247,224,.7),var(--shadow-2)}
.btn-ghost{background:#FFFDFA;color:var(--ink);border:1px solid var(--line-2);box-shadow:var(--shadow-1)}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass-d)}

/* композиция мудборда в hero */
.hero-board{position:relative;height:340px}
.hero-board .tile{position:absolute;border-radius:12px;box-shadow:var(--shadow-2);border:1px solid rgba(255,255,255,.5);
  opacity:0;transform:translateY(22px) rotate(var(--r,0deg)) scale(.96);
  animation:layIn .8s cubic-bezier(.2,.7,.25,1) forwards;animation-delay:var(--dl,0s);will-change:transform,opacity}
.hero-board .tile .lbl{position:absolute;left:10px;bottom:9px;font-family:var(--b);font-weight:700;font-size:.6rem;letter-spacing:1.4px;
  text-transform:uppercase;color:rgba(255,255,255,.94);text-shadow:0 1px 3px rgba(0,0,0,.5)}
.hero-board .pin{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%, #F2DFB6, #B08D57 55%, #7A5E30);
  box-shadow:0 3px 6px rgba(60,44,18,.5),inset 0 1px 1px rgba(255,247,224,.9)}
.hero-board .t1{width:150px;height:150px;left:2%;top:26px;--r:-5deg;--dl:.05s}
.hero-board .t2{width:158px;height:118px;left:40%;top:4px;--r:3deg;--dl:.16s}
.hero-board .t3{width:132px;height:132px;left:63%;top:96px;--r:-3deg;--dl:.28s}
.hero-board .t4{width:150px;height:110px;left:10%;top:196px;--r:4deg;--dl:.4s}
.hero-board .t5{width:126px;height:150px;left:47%;top:150px;--r:-4deg;--dl:.52s}
/* свёрнутый чертёж */
.hero-board .plan{width:190px;height:120px;left:30%;top:210px;--r:6deg;--dl:.62s;
  background:linear-gradient(180deg,#28527A,#1E3F5E);overflow:hidden}
.hero-board .plan svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
/* латунный инструмент — уровень */
.hero-board .tool{position:absolute;left:1%;top:150px;width:210px;height:34px;border-radius:7px;--dl:.72s;
  background:var(--brass-grad);box-shadow:var(--shadow-2),inset 0 1px 2px rgba(255,247,224,.7);
  border:1px solid rgba(74,55,20,.4);transform-origin:left center;
  opacity:0;transform:rotate(-8deg) translateY(14px);animation:layIn .8s cubic-bezier(.2,.7,.25,1) forwards;animation-delay:var(--dl)}
.hero-board .tool::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:16px;border-radius:8px;
  background:rgba(120,180,120,.35);border:1px solid rgba(74,55,20,.4);box-shadow:inset 0 0 6px rgba(40,80,40,.5)}
.hero-board .tool::after{content:"";position:absolute;left:calc(50% - 4px);top:50%;transform:translateY(-50%);width:8px;height:14px;border-radius:3px;
  background:radial-gradient(circle at 40% 40%,#CFE8B8,#6FA85E);box-shadow:0 0 5px rgba(120,200,120,.7)}
@keyframes layIn{to{opacity:1;transform:translateY(0) rotate(var(--r,0deg)) scale(1)}}

/* ============================================================ ФАКТУРЫ МАТЕРИАЛОВ (образцы) */
.tex{position:relative;background-color:#cbb89a}
.tex::after{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.14;mix-blend-mode:multiply;border-radius:inherit}
/* дуб-шпон */
.sw-oak{background:
  repeating-linear-gradient(92deg, rgba(94,60,30,.0) 0 5px, rgba(94,60,30,.10) 6px 7px, rgba(94,60,30,0) 8px 15px),
  repeating-linear-gradient(90deg, rgba(60,38,18,.14) 0 1px, transparent 1px 22px),
  linear-gradient(100deg,#7A4F2A 0%,#996537 22%,#B27C48 46%,#8E5E34 68%,#A06C3E 86%,#7A4F2A 100%)}
/* мрамор / травертин */
.sw-marble{background:
  linear-gradient(122deg, transparent 0 42%, rgba(120,105,92,.22) 43% 44%, transparent 45% 60%, rgba(120,105,92,.16) 61% 62%, transparent 63%),
  radial-gradient(120px 60px at 30% 34%, rgba(120,105,92,.14), transparent 70%),
  radial-gradient(140px 70px at 74% 66%, rgba(120,105,92,.12), transparent 72%),
  linear-gradient(135deg,#F3ECE1 0%,#E7DCCC 50%,#EFE6D8 100%)}
/* латунь */
.sw-brass{background:var(--brass-grad)}
/* керамогранит */
.sw-porcelain{background:
  radial-gradient(1.4px 1.4px at 18% 26%, rgba(70,66,60,.4) 40%, transparent 42%),
  radial-gradient(1.6px 1.6px at 64% 54%, rgba(70,66,60,.32) 40%, transparent 42%),
  radial-gradient(1.4px 1.4px at 82% 78%, rgba(70,66,60,.34) 40%, transparent 42%),
  linear-gradient(120deg, transparent 0 55%, rgba(120,110,98,.14) 56% 57%, transparent 58%),
  linear-gradient(140deg,#DED7CC 0%,#CFC7B9 52%,#D9D2C6 100%)}
/* велюр (винный) */
.sw-velour{background:
  radial-gradient(140px 90px at 34% 28%, rgba(255,220,210,.16), transparent 66%),
  repeating-linear-gradient(70deg, rgba(0,0,0,.10) 0 2px, rgba(255,255,255,.04) 2px 4px),
  linear-gradient(140deg,#7B3B3B 0%,#8E4747 40%,#622D2D 100%)}
/* микроцемент */
.sw-microcement{background:
  radial-gradient(180px 120px at 26% 30%, rgba(255,255,255,.20), transparent 62%),
  radial-gradient(160px 120px at 78% 74%, rgba(70,64,56,.14), transparent 66%),
  linear-gradient(135deg,#C7BEB2 0%,#B7AD9F 54%,#C2B9AC 100%)}
/* терраццо */
.sw-terrazzo{background:
  radial-gradient(4px 4px at 20% 30%, #7B3B3B 46%, transparent 48%),
  radial-gradient(6px 3px at 66% 22%, #57534E 46%, transparent 48%),
  radial-gradient(5px 5px at 78% 68%, #B08D57 46%, transparent 48%),
  radial-gradient(3px 6px at 34% 74%, #28527A 46%, transparent 48%),
  radial-gradient(4px 4px at 52% 50%, #6FA85E 46%, transparent 48%),
  radial-gradient(3px 3px at 88% 40%, #57534E 46%, transparent 48%),
  linear-gradient(0deg,#F1EBE1,#F1EBE1)}
/* паркет-ёлочка */
.sw-herringbone{background:
  repeating-linear-gradient(45deg, #A06C3E 0 13px, #8E5E34 13px 26px),
  repeating-linear-gradient(-45deg, rgba(60,38,18,.16) 0 13px, transparent 13px 26px)}
.sw-herringbone{background-size:37px 37px, 37px 37px}
/* штукатурка / гипс */
.sw-plaster{background:
  linear-gradient(96deg, rgba(255,255,255,.14) 0 30%, transparent 30% 60%, rgba(90,84,76,.08) 60% 90%),
  radial-gradient(200px 120px at 60% 40%, rgba(255,255,255,.18), transparent 70%),
  linear-gradient(135deg,#EAE3D8 0%,#DDD5C8 100%)}
/* глянцевая плитка */
.sw-tile{background:
  linear-gradient(118deg, rgba(255,255,255,.55) 0 12%, rgba(255,255,255,0) 30%),
  linear-gradient(150deg,#D6E2E6 0%,#B9CDD4 50%,#CBDCE1 100%)}
.sw-tile::before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(0deg, rgba(60,80,90,.18) 0 1px, transparent 1px 33%),
  repeating-linear-gradient(90deg, rgba(60,80,90,.18) 0 1px, transparent 1px 33%);border-radius:inherit}
/* гранит / камень тёмный */
.sw-granite{background:
  radial-gradient(2px 2px at 22% 34%, rgba(230,225,218,.55) 40%, transparent 42%),
  radial-gradient(1.6px 1.6px at 62% 58%, rgba(230,225,218,.4) 40%, transparent 42%),
  radial-gradient(2.4px 2.4px at 80% 24%, rgba(176,141,87,.5) 40%, transparent 42%),
  radial-gradient(1.6px 1.6px at 40% 78%, rgba(230,225,218,.45) 40%, transparent 42%),
  linear-gradient(135deg,#48433D 0%,#33302B 52%,#413C36 100%)}
/* лён / текстиль */
.sw-linen{background:
  repeating-linear-gradient(0deg, rgba(120,110,96,.10) 0 1px, transparent 1px 4px),
  repeating-linear-gradient(90deg, rgba(120,110,96,.12) 0 1px, transparent 1px 4px),
  linear-gradient(135deg,#E9E0D2 0%,#DED4C3 100%)}

/* ============================================================ ПОЛОСА СТАТИСТИКИ / СЧЁТЧИКИ */
.stats{background:linear-gradient(180deg,#241A11,#2E2115);color:#E7D9BE;border-bottom:1px solid #4A382160}
.stats::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.07}
.stats .row{display:flex;flex-wrap:wrap;gap:8px 12px;padding:14px 0;position:relative}
.stat{flex:1 1 150px;min-width:130px;display:flex;flex-direction:column;gap:2px;padding:4px 10px;border-left:1px solid rgba(176,141,87,.28)}
.stat:first-child{border-left:0}
.stat b{font-family:var(--d);font-weight:600;font-size:1.6rem;color:var(--brass-l);letter-spacing:.5px}
.stat span{font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;color:#B29B75}

/* ============================================================ АКТИВНОСТИ */
.activities{padding:34px 0 6px}
.act-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-1);overflow:hidden;position:relative}
.panel .ph{display:flex;align-items:center;gap:9px;padding:13px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#FFFDFA,#F7F1E9)}
.panel .ph .k{font-size:.64rem;letter-spacing:2px;text-transform:uppercase;color:var(--brass-d);font-weight:700}
.panel .ph h3{font-size:1.06rem;color:var(--ink);font-weight:600}
.panel .pc{padding:16px 18px}

/* Смета джентльмена */
.est-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.est-row label{font-size:.82rem;color:var(--ink-2);font-weight:600}
.est-area{display:flex;align-items:center;gap:10px}
.est-area input[type=range]{-webkit-appearance:none;appearance:none;width:150px;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--brass-l),var(--brass-d));outline:none}
.est-area input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--brass-grad);border:1px solid var(--brass-d);box-shadow:inset 0 1px 1px rgba(255,247,224,.8),0 1px 4px rgba(60,44,18,.4);cursor:pointer}
.est-area input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#B08D57;border:1px solid var(--brass-d);cursor:pointer}
.est-area .val{font-family:var(--d);font-weight:600;font-size:1.05rem;min-width:64px;text-align:right}
.est-classes{display:flex;gap:6px;margin:6px 0 14px}
.est-classes button{flex:1;font-family:var(--b);font-weight:700;font-size:.74rem;padding:9px 6px;border-radius:9px;border:1px solid var(--line-2);
  background:#FBF6EF;color:var(--ink-2);cursor:pointer;transition:transform .16s ease,border-color .2s ease,color .2s ease,background .2s ease}
.est-classes button:active{transform:scale(.97)}
.est-classes button.on{background:var(--brass-grad);color:#2A1D0E;border-color:var(--brass-d);box-shadow:inset 0 1px 1px rgba(255,247,224,.7)}
.est-out{border-top:1px dashed var(--line-2);padding-top:13px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.est-out .lab{font-size:.74rem;letter-spacing:1px;text-transform:uppercase;color:var(--dim)}
.est-out .price{font-family:var(--d);font-weight:600;font-size:1.5rem;color:var(--wine)}
.est-note{margin-top:8px;font-size:.72rem;color:var(--dim)}

/* Материал недели — вращающийся образец */
.mow{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.mow .chip{width:100%;height:120px;border-radius:12px;box-shadow:var(--shadow-1),inset 0 0 0 1px rgba(255,255,255,.4);position:relative;
  transition:transform .6s cubic-bezier(.2,.7,.25,1)}
.mow .chip .pin{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#F2DFB6,#B08D57 55%,#7A5E30);box-shadow:0 3px 6px rgba(60,44,18,.5),inset 0 1px 1px rgba(255,247,224,.9)}
.mow .mname{font-family:var(--d);font-weight:600;font-size:1.12rem;color:var(--ink)}
.mow .mdesc{font-size:.82rem;color:var(--ink-2)}
.mow .dots{display:flex;gap:6px;margin-top:4px}
.mow .dots i{width:7px;height:7px;border-radius:50%;background:var(--line-2);cursor:pointer;transition:background .2s}
.mow .dots i.on{background:var(--brass)}

/* Мастер месяца */
.mom{display:flex;flex-direction:column;gap:12px}
.mom .top{display:flex;align-items:center;gap:13px}
.mom .medallion{width:56px;height:56px;font-size:1.2rem}
.mom .who b{display:block;font-family:var(--d);font-weight:600;font-size:1.12rem;color:var(--ink)}
.mom .who span{font-size:.78rem;color:var(--brass-d);font-weight:700;letter-spacing:.4px}
.mom .stz{display:flex;gap:16px;border-top:1px dashed var(--line-2);padding-top:11px}
.mom .stz div{font-size:.74rem;color:var(--dim)}
.mom .stz b{display:block;font-family:var(--d);font-size:1.15rem;color:var(--ink);font-weight:600}
.mom .quote{font-size:.84rem;color:var(--ink-2);font-style:italic;border-left:2px solid var(--brass);padding-left:11px}

/* ============================================================ СВЕЖИЕ ТЕМЫ — лента */
.fresh{padding:26px 0 6px}
.fresh .sec-h{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.fresh .sec-h h2{font-size:1.4rem;color:var(--ink);font-weight:500}
.fresh .sec-h span{font-size:.82rem;color:var(--dim)}
.fresh .items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.fresh a{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:11px 14px;
  box-shadow:var(--shadow-1);transition:transform .2s ease,box-shadow .2s ease}
.fresh a:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.fresh a .medallion{width:38px;height:38px;font-size:.82rem}
.fresh a img.av{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:var(--paper-2)}
.fresh a .t{min-width:0}
.fresh a .t b{display:block;font-family:var(--b);font-weight:700;font-size:.9rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fresh a:hover .t b{color:var(--brass-d)}
.fresh a .t span{font-size:.74rem;color:var(--dim)}

/* ============================================================ МУДБОРД ОБРАЗЦОВ (индекс) */
.board{padding:24px 0 56px}
.board .lede{margin:2px 0 22px;display:flex;align-items:baseline;gap:14px}
.board .lede h2{font-size:1.7rem;color:var(--ink);font-weight:500}
.board .lede span{font-size:.86rem;color:var(--dim)}

.catblock{margin-bottom:34px}
/* гравированная латунная табличка-разделитель */
.plate{display:flex;align-items:center;gap:16px;padding:14px 22px;border-radius:12px;margin-bottom:20px;
  box-shadow:var(--shadow-1),inset 0 1px 2px rgba(255,247,224,.55),inset 0 -3px 6px rgba(74,55,20,.4);
  border:1px solid rgba(74,55,20,.4)}
.plate .no{font-family:var(--d);font-weight:600;font-size:1.5rem;color:#2A1D0E;opacity:.55;
  text-shadow:0 1px 0 rgba(255,247,224,.5)}
.plate h2{flex:1;font-size:1.3rem;color:#2A1D0E;letter-spacing:.6px;font-weight:600;
  text-shadow:0 1px 0 rgba(255,247,224,.45), 0 -1px 1px rgba(74,55,20,.3)}
.plate .desc{font-size:.8rem;color:#3a2c12;opacity:.72;max-width:34ch;font-weight:600}
.plate .cnt{font-family:var(--d);font-weight:600;font-size:.86rem;color:#3a2c12;white-space:nowrap}

/* сетка образцов */
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:20px}
.swatch{background:var(--card);border:1px solid var(--line);border-radius:15px;overflow:hidden;box-shadow:var(--shadow-1);
  position:relative;display:flex;flex-direction:column;
  transition:transform .24s cubic-bezier(.2,.7,.25,1),box-shadow .24s ease}
.swatch:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
/* образец-фактура сверху */
.swatch .chip{height:96px;position:relative;border-bottom:1px solid rgba(74,55,20,.12)}
.swatch .chip .pin{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;z-index:3;
  background:radial-gradient(circle at 34% 30%,#F2DFB6,#B08D57 55%,#7A5E30);
  box-shadow:0 3px 7px rgba(60,44,18,.55),inset 0 1px 1px rgba(255,247,224,.9)}
.swatch .chip .mat{position:absolute;left:11px;bottom:9px;font-family:var(--b);font-weight:700;font-size:.58rem;letter-spacing:1.5px;
  text-transform:uppercase;color:rgba(255,255,255,.95);text-shadow:0 1px 3px rgba(0,0,0,.55);z-index:3}
/* блик-свип по фактуре при ховере (только transform/opacity) */
.swatch .chip .sheen{position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:0}
.swatch .chip .sheen::before{content:"";position:absolute;top:-40%;left:-60%;width:40%;height:180%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);transform:translateX(0) rotate(8deg);opacity:0;transition:opacity .2s ease}
.swatch:hover .chip .sheen::before{opacity:1;animation:sweep .8s ease}
@keyframes sweep{from{transform:translateX(0) rotate(8deg)}to{transform:translateX(360%) rotate(8deg)}}
.swatch .body{padding:14px 16px 8px;flex:1;display:flex;flex-direction:column}
.swatch .fname{font-family:var(--d);font-weight:600;font-size:1.12rem;color:var(--ink);letter-spacing:.2px}
.swatch:hover .fname{color:var(--brass-d)}
.swatch .fdesc{font-size:.82rem;color:var(--ink-2);margin:4px 0 10px;line-height:1.5}
.swatch .fmeta{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--dim)}
.swatch .fmeta b{font-family:var(--d);font-weight:600;color:var(--ink);font-size:.92rem}
.swatch .fmeta .sep{opacity:.5}
/* последнее сообщение внутри образца */
.swatch .last{display:flex;align-items:center;gap:9px;border-top:1px dashed var(--line-2);margin-top:11px;padding:11px 16px;background:linear-gradient(180deg,transparent,#FAF4EC)}
.swatch .last .medallion{width:32px;height:32px;font-size:.7rem}
.swatch .last img.av{width:32px;height:32px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:var(--paper-2)}
.swatch .last .li{min-width:0}
.swatch .last .li b{display:block;font-size:.8rem;color:var(--ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.swatch .last .li span{font-size:.72rem;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.swatch .last.empty{color:var(--dim);font-size:.78rem;font-style:italic}
/* раскладка образцов на доску со stagger */
.swatch.enter{opacity:0;transform:translateY(16px) scale(.98);animation:swIn .5s cubic-bezier(.2,.7,.25,1) forwards}
@keyframes swIn{to{opacity:1;transform:none}}

/* ============================================================ КРОШКИ */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:.84rem;color:var(--dim);margin:4px 0 20px}
.crumbs a{color:var(--brass-d);font-weight:700;transition:color .2s ease}
.crumbs a:hover{color:var(--wine)}
.crumbs .sep{color:var(--line-2)}
.crumbs .cur{color:var(--ink);font-weight:700;pointer-events:none}

/* ============================================================ РАЗДЕЛ: баннер + ведомость работ */
.forum-banner{position:relative;border-radius:16px;padding:22px 26px;margin-bottom:22px;overflow:hidden;color:#F3E9D6;
  background:linear-gradient(180deg,#2A1D12,#20160E);box-shadow:var(--shadow-1);border:1px solid #4A382160}
.forum-banner::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.08}
.forum-banner .k{position:relative;font-size:.66rem;letter-spacing:2.4px;text-transform:uppercase;color:var(--brass-l);font-weight:700}
.forum-banner h1{position:relative;font-size:clamp(1.6rem,3vw,2.2rem);margin:8px 0 6px;color:#EFE0C4;font-weight:500}
.forum-banner p{position:relative;color:#C9B89C;margin:0;font-size:.92rem;max-width:60ch}
.forum-banner .st{position:relative;margin-top:14px;font-size:.82rem;color:#C9B89C}
.forum-banner .st b{color:var(--brass-l);font-family:var(--d);font-weight:600}

.reg-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 12px;flex-wrap:wrap}
.reg-head h2{font-family:var(--d);font-weight:500;color:var(--ink);font-size:1.4rem}
.newbtn{display:inline-flex;align-items:center;gap:8px;background:var(--brass-grad);color:#2A1D0E;font-family:var(--b);font-weight:700;
  padding:11px 19px;border-radius:11px;box-shadow:inset 0 1px 2px rgba(255,247,224,.7),var(--shadow-1);transition:filter .2s ease}
.newbtn:hover{filter:brightness(1.05)}

.ledger{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-1)}
.ledger-head{display:grid;grid-template-columns:1fr 116px 210px;gap:16px;padding:12px 22px;
  background:linear-gradient(180deg,#2A1D12,#20160E);color:#C9B89C;font-size:.68rem;text-transform:uppercase;letter-spacing:1.4px;font-weight:700}
.ledger-head span:nth-child(2){text-align:center}
.lrow{display:grid;grid-template-columns:1fr 116px 210px;gap:16px;align-items:center;padding:15px 22px;border-top:1px solid var(--line);
  position:relative;transition:background .22s ease,transform .22s ease}
.lrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--brass);transform-origin:top;transform:scaleY(0);transition:transform .22s ease,width .22s ease}
.lrow:hover{background:#FBF6EE;transform:translateX(3px)}
.lrow:hover::before{width:4px;transform:scaleY(1)}
.lrow .tt{min-width:0;display:flex;flex-direction:column;gap:5px}
.lrow .tline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.matchip{display:inline-flex;align-items:center;gap:6px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:#4a3a1c;padding:3px 8px 3px 4px;border-radius:20px;background:#F3ECDF;border:1px solid var(--line-2)}
.matchip .dot{width:13px;height:13px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.tbadge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:6px}
.tb-solved{background:#E7EFE2;color:#3F6B39} .tb-master{background:#EDE3D0;color:var(--brass-d)}
.tb-report{background:#E7ECF0;color:#4E657A} .tb-urgent{background:#F3DFD9;color:var(--wine)} .tb-hot{background:#F5E7CC;color:#9A6A12}
.tb-talk{background:#EFEAE2;color:var(--stone-d)}
.lrow a.tsub{font-family:var(--d);font-weight:600;font-size:1.06rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.lrow:hover a.tsub{color:var(--brass-d)}
.lrow .by{font-size:.78rem;color:var(--dim)}
.lrow .by b{color:var(--ink-2)}
.lstat{text-align:center;font-size:.74rem;color:var(--dim);line-height:1.5}
.lstat b{display:block;font-family:var(--d);font-weight:600;color:var(--ink);font-size:1.05rem}
.llast{display:flex;align-items:center;gap:10px;min-width:0;border-left:1px solid var(--line);padding-left:16px}
.llast .medallion{width:34px;height:34px;font-size:.72rem}
.llast img.av{width:34px;height:34px;border-radius:8px;object-fit:cover;flex:0 0 auto;background:var(--paper-2)}
.llast .li{min-width:0;font-size:.78rem;color:var(--dim)}
.llast .li b{display:block;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}

/* подразделы (если есть) */
.subforums{margin-top:8px}

/* ============================================================ ТЕМА (showthread) */
.thread-hd{margin-bottom:22px}
.thread-hd .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.thread-hd h1{font-family:var(--d);font-weight:500;color:var(--ink);font-size:clamp(1.5rem,3vw,2.15rem);margin:0 0 10px}
.thread-hd .meta{display:flex;gap:18px;color:var(--dim);font-size:.86rem;flex-wrap:wrap}
.thread-hd .meta b{color:var(--ink-2)}

/* ============================================================ ПОСТБИТ = КАРТОЧКА ОБРАЗЦА / СПЕЦИФИКАЦИЯ */
.posts{display:flex;flex-direction:column;gap:18px}
.spec{display:grid;grid-template-columns:210px 1fr;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-1)}
.spec.best-post{box-shadow:0 0 0 1.5px var(--brass), var(--shadow-2)}
/* левая колонка — мастер + чип-фактура */
.spec .who{position:relative;padding:0;border-right:1px solid var(--line);background:linear-gradient(180deg,#FFFDFA,#F6F0E7);display:flex;flex-direction:column}
.spec .who .chip{height:46px;position:relative;border-bottom:1px solid rgba(74,55,20,.14)}
.spec .who .chip .mat{position:absolute;left:12px;bottom:7px;font-size:.56rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.94);text-shadow:0 1px 3px rgba(0,0,0,.55)}
.spec .who .id{padding:16px 16px 18px;text-align:left}
.spec .who .medallion{width:58px;height:58px;font-size:1.38rem;margin-top:0;position:relative;z-index:2;border:2px solid #FFFDFA;box-shadow:inset 0 2px 3px rgba(255,247,224,.7), inset 0 -3px 5px rgba(74,55,20,.5), 0 4px 12px rgba(74,55,20,.35)}
.spec .who .id img.avm{width:58px;height:58px;border-radius:50%;object-fit:cover;margin-top:0;position:relative;z-index:2;border:2px solid #FFFDFA;box-shadow:0 4px 12px rgba(74,55,20,.35);flex:0 0 auto}
.spec .who .nm{font-family:var(--d);font-weight:600;font-size:1.08rem;color:var(--ink);margin-top:11px}
.spec .who .nm a{color:var(--ink)}.spec .who .nm a:hover{color:var(--brass-d)}
.spec .who .role{display:inline-block;margin-top:7px;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px;padding:4px 10px;border-radius:20px}
.role-podm{background:#EFEAE2;color:var(--stone-d)} .role-mast{background:#EDE3D0;color:var(--brass-d)}
.role-snr{background:#E9DFC8;color:#7A5E30} .role-smotr{background:#E7ECF0;color:#4E657A} .role-anon{background:#EAE7E2;color:var(--dim)}
.spec .who .st{margin-top:13px;font-size:.74rem;color:var(--dim);border-top:1px dashed var(--line-2);padding-top:11px;line-height:1.75}
.spec .who .st b{color:var(--ink)}
/* правая колонка — сообщение на бумаге */
.spec .body{padding:16px 22px 18px;min-width:0}
.spec .body .top{display:flex;justify-content:space-between;align-items:center;font-size:.74rem;color:var(--dim);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}
.spec .body .top .idx{font-family:var(--d);color:var(--brass-d)}
.spec .body .msg{color:var(--ink);font-size:1rem;line-height:1.72;text-align:left;word-wrap:break-word;overflow-wrap:anywhere}
.spec .body .msg blockquote{border-left:3px solid var(--brass);background:#FAF4EA;margin:12px 0;padding:10px 16px;border-radius:0 10px 10px 0;color:var(--ink-2)}
.spec .body .msg img{border-radius:10px}
.spec .body .msg .codeblock,.spec .body .msg code{background:#F3ECE2;border:1px solid var(--line-2);border-radius:8px}
/* сургучная печать / латунный штамп решения — лаконичной строкой ПОСЛЕ текста */
.approved{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding-top:13px;border-top:1px dashed var(--line-2);
  color:var(--wine);font-family:var(--d);font-weight:600;font-size:.92rem;letter-spacing:.3px}
.approved .seal{width:30px;height:30px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 36% 30%, #A85454, #7B3B3B 60%, #5E2C2C);color:#F3D9D0;font-size:.78rem;
  box-shadow:inset 0 1px 2px rgba(255,220,210,.4),inset 0 -2px 4px rgba(60,20,20,.6),0 2px 5px rgba(60,20,20,.4);
  border:1px solid rgba(60,20,20,.4)}
.post-buttons{margin-top:15px;display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:13px}
.post-buttons a{font-size:.76rem;font-weight:700;color:var(--brass-d);background:#FAF4EA;border:1px solid var(--line-2);padding:6px 13px;border-radius:9px;transition:background .2s,color .2s}
.post-buttons a:hover{background:var(--brass-grad);color:#2A1D0E}

/* форма ответа / общие контролы MyBB */
.quick-reply,.trow.quick_reply,#quick_reply_form{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:24px;box-shadow:var(--shadow-1)}
textarea,input.textbox,select{font-family:var(--b);font-size:.95rem;border:1px solid var(--line-2);border-radius:10px;padding:11px;background:#FFFDFA;color:var(--ink)}
textarea{width:100%;min-height:120px}
input.button,.button,button.button{font-family:var(--b);font-weight:700;background:var(--brass-grad);color:#2A1D0E;border:0;padding:11px 22px;border-radius:11px;cursor:pointer;box-shadow:inset 0 1px 2px rgba(255,247,224,.7),var(--shadow-1)}
input.button:hover,.button:hover{filter:brightness(1.05)}

/* пагинация */
.pages{display:flex;gap:7px;flex-wrap:wrap;margin:24px 0;align-items:center}
.pages a,.pages span{padding:8px 13px;border-radius:9px;background:var(--card);border:1px solid var(--line-2);font-weight:700;font-size:.84rem;color:var(--ink-2)}
.pages a:hover{background:var(--brass-grad);color:#2A1D0E;border-color:var(--brass-d)}
.pages .pagination_current{background:var(--brass-grad);color:#2A1D0E;border-color:var(--brass-d)}

/* ============================================================ ФУТЕР */
.foot{margin-top:30px;color:#C9B89C;background:linear-gradient(180deg,#241A11,#1B120B);padding:44px 0 30px;position:relative}
.foot::before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.06}
.foot .row{display:flex;gap:44px;flex-wrap:wrap;position:relative}
.foot .brand .wm b{color:#EBD9B6}
.foot .cols{display:flex;gap:48px;flex-wrap:wrap;margin-left:auto}
.foot h4{font-family:var(--d);color:#EBD9B6;font-size:1rem;margin:0 0 11px;font-weight:600}
.foot .cols a{display:block;color:#B9A784;font-size:.86rem;padding:3px 0;transition:color .2s ease}
.foot .cols a:hover{color:var(--brass-l)}
.foot .bot{margin-top:28px;padding-top:18px;border-top:1px solid rgba(176,141,87,.22);font-size:.8rem;color:#9C8C6E;position:relative}

/* прячем техинфо MyBB */
.footer_bottom,.lang_switch,.theme_switch,#debug_info{display:none}

/* ============================================================ АДАПТИВ */
@media(max-width:960px){
  .hero .inner{grid-template-columns:1fr;gap:26px}
  .hero-board{height:300px;max-width:460px}
  .act-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .nav .txt-hide,.search{display:none}
  .swatches{grid-template-columns:1fr}
  .ledger-head{display:none}
  .lrow{grid-template-columns:1fr;gap:9px;padding:14px 16px}
  .lrow .lstat,.lrow .llast{display:none}
  .spec{grid-template-columns:1fr}
  .spec .who{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:14px}
  .spec .who .chip{display:none}
  .spec .who .id{display:flex;align-items:center;gap:14px}
  .spec .who .medallion,.spec .who .id img.avm{margin-top:0}
  .spec .who .st{display:none}
  .plate{flex-wrap:wrap;gap:8px}.plate .desc{display:none}
  .foot .cols{margin-left:0;gap:28px}
}

/* ============================================================ REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-board .tile,.hero-board .tool{animation:none;opacity:1;transform:rotate(var(--r,0deg))}
  .swatch,.swatch.enter,.fresh a,.lrow,.lrow:hover,.mow .chip{animation:none;transition:none;transform:none;opacity:1}
  .swatch:hover{transform:none}
  .swatch:hover .chip .sheen::before{animation:none;opacity:0}
}

/* ТЁМНАЯ ТЕМА ОТКЛЮЧЕНА: дизайн изначально светлый (кремовая бумага + латунь).
   Прежняя dark-тема была полусырой — переопределяла текст в светлый, но фоны hero/карточек
   захардкожены светлыми → светлый текст на светлом фоне = нечитаемо. Условие ниже не срабатывает. */
@media (prefers-color-scheme: dark) and (min-width: 99999px){
  :root{
    --paper:#211A14; --paper-2:#2A2119; --card:#241C15; --ink:#F0E6D6; --ink-2:#CDBFA8; --dim:#9C8C74;
    --line:#3A2E22; --line-2:#4A3B2C;
  }
  body{background:radial-gradient(1200px 600px at 80% -10%, #2A2018 0%, transparent 60%),linear-gradient(180deg,#1E1811 0%, #15100B 100%)}
  .panel .ph{background:linear-gradient(180deg,#2A2119,#241C15)}
  .swatch .last{background:linear-gradient(180deg,transparent,#2A2119)}
  .fresh a:hover .t b,.swatch:hover .fname,.lrow:hover a.tsub{color:var(--brass-l)}
  .btn-ghost{background:#241C15;color:var(--ink)}
  .est-classes button{background:#2A2119;color:var(--ink-2)}
  textarea,input.textbox,select{background:#2A2119;color:var(--ink)}
  .matchip{background:#2A2119;color:#D8C29A}
  .tb-solved{background:#26331F} .tb-report{background:#232B33} .tb-urgent{background:#3A2422} .tb-hot{background:#332913} .tb-talk{background:#2A2419} .tb-master{background:#332916}
}
