:root {
  --wine:#8f1117;
  --wine-dark:#5c090d;
  --red:#b51a21;
  --gold:#c99a3b;
  --gold-soft:#e2c16d;
  --gold-line:1px;
  --ink:#17191c;
  --muted:#4f5459;
  --paper:#fffdf9;
  --warm:#f7f3ed;
  --line:#d7c49d;
  --shadow:0 14px 34px rgba(45,35,25,.10);
  --content:1540px;
  --header-height:70px;
}
/* Software showcase and survey share the site's existing brand and themes. */
.software{background:var(--warm)}
.software-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;margin-bottom:32px}
.software-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--wine);margin:0 0 12px}
.software-intro h3{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:0 0 16px;letter-spacing:-.035em}
.software-product-title{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:16px}
.software-product-title>img{width:64px;height:64px;margin-top:3px}
@media(max-width:480px){.software-product-title{grid-template-columns:52px minmax(0,1fr);gap:12px}.software-product-title>img{width:52px;height:52px}}
.software-intro p:not(.software-kicker){color:var(--muted);max-width:680px}
.software-intro .software-lead{font-size:21px;line-height:1.4;color:var(--ink)}
.software-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.software-route{min-width:0;align-self:start;padding:26px 28px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 15px 34px rgba(45,35,25,.07)}
.software-route-heading{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.software-route-heading img{width:48px;height:48px;flex:none}
.software-route-eyebrow{display:block;color:var(--wine);font-size:10px;font-weight:800;letter-spacing:.12em}
.software-route-heading h4{margin:7px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.18;font-weight:500}
.software-route-steps{list-style:none;margin:22px 0;padding:0;display:grid;gap:22px}
.software-route-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;position:relative;min-width:0}
.software-route-steps li:not(:last-child)::after{content:"";position:absolute;top:31px;bottom:-14px;left:16px;width:1px;background:linear-gradient(var(--line),transparent)}
.software-step-number{display:grid;place-items:center;align-self:start;width:34px;height:30px;color:var(--wine);border:1px solid var(--line);background:var(--warm);font-size:17px;font-family:Georgia,serif}
.software-route strong{font-size:16px;line-height:1.35}.software-route p{font-size:14px;line-height:1.6;margin:6px 0 0}
.software-route-result{padding:14px 16px;background:var(--warm);border-left:2px solid var(--gold)}
.software-route-result>span{display:block;font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--wine)}
.software-route-result p{font-size:13px;margin-top:5px}
.software-route .software-route-note{margin-top:16px;font-size:12px;line-height:1.6}
.software-demo-shell{border:1px solid var(--line);background:var(--paper);overflow:hidden;border-radius:8px}
.software-demo-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 24px;border-bottom:1px solid var(--line)}
.software-demo-heading strong{font-size:18px}.software-demo-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}
.software-demo-heading>a{font-weight:700;color:var(--wine);font-size:13px;white-space:nowrap}
.software-demo-placeholder{min-height:285px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:36px 24px;background:var(--paper)}
.software-demo-placeholder p{font-size:22px;font-weight:700;margin:18px 0}.software-demo-placeholder small{margin-top:16px;color:var(--muted)}
.software-knowledge{padding:24px 28px;margin:26px 0;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--paper)}
.software-knowledge h3{margin:0 0 12px;font-size:22px}.software-knowledge p{font-size:14px;line-height:1.75;max-width:1050px}.software-knowledge p:last-child{margin-bottom:0}
html[data-theme="dark"] .software-knowledge{background:linear-gradient(135deg,#24282d,#1b2025);color:#eef0f2;border-color:#665331}html[data-theme="dark"] .software-knowledge p{color:#c4c9ce}
.rail-mark{height:98px;width:98px;display:grid;place-items:center}
.rail-mark img{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.software-demo-shell iframe{border:0;width:100%;height:850px;display:block;background:#f4f5f6}
.software-demo-shell iframe[hidden]{display:none}
.software-conference{margin:30px 0 50px;padding:24px 28px;border-left:3px solid var(--gold);background:var(--paper)}
.software-conference h3{max-width:1000px;margin:0 0 12px;font-size:20px;line-height:1.4}.software-conference p:last-child{font-size:14px;margin:0;color:var(--muted)}
.software-survey-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.4fr);align-items:start;gap:44px}
.software-survey-copy h3{margin:0 0 22px;font-size:29px;line-height:1.23;letter-spacing:-.025em}.software-survey-copy p:not(.software-kicker){color:var(--muted)}
.software-survey-copy a{color:var(--wine);text-decoration:underline;overflow-wrap:anywhere}
.software-priorities{min-width:0;padding:20px 0;margin:12px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.software-priorities legend{font-size:15px;font-weight:800;padding:0 8px 0 0}.software-priorities>p{font-size:13px;color:var(--muted);margin:0 0 14px}
.software-research{margin:22px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.software-research summary{cursor:pointer;font-weight:800;font-size:15px;margin-bottom:16px}.software-research summary span{display:inline-block;margin-left:8px;font-size:12px;font-weight:400}
.software-export-options{border:0;padding:20px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:12px 20px}.software-export-options legend{font-size:14px;font-weight:700;margin-bottom:8px}.software-export-options label{display:flex;align-items:center;gap:8px;font-size:14px}.software-export-options input{width:17px;height:17px;accent-color:var(--wine)}
.software a:focus-visible,.software button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
html[data-theme="dark"] .software{background:#181b1e}
html[data-theme="dark"] .software-kicker,html[data-theme="dark"] .software-step-number,html[data-theme="dark"] .software-demo-heading>a,html[data-theme="dark"] .software-survey-copy a{color:#e2c16d}
html[data-theme="dark"] .software-route,html[data-theme="dark"] .software-demo-heading,html[data-theme="dark"] .software-conference,html[data-theme="dark"] .software-demo-placeholder{background:#22262a;color:#eef0f2;border-color:#505153}
html[data-theme="dark"] .software-route{background:radial-gradient(ellipse at 100% 0,rgba(201,154,59,.075),transparent 50%),linear-gradient(145deg,#25292c,#1b1f22);border-color:rgba(201,154,59,.38);border-top-color:var(--gold)}
html[data-theme="dark"] .software-route-heading{border-color:rgba(201,154,59,.3)}
html[data-theme="dark"] .software-route-eyebrow,html[data-theme="dark"] .software-route-result>span{color:var(--gold-soft)}
html[data-theme="dark"] .software-step-number{background:rgba(201,154,59,.06);border-color:rgba(201,154,59,.32)}
html[data-theme="dark"] .software-route-result{background:rgba(201,154,59,.06)}
html[data-theme="dark"] .software-intro p:not(.software-kicker),html[data-theme="dark"] .software-survey-copy p:not(.software-kicker),html[data-theme="dark"] .software-demo-heading p,html[data-theme="dark"] .software-conference p:last-child,html[data-theme="dark"] .software-priorities>p,html[data-theme="dark"] .software-demo-placeholder small{color:#c4c9ce}
html[data-theme="dark"] .software-intro .software-lead{color:#eef0f2}
html[data-theme="dark"] .rail-mark span{background:#e2c16d;box-shadow:0 0 0 2px #22262a}
@media(max-width:1100px){.software-intro{gap:28px}.software-survey-layout{grid-template-columns:1fr;gap:24px}.software-survey-copy{max-width:800px}.desktop-nav{gap:17px}}
@media(max-width:950px){.software-intro{grid-template-columns:1fr;gap:26px}.software-route{padding:24px}.software-intro p:not(.software-kicker){max-width:none}}
@media(max-width:760px){.software{margin-left:14px}.software-intro{grid-template-columns:1fr;gap:22px}.software-route{padding:20px}.software-demo-heading{align-items:flex-start;flex-direction:column;padding:18px}.software-demo-heading>a{white-space:normal}.software-demo-shell iframe{height:1050px}.software-conference{padding:20px;margin-bottom:34px}.software-survey-copy h3{font-size:25px}}
*{box-sizing:border-box}
[hidden]{display:none}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.content-width{width:min(calc(100% - 110px),var(--content));margin-inline:auto}
.section-anchor{scroll-margin-top:calc(var(--header-height) + 14px)}
.skip-link{position:fixed;left:12px;top:8px;z-index:9999;padding:10px 14px;background:#fff;color:#111;border:2px solid var(--gold);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}

.site-header{position:sticky;top:0;z-index:1000;height:var(--header-height);background:rgba(255,253,249,.95);backdrop-filter:blur(14px);border-bottom:var(--gold-line) solid rgba(201,154,59,.42);transition:box-shadow .2s ease}
.site-header.is-scrolled{box-shadow:0 8px 26px rgba(22,20,17,.12)}
.header-inner{height:100%;width:min(calc(100% - 64px),var(--content));margin:auto;display:flex;align-items:center;gap:30px}
.header-brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.header-brand img{width:50px;height:50px;object-fit:contain}
.header-wordmark{font-size:24px;line-height:1;letter-spacing:-.05em;color:#1d2023}
.header-wordmark b{color:var(--wine)}
.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;color:#41464a;font-size:13px;font-weight:700}
.desktop-nav a{position:relative;padding:25px 0 21px}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:14px;height:2px;background:linear-gradient(90deg,var(--wine),var(--gold));transition:right .18s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{right:0}
.header-cta{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;background:var(--ink);color:#fff;border-radius:4px;font-size:13px;font-weight:800;transition:.18s ease}
.header-cta:hover{background:var(--wine);transform:translateY(-1px)}

.page-shell{position:relative;overflow:hidden;background:var(--paper)}
.left-rail{position:absolute;inset:0 auto 0 0;z-index:8;width:54px;background:linear-gradient(180deg,#5d080c,#a1151b 49%,#5d080c);box-shadow:inset -4px 0 0 var(--gold);pointer-events:none}
.left-rail span{position:absolute;left:0;top:390px;width:54px;height:90px;border-top:5px solid var(--gold);transform:skewY(-48deg)}

.hero{position:relative;min-height:630px;padding:42px clamp(70px,7vw,150px) 55px clamp(118px,8vw,180px);background:radial-gradient(circle at 83% 15%,rgba(201,154,59,.06),transparent 25%),linear-gradient(180deg,#fffdf9,#faf7f2);overflow:hidden}
.blueprint{position:absolute;right:-20px;top:0;width:49%;height:355px;background:linear-gradient(90deg,rgba(255,253,249,1),rgba(255,253,249,.20) 34%,rgba(255,253,249,0)),url("assets/blueprint.jpg") center/cover no-repeat;opacity:.60;mix-blend-mode:multiply}
.hero-inner{position:relative;z-index:2;width:min(100%,var(--content));margin:auto}
.brand-large{display:flex;align-items:center;gap:22px}
.brand-large>img{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.22))}
.wordmark{font-size:54px;line-height:1;letter-spacing:-.06em;font-weight:500}.wordmark b{color:var(--wine);font-weight:650}.wordmark span{color:#202327}
.motto{display:flex;align-items:center;gap:13px;margin-top:13px;padding-top:10px;border-top:var(--gold-line) solid #d8c9ad;color:#25282b;font-size:11px;letter-spacing:.27em}.motto i{width:2px;height:12px;background:var(--wine)}
.hero-copy{max-width:920px;margin-top:18px}
.hero-kicker{margin:0 0 5px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.22em}
.hero h1{margin:0;color:#721016;font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,4.4vw,66px);line-height:1.03;letter-spacing:.005em}
.hero h2{margin:8px 0 0;color:#1b1e21;font-size:clamp(25px,2.3vw,35px);line-height:1.16;font-weight:800}
.title-line{width:100%;height:2px;margin:24px 0 18px;background:linear-gradient(90deg,var(--gold) 0 30%,var(--wine) 30% 43%,var(--gold) 43% 100%)}
.intro{max-width:850px;margin:0;color:#363a3e;font-size:17px;line-height:1.72}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn.primary{background:linear-gradient(135deg,#7d0d12,#b21b22);color:#fff;box-shadow:0 12px 24px rgba(143,17,23,.23)}
.btn.primary::after{content:"→";font-size:18px}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(143,17,23,.30)}
.btn.secondary{border-color:var(--gold);background:#fff;color:#24272a}.btn.secondary:hover{background:#fff8eb;transform:translateY(-2px)}
.btn.light{border-color:rgba(255,255,255,.5);background:#fff;color:var(--wine)}

.quick-actions{position:relative;z-index:10;margin-left:54px;background:#17191c;border-top:4px solid var(--gold)}
.quick-actions-grid{min-height:112px;display:grid;grid-template-columns:1fr 1fr auto;align-items:stretch}
.quick-action{display:flex;align-items:center;gap:16px;padding:20px 28px;color:#fff;border-right:var(--gold-line) solid rgba(201,154,59,.38);transition:background .18s ease}
.quick-action:hover{background:#202326}
.quick-action strong{display:block;color:#fff;font-size:15px}.quick-action small{display:block;margin-top:3px;color:#aeb2b5;font-size:12px}
.quick-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-soft)}
.quick-icon svg{width:25px;height:25px}
.quick-social{display:flex;align-items:center;gap:8px;padding:20px 22px}.quick-social a{padding:10px 13px;border:1px solid rgba(201,154,59,.52);color:var(--gold-soft);font-size:12px;font-weight:800;border-radius:3px}.quick-social a:hover{background:var(--wine);color:#fff}

.about-strip{margin-left:54px;display:grid;grid-template-columns:110px 140px 1fr;align-items:center;gap:21px;padding:34px clamp(55px,6vw,120px);background:#fff;border-bottom:var(--gold-line) solid #eee4d4}
.about-icon{width:95px;height:95px;display:grid;place-items:center;color:#e2bf68;background:linear-gradient(135deg,#7f0e13,#a2171d);border:2px solid var(--gold);clip-path:polygon(0 0,78% 0,100% 22%,100% 100%,0 100%);box-shadow:0 8px 18px rgba(78,10,13,.12)}
.about-icon svg{width:58px;height:58px}.about-strip h2{margin:0;color:#851117;font-family:Georgia,"Times New Roman",serif;font-size:29px}.about-strip p{margin:0;padding-top:12px;border-top:var(--gold-line) solid var(--line);color:#353a3e;font-size:15px;line-height:1.68}

.section-block{margin-left:54px;padding:58px 0;background:#fff}
.section-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:28px}.section-title span{height:var(--gold-line);background:var(--gold)}.section-title h2{margin:0;color:#8c1218;font-size:25px;letter-spacing:.02em;white-space:nowrap}

.audience{background:var(--warm)}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.audience-card{position:relative;min-height:185px;display:grid;grid-template-columns:72px 1fr;gap:17px;padding:30px 25px 25px;background:#fff;border:var(--gold-line) solid #d9cdbb;clip-path:polygon(0 0,95% 0,100% 12%,100% 100%,0 100%);box-shadow:var(--shadow)}
.audience-number{position:absolute;left:0;top:0;width:55px;height:55px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#68090d,#991218);border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);font-size:20px}
.audience-icon{width:64px;height:64px;display:grid;place-items:center;align-self:center;color:#b9821f}.audience-icon svg{width:50px;height:50px}.audience-card h3{margin:0 0 10px;color:#17191c;font-size:19px}.audience-card p{margin:0;color:#44494d;font-size:15px}

.services>.content-width{container:service-layout / inline-size}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.service-card{position:relative;min-height:235px;height:100%;display:grid;grid-template-columns:76px minmax(0,1fr);gap:17px;padding:34px 24px 28px;background:linear-gradient(180deg,#fff,#fffdfa);border:var(--gold-line) solid #d9cdbb;clip-path:polygon(0 0,92% 0,100% 11%,100% 100%,0 100%);box-shadow:0 8px 18px rgba(48,39,27,.08)}
.service-card>div:last-child{min-width:0}
.service-card::after{content:"";position:absolute;left:16px;right:16px;bottom:12px;height:var(--gold-line);background:#d9bf82}
.number{position:absolute;left:0;top:0;width:58px;height:58px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#69090d,#951117 62%,#65080c);border-right:2px solid var(--gold);border-bottom:2px solid var(--gold);clip-path:polygon(0 0,78% 0,100% 22%,100% 100%,22% 100%,0 78%);font-size:23px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.service-icon{width:72px;height:82px;margin-top:22px;display:grid;place-items:center;align-self:start}.service-icon img{width:68px;height:68px;object-fit:contain}
.service-card h3{max-width:100%;margin:0 0 12px;color:#17191c;font-size:18px;line-height:1.35;overflow-wrap:anywhere}.service-card p{min-width:0;margin:0;color:#3e4347;font-size:14px;line-height:1.6;overflow-wrap:break-word}
@container service-layout (max-width:1120px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{grid-template-columns:66px minmax(0,1fr);gap:16px;padding:36px 26px 30px}
  .service-icon{width:64px;height:74px}
  .service-icon img{width:62px;height:62px}
}
@container service-layout (max-width:700px){
  .service-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .service-card{min-height:215px;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:42px 24px 32px}
  .service-icon{width:62px;height:70px;margin-top:10px}
  .service-card h3{font-size:18px}
}
@container service-layout (max-width:380px){
  .service-card{display:block;min-height:0;padding:86px 22px 32px}
  .service-icon{position:absolute;top:16px;right:24px;width:54px;height:54px;margin:0}
  .service-icon img{width:54px;height:54px}
  .service-card h3{font-size:18px}
}

.approach{background:#fffdf9;padding-top:45px}
.approach>.content-width{container:approach-layout / inline-size}
.approach-grid{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) 32px minmax(0,1fr);align-items:stretch;overflow:hidden;border:var(--gold-line) solid #d8c9ae;background:linear-gradient(145deg,#fffdf9,#f5f1e9);box-shadow:0 7px 18px rgba(55,42,25,.07)}
.approach-stage{min-width:0;min-height:200px;display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:16px;align-items:start;padding:26px 20px;background:transparent}
.round-icon{grid-column:1;grid-row:1/3;width:80px;height:80px;align-self:center;display:grid;place-items:center}.round-icon img{width:100%;height:100%;object-fit:contain}
.approach-heading{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;margin-top:0}
.approach-heading strong{color:var(--gold);font-weight:700;flex:none}
.approach-heading h3{margin:0;color:var(--ink);font-weight:600;white-space:normal;overflow-wrap:anywhere}
.approach-heading strong,.approach-heading h3{font-size:clamp(20px,2.35cqw,26px);line-height:1.15}
.approach-stage p{grid-column:2;grid-row:2;min-width:0;margin:12px 0 0;color:#3f4347;font-size:14px;line-height:1.6;overflow-wrap:break-word}
.approach-divider{display:block;position:relative;width:32px;min-height:200px;align-self:stretch;background:transparent}
.approach-divider svg{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;overflow:visible}
.approach-divider .approach-divider-horizontal{display:none}
.approach-divider path{fill:none;stroke:#c6a158;stroke-width:1.25;vector-effect:non-scaling-stroke;stroke-linecap:butt;stroke-linejoin:miter}
.approach-note{margin:24px auto 0;max-width:1080px;padding:0 80px;text-align:center;color:#2d3033;font-size:17px;font-weight:600}

/* Respond to the actual panel width, including the app's split browser pane. */
@container approach-layout (max-width:1120px){
  .approach-grid{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}
  .approach-stage{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:12px;padding:24px 14px}
  .approach-heading{grid-column:1/-1;grid-row:1;align-self:start;gap:8px}
  .approach-stage .round-icon{grid-column:1;grid-row:2;width:62px;height:62px;align-self:start;margin-top:20px}
  .approach-stage p{grid-row:2;margin-top:20px;font-size:14px}
  .approach-divider{width:24px}
}
@container approach-layout (max-width:740px){
  .approach-grid{grid-template-columns:minmax(0,1fr)}
  .approach-stage{grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:18px;min-height:150px;padding:24px}
  .approach-stage .round-icon{grid-column:1;grid-row:1/3;width:64px;height:64px;margin-top:0;align-self:center}
  .approach-heading{grid-column:2}
  .approach-stage p{grid-column:2;margin-top:12px}
  .approach-divider{width:100%;height:20px;min-height:0}
  .approach-divider .approach-divider-vertical{display:none}
  .approach-divider .approach-divider-horizontal{display:block}
  .approach-note{padding:0 10px;font-size:15px}
}
@container approach-layout (max-width:380px){
  .approach-stage{grid-template-columns:50px minmax(0,1fr);column-gap:12px;padding:22px 16px}
  .approach-stage .round-icon{width:50px;height:50px}
  .approach-heading{gap:8px}
}

.cta-band{margin-left:54px;padding:45px 0;background:linear-gradient(115deg,#17191c,#24272a 65%,#151719);border-top:4px solid var(--gold);color:#fff}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band p{margin:0;color:var(--gold-soft);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.cta-band h2{margin:6px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:33px;line-height:1.2}.cta-band-actions{display:flex;gap:10px;flex-shrink:0}

.contact-section{margin-left:54px;padding:70px 0 80px;background:var(--warm)}
.contact-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(500px,1.2fr);gap:65px;align-items:start}.contact-kicker{margin:0 0 8px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em}.contact-copy h2{margin:0;color:var(--wine);font-family:Georgia,"Times New Roman",serif;font-size:44px;line-height:1.14}.contact-copy>p{color:#464b4f;font-size:16px}.manager{display:grid;margin:27px 0}.manager strong{font-family:Georgia,"Times New Roman",serif;color:#17191c;font-size:25px}.manager span{color:var(--wine);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.contact-links{display:grid;border-top:var(--gold-line) solid var(--line)}.contact-links a{display:grid;padding:14px 0;border-bottom:var(--gold-line) solid var(--line)}.contact-links small{color:#777b7f;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contact-links strong{font-size:16px}.contact-links a:hover strong{color:var(--wine)}
.messenger-buttons{display:flex;gap:9px;margin-top:20px}.messenger-buttons a{padding:10px 15px;border:1px solid var(--gold);background:#fff;color:var(--wine);font-size:13px;font-weight:800}

.contact-form{position:relative;padding:34px;background:#fff;border:var(--gold-line) solid #d8c9ae;box-shadow:var(--shadow)}.form-heading h3{margin:0;color:var(--wine);font-size:25px}.form-heading p{margin:4px 0 23px;color:#777b7f;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:grid;gap:6px}.form-grid label>span{color:#383d41;font-size:12px;font-weight:800}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cfc5b7;background:#fffdf9;color:#17191c;padding:12px 13px;border-radius:2px;outline:none;transition:border .16s ease,box-shadow .16s ease}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,59,.14)}.form-grid textarea{resize:vertical;min-height:130px}.file-field small{color:#777b7f;font-size:11px}.file-field output{color:var(--wine);font-size:12px;white-space:pre-line}.consent{display:flex;align-items:flex-start;gap:9px;margin-top:18px;color:#555a5e;font-size:12px}.consent input{margin-top:3px}.link-button{border:0;padding:0;background:none;color:var(--wine);font-weight:800;text-decoration:underline}.form-submit{width:100%;min-height:49px;margin-top:18px;border:0;background:linear-gradient(135deg,#7d0d12,#b21b22);color:#fff;font-weight:800}.form-submit:disabled{opacity:.6;cursor:wait}.form-status{min-height:22px;margin:10px 0 0;color:#5a5f63;font-size:13px}.form-status.success{color:#16713d}.form-status.error{color:#9b141a}.spam-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-note{font-size:12px;color:#777}

footer{margin-left:54px;background:#111417;color:#fff;border-top:5px solid var(--gold)}.footer-inner{min-height:112px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand img{width:52px;height:52px;object-fit:contain}.footer-brand span{font-size:23px;color:var(--gold-soft);letter-spacing:-.05em}.footer-brand b{color:#d22129}.footer-inner p{color:#aeb2b5;font-size:13px}.footer-links{display:flex;gap:16px;align-items:center}.footer-links button{border:0;background:none;color:var(--gold-soft)}.footer-links a{color:var(--gold-soft);font-size:13px}

.mobile-action-bar{display:none}
.privacy-dialog{width:min(760px,calc(100% - 28px));max-height:85vh;padding:0;border:1px solid var(--gold);background:#fffdf9;color:#222;box-shadow:0 25px 80px rgba(0,0,0,.35)}.privacy-dialog::backdrop{background:rgba(10,11,12,.72)}.dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:#17191c;color:#fff}.dialog-head h2{margin:0;font-size:22px}.dialog-head button{width:38px;height:38px;border:1px solid var(--gold);background:transparent;color:#fff;font-size:27px}.privacy-content{padding:24px 25px 30px;overflow:auto}.privacy-content h3{margin:22px 0 5px;color:var(--wine);font-size:16px}.privacy-content p{color:#474c50;font-size:14px}.privacy-content a{color:var(--wine);text-decoration:underline}.policy-note{padding:12px;border-left:3px solid var(--gold);background:#fff5df}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:2000;max-width:900px;margin:auto;padding:16px 18px;background:#17191c;color:#fff;border:1px solid var(--gold);box-shadow:0 16px 45px rgba(0,0,0,.35);display:flex;align-items:center;gap:22px;justify-content:space-between}.cookie-banner p{margin:0;color:#d3d5d7;font-size:13px}.cookie-banner p button{border:0;background:none;color:var(--gold-soft);text-decoration:underline}.cookie-banner>div{display:flex;gap:8px}.cookie-banner>div button{min-height:38px;padding:0 12px;border:1px solid var(--gold);background:transparent;color:#fff}.cookie-banner>div button:last-child{background:var(--wine)}

[data-reveal]{opacity:1;transform:none}.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}
:focus-visible{outline:3px solid rgba(201,154,59,.58);outline-offset:3px}

@media(max-width:1050px){
  :root{--header-height:64px}.content-width{width:min(calc(100% - 54px),var(--content))}.desktop-nav{gap:14px}.desktop-nav a{font-size:12px}.hero{padding-left:72px;padding-right:35px}.brand-large>img{width:150px;height:150px}.wordmark{font-size:43px}.about-strip{grid-template-columns:90px 125px 1fr;padding-left:30px;padding-right:30px}.contact-layout{grid-template-columns:1fr;gap:38px}.cta-band-inner{align-items:flex-start}.quick-actions-grid{grid-template-columns:1fr 1fr}.quick-social{grid-column:1/-1;justify-content:center;border-top:1px solid rgba(201,154,59,.3)}
}

@media(max-width:760px){
  body{padding-bottom:64px}.site-header{height:58px}.header-inner{width:calc(100% - 24px)}.header-brand img{width:42px;height:42px}.header-wordmark{font-size:21px}.desktop-nav,.header-cta{display:none}.left-rail{width:14px;box-shadow:inset -2px 0 0 var(--gold)}.left-rail span{display:none}.hero{min-height:auto;padding:20px 14px 30px 30px}.blueprint{right:-30px;width:72%;height:190px;opacity:.36}.brand-large{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px}.brand-large>img{width:105px;height:105px}.wordmark{font-size:clamp(28px,9vw,36px)}.motto{font-size:6.2px;gap:6px;letter-spacing:.13em;margin-top:8px;padding-top:7px}.motto i{height:8px}.hero-copy{margin-top:12px}.hero-kicker{font-size:9px}.hero h1{font-size:clamp(29px,9.8vw,38px)}.hero h2{font-size:clamp(17px,5.4vw,22px)}.title-line{margin:16px 0 14px}.intro{font-size:13.5px;line-height:1.62}.hero-buttons{display:grid;grid-template-columns:1fr 1fr}.btn{min-height:42px;padding:0 9px;font-size:11.5px;text-align:center}.quick-actions{margin-left:14px}.quick-actions-grid{width:100%;grid-template-columns:1fr}.quick-action{padding:16px 18px;border-right:0;border-bottom:1px solid rgba(201,154,59,.3)}.quick-social{grid-column:auto;border-top:0}.about-strip{margin-left:14px;grid-template-columns:72px 1fr;gap:12px 14px;padding:20px 15px}.about-icon{width:68px;height:68px}.about-icon svg{width:42px;height:42px}.about-strip h2{font-size:24px}.about-strip p{grid-column:1/3;font-size:13px}.section-block{margin-left:14px;padding:38px 0}.content-width{width:calc(100% - 20px)}.section-title{gap:8px;margin-bottom:18px}.section-title h2{font-size:18px}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:150px;grid-template-columns:58px 1fr;padding:26px 15px 20px}.audience-number{width:42px;height:42px;font-size:16px}.audience-icon{width:52px;height:52px}.audience-icon svg{width:42px;height:42px}.audience-card h3{font-size:16px}.audience-card p{font-size:13px}.number{width:38px;height:38px;font-size:15px}.approach-note{padding:0 8px;font-size:13.5px}.cta-band{margin-left:14px;padding:30px 0}.cta-band-inner{display:grid}.cta-band h2{font-size:25px}.cta-band-actions{display:grid;grid-template-columns:1fr 1fr}.contact-section{margin-left:14px;padding:45px 0}.contact-copy h2{font-size:36px}.contact-form{padding:22px 16px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}footer{margin-left:14px}.footer-inner{min-height:auto;padding:24px 0;grid-template-columns:1fr;gap:10px}.footer-inner p{margin:0}.footer-links{justify-content:space-between}.mobile-action-bar{position:fixed;left:0;right:0;bottom:0;z-index:1500;height:64px;display:grid;grid-template-columns:1fr 1fr;background:#111417;border-top:3px solid var(--gold);padding-bottom:env(safe-area-inset-bottom)}.mobile-action-bar a{display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:14px;font-weight:800}.mobile-action-bar a+a{border-left:1px solid rgba(201,154,59,.45)}.mobile-action-bar span{color:var(--gold-soft)}.cookie-banner{bottom:75px;display:grid}.cookie-banner>div{justify-content:flex-end}
}

@media(max-width:390px){.hero-buttons,.cta-band-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  html:not([data-motion="on"]) {scroll-behavior:auto}
  html:not([data-motion="on"]) [data-reveal] {opacity:1;transform:none;transition:none}
  html:not([data-motion="on"]) .btn,
  html:not([data-motion="on"]) .header-cta {transition:none}}


/* Техническа корекция на cookie панела */
.cookie-banner[hidden] {
  display: none;
}


/* =========================================================
   Разширена секция „За кого работим“
   ========================================================= */

.audience-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.audience-card {
  height: 100%;
}

.audience-cta {
  margin-top: 24px;
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 20px 24px;
  color: #ffffff;
  background:
    radial-gradient(circle at 82% 20%, rgba(201,154,59,.14), transparent 26%),
    linear-gradient(115deg, #151719, #202326);
  border-top: 3px solid var(--gold);
  box-shadow: 0 10px 22px rgba(22, 22, 20, .12);
}

.audience-cta > div {
  display: grid;
  gap: 3px;
}

.audience-cta strong {
  color: var(--gold-soft);
  font-size: 18px;
  line-height: 1.3;
}

.audience-cta span {
  color: #d5d7d9;
  font-size: 14px;
}

.audience-call-button {
  flex: 0 0 auto;
  min-width: 180px;
  color: #ffffff;
}

.audience-call-icon {
  color: #f3d784;
  font-size: 18px;
}

@media (max-width: 1050px) {
  .audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .audience-grid {
    grid-template-columns: 1fr;
  }

  .audience-card:last-child {
    grid-column: auto;
  }

  .audience-cta {
    display: grid;
    gap: 16px;
    padding: 19px 16px;
  }

  .audience-cta strong {
    font-size: 16px;
  }

  .audience-cta span {
    font-size: 13px;
  }

  .audience-call-button {
    width: 100%;
    min-width: 0;
  }
}


/* =========================================================
   „За кого работим“ – четири групи
   ========================================================= */

.audience-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audience-card:last-child {
  grid-column: auto;
}

@media (max-width: 1250px) {
  .audience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-card:last-child {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .audience-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   Корекция на секцията „За кого работим“
   - по-добра икона за „Консултанти“
   - номера 01–04 в стила на „Основни услуги“
   ========================================================= */

.audience-card {
  overflow: hidden;
}

.audience-number {
  isolation: isolate;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #fff;
  clip-path: polygon(0 0, 78% 0, 100% 22%, 100% 100%, 22% 100%, 0 78%);
  font-size: 23px;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  line-height: 1;
}

.audience-number::before,
.audience-number::after {
  content: "";
  position: absolute;
  clip-path: inherit;
}

.audience-number::before {
  inset: 0;
  z-index: -2;
  background: #c99a3b;
}

.audience-number::after {
  inset: 2px;
  z-index: -1;
  background:
    radial-gradient(circle at 30% 25%, rgba(190,38,42,.32), transparent 42%),
    linear-gradient(135deg, #69090d 0%, #951117 62%, #65080c 100%);
}

.audience-icon {
  width: 66px;
  height: 72px;
  display: grid;
  place-items: center;
  align-self: start;
  color: #b9821f;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.audience-icon svg {
  width: 52px;
  height: 52px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.audience-card h3 {
  font-size: 18px;
  line-height: 1.2;
}

@media (max-width: 620px) {
  .audience-number {
    width: 38px;
    height: 38px;
    font-size: 15px;
  }

  .audience-icon {
    width: 36px;
    height: 42px;
  }

  .audience-icon svg {
    width: 31px;
    height: 31px;
    stroke-width: 1.55;
  }
}

@media (max-width: 370px) {
  .audience-icon svg {
    width: 27px;
    height: 27px;
  }
}

/* =========================================================
   Светла / тъмна цветова система и плавни PB преливки
   ========================================================= */

:root {
  --cream: #fffaf2;
  --cream-deep: #f3eadf;
  --night: #171a1d;
  --night-deep: #101214;
  --wine-shadow: #341117;
  --wine-glow: #721017;
}

.theme-toggle {
  position: relative;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  padding: 0;
  color: var(--wine);
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(247,239,225,.92));
  border: 1px solid rgba(201,154,59,.72);
  border-radius: 50%;
  box-shadow: 0 7px 18px rgba(64,39,22,.10);
  transition: color 260ms ease, background 420ms ease, border-color 260ms ease, transform 260ms ease, box-shadow 260ms ease;
}

.theme-toggle:hover {
  transform: translateY(-2px) rotate(-6deg);
  border-color: var(--gold);
  box-shadow: 0 10px 24px rgba(84,41,24,.16);
}

.theme-toggle .theme-icon {
  position: absolute;
  width: 20px;
  height: 20px;
  transition: opacity 240ms ease, transform 420ms cubic-bezier(.22,1,.36,1);
}

.theme-icon-sun { opacity: 0; transform: scale(.45) rotate(-70deg); }
.theme-icon-moon { opacity: 1; transform: scale(1) rotate(0); }
.theme-toggle.is-changing { animation: theme-pulse 520ms ease; }

.site-header,
.page-shell,
.hero,
.about-strip,
.section-block,
.quick-actions,
.cta-band,
.contact-section,
footer,
.audience-card,
.service-card,
.approach-grid,
.approach-stage,
.approach-divider,
.mobile-menu {
  transition: background-color 480ms ease, color 480ms ease, border-color 480ms ease, box-shadow 480ms ease;
}

.hero {
  background:
    radial-gradient(circle at 84% 13%, rgba(201,154,59,.13), transparent 28%),
    radial-gradient(circle at 12% 86%, rgba(143,17,23,.055), transparent 33%),
    linear-gradient(118deg, #fffdf9 0%, #fbf5ed 54%, #f3e9df 100%);
  background-size: 125% 125%;
  animation: pb-gradient-flow 30s ease-in-out infinite alternate;
}

.quick-actions {
  background:
    radial-gradient(circle at 8% 50%, rgba(162,23,29,.42), transparent 32%),
    linear-gradient(105deg, #481017 0%, #252326 43%, #171a1d 100%);
}

.quick-action:hover {
  background: rgba(255,255,255,.055);
}

.about-strip {
  background: linear-gradient(102deg, #fffdf9 0%, #fbf5ed 55%, #f1e6db 100%);
}

.audience {
  background:
    radial-gradient(circle at 7% 25%, rgba(143,17,23,.075), transparent 27%),
    linear-gradient(132deg, #f5eee5 0%, #fffdf9 48%, #eee3d8 100%);
  background-size: 135% 135%;
  animation: pb-gradient-flow 29.333333s ease-in-out infinite alternate-reverse;
}

#services {
  background:
    radial-gradient(circle at 92% 30%, rgba(201,154,59,.09), transparent 28%),
    linear-gradient(120deg, #fffdf9 0%, #f8f1e9 100%);
}

.approach {
  background: linear-gradient(122deg, #f4e9df 0%, #fffdf9 42%, #f7f0e7 100%);
}

.cta-band {
  background:
    radial-gradient(circle at 15% 50%, rgba(166,24,31,.58), transparent 34%),
    linear-gradient(107deg, #4b0e14 0%, #282225 43%, #15181a 100%);
  background-size: 140% 140%;
  animation: pb-gradient-flow 25.333333s ease-in-out infinite alternate;
}

.contact-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  border-top: 1px solid rgba(201,154,59,.54);
  background: linear-gradient(104deg, #291a1f 0%, #211d20 32%, #191d20 72%, #1c2023 100%);
  background-size: 100% 100%;
  animation: none;
}

.contact-section::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .23;
  background-image:
    linear-gradient(rgba(226,193,109,.11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(226,193,109,.11) 1px, transparent 1px);
  background-size: 160px 160px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 82%, transparent);
}

.contact-particles{position:absolute;left:0;top:0;display:block;width:100%;height:100vh;pointer-events:none;z-index:0;opacity:.72}
.contact-section.is-particle-dragging,[data-particle-section].is-particle-dragging{cursor:grabbing;user-select:none}
#software[data-particle-section]{position:relative;isolation:isolate;overflow:hidden}
#software[data-particle-section]>.content-width{position:relative;z-index:1}
.contact-layout{position:relative;z-index:1}
.contact-copy{min-width:0}
.contact-links strong{overflow-wrap:anywhere}

.contact-layout { position: relative; z-index: 1; }
.contact-copy h2 { color: #fff8ee; }
.contact-copy > p { color: #d7d6d4; }
.contact-links { border-color: rgba(201,154,59,.42); }
.contact-links a { border-color: rgba(201,154,59,.32); }
.contact-links small { color: var(--gold-soft); }
.contact-links strong { color: #fff; }
.contact-links a:hover strong { color: var(--gold-soft); }
.messenger-buttons a {
  color: #fff;
  background: rgba(255,255,255,.035);
  border-color: rgba(226,193,109,.7);
}
.messenger-buttons a:hover { background: var(--wine); }

.contact-form {
  color: var(--ink);
  background: linear-gradient(145deg, #fffdf9, #fbf6ee);
  border-color: rgba(201,154,59,.82);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

footer {
  background:
    radial-gradient(circle at 8% 50%, rgba(143,17,23,.34), transparent 29%),
    linear-gradient(105deg, #301016, #171a1d 48%, #101214);
}

html[data-theme="dark"] body,
html[data-theme="dark"] .page-shell {
  color: #f4efe7;
  background: var(--night-deep);
}

html[data-theme="dark"] .site-header {
  background: linear-gradient(90deg, rgba(41,15,20,.96), rgba(21,24,26,.96) 48%, rgba(17,19,21,.96));
  border-bottom-color: rgba(201,154,59,.48);
}

html[data-theme="dark"] .header-wordmark,
html[data-theme="dark"] .desktop-nav { color: #f3eee7; }

html[data-theme="dark"] .theme-toggle {
  color: var(--gold-soft);
  background: linear-gradient(145deg, rgba(91,15,21,.9), rgba(27,29,32,.96));
  border-color: rgba(226,193,109,.65);
  box-shadow: 0 0 0 5px rgba(201,154,59,.045), 0 8px 20px rgba(0,0,0,.32);
}

html[data-theme="dark"] .theme-icon-moon { opacity: 0; transform: scale(.45) rotate(70deg); }
html[data-theme="dark"] .theme-icon-sun { opacity: 1; transform: scale(1) rotate(0); }

html[data-theme="dark"] .hero {
  background:
    radial-gradient(circle at 13% 24%, rgba(143,17,23,.34), transparent 33%),
    radial-gradient(circle at 78% 8%, rgba(201,154,59,.09), transparent 26%),
    linear-gradient(112deg, #261116 0%, #171b1d 48%, #0f1214 100%);
}

html[data-theme="dark"] .blueprint {
  opacity: .24;
  mix-blend-mode: screen;
  filter: sepia(.45) saturate(.72) brightness(.86);
  background-image: linear-gradient(90deg, #17191c 0%, rgba(23,25,28,.6) 35%, transparent), url("assets/hero-bridge-clean.webp");
}

html[data-theme="dark"] .wordmark span,
html[data-theme="dark"] .motto,
html[data-theme="dark"] .intro { color: #e5e0d8; }
html[data-theme="dark"] .motto { border-top-color: rgba(226,193,109,.54); }
html[data-theme="dark"] .hero h1 { color: #fff5e9; text-shadow: 0 8px 30px rgba(0,0,0,.28); }
html[data-theme="dark"] .hero h1 span { color: var(--gold-soft); }
html[data-theme="dark"] .btn.secondary { color: #fff; background: rgba(255,255,255,.045); }
html[data-theme="dark"] .btn.secondary:hover { background: rgba(143,17,23,.32); }

html[data-theme="dark"] .about-strip {
  background: linear-gradient(108deg, #281217 0%, #1c1e21 47%, #121517 100%);
  border-bottom-color: rgba(201,154,59,.3);
}
html[data-theme="dark"] .about-strip h2 { color: #fff7eb; }
html[data-theme="dark"] .about-strip p { color: #d5d3cf; border-top-color: rgba(201,154,59,.36); }

html[data-theme="dark"] .audience,
html[data-theme="dark"] #services,
html[data-theme="dark"] .approach {
  background:
    radial-gradient(circle at 8% 26%, rgba(143,17,23,.23), transparent 30%),
    linear-gradient(118deg, #211519 0%, #191c1f 52%, #111416 100%);
}

html[data-theme="dark"] .section-title h2 { color: #fff4e7; }
html[data-theme="dark"] .audience-card,
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .approach-grid {
  background: linear-gradient(145deg, #272a2d, #1d2023);
  border-color: rgba(201,154,59,.38);
  box-shadow: 0 18px 38px rgba(0,0,0,.25);
}

html[data-theme="dark"] .audience-card h3,
html[data-theme="dark"] .service-card h3 { color: #fff7ed; }
html[data-theme="dark"] .audience-card p,
html[data-theme="dark"] .service-card p,
html[data-theme="dark"] .approach-stage p,
html[data-theme="dark"] .approach-note { color: #cfd0cf; }
html[data-theme="dark"] .approach-stage,
html[data-theme="dark"] .approach-divider { background: transparent; box-shadow: none; }
html[data-theme="dark"] .approach-heading h3 { color: #f4efe7; }
html[data-theme="dark"] .approach-stage:hover { background: rgba(211,170,82,.035); }
html[data-theme="dark"] .mobile-menu {
  color: #fff;
  background: rgba(22,24,27,.99);
}
html[data-theme="dark"] .mobile-menu a { border-bottom-color: rgba(201,154,59,.3); }

@keyframes pb-gradient-flow {
  from { background-position: 0% 35%; }
  to { background-position: 100% 65%; }
}

@keyframes theme-pulse {
  0%, 100% { transform: scale(1) rotate(0); }
  45% { transform: scale(.86) rotate(18deg); }
}

@media (max-width: 760px) {
  .theme-toggle {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    margin-left: auto;
  }

  .menu-toggle { margin-left: 0; }
  .contact-section { padding-top: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .hero,
  html:not([data-motion="on"]) .audience,
  html:not([data-motion="on"]) .cta-band,
  html:not([data-motion="on"]) .contact-section { animation: none; }
  html:not([data-motion="on"]) .theme-toggle.is-changing { animation: none; }
}


/* =========================================================
   Прецизиран вид на секцията „За кого работим"
   ========================================================= */

.audience-card {
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 18px;
  padding: 42px 24px 24px;
  min-height: 205px;
}

.audience-number {
  z-index: 3;
}

.audience-icon {
  width: 78px;
  height: 78px;
  margin-top: 8px;
  align-self: start;
  justify-self: start;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.92), rgba(255,255,255,.65) 42%, rgba(248,238,221,.95) 100%),
    linear-gradient(160deg, #fffefb, #f7ecda);
  border: 1px solid rgba(201,154,59,.48);
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.72),
    0 8px 16px rgba(93, 71, 28, .09);
}

.audience-icon svg {
  width: 56px;
  height: 56px;
  stroke-width: 1.7;
}

.audience-card h3 {
  margin: 2px 0 10px;
  font-size: 18px;
  line-height: 1.2;
}

.audience-card p {
  font-size: 14px;
  line-height: 1.56;
}

@media (max-width: 1050px) {
  .audience-card {
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 198px;
  }

  .audience-icon {
    width: 72px;
    height: 72px;
    margin-top: 9px;
  }

  .audience-icon svg {
    width: 52px;
    height: 52px;
  }
}

@media (max-width: 760px) {
  .audience-card {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
    padding: 34px 16px 18px;
    min-height: 0;
  }

  .audience-icon {
    width: 50px;
    height: 50px;
    margin-top: 6px;
    box-shadow:
      inset 0 0 0 3px rgba(255,255,255,.72),
      0 5px 10px rgba(93, 71, 28, .08);
  }

  .audience-icon svg {
    width: 34px;
    height: 34px;
    stroke-width: 1.6;
  }

  .audience-card h3 {
    margin-top: 0;
    font-size: 16px;
  }

  .audience-card p {
    font-size: 13px;
    line-height: 1.5;
  }
}

@media (max-width: 370px) {
  .audience-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    padding: 32px 13px 16px;
  }

  .audience-icon {
    width: 44px;
    height: 44px;
  }

  .audience-icon svg {
    width: 30px;
    height: 30px;
  }
}

/* Production motion and secure-interface layer — original visual direction preserved */
.scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 4000;
  height: 3px;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--gold), var(--wine), var(--gold-soft));
  box-shadow: 0 1px 8px rgba(143, 17, 23, 0.35);
}

.menu-toggle,
.mobile-menu {
  display: none;
}

.hero h1 span {
  display: block;
  margin-top: 8px;
  color: #1b1e21;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(25px, 2.3vw, 35px);
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: 0;
}

.brand-large > img {
  width: clamp(200px, 16vw, 280px);
  height: clamp(200px, 16vw, 280px);
}

.wordmark {
  font-size: clamp(54px, 4vw, 68px);
}

.hero-copy {
  max-width: 1250px;
  margin-top: clamp(34px, 4.2vw, 68px);
}

.title-line {
  max-width: 950px;
}

.hero-specialties {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 13px;
  margin: 0 0 14px;
  color: #4d5256;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-specialties i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--wine);
}

.blueprint {
  top: 0;
  right: 0;
  width: 68%;
  height: 100%;
  isolation: isolate;
  opacity: 0.82;
  background:
    linear-gradient(90deg, #fffdf9 0%, rgba(255, 253, 249, 0.93) 14%, rgba(255, 253, 249, 0.35) 42%, rgba(255, 253, 249, 0) 72%),
    url("assets/hero-bridge-clean.webp") right center / cover no-repeat;
  mix-blend-mode: multiply;
}

.blueprint-motion {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 13%, rgba(0, 0, 0, 0.22) 30%, black 55%, black 100%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 13%, rgba(0, 0, 0, 0.22) 30%, black 55%, black 100%);
}

.motion-axis,
.motion-dimensions,
.motion-terrain {
  fill: none;
  vector-effect: non-scaling-stroke;
}

.motion-axis {
  stroke: rgba(143, 17, 23, 0.25);
  stroke-width: 0.9;
  stroke-dasharray: 2 9;
}

.motion-axis-trace {
  stroke: rgba(201, 154, 59, 0.58);
  stroke-width: 1.4;
  stroke-dasharray: 0.07 0.18;
  stroke-dashoffset: 0;
}

.motion-dimensions {
  stroke: rgba(143, 17, 23, 0.46);
  stroke-width: 0.9;
}

.motion-dimensions circle {
  fill: var(--wine);
  stroke: var(--gold-soft);
  stroke-width: 1;
}

.motion-labels {
  fill: rgba(92, 67, 27, 0.4);
  stroke: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.motion-terrain-base {
  stroke: rgba(143, 17, 23, 0.42);
  stroke-width: 1.35;
}

.motion-terrain-secondary {
  stroke: rgba(201, 154, 59, 0.4);
  stroke-width: 1;
  stroke-dasharray: 4 7;
}

.motion-terrain-trace {
  stroke: rgba(143, 17, 23, 0.56);
  stroke-width: 1.85;
  stroke-dasharray: 0.1 0.23;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 3px rgba(201, 154, 59, 0.38));
}

.motion-terrain-hatch {
  stroke: rgba(143, 17, 23, 0.35);
  stroke-width: 0.75;
}

.motion-terrain {
  transform: translateY(24px);
}

.blueprint.is-blueprint-live .motion-axis-horizontal {
  animation: original-axis-y 13.333333s ease-in-out infinite alternate;
}

.blueprint.is-blueprint-live .motion-axis-vertical {
  animation: original-axis-x 17.333333s ease-in-out 1.5s infinite alternate;
}

.blueprint.is-blueprint-live .motion-axis-trace {
  animation: original-trace 20s linear infinite;
}

.blueprint.is-blueprint-live .motion-axis-vertical .motion-axis-trace {
  animation-duration: 24s;
  animation-direction: reverse;
}

.blueprint.is-blueprint-live .motion-terrain-trace {
  animation: original-trace 25.333333s linear 2.4s infinite;
}

.blueprint.is-blueprint-live .motion-dimensions circle {
  transform-box: fill-box;
  transform-origin: center;
  animation: survey-point 9.333333s ease-in-out infinite;
}

@keyframes original-axis-y {
  from { transform: translateY(-1.5px); }
  to { transform: translateY(2.5px); }
}

@keyframes original-axis-x {
  from { transform: translateX(-1.5px); }
  to { transform: translateX(2.5px); }
}

@keyframes original-trace {
  to { stroke-dashoffset: -1; }
}

@keyframes survey-point {
  0%, 100% { opacity: 0.3; transform: scale(0.72); }
  48%, 62% { opacity: 1; transform: scale(1.25); }
}

.left-rail::after {
  content: "";
  position: sticky;
  top: 24%;
  display: block;
  width: 100%;
  height: 120px;
  opacity: 0.5;
  background: linear-gradient(155deg, transparent 44%, var(--gold-soft) 45% 47%, transparent 48%);
  animation: rail-survey 16s ease-in-out infinite alternate;
}

@keyframes rail-survey {
  from { transform: translateY(-28px); }
  to { transform: translateY(56px); }
}

.reveal-ready [data-reveal] {
  transition-delay: var(--reveal-delay, 0ms);
  transition-duration: 700ms;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal-ready [data-reveal].reveal-from-left {
  transform: translate3d(-28px, 8px, 0);
}

.reveal-ready [data-reveal].reveal-from-right {
  transform: translate3d(28px, 8px, 0);
}

.reveal-ready [data-reveal].reveal-scale {
  transform: translateY(16px) scale(0.975);
}

.reveal-ready [data-reveal].is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

.section-title span {
  transform: scaleX(0);
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1) 160ms;
}

.section-title span:first-child {
  transform-origin: right center;
}

.section-title span:last-child {
  transform-origin: left center;
}

.section-title.is-visible span {
  transform: scaleX(1);
}

.quick-action,
.audience-card,
.service-card,
.approach-stage {
  will-change: transform;
  transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 300ms ease, border-color 300ms ease, background 300ms ease;
}

.quick-action:hover {
  transform: translateY(-3px);
  background: #25282b;
}

.quick-actions.is-motion-active .quick-icon {
  animation: icon-breathe 7.333333s ease-in-out infinite;
}

.quick-actions.is-motion-active .quick-action:nth-child(2) .quick-icon {
  animation-delay: 1.3s;
}

.audience-card:hover,
.service-card:hover {
  transform: translateY(-7px);
  border-color: var(--gold);
  box-shadow: 0 20px 42px rgba(60, 44, 24, 0.15);
}

.audience-card::before,
.service-card::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  width: 30%;
  pointer-events: none;
  opacity: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(226, 193, 109, 0.18), transparent);
}

.audience-card.is-visible::before,
.service-card.is-visible::before {
  animation: card-survey 1.15s ease-out calc(var(--reveal-delay, 0ms) + 350ms) 1;
}

.service-card:hover .service-icon img {
  transform: scale(1.07) rotate(-2deg);
}

.approach-stage:hover .round-icon img {
  transform: translateY(-2px);
}

.service-icon img,
.round-icon img {
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), filter 420ms ease;
}

.approach-stage:hover {
  background: #fffaf0;
}

.approach.is-motion-active .approach-divider path {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  animation: divider-draw 1.6s ease-out forwards;
}

.cta-band {
  position: relative;
  overflow: hidden;
}

.cta-band::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -35%;
  width: 24%;
  pointer-events: none;
  opacity: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(226, 193, 109, 0.16), transparent);
}

.cta-band.is-motion-active::after {
  animation: cta-survey 10.666667s ease-in-out infinite;
}

.contact-section {
  background:
    radial-gradient(circle at 5% 12%, rgba(201, 154, 59, 0.08), transparent 25%),
    var(--warm);
}

.contact-form::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--wine), var(--gold));
  transition: width 1.1s cubic-bezier(0.22, 1, 0.36, 1) 180ms;
}

.contact-form.is-visible::before {
  width: calc(100% + 2px);
}

@keyframes icon-breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(201, 154, 59, 0); }
  50% { box-shadow: 0 0 0 7px rgba(201, 154, 59, 0.08); }
}

@keyframes card-survey {
  0% { left: -50%; opacity: 0; }
  18% { opacity: 1; }
  100% { left: 125%; opacity: 0; }
}

@keyframes divider-draw {
  from { stroke-opacity: .45; }
  to { stroke-opacity: 1; }
}

@keyframes cta-survey {
  0%, 68% { left: -35%; opacity: 0; }
  73% { opacity: 1; }
  92%, 100% { left: 125%; opacity: 0; }
}

.drop-zone {
  position: relative;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 18px;
  overflow: hidden;
  color: #4a4f53;
  background: #fffaf1;
  border: 1px dashed var(--gold);
  border-radius: 3px;
  text-align: center;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.drop-zone:hover,
.drop-zone:focus-visible,
.drop-zone.is-dragging {
  color: var(--wine);
  background: #fff4df;
  border-color: var(--wine);
  transform: translateY(-2px);
}

.drop-zone input {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  padding: 0;
  opacity: 0.001;
  cursor: pointer;
}

.drop-zone strong {
  color: var(--wine);
  font-size: 14px;
}

.drop-zone small {
  font-size: 11px;
}

.file-list {
  display: grid;
  gap: 7px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.file-list li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  color: #3d4246;
  background: #fffaf1;
  border: 1px solid #e0d4bf;
  font-size: 12px;
}

.file-list svg {
  width: 18px;
  height: 18px;
  color: var(--gold);
}

.file-list button {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--wine);
  background: transparent;
  border: 0;
}

.file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.form-actions,
.dialog-actions,
.feedback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.form-actions .form-submit,
.dialog-actions .form-submit {
  width: auto;
  flex: 1 1 210px;
  margin-top: 0;
  padding-inline: 18px;
}

.form-submit:disabled {
  cursor: not-allowed;
}

.form-mailto {
  color: var(--wine);
  background: #fff;
  border: 1px solid var(--gold);
}

.form-availability {
  margin: 10px 0 0;
  color: #777b7f;
  font-size: 11px;
}

.form-feedback {
  min-height: 22px;
  margin-top: 9px;
  color: #5a5f63;
  font-size: 13px;
}

.form-feedback.success {
  color: #16713d;
}

.form-feedback.error {
  color: #9b141a;
}

.feedback-actions button {
  min-height: 34px;
  padding: 0 11px;
  color: var(--wine);
  background: #fff;
  border: 1px solid var(--gold);
  font-size: 12px;
  font-weight: 800;
}

.mobile-action-bar svg {
  width: 20px;
  height: 20px;
}

.audience-call-icon {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
}

.audience-call-icon svg {
  width: 19px;
  height: 19px;
}

.cookie-preference {
  padding: 11px 13px;
  background: #fff5df;
  border-left: 3px solid var(--gold);
}

.mobile-action-bar {
  transition: transform 240ms ease;
}

.mobile-action-bar.is-hidden {
  transform: translateY(110%);
}

@media (max-width: 1050px) {
  .cta-band-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .cta-band-actions {
    min-width: 0;
    flex-wrap: wrap;
    flex-shrink: 1;
  }

  .brand-large > img {
    width: 150px;
    height: 150px;
  }

  .wordmark {
    font-size: 43px;
  }

  .hero-copy {
    max-width: 100%;
    margin-top: 24px;
  }
}

/* Compact navigation starts before desktop links can wrap onto the page. */
@media (max-width: 1000px) {
  .desktop-nav,
  .header-cta { display: none; }

  .header-inner { gap: 14px; }
  .theme-toggle { margin-left: auto; }

  .menu-toggle {
    width: 44px;
    height: 44px;
    display: grid;
    align-content: center;
    gap: 6px;
    margin-left: 0;
    padding: 9px;
    color: var(--ink);
    background: transparent;
    border: 1px solid var(--gold);
  }

  .menu-toggle span {
    width: 100%;
    height: 2px;
    display: block;
    background: currentColor;
    transition: transform 220ms ease, opacity 180ms ease;
  }

  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  .mobile-menu {
    position: fixed;
    inset: var(--header-height) 0 auto;
    z-index: 999;
    max-height: calc(100svh - var(--header-height));
    max-height: calc(100dvh - var(--header-height));
    display: grid;
    padding: 12px 18px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: rgba(255, 253, 249, 0.99);
    border-bottom: 3px solid var(--gold);
    box-shadow: 0 24px 46px rgba(0, 0, 0, 0.2);
  }

  .mobile-menu[hidden] { display: none; }

  .mobile-menu a {
    min-height: 46px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e5dac7;
    font-size: 13px;
    font-weight: 800;
  }

  .mobile-menu-primary {
    justify-content: center;
    margin-top: 9px;
    color: #fff;
    background: var(--wine);
    border-bottom: 0;
  }

  body.nav-open { overflow: hidden; }
  body.nav-open .mobile-action-bar {
    visibility: hidden;
    pointer-events: none;
    transform: translateY(110%);
  }

  .footer-inner {
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px 24px;
    padding-block: 24px;
  }
  .footer-inner p { min-width: 0; margin: 0; }
  .footer-links { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-start; gap: 12px 20px; }
}

@media (max-width: 760px) {
  :root { --header-height: 58px; }
  .footer-inner { grid-template-columns: minmax(0, 1fr); }

  .hero h1 span {
    margin-top: 7px;
    font-size: clamp(17px, 5.4vw, 22px);
  }

  .hero h1 {
    font-size: clamp(29px, 8.2vw, 32px);
  }

  .brand-large > img {
    width: 105px;
    height: 105px;
  }

  .wordmark {
    font-size: clamp(28px, 9vw, 36px);
  }

  .hero-copy {
    margin-top: 14px;
  }

  .hero-specialties {
    gap: 6px 9px;
    margin-bottom: 11px;
    font-size: 9px;
    letter-spacing: 0.04em;
  }

  .blueprint-motion {
    transform: translateX(12%);
  }

  .blueprint {
    top: 0;
    right: -28px;
    width: 88%;
    height: 240px;
    opacity: 0.46;
    background-size: auto 240px;
    background-position: right top;
  }

  .motion-labels {
    display: none;
  }

  .service-card:hover,
  .audience-card:hover,
  .quick-action:hover {
    transform: none;
  }

  .form-actions,
  .dialog-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .form-actions .form-submit,
  .dialog-actions .form-submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .scroll-progress,
  html:not([data-motion="on"]) .left-rail::after {
    display: none;
  }
  html:not([data-motion="on"]) .motion-axis-horizontal,
  html:not([data-motion="on"]) .motion-axis-vertical,
  html:not([data-motion="on"]) .motion-axis-trace,
  html:not([data-motion="on"]) .motion-terrain-trace,
  html:not([data-motion="on"]) .motion-dimensions circle,
  html:not([data-motion="on"]) .quick-icon,
  html:not([data-motion="on"]) .cta-band::after,
  html:not([data-motion="on"]) .audience-card::before,
  html:not([data-motion="on"]) .service-card::before,
  html:not([data-motion="on"]) .approach-divider path {
    animation: none;
  }
  html:not([data-motion="on"]) .section-title span {
    transform: scaleX(1);
    transition: none;
  }
}


/* =========================================================
   Разделяне на номерата и иконите
   ========================================================= */

.audience-card {
  padding-top: 76px;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: start;
}

.audience-number {
  top: 0;
  left: 0;
}

.audience-icon {
  margin-top: 0;
  align-self: start;
  justify-self: start;
}

.audience-card h3 {
  margin-top: 2px;
}

/* Таблет */
@media (max-width: 1050px) and (min-width: 761px) {
  .audience-card {
    padding-top: 72px;
    grid-template-columns: 82px minmax(0, 1fr);
  }
}

/* Телефон */
@media (max-width: 760px) {
  .audience-card {
    padding-top: 52px;
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .audience-icon {
    margin-top: 0;
  }
}

/* Много тесни телефони */
@media (max-width: 370px) {
  .audience-card {
    padding-top: 48px;
    grid-template-columns: 54px minmax(0, 1fr);
  }
}

/* Финален цветови слой — поставен след наследените корекции. */
.contact-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  border-top: 1px solid rgba(201,154,59,.54);
  background: linear-gradient(104deg, #291a1f 0%, #211d20 32%, #191d20 72%, #1c2023 100%);
  background-size: 100% 100%;
  animation: none;
}

.contact-copy h2 { color: #fff8ee; }
.contact-copy > p { color: #d7d6d4; }
.contact-links { border-color: rgba(201,154,59,.42); }
.contact-links a { border-color: rgba(201,154,59,.32); }
.contact-links small { color: var(--gold-soft); }
.contact-links strong { color: #fff; }
.contact-links a:hover strong { color: var(--gold-soft); }

html[data-theme="dark"] .audience-card,
html[data-theme="dark"] .service-card,
html[data-theme="dark"] .approach-grid {
  background: linear-gradient(145deg, #272a2d, #1d2023);
  border-color: rgba(201,154,59,.38);
  box-shadow: 0 18px 38px rgba(0,0,0,.25);
}

html[data-theme="dark"] .audience-icon {
  color: var(--gold-soft);
  background: radial-gradient(circle at 35% 30%, #363a3e, #202326 72%);
  border-color: rgba(226,193,109,.5);
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.025), 0 12px 22px rgba(0,0,0,.25);
}

html[data-theme="dark"] .audience-card h3,
html[data-theme="dark"] .service-card h3 { color: #fff7ed; }
html[data-theme="dark"] .audience-card p,
html[data-theme="dark"] .service-card p,
html[data-theme="dark"] .approach-stage p,
html[data-theme="dark"] .approach-note { color: #cfd0cf; }
html[data-theme="dark"] .approach-stage,
html[data-theme="dark"] .approach-divider { background: transparent; box-shadow: none; }
html[data-theme="dark"] .approach-stage:hover { background: rgba(211,170,82,.035); }
html[data-theme="dark"] .mobile-menu { color: #fff; background: rgba(22,24,27,.99); }
html[data-theme="dark"] .mobile-menu a { border-bottom-color: rgba(201,154,59,.3); }
html[data-theme="dark"] .menu-toggle {
  color: #fff;
  background: rgba(255,255,255,.025);
  border-color: rgba(226,193,109,.72);
}

@media (max-width: 760px) {
  .theme-toggle { margin-left: auto; }
  .menu-toggle { margin-left: 0; }
}

@media (max-width: 1400px) and (min-width: 761px) {
  .audience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .contact-section { animation: none; }
}

/* По-ясен инженерен чертеж и анимация в тъмната тема. */
html[data-theme="dark"] .blueprint {
  opacity: 1;
  background: none;
  mix-blend-mode: normal;
  filter: none;
}

html[data-theme="dark"] .blueprint::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .56;
  background: url("assets/hero-bridge-clean.webp") right center / cover no-repeat;
  filter: grayscale(1) invert(1) sepia(1) saturate(4) hue-rotate(350deg) brightness(1.28) contrast(1.42);
  mix-blend-mode: screen;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 18%, rgba(0,0,0,.78) 48%, #000 68%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.1) 18%, rgba(0,0,0,.78) 48%, #000 68%, #000 100%);
  animation: dark-bridge-breathe 10.666667s ease-in-out infinite alternate;
}

html[data-theme="dark"] .blueprint-motion {
  z-index: 1;
  filter: drop-shadow(0 0 4px rgba(201,154,59,.16));
}

html[data-theme="dark"] .motion-axis {
  stroke: rgba(226,193,109,.52);
  stroke-width: 1;
}

html[data-theme="dark"] .motion-axis-trace {
  stroke: rgba(255,224,143,.96);
  stroke-width: 1.65;
  filter: drop-shadow(0 0 4px rgba(226,193,109,.58));
}

html[data-theme="dark"] .motion-dimensions {
  stroke: rgba(218,164,73,.78);
  stroke-width: 1.05;
}

html[data-theme="dark"] .motion-dimensions circle {
  fill: #9d151c;
  stroke: #f1cf79;
  stroke-width: 1.25;
  filter: drop-shadow(0 0 5px rgba(241,207,121,.7));
}

html[data-theme="dark"] .motion-labels {
  fill: rgba(246,214,140,.78);
}

html[data-theme="dark"] .motion-terrain-base {
  stroke: rgba(219,143,78,.82);
  stroke-width: 1.55;
}

html[data-theme="dark"] .motion-terrain-secondary {
  stroke: rgba(226,193,109,.67);
  stroke-width: 1.1;
}

html[data-theme="dark"] .motion-terrain-trace {
  stroke: rgba(255,220,132,.98);
  stroke-width: 2.05;
  filter: drop-shadow(0 0 5px rgba(226,193,109,.72));
}

html[data-theme="dark"] .motion-terrain-hatch {
  stroke: rgba(218,164,73,.62);
  stroke-width: .85;
}

@keyframes dark-bridge-breathe {
  from { opacity: .46; }
  to { opacity: .60; }
}

@media (max-width: 760px) {
  html[data-theme="dark"] .blueprint::before {
    opacity: .48;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 28%, #000 62%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.16) 28%, #000 62%, #000 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"])[data-theme="dark"] .blueprint::before { animation: none; opacity: .54; }
}

/* =========================================================
   Декоративен ритъм — 25% по-бавно движение
   ========================================================= */

.blueprint.is-blueprint-live .motion-axis-horizontal {
  animation-duration: 12.666667s;
}

.blueprint.is-blueprint-live .motion-axis-vertical {
  animation-duration: 16.333333s;
  animation-delay: .9s;
}

.blueprint.is-blueprint-live .motion-axis-trace {
  animation-duration: 13.333333s;
}

.blueprint.is-blueprint-live .motion-axis-vertical .motion-axis-trace {
  animation-duration: 15s;
}

.blueprint.is-blueprint-live .motion-terrain-trace {
  animation-duration: 16.666667s;
  animation-delay: 0s;
}

.blueprint.is-blueprint-live .motion-dimensions circle {
  animation-duration: 8.666667s;
}

html[data-theme="dark"] .blueprint::before {
  animation-duration: 10.666667s;
}

.brand-large {
  transform-origin: left center;
  animation: brand-arrival 820ms cubic-bezier(.22,1,.36,1) both;
}

.reveal-ready .hero-copy .hero-kicker,
.reveal-ready .hero-copy h1,
.reveal-ready .hero-copy .title-line,
.reveal-ready .hero-copy .hero-specialties,
.reveal-ready .hero-copy .intro,
.reveal-ready .hero-copy .hero-buttons {
  opacity: 0;
  transform: translateY(13px);
  transition: opacity 620ms ease, transform 720ms cubic-bezier(.22,1,.36,1);
}

.reveal-ready .hero-copy .title-line {
  transform: translateY(8px) scaleX(.68);
  transform-origin: left center;
}

.reveal-ready .hero-copy.is-visible .hero-kicker,
.reveal-ready .hero-copy.is-visible h1,
.reveal-ready .hero-copy.is-visible .title-line,
.reveal-ready .hero-copy.is-visible .hero-specialties,
.reveal-ready .hero-copy.is-visible .intro,
.reveal-ready .hero-copy.is-visible .hero-buttons {
  opacity: 1;
  transform: translateY(0) scaleX(1);
}

.reveal-ready .hero-copy.is-visible .hero-kicker { transition-delay: 90ms; }
.reveal-ready .hero-copy.is-visible h1 { transition-delay: 170ms; }
.reveal-ready .hero-copy.is-visible .title-line { transition-delay: 300ms; }
.reveal-ready .hero-copy.is-visible .hero-specialties { transition-delay: 390ms; }
.reveal-ready .hero-copy.is-visible .intro { transition-delay: 470ms; }
.reveal-ready .hero-copy.is-visible .hero-buttons { transition-delay: 560ms; }

.about-icon {
  position: relative;
  overflow: hidden;
}

.about-icon::after {
  content: "";
  position: absolute;
  inset: -25% auto -25% -65%;
  width: 34%;
  pointer-events: none;
  opacity: 0;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,236,174,.72), transparent);
}

.about-strip.is-visible .about-icon::after {
  animation: about-mark-sweep 1.1s ease-out 360ms 1;
}

.audience-card.is-visible .audience-number,
.service-card.is-visible .number {
  animation: marker-settle 680ms cubic-bezier(.2,1.35,.35,1) calc(var(--reveal-delay, 0ms) + 160ms) both;
}

.quick-action {
  position: relative;
  overflow: hidden;
}

.quick-action::after {
  content: "";
  position: absolute;
  right: 28px;
  bottom: 13px;
  left: 92px;
  height: 1px;
  opacity: .8;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--gold), transparent);
  transition: transform 520ms cubic-bezier(.22,1,.36,1);
}

.quick-action:hover::after,
.quick-action:focus-visible::after {
  transform: scaleX(1);
}

.section-title.is-visible span {
  background: linear-gradient(90deg, var(--gold), var(--gold-soft), var(--wine), var(--gold));
  background-size: 220% 100%;
  animation: section-line-glint 8.666667s ease-in-out 1.1s infinite;
}

@keyframes brand-arrival {
  from { opacity: 0; transform: translate3d(-18px,-5px,0) scale(.975); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes about-mark-sweep {
  0% { left: -65%; opacity: 0; }
  18% { opacity: 1; }
  100% { left: 135%; opacity: 0; }
}

@keyframes marker-settle {
  0% { opacity: 0; transform: translate(-8px,-8px) scale(.76); }
  68% { opacity: 1; transform: translate(1px,1px) scale(1.04); }
  100% { opacity: 1; transform: translate(0,0) scale(1); }
}

@keyframes section-line-glint {
  0%, 68%, 100% { background-position: 0 0; }
  82% { background-position: 100% 0; }
}

@media (max-width: 760px) {
  .quick-action::after {
    right: 18px;
    left: 82px;
    bottom: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .brand-large,
  html:not([data-motion="on"]) .about-strip.is-visible .about-icon::after,
  html:not([data-motion="on"]) .audience-card.is-visible .audience-number,
  html:not([data-motion="on"]) .service-card.is-visible .number,
  html:not([data-motion="on"]) .section-title.is-visible span {
    animation: none;
  }
  html:not([data-motion="on"]) .reveal-ready .hero-copy .hero-kicker,
  html:not([data-motion="on"]) .reveal-ready .hero-copy h1,
  html:not([data-motion="on"]) .reveal-ready .hero-copy .title-line,
  html:not([data-motion="on"]) .reveal-ready .hero-copy .hero-specialties,
  html:not([data-motion="on"]) .reveal-ready .hero-copy .intro,
  html:not([data-motion="on"]) .reveal-ready .hero-copy .hero-buttons {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Mobile hero — показва цялата височина на моста и опорите. */
@media (max-width: 760px) {
  .blueprint {
    top: 0;
    right: -16px;
    width: 100%;
    height: 440px;
    opacity: .58;
    background-image:
      linear-gradient(90deg, #fffdf9 0%, rgba(255,253,249,.9) 20%, rgba(255,253,249,.3) 52%, rgba(255,253,249,0) 82%),
      url("assets/hero-bridge-clean.webp");
    background-position: left top, right -5px top 8px;
    background-size: 100% 100%, auto 380px;
    background-repeat: no-repeat;
  }

  .blueprint-motion {
    height: 440px;
    transform: translateX(7%);
  }

  html[data-theme="dark"] .blueprint {
    opacity: 1;
    background: none;
  }

  html[data-theme="dark"] .blueprint::before {
    background-position: right -5px top 8px;
    background-size: auto 380px;
    background-repeat: no-repeat;
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 22%, rgba(0,0,0,.82) 53%, #000 72%),
      linear-gradient(180deg, #000 0%, #000 82%, transparent 100%);
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 22%, rgba(0,0,0,.82) 53%, #000 72%),
      linear-gradient(180deg, #000 0%, #000 82%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-composite: intersect;
  }
}

/* Mobile bridge showcase — отделна зона между марката и заглавието. */
@media (max-width: 760px) {
  .blueprint {
    top: 132px;
    right: 0;
    width: calc(100% - 14px);
    height: 238px;
    opacity: .96;
    border-top: 1px solid rgba(201,154,59,.34);
    border-bottom: 1px solid rgba(201,154,59,.5);
    background-image:
      linear-gradient(90deg, rgba(255,253,249,.42) 0%, rgba(255,253,249,.12) 34%, transparent 62%),
      url("assets/hero-bridge-clean.webp");
    background-position: left top, right center;
    background-size: 100% 100%, auto 232px;
    background-repeat: no-repeat;
    box-shadow: 0 14px 28px rgba(67,42,24,.07);
    filter: saturate(1.12) contrast(1.06);
  }

  .blueprint-motion {
    height: 238px;
    transform: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 18%, #000 40%, #000 100%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.4) 18%, #000 40%, #000 100%);
  }

  .hero-copy {
    margin-top: 252px;
  }

  html[data-theme="dark"] .blueprint {
    opacity: 1;
    background: linear-gradient(108deg, rgba(61,13,19,.52), rgba(16,19,21,.8) 52%, rgba(10,12,13,.96));
    border-top-color: rgba(226,193,109,.42);
    border-bottom-color: rgba(226,193,109,.68);
    box-shadow: inset 0 0 42px rgba(0,0,0,.28), 0 16px 30px rgba(0,0,0,.18);
  }

  html[data-theme="dark"] .blueprint::before {
    background-position: right center;
    background-size: auto 232px;
    background-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.26) 18%, rgba(0,0,0,.88) 42%, #000 62%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.26) 18%, rgba(0,0,0,.88) 42%, #000 62%);
    -webkit-mask-composite: initial;
    mask-composite: initial;
    animation-name: mobile-bridge-clarity;
    animation-duration: 9.666667s;
  }

  .motion-axis { stroke-opacity: .78; }
  .motion-axis-trace { stroke-opacity: 1; }
  .motion-terrain-base,
  .motion-terrain-secondary,
  .motion-terrain-trace { stroke-opacity: .9; }
}

@keyframes mobile-bridge-clarity {
  from { opacity: .68; }
  to { opacity: .84; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"])[data-theme="dark"] .blueprint::before {
    animation: none;
    opacity: .76;
  }
}

/* Match the active selectors so a changed motion preference always takes effect. */
@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .blueprint.is-blueprint-live .motion-axis,
  html:not([data-motion="on"]) .blueprint.is-blueprint-live .motion-axis-trace,
  html:not([data-motion="on"]) .blueprint.is-blueprint-live .motion-terrain-trace,
  html:not([data-motion="on"]) .blueprint.is-blueprint-live .motion-dimensions circle,
  html:not([data-motion="on"]) .quick-actions.is-motion-active .quick-icon,
  html:not([data-motion="on"]) .audience-card.is-visible::before,
  html:not([data-motion="on"]) .service-card.is-visible::before,
  html:not([data-motion="on"]) .approach.is-motion-active .approach-divider path,
  html:not([data-motion="on"]) .cta-band.is-motion-active::after {
    animation: none;
  }
  html:not([data-motion="on"]) .approach.is-motion-active .approach-divider path {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }
}
