
:root{
  --bg:#07111B; --panel:#0B1118; --panel-2:#0d151f;
  --gold:#D8A35F; --gold-dim:rgba(216,163,95,.14);
  --text:#FFFFFF; --text-2:rgba(255,255,255,.72); --text-3:rgba(255,255,255,.46);
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.16);
  --container:1450px; --pad:80px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:radial-gradient(ellipse 900px 560px at 82% -8%, rgba(216,163,95,.09), transparent 60%), var(--bg);
  color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;}
img{max-width:100%;}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--pad);}
section{position:relative;}

/* ---- shared atoms ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:18px;text-transform:uppercase;}
.eyebrow::before{content:'';width:20px;height:1px;background:var(--gold);}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(28px,3vw,40px);font-weight:800;letter-spacing:-.01em;margin-bottom:12px;text-transform:uppercase;}
.section-head p{font-size:15.5px;line-height:1.55;color:var(--text-3);max-width:600px;}
.nav-arrows{display:flex;gap:10px;flex-shrink:0;}
.nav-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);background:transparent;color:var(--text-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s ease;}
.nav-arrow:hover{border-color:var(--gold);color:var(--gold);}
.nav-arrow.gold{border-color:var(--gold);color:var(--gold);}
.nav-arrow.gold:hover{background:var(--gold);color:#0A0A0A;}

.btn-primary{padding:15px 26px;background:var(--gold);color:#0A0A0A;border:none;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .22s ease, box-shadow .22s ease;display:inline-flex;align-items:center;gap:8px;}
.btn-primary:hover{transform:scale(1.02);box-shadow:0 8px 28px -6px rgba(216,163,95,.45);}
.btn-secondary{padding:15px 26px;background:transparent;border:1px solid var(--border-2);color:var(--text);border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:.22s ease;}
.btn-secondary:hover{transform:scale(1.02);background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3);}
.btn-outline-sm{padding:10px 20px;border:1px solid var(--border-2);border-radius:7px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:transparent;color:var(--gold);cursor:pointer;transition:.25s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.btn-outline-sm:hover{background:var(--gold);color:#0A0A0A;transform:scale(1.02);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease, transform .55s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

.carousel-track{display:flex;align-items:stretch;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;cursor:grab;scrollbar-width:none;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track.dragging{cursor:grabbing;scroll-snap-type:none;}

/* ---- header ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;transition:.35s ease;border-bottom:1px solid transparent;}
.site-header.scrolled{background:rgba(7,17,27,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.header-inner{max-width:var(--container);margin:0 auto;padding:0 var(--pad);height:78px;display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:11px;}
.logo-mark{width:34px;height:34px;border:1px solid var(--border-2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--gold);background:rgba(216,163,95,.06);}
.logo-text{display:flex;flex-direction:column;line-height:1.28;}
.logo-text .name{font-size:13.5px;font-weight:700;letter-spacing:.03em;}
.logo-text .role{font-size:10px;letter-spacing:.09em;color:var(--text-3);font-weight:500;}
nav.main-nav{display:flex;gap:30px;}
nav.main-nav a{font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2);transition:color .25s ease;position:relative;padding-bottom:4px;}
nav.main-nav a:hover{color:var(--text);}
nav.main-nav a.active{color:var(--gold);}
nav.main-nav a.active::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--gold);border-radius:2px;}

/* ---- breadcrumbs / page hero ---- */
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--text-3);margin-bottom:22px;}
.breadcrumbs a{color:var(--text-3);transition:color .2s ease;}
.breadcrumbs a:hover{color:var(--gold);}
.page-hero{padding:150px 0 60px;}
.page-hero h1{font-size:clamp(32px,4.2vw,52px);font-weight:800;letter-spacing:-.01em;margin-bottom:16px;}
.page-hero .desc{font-size:16px;line-height:1.6;color:var(--text-2);max-width:640px;}
.kpi-row{display:flex;gap:0;margin-top:40px;flex-wrap:wrap;}
.kpi-item{padding-right:44px;margin-right:44px;border-right:1px solid var(--border);}
.kpi-item:last-child{border-right:none;}
.kpi-item b{font-size:30px;font-weight:800;color:var(--gold);display:block;margin-bottom:4px;}
.kpi-item span{font-size:12.5px;color:var(--text-3);}

/* ---- filters bar (catalog pages) ---- */
.filters-bar{display:flex;align-items:center;gap:14px;padding:22px 26px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02);margin-bottom:24px;flex-wrap:wrap;}
.filters-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--text-3);text-transform:uppercase;display:flex;align-items:center;gap:8px;flex-shrink:0;}
.filter-select{height:48px;padding:0 18px;border-radius:9px;border:1px solid var(--border-2);background:var(--panel);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;appearance:none;display:flex;align-items:center;gap:10px;position:relative;}
select.filter-select{-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23D8A35F' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:38px;}
.reset-link{font-size:12.5px;color:var(--gold);font-weight:600;cursor:pointer;margin-left:auto;}
.reset-link:hover{text-decoration:underline;}

.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px;}
.catalog-count{font-size:14px;color:var(--text-2);font-weight:600;}
.catalog-count b{color:var(--gold);}
.toolbar-right{display:flex;align-items:center;gap:14px;}
.view-toggle{display:flex;border:1px solid var(--border-2);border-radius:8px;overflow:hidden;}
.view-toggle button{padding:9px 14px;background:transparent;border:none;color:var(--text-3);font-size:12.5px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;}
.view-toggle button.active{background:var(--gold);color:#0A0A0A;}
.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--border-2);border-radius:8px;padding:0 14px;height:40px;background:var(--panel);}
.search-box input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:190px;}
.search-box svg{width:15px;height:15px;color:var(--text-3);flex-shrink:0;}

/* ---- catalog grid + case card ---- */
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.catalog-grid.list-view{grid-template-columns:1fr;}
.catalog-grid.list-view .cat-card{flex-direction:row;height:auto;}
.catalog-grid.list-view .cat-media{width:280px;height:auto;flex-shrink:0;}
.catalog-grid.list-view .cat-body{flex:1;}

.cat-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;height:560px;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;position:relative;}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px -24px rgba(216,163,95,.22);border-color:rgba(216,163,95,.4);}
.cat-media{height:220px;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#101a24,#0a0f16);}
.cat-media svg{width:60px;height:60px;color:rgba(216,163,95,.5);transition:transform .3s ease;position:relative;z-index:2;}
.cat-card:hover .cat-media svg{transform:scale(1.08);}
.cat-media img.cat-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .3s ease;}
.cat-card:hover .cat-media img.cat-photo{transform:scale(1.04);}
.cat-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,17,24,.9) 100%);}
.cat-badge{position:absolute;top:16px;left:16px;z-index:3;font-size:10.5px;font-weight:700;letter-spacing:.08em;padding:6px 12px;border-radius:6px;background:rgba(7,17,27,.72);border:1px solid var(--border-2);color:var(--gold);text-transform:uppercase;}
.cat-body{padding:22px 24px;display:flex;flex-direction:column;flex:1;}
.cat-body h3{font-size:19px;font-weight:800;line-height:1.28;margin-bottom:10px;}
.cat-body p{font-size:13px;line-height:1.5;color:var(--text-3);flex:1;}
.cat-metrics{display:flex;gap:20px;padding-top:16px;border-top:1px solid var(--border);margin-top:14px;}
.cat-metrics .cm{flex:1;}
.cat-metrics .cm b{font-size:19px;font-weight:800;color:var(--gold);display:block;}
.cat-metrics .cm span{font-size:10px;color:var(--text-3);}
.cat-arrow{position:absolute;right:20px;bottom:20px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:.22s ease;z-index:4;}
.cat-card:hover .cat-arrow{background:var(--gold);border-color:var(--gold);color:#0A0A0A;transform:translateX(2px);}
.cat-overlay{position:absolute;left:0;right:0;bottom:0;background:rgba(7,12,18,.88);backdrop-filter:blur(10px);padding:20px 24px;transform:translateY(100%);transition:transform .3s ease;z-index:5;border-top:1px solid var(--border-2);}
.cat-card:hover .cat-overlay{transform:translateY(0);}
.cat-overlay .row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);margin-bottom:6px;}
.cat-overlay .row b{color:var(--text);font-weight:600;}
.show-more-wrap{display:flex;justify-content:center;margin-top:56px;}
.show-more-btn{width:320px;height:56px;border-radius:10px;border:1px solid var(--border-2);background:transparent;color:var(--text);font-size:13.5px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:.25s ease;display:flex;align-items:center;justify-content:center;gap:10px;}
.show-more-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ---- case detail page ---- */
.case-hero{padding:150px 0 50px;}
.case-hero .meta-line{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--border);}
.case-hero .meta-item{font-size:12.5px;color:var(--text-3);}
.case-hero .meta-item b{color:var(--gold);font-weight:700;display:block;font-size:14px;margin-top:2px;}
.case-hero h1{font-size:clamp(30px,3.6vw,46px);font-weight:800;line-height:1.2;margin:14px 0 18px;max-width:900px;}
.case-hero .lede{font-size:17px;line-height:1.6;color:var(--text-2);max-width:760px;}
.case-tagline{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;}

.case-section{padding:64px 0;border-top:1px solid var(--border);}
.case-section h2{font-size:clamp(24px,2.6vw,34px);font-weight:800;margin-bottom:20px;letter-spacing:-.01em;text-transform:uppercase;}
.case-section .lead-highlight{font-weight:700;color:var(--gold);}
.case-two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.case-block-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin-bottom:14px;}
.plain-list{list-style:none;display:flex;flex-direction:column;gap:12px;}
.plain-list li{font-size:14.5px;line-height:1.55;color:var(--text-2);padding-left:18px;position:relative;}
.plain-list li::before{content:'—';position:absolute;left:0;color:var(--text-3);}
.check-list{list-style:none;display:flex;flex-direction:column;gap:12px;}
.check-list li{font-size:14.5px;line-height:1.5;color:var(--text-2);display:flex;gap:10px;align-items:flex-start;}
.check-list svg{width:17px;height:17px;color:var(--gold);flex-shrink:0;margin-top:2px;}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;}
.tag-pill{font-size:12.5px;font-weight:600;padding:8px 16px;border-radius:20px;border:1px solid var(--border-2);color:var(--text-2);background:rgba(255,255,255,.02);}

.process-strip{display:flex;gap:0;overflow-x:auto;padding-bottom:10px;}
.process-step{flex:1;min-width:190px;padding-right:26px;position:relative;}
.process-step:not(:last-child)::after{content:'→';position:absolute;right:6px;top:2px;color:var(--text-3);}
.process-step .n{font-size:11px;font-weight:700;color:var(--gold);margin-bottom:8px;}
.process-step p{font-size:13px;color:var(--text-2);line-height:1.4;}

.metrics-grid{display:flex;gap:20px;flex-wrap:wrap;}
.metric-card{flex:1;min-width:150px;padding:28px 22px;border-radius:14px;background:var(--panel);border:1px solid var(--border);text-align:left;}
.metric-card b{font-size:34px;font-weight:800;color:var(--gold);display:block;margin-bottom:8px;}
.metric-card span{font-size:12.5px;color:var(--text-3);}

.before-after{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;}
.ba-col h4{font-size:13px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;}
.ba-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ba-col li{font-size:13.5px;color:var(--text-2);line-height:1.4;padding:10px 14px;border-radius:8px;background:rgba(255,255,255,.02);border:1px solid var(--border);}
.ba-arrow{color:var(--gold);font-size:22px;}

.result-cta{margin-top:20px;padding:44px;border-radius:20px;background:rgba(216,163,95,.06);border:1px solid rgba(216,163,95,.3);text-align:center;}
.result-cta p{font-size:20px;font-weight:600;line-height:1.5;max-width:760px;margin:0 auto 26px;}
.result-cta .lead-highlight{color:var(--gold);}

/* ---- about / competencies page ---- */
.about-hero{padding:150px 0 60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-hero h1{font-size:clamp(34px,4.4vw,54px);font-weight:800;letter-spacing:-.01em;margin:14px 0 18px;}
.about-hero p.desc{font-size:16px;line-height:1.6;color:var(--text-2);max-width:520px;margin-bottom:20px;}
.hint-line{font-size:13px;color:var(--text-3);display:flex;align-items:center;gap:8px;}
.hint-line .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0;}

.network-box{position:relative;height:380px;border-radius:20px;border:1px solid var(--border);background:radial-gradient(circle at 60% 45%,rgba(216,163,95,.08),transparent 60%),var(--panel);overflow:hidden;}
.net-node{position:absolute;padding:8px 14px;border-radius:20px;border:1px solid var(--border-2);background:rgba(11,18,26,.7);font-size:12px;font-weight:600;color:var(--text-2);transition:.25s ease;cursor:default;}
.net-node:hover{border-color:var(--gold);color:var(--gold);background:rgba(216,163,95,.1);}
.net-node.core{background:var(--gold);color:#0A0A0A;font-weight:800;border-color:var(--gold);}
.net-line{position:absolute;background:linear-gradient(90deg,rgba(216,163,95,.35),rgba(216,163,95,.05));height:1px;transform-origin:left center;}

.timeline{position:relative;padding-left:44px;margin-top:20px;}
.timeline::before{content:'';position:absolute;left:11px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg,var(--gold),rgba(216,163,95,.15));}
.tl-item{position:relative;margin-bottom:56px;}
.tl-dot{position:absolute;left:-44px;top:6px;width:23px;height:23px;border-radius:50%;border:2px solid var(--gold);background:var(--bg);display:flex;align-items:center;justify-content:center;}
.tl-dot::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--gold);}
.tl-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:40px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:36px;}
.tl-col-1 .tl-num{font-size:38px;font-weight:800;color:var(--gold);line-height:1;margin-bottom:10px;}
.tl-col-1 .tl-period{font-size:12.5px;color:var(--text-3);font-weight:600;margin-bottom:14px;}
.tl-col-1 h3{font-size:19px;font-weight:800;line-height:1.28;margin-bottom:10px;}
.tl-col-1 p{font-size:13px;color:var(--text-3);line-height:1.5;}
.tl-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase;margin-bottom:14px;}
.tl-companies{display:flex;flex-direction:column;gap:12px;}
.tl-company{font-size:15px;font-weight:700;}
.tl-company span{display:block;font-size:11.5px;font-weight:500;color:var(--text-3);margin-top:2px;}
.tl-tags{display:flex;flex-wrap:wrap;gap:8px;}
.tl-tags span{font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:16px;border:1px solid var(--border-2);color:var(--text-2);}
.tl-result{display:flex;flex-direction:column;gap:12px;}
.tl-result .ic{width:38px;height:38px;border-radius:9px;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--gold);}
.tl-result .ic svg{width:18px;height:18px;}
.tl-result-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;}
.tl-result p{font-size:14.5px;line-height:1.5;color:var(--text-2);}

.unify-panel{margin-top:50px;padding:46px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid var(--border);}
.unify-panel h2{font-size:26px;font-weight:800;margin-bottom:14px;text-transform:uppercase;}
.unify-panel p{font-size:14.5px;color:var(--text-2);line-height:1.6;max-width:640px;margin-bottom:34px;}
.flow-strip{display:flex;align-items:center;gap:6px;overflow-x:auto;margin-bottom:30px;}
.flow-step{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:78px;}
.flow-step .fic{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);}
.flow-step .fic svg{width:19px;height:19px;}
.flow-step.gold .fic{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}
.flow-step.gold span{color:var(--gold);}
.flow-step span{font-size:11px;color:var(--text-3);text-align:center;}
.flow-arrow{color:var(--text-3);font-size:14px;flex-shrink:0;}

/* ---- companies logos (bigger) ---- */
.logo-strip-wrap{position:relative;overflow:hidden;padding:28px 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.logo-track{display:flex;gap:88px;align-items:center;width:max-content;cursor:grab;user-select:none;will-change:transform;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.logo-item{display:flex;align-items:center;gap:10px;height:50px;flex-shrink:0;filter:grayscale(1) brightness(1.4) opacity(.55);transition:filter .25s ease, transform .25s ease;cursor:pointer;font-weight:700;font-size:29px;color:var(--text);white-space:nowrap;padding:14px 10px;border-radius:12px;border:1px solid transparent;}
.logo-item svg{width:32px;height:32px;flex-shrink:0;}
.logo-item:hover, .logo-item.active{filter:none;transform:scale(1.05);}
.logo-item.active{border-color:var(--gold);background:rgba(216,163,95,.06);padding:14px 22px;}
.logo-item .sub{font-size:14px;font-weight:500;color:var(--text-3);display:block;}

/* ---- article / blog ---- */
.article-hero{padding:150px 0 40px;}
.article-hero .article-meta{display:flex;gap:16px;align-items:center;margin-top:20px;font-size:12.5px;color:var(--text-3);}
.article-hero h1{font-size:clamp(28px,3.6vw,44px);font-weight:800;line-height:1.25;margin:16px 0;max-width:820px;}
.article-cover{height:420px;border-radius:20px;overflow:hidden;position:relative;margin:20px 0 50px;background:linear-gradient(160deg,#101a24,#0a0f16);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);}
.article-cover svg{width:80px;height:80px;color:rgba(216,163,95,.45);}
.article-body{max-width:760px;margin:0 auto;font-size:16.5px;line-height:1.75;color:var(--text-2);}
.article-body h2{font-size:26px;font-weight:800;color:var(--text);margin:44px 0 18px;}
.article-body h3{font-size:20px;font-weight:700;color:var(--text);margin:32px 0 14px;}
.article-body p{margin-bottom:20px;}
.article-body ul{margin:0 0 20px 20px;}
.article-body li{margin-bottom:10px;}
.article-body blockquote{border-left:2px solid var(--gold);padding-left:22px;margin:30px 0;font-size:18px;font-style:italic;color:var(--text);}
.article-share{max-width:760px;margin:50px auto 0;padding-top:30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}

/* ---- reviews ---- */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.review-card{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:20px;transition:.25s ease;position:relative;}
.review-card:hover{transform:translateY(-5px);border-color:rgba(216,163,95,.35);box-shadow:0 24px 50px -24px rgba(216,163,95,.18);}
.review-quote-mark{color:var(--gold);font-size:34px;font-weight:800;line-height:1;}
.review-text{font-size:14.5px;line-height:1.6;color:var(--text-2);flex:1;}
.review-person{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--border);}
.review-avatar{width:44px;height:44px;border-radius:50%;background:var(--gold-dim);color:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0;}
.review-person b{font-size:13.5px;display:block;}
.review-person span{font-size:11.5px;color:var(--text-3);}
.review-read{position:absolute;top:28px;right:28px;font-size:11px;color:var(--text-3);}

/* ---- footer ---- */
.contact-section{padding:80px 0 0;border-top:1px solid var(--border);}
.contact-panel{padding:52px;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid var(--border);display:grid;grid-template-columns:1.2fr 1fr auto;gap:46px;align-items:center;}
.contact-panel h2{font-size:30px;font-weight:800;line-height:1.25;margin-bottom:14px;}
.contact-panel .desc{font-size:14.5px;color:var(--text-3);line-height:1.55;margin-bottom:24px;max-width:420px;}
.contact-list{display:flex;flex-direction:column;gap:18px;}
.contact-row{display:flex;align-items:center;gap:14px;}
.contact-row .ic{width:38px;height:38px;border-radius:9px;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.contact-row .ic svg{width:17px;height:17px;}
.contact-row b{font-size:14.5px;font-weight:600;display:block;}
.contact-row span{font-size:11.5px;color:var(--text-3);}
.vcard-box{padding:26px;border-radius:16px;border:1px solid var(--gold);background:rgba(216,163,95,.06);display:flex;flex-direction:column;gap:14px;min-width:230px;}
.vcard-box .vc-top{display:flex;gap:12px;align-items:center;}
.vcard-box .vc-top .ic{width:34px;height:34px;border-radius:8px;background:var(--gold);color:#0A0A0A;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vcard-box .vc-top b{font-size:14px;}
.vcard-box .vc-top span{font-size:11px;color:var(--text-3);}
.vcard-btn{padding:12px;border-radius:8px;background:#0A0A0A;border:1px solid var(--border-2);color:var(--text);font-size:12.5px;font-weight:700;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s ease;}
.vcard-btn:hover{border-color:var(--gold);}
footer{margin-top:60px;padding:34px 0 40px;border-top:1px solid var(--border);}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.footer-nav{display:flex;gap:26px;flex-wrap:wrap;}
.footer-nav a{font-size:13px;color:var(--text-2);}
.footer-nav a:hover{color:var(--gold);}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:var(--text-2);transition:.2s ease;}
.footer-social a:hover{background:var(--gold);color:#0A0A0A;}
.footer-bottom{display:flex;justify-content:space-between;margin-top:22px;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-3);}
.footer-bottom a{color:var(--text-3);}
.footer-bottom a:hover{color:var(--gold);}

/* ---- responsive ---- */
@media (max-width:1100px){
  :root{--pad:36px;}
  nav.main-nav{display:none;}
  .catalog-grid{grid-template-columns:repeat(2,1fr);}
  .about-hero{grid-template-columns:1fr;}
  .tl-card{grid-template-columns:1fr 1fr;}
  .case-two-col{grid-template-columns:1fr;}
  .contact-panel{grid-template-columns:1fr;}
  .review-grid{grid-template-columns:repeat(2,1fr);}
  .before-after{grid-template-columns:1fr;}
}
@media (max-width:640px){
  :root{--pad:22px;}
  .catalog-grid{grid-template-columns:1fr;}
  .tl-card{grid-template-columns:1fr;padding:28px;}
  .kpi-row{gap:20px;}
  .kpi-item{padding-right:20px;margin-right:20px;}
  .review-grid{grid-template-columns:1fr;}
  .filters-bar{flex-direction:column;align-items:stretch;}
}


/* ---- homepage: hero, stats, tasks accordion, companies ---- */

/* ---- hero (home only) ---- */
.hero{padding-top:78px;display:flex;align-items:stretch;min-height:100vh;max-width:var(--container);margin:0 auto;}
.hero-left{width:44%;flex-shrink:0;padding-left:var(--pad);padding-right:32px;display:flex;flex-direction:column;justify-content:center;padding-top:40px;padding-bottom:40px;}
.hero h1{font-weight:800;font-size:clamp(34px,3.9vw,50px);line-height:1.14;letter-spacing:-.01em;margin-bottom:26px;}
.hero h1 .white-line{color:var(--text);display:block;}
.hero h1 .gold-line{color:var(--gold);display:block;}
.hero-sub{font-size:17px;line-height:1.5;color:var(--text);max-width:440px;margin-bottom:16px;}
.hero-desc{font-size:14.5px;line-height:1.6;color:var(--text-3);max-width:420px;margin-bottom:30px;}
.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;}
.hero-right{width:56%;position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:100%;}
.photo-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse 700px 500px at 70% 20%, rgba(30,45,60,.35), transparent 60%),radial-gradient(ellipse 500px 600px at 95% 70%, rgba(216,163,95,.06), transparent 65%);}
.portrait-img{position:relative;height:88vh;max-height:760px;width:auto;object-fit:cover;object-position:top;display:block;filter:saturate(1.02);}
.quote-card{position:absolute;right:0;bottom:14%;max-width:270px;padding:26px 24px;background:rgba(9,15,22,.58);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--border-2);border-radius:14px;box-shadow:0 24px 60px -18px rgba(0,0,0,.65);z-index:5;}
.quote-card .mark{color:var(--gold);font-size:30px;font-weight:800;line-height:1;display:block;margin-bottom:8px;}
.quote-card p{font-size:14.5px;line-height:1.55;color:var(--text-2);}
.stats-panel{border-top:1px solid var(--border);}
.stats-row{display:flex;padding:34px 0;gap:8px;}
.stat-item{flex:1;display:flex;align-items:flex-start;gap:12px;padding-right:14px;}
.stat-icon{width:20px;height:20px;color:var(--gold);flex-shrink:0;margin-top:2px;}
.stat-num{font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.01em;}
.stat-label{font-size:12.5px;color:var(--text-3);line-height:1.4;margin-top:3px;max-width:150px;}
.stat-item.text-only .stat-label{font-size:12.5px;line-height:1.5;max-width:190px;margin-top:0;}

/* ---- tasks accordion (home only) ---- */
.tasks-section{padding:130px 0 90px;border-top:1px solid var(--border);}
.task-card{flex:0 0 400px;scroll-snap-align:start;background:var(--panel);border:1px solid var(--border);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease;position:relative;}
.task-card:hover{border-color:rgba(216,163,95,.4);box-shadow:0 20px 50px -20px rgba(216,163,95,.15);transform:translateY(-3px);}
.task-top{padding:32px 30px 20px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-shrink:0;cursor:pointer;}
.task-top h3{font-size:26px;font-weight:800;line-height:1.2;}
.task-toggle{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--text-3);transition:transform .25s ease;}
.task-card.open .task-toggle{transform:rotate(180deg);color:var(--gold);border-color:var(--gold);}
.task-body{padding:0 30px;flex:1;display:flex;flex-direction:column;}
.approach-label{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-bottom:16px;opacity:0;transition:opacity .3s ease;}
.task-card.open .approach-label{opacity:1;}
.roadmap{list-style:none;position:relative;flex:1;}
.roadmap li{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;opacity:0;transform:translateX(-8px);transition:opacity .35s ease, transform .35s ease;}
.task-card.open .roadmap li{opacity:1;transform:translateX(0);}
.roadmap .num{width:26px;height:26px;border-radius:50%;border:1px solid var(--border-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gold);background:var(--panel);position:relative;z-index:2;}
.roadmap li span.txt{font-size:13.5px;line-height:1.4;color:var(--text-2);padding-top:5px;}
.task-bottom{padding:22px 30px 30px;background:var(--gold);flex-shrink:0;}
.result-label{font-size:11px;font-weight:700;letter-spacing:.12em;color:#0A0A0A;text-transform:uppercase;margin-bottom:8px;opacity:.75;}
.result-text{font-size:19px;font-weight:700;color:#0A0A0A;}
.tasks-footer{margin-top:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:30px 36px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--border);backdrop-filter:blur(10px);}
.tasks-footer p{font-size:16px;font-weight:500;max-width:520px;line-height:1.4;}

/* ---- companies panel (home only) ---- */
.companies-section{padding:90px 0;border-top:1px solid var(--border);}
.company-panel{margin-top:8px;max-width:1000px;padding:34px;border-radius:20px;background:rgba(11,18,24,.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-2);display:none;grid-template-columns:1.1fr 1fr;gap:40px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);}
.company-panel.show{display:grid;}
.cp-name{font-size:24px;font-weight:800;margin-bottom:12px;}
.cp-badges{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.cp-badge{font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:20px;border:1px solid var(--border-2);color:var(--text-2);}
.cp-desc{font-size:14px;line-height:1.6;color:var(--text-2);margin-bottom:20px;}
.cp-stats{display:flex;gap:24px;}
.cp-stat b{font-size:20px;font-weight:800;display:block;}
.cp-stat span{font-size:11.5px;color:var(--text-3);}
.cp-role-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;margin-bottom:6px;}
.cp-role{font-size:15px;font-weight:600;margin-bottom:20px;}
.cp-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
.cp-list li{display:flex;gap:10px;font-size:13.5px;color:var(--text-2);align-items:flex-start;}
.cp-list svg{width:15px;height:15px;color:var(--gold);flex-shrink:0;margin-top:2px;}
.companies-stats{display:flex;justify-content:space-between;margin-top:56px;padding-top:40px;border-top:1px solid var(--border);flex-wrap:wrap;gap:24px;}
.cstat b{font-size:32px;font-weight:800;color:var(--gold);display:block;margin-bottom:6px;}
.cstat span{font-size:13px;color:var(--text-3);}

.home-preview-track .cat-card{flex:0 0 360px;}
.home-blog-track .cat-card{flex:0 0 260px;height:400px;}

@media (max-width:1100px){
  .hero{
    display:grid;
    grid-template-columns:110px 1fr;
    grid-template-areas:
      "photo heading"
      "sub sub"
      "desc desc"
      "buttons buttons";
    column-gap:16px;
    row-gap:14px;
    align-items:start;
    padding:calc(78px + 24px) var(--pad) 40px;
    min-height:auto;
  }
  .hero-left{display:contents;}
  .hero h1{grid-area:heading;align-self:center;margin-bottom:0;}
  .hero-sub{grid-area:sub;margin-bottom:0;}
  .hero-desc{grid-area:desc;margin-bottom:0;}
  .hero-buttons{grid-area:buttons;margin-bottom:0;}
  .hero-right{
    grid-area:photo;
    width:100%;
    padding:0;
    min-height:0;
    display:block;
  }
  .photo-atmosphere{display:none;}
  .portrait-img{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:top;
    border-radius:12px;
    display:block;
  }
  .quote-card{
    position:static;
    width:100%;
    margin:10px 0 0;
    border-radius:12px;
    padding:14px 16px;
  }
  .quote-card .mark{font-size:22px;margin-bottom:4px;}
  .quote-card p{font-size:12.5px;line-height:1.45;}
  .stats-row{flex-wrap:wrap;}
  .stat-item{flex:1 1 45%;margin-bottom:18px;}
  .company-panel{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .hero{grid-template-columns:88px 1fr;}
  .hero h1{font-size:26px;}
  .quote-card p{font-size:11.5px;}
  .hero-buttons{flex-direction:column;}
  .btn-primary,.btn-secondary{width:100%;text-align:center;justify-content:center;}
  .stat-item{flex:1 1 100%;}
  .task-card{flex:0 0 88vw;height:auto;}
  .companies-stats{justify-content:flex-start;gap:36px;}
}

/* ---- artifacts block (case artifacts gallery + lightbox) ---- */
.artifacts-section{padding:70px 0;border-top:1px solid var(--border);}
.artifacts-head{margin-bottom:32px;max-width:640px;}
.artifacts-head h2{font-size:clamp(24px,2.8vw,34px);font-weight:800;letter-spacing:-.01em;margin-top:4px;}
.artifacts-head h2 .accent{color:var(--gold);}
.artifacts-head p{font-size:13.5px;color:var(--text-3);margin-top:10px;}
.artifacts-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;cursor:grab;scrollbar-width:none;}
.artifacts-track::-webkit-scrollbar{display:none;}
.artifact-item{flex:0 0 420px;scroll-snap-align:start;border-radius:16px;overflow:hidden;border:1px solid var(--border);cursor:zoom-in;background:var(--panel);transition:border-color .25s ease, transform .25s ease;position:relative;height:520px;}
.artifact-item:hover{border-color:rgba(216,163,95,.4);transform:translateY(-3px);}
.artifact-item img{width:100%;height:100%;object-fit:cover;display:block;}
.artifact-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:rgba(216,163,95,.5);background:linear-gradient(160deg,#101a24,#0a0f16);padding:30px;text-align:center;}
.artifact-placeholder svg{width:48px;height:48px;flex-shrink:0;}
.artifact-placeholder span{font-size:12px;color:var(--text-3);max-width:260px;line-height:1.5;}

.lightbox-overlay{position:fixed;inset:0;background:rgba(4,7,10,.92);z-index:999;display:none;align-items:center;justify-content:center;padding:40px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.lightbox-overlay.open{display:flex;}
.lightbox-overlay img{max-width:90vw;max-height:88vh;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7);object-fit:contain;}
.lightbox-close{position:absolute;top:26px;right:30px;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-2);background:rgba(255,255,255,.06);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease;}
.lightbox-close:hover{border-color:var(--gold);color:var(--gold);}
@media (max-width:640px){
  .artifact-item{flex:0 0 82vw;height:420px;}
}

/* ---- interactive hover-expand steps ("Что было сделано") ---- */
.hsteps-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:24px;}
.hsteps-row{display:flex;align-items:flex-start;overflow-x:auto;padding:36px 4px 44px;scrollbar-width:thin;}
.hstep{
  position:relative;flex:1 1 0%;min-width:150px;padding:0 22px;cursor:pointer;
  transition:flex-grow .45s cubic-bezier(.22,1,.36,1);
}
.hstep:first-child{padding-left:4px;}
.hstep:not(:last-child)::after{
  content:'';position:absolute;top:8px;right:2px;width:12px;height:12px;
  border-top:1.5px solid var(--text-3);border-right:1.5px solid var(--text-3);
  transform:rotate(45deg);opacity:.6;
}
.hstep-num{
  font-size:13px;font-weight:800;color:var(--gold);margin-bottom:14px;line-height:1;
  transition:font-size .45s cubic-bezier(.22,1,.36,1);transform-origin:left top;display:block;
}
.hstep-title{
  font-size:14px;font-weight:600;color:var(--text);line-height:1.4;
  transition:font-size .45s cubic-bezier(.22,1,.36,1);
}
.hstep-detail{
  max-height:0;opacity:0;overflow:hidden;font-size:13.5px;color:var(--text-2);line-height:1.6;
  margin-top:0;transition:max-height .45s cubic-bezier(.22,1,.36,1), opacity .3s ease, margin-top .45s ease;
}
.hstep:hover,
.hstep.is-open{
  flex:2.4 1 0%;
}
.hstep:hover .hstep-num,
.hstep.is-open .hstep-num{ font-size:39px; } /* 13px × 3 */
.hstep:hover .hstep-title,
.hstep.is-open .hstep-title{ font-size:28px; } /* 14px × 2 */
.hstep:hover .hstep-detail,
.hstep.is-open .hstep-detail{ max-height:220px; opacity:1; margin-top:16px; }

@media (prefers-reduced-motion: reduce){
  .hstep, .hstep-num, .hstep-title, .hstep-detail{ transition:none; }
}
@media (max-width:900px){
  .hsteps-row{padding:28px 4px 32px;}
  .hstep{min-width:120px;padding:0 14px;}
  .hstep:hover .hstep-title,
  .hstep.is-open .hstep-title{ font-size:20px; }
  .hstep:hover .hstep-num,
  .hstep.is-open .hstep-num{ font-size:32px; }
}

/* ---- metric-name grid (used where actual figures are confidential) ---- */
.metric-name-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:22px;}
.metric-name-cell{
  border:1px solid var(--border-2);border-radius:10px;padding:16px 14px;text-align:center;
  font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--text);background:rgba(255,255,255,.02);
  transition:border-color .2s ease, color .2s ease;
}
.metric-name-cell:hover{border-color:var(--gold);color:var(--gold);}
.confidential-note{
  font-size:12.5px;color:var(--text-3);line-height:1.6;margin-top:20px;padding-top:16px;
  border-top:1px solid var(--border);max-width:640px;
}

/* ---- clickable contact rows / footer social (email, telegram, phone, Setka) ---- */
.contact-row{transition:opacity .2s ease;}
.contact-row:hover{opacity:.85;}
.contact-row:hover .ic{border-color:var(--gold);color:var(--gold);}
.contact-row:hover b{color:var(--gold);}
