:root{
  --bg:#FBF9F5;
  --bg-deep:#EFE9DD;
  --ink:#22201B;
  --ink-soft:#6A6457;
  --ink-faint:#A8A091;
  --paper:#FFFFFF;
  --sage:#5F7355;
  --sage-deep:#46553E;
  --amber:#D99A4E;
  --amber-deep:#BE7E33;
  --line:rgba(34,32,27,0.10);
  --shadow-tight:0 1px 2px rgba(34,32,27,0.06);
  --shadow-soft:0 26px 54px -28px rgba(34,32,27,0.30);
  --radius:18px;
  --font-head:'Oranienbaum',serif;
  --font-body:'Onest',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{
  margin:0;font-family:var(--font-body);color:var(--ink);overflow-x:clip;
  background:
    radial-gradient(800px 500px at 90% -5%, rgba(217,154,78,0.07), transparent 55%),
    radial-gradient(700px 500px at -5% 40%, rgba(95,115,85,0.06), transparent 50%),
    var(--bg);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-head);font-weight:400;margin:0;letter-spacing:0;line-height:1.18;}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px;}

.site-header{position:sticky;top:0;z-index:50;background:rgba(251,249,245,0.84);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;}
.logo{display:inline-flex;}
.logo-img{height:50px;width:auto;display:block;}
@media(max-width:480px){.logo-img{height:40px;}}
.nav{display:flex;gap:34px;align-items:center;}
.nav a{font-size:0.88rem;color:var(--ink-soft);transition:color .2s;}
.nav a:hover{color:var(--sage);}
.nav-cta{background:var(--sage-deep);color:var(--bg);padding:11px 22px;border-radius:999px;font-size:0.85rem;font-weight:600;transition:transform .2s,background .2s;font-family:var(--font-body);}
.nav-cta:hover{transform:translateY(-1px);background:var(--sage);}
/* language switcher — links to the paired RU/EN version of the current page */
.lang{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;}
.lang a{padding:5px 10px;border-radius:999px;text-decoration:none;transition:color .2s;}
.lang .on{background:var(--sage-deep);color:var(--bg);}
.lang .off{color:var(--ink-faint);}
.lang .off:hover{color:var(--ink);}
.header-right{display:flex;align-items:center;gap:16px;}

/* mobile navigation */
.burger{display:none;background:none;border:1px solid var(--line);border-radius:12px;width:44px;height:44px;cursor:pointer;color:var(--ink);position:relative;z-index:80;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s;}
body.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .burger span:nth-child(2){opacity:0;}
body.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(320px,84vw);background:var(--bg);border-left:1px solid var(--line);box-shadow:-30px 0 60px -30px rgba(34,32,27,0.35);transform:translateX(105%);transition:transform .35s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding:96px 34px 40px;gap:4px;}
body.nav-open .mobile-nav{transform:none;}
.mobile-nav a{font-family:var(--font-head);font-size:1.5rem;padding:12px 0;border-bottom:1px solid var(--line);color:var(--ink);}
.mobile-nav a:last-of-type{border-bottom:none;}
.mobile-nav .m-cta{margin-top:auto;font-family:var(--font-body);font-size:0.95rem;font-weight:600;background:var(--sage-deep);color:var(--bg);text-align:center;border-radius:999px;padding:15px 20px;border-bottom:none;}
body.nav-open .site-header{z-index:80;}
.nav-veil{position:fixed;inset:0;z-index:60;background:rgba(34,32,27,0.35);opacity:0;pointer-events:none;transition:opacity .3s;}
body.nav-open .nav-veil{opacity:1;pointer-events:auto;}
/* variant B: fullscreen menu with the mind/soul orbs */
body.menu-b .mobile-nav{width:100%;border-left:none;box-shadow:none;background:var(--bg);align-items:center;justify-content:center;text-align:center;padding:40px 28px;overflow:hidden;transform:translateY(-105%);}
body.menu-b.nav-open .mobile-nav{transform:none;}
body.menu-b .mobile-nav a{border-bottom:none;font-size:2rem;padding:10px 0;}
body.menu-b .mobile-nav .m-cta{margin-top:28px;font-size:1rem;width:min(280px,100%);}
body.menu-b .mobile-nav::before,body.menu-b .mobile-nav::after{content:'';position:absolute;border-radius:50%;filter:blur(4px);opacity:0.35;z-index:-1;}
body.menu-b .mobile-nav::before{width:220px;height:220px;background:radial-gradient(circle at 35% 35%, #8BA17E, #5F7355);top:-60px;left:-60px;animation:floatA 9s ease-in-out infinite;}
body.menu-b .mobile-nav::after{width:220px;height:220px;background:radial-gradient(circle at 65% 40%, #E8B36B, #D99A4E);bottom:-60px;right:-60px;animation:floatB 11s ease-in-out infinite;}
@media(max-width:900px){.nav{display:none;}.burger{display:flex;}.header-right .lang,.header-right .nav-cta{display:none;}}
@media(min-width:901px){.mobile-nav,.nav-veil{display:none;}}
.mobile-nav .lang{align-self:flex-start;margin:0 0 18px;}
.mobile-nav .lang a{font-family:var(--font-body);font-size:0.78rem;font-weight:700;padding:6px 14px;border-bottom:none;color:inherit;}
body.menu-b .mobile-nav .lang{align-self:center;margin:0 0 20px;}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--amber-deep);font-weight:700;margin-bottom:22px;}
.eyebrow::before{content:'';width:22px;height:1.5px;background:var(--amber);}

.hero{padding:72px 0 56px;}
.hero .wrap{display:grid;grid-template-columns:1.25fr 0.75fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(3rem,6vw,5.4rem);line-height:1;letter-spacing:-0.01em;}
.hero h1 .soul{font-style:italic;color:var(--sage);}
/* EN headline is longer in characters than the RU original (same meaning,
   more words) — without this it wraps to 6 lines and pushes the lead/buttons
   below the first screen. RU is untouched (no [lang="ru"] override, same
   clamp as always). */
html[lang="en"] .hero h1{font-size:clamp(2.5rem,4.6vw,4.5rem);}
.hero p.lead{margin-top:26px;max-width:480px;color:var(--ink-soft);font-size:1.1rem;}
.hero-actions{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 30px;border-radius:999px;font-weight:600;font-size:0.95rem;transition:transform .2s,box-shadow .2s,background .2s;font-family:var(--font-body);}
.btn-primary{background:var(--sage-deep);color:#fff;box-shadow:0 10px 28px -10px rgba(70,85,62,0.5);}
.btn-primary:hover{transform:translateY(-2px);background:var(--sage);}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink);}
.btn-ghost:hover{border-color:var(--sage);color:var(--sage);}

/* hero signature: living geometry — two drifting circles (ум + душа) */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;}
.living{position:relative;width:280px;height:280px;}
.living .orb{position:absolute;border-radius:50%;mix-blend-mode:multiply;filter:blur(2px);}
.living .o-mind{width:190px;height:190px;background:radial-gradient(circle at 35% 35%, #8BA17E, #5F7355);top:16px;left:0;animation:floatA 9s ease-in-out infinite;}
.living .o-soul{width:190px;height:190px;background:radial-gradient(circle at 65% 40%, #E8B36B, #D99A4E);bottom:16px;right:0;animation:floatB 11s ease-in-out infinite;}
.living .lbl{position:absolute;font-family:var(--font-head);font-style:italic;font-size:1.5rem;color:#fff;z-index:3;text-shadow:0 1px 6px rgba(0,0,0,0.2);}
.living .l-mind{top:96px;left:50px;}
.living .l-soul{bottom:96px;right:48px;}
@keyframes floatA{0%,100%{transform:translate(0,0);}50%{transform:translate(14px,18px);}}
@keyframes floatB{0%,100%{transform:translate(0,0);}50%{transform:translate(-16px,-14px);}}
.hero-frame-wrap{position:absolute;inset:0;display:none;}
@media(max-width:880px){.hero .wrap{grid-template-columns:1fr;}.hero-visual{min-height:300px;}}

section{padding:64px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.05;}

/* asymmetric bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px;box-shadow:var(--shadow-tight);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);}
.card.c-4{grid-column:span 4;}.card.c-2{grid-column:span 2;}.card.c-3{grid-column:span 3;}.card.c-6{grid-column:span 6;}
.card .num{font-family:var(--font-head);font-style:italic;font-size:1.4rem;color:var(--amber);margin-bottom:14px;}
.card.no-num h3{margin-top:38px;}
.card h3{font-size:1.5rem;margin-bottom:10px;}
.card p{color:var(--ink-soft);font-size:0.96rem;margin:0;}
.card ul{margin:16px 0 0;padding:0;list-style:none;color:var(--ink-soft);font-size:0.92rem;}
.card ul li{padding:5px 0 5px 20px;position:relative;}
.card ul li::before{content:'';position:absolute;left:0;top:13px;width:7px;height:7px;border-radius:50%;background:var(--amber);}
/* living card accent */
.card.live::after{content:'';position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(95,115,85,0.18),transparent 70%);bottom:-60px;right:-40px;animation:floatA 10s ease-in-out infinite;}
@media(max-width:820px){.bento{grid-template-columns:1fr;}.card.c-4,.card.c-2,.card.c-3,.card.c-6{grid-column:span 1;}}

.process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.step{padding-top:24px;border-top:2px solid var(--line);transition:border-color .3s;}
.step:hover{border-color:var(--amber);}
.step .n{font-family:var(--font-head);font-size:2.4rem;color:var(--sage);display:block;margin-bottom:12px;line-height:1;}
.step h3{font-size:1.2rem;margin-bottom:8px;}
.step p{color:var(--ink-soft);font-size:0.9rem;margin:0;}
@media(max-width:820px){.process{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.process{grid-template-columns:1fr;}}

.pricing{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.price{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 24px;box-shadow:var(--shadow-tight);transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;}
.price:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:var(--sage);background:linear-gradient(170deg,#fff,#F2F4ED);}
.price h3{font-size:1.2rem;margin-bottom:6px;}
.price .range{font-family:var(--font-head);font-size:1.7rem;color:var(--sage-deep);margin:14px 0;display:block;}
.price a.range{text-decoration:none;cursor:pointer;transition:color .2s;}
.price a.range:hover{color:var(--amber-deep);}
.price p{color:var(--ink-soft);font-size:0.88rem;margin:0;}
.price-note{margin-top:30px;font-size:0.86rem;color:var(--ink-faint);}
@media(max-width:980px){.pricing{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.pricing{grid-template-columns:1fr;}}

.bridge-line{text-align:center;font-family:var(--font-head);font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 auto 44px;max-width:700px;line-height:1.2;}
.bridge-line em{font-style:italic;color:var(--sage);}
.bridge-card{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);position:relative;}
.bridge-card .half{padding:52px 46px;}
.bridge-card .half .lbl{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;margin-bottom:16px;display:block;}
.bridge-card .half h3{font-size:1.9rem;margin-bottom:12px;}
.bridge-card .half p{margin:0;font-size:0.96rem;}
.bridge-card .inner{background:linear-gradient(140deg,#F5EEDF,#EFE2C9);}
.bridge-card .inner .lbl{color:var(--amber-deep);}.bridge-card .inner h3{color:#A06E2E;}.bridge-card .inner p{color:#8A6A3D;}
.bridge-card .outer{background:linear-gradient(140deg,#E8ECE0,#DAE0CD);}
.bridge-card .outer .lbl{color:var(--sage-deep);}.bridge-card .outer h3{color:var(--sage-deep);}.bridge-card .outer p{color:#5A6450;}
.bridge-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(transparent,var(--line),transparent);}
.bridge-seam::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;background:var(--bg);box-shadow:var(--shadow-tight);}
.bridge-seam::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--amber);z-index:3;}
.bridge-foot{text-align:center;margin-top:30px;font-size:0.92rem;color:var(--ink-soft);}
.bridge-foot a{color:var(--amber-deep);font-weight:600;}
@media(max-width:760px){.bridge-card{grid-template-columns:1fr;}.bridge-seam{display:none;}}

.empty{border:1.5px dashed var(--line);border-radius:var(--radius);padding:52px;text-align:center;color:var(--ink-faint);font-size:0.96rem;}
.faq-item{border-bottom:1px solid var(--line);padding:22px 0;}
.faq-item summary{cursor:pointer;font-family:var(--font-head);font-size:1.4rem;display:flex;justify-content:space-between;align-items:center;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.5rem;color:var(--amber);transition:transform .25s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{color:var(--ink-soft);margin:14px 0 0;font-size:0.94rem;max-width:680px;}

footer{background:var(--ink);color:var(--bg);padding:72px 0 40px;margin-top:50px;}
footer .wrap{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"brand contact" "bridge1 bridge2";gap:44px;align-items:start;}
footer .f-brand{grid-area:brand;display:flex;flex-direction:column;align-items:flex-start;}
footer .f-bridge1{grid-area:bridge1;}
footer .f-contact{grid-area:contact;display:flex;flex-direction:column;}
footer .f-bridge2{grid-area:bridge2;}
@media(max-width:820px){
  footer .wrap{grid-template-columns:1fr;grid-template-areas:"brand" "bridge2" "bridge1" "contact";}
}
footer .logo-footer{margin-bottom:14px;}
footer .logo-footer-img{height:42px;width:auto;display:block;}
footer p{color:rgba(251,249,245,0.6);font-size:0.92rem;max-width:340px;}
.fbridge{border:1px solid rgba(251,249,245,0.18);border-radius:14px;padding:18px 22px;font-size:0.9rem;color:rgba(251,249,245,0.85);margin-top:auto;display:block;}
.fbridge a{color:var(--amber);font-weight:600;}
.fcontacts{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.pill{border:1px solid rgba(251,249,245,0.2);border-radius:999px;padding:11px 20px;font-size:0.86rem;transition:background .2s,border-color .2s;}
.pill:hover{background:rgba(251,249,245,0.08);border-color:var(--amber);}
.copyright{margin-top:52px;font-size:0.78rem;color:rgba(251,249,245,0.4);border-top:1px solid rgba(251,249,245,0.12);padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.copyright-channel{color:rgba(251,249,245,0.55);text-decoration:none;transition:color .2s;}
.copyright-channel:hover{color:var(--amber);text-decoration:underline;}
@media(max-width:620px){.copyright{flex-direction:column;align-items:flex-start;gap:10px;}}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.vis{opacity:1;transform:none;}
.fr{filter:blur(12px);opacity:0;transform:scale(1.03);animation:focus 1.1s cubic-bezier(.2,.7,.2,1) forwards;}
.fr.d1{animation-delay:.05s;}.fr.d2{animation-delay:.3s;}.fr.d3{animation-delay:.55s;}
@keyframes focus{to{filter:blur(0);opacity:1;transform:scale(1);}}
@media(prefers-reduced-motion:reduce){.reveal,.fr{opacity:1;transform:none;filter:none;animation:none;transition:none;}.living .orb,.card.live::after,.shot-agents .orb,.fhub-orb .orb{animation:none;}html{scroll-behavior:auto;}}

.about-hero{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start;max-width:880px;}
.about-hero img{width:280px;border-radius:var(--radius);box-shadow:var(--shadow-soft);object-fit:cover;height:380px;object-position:top center;}
@media(max-width:820px){.about-hero{grid-template-columns:1fr;}.about-hero img{width:220px;order:-1;}}
.tp-row{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;}
.tp-row img{width:300px;border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.tp-row .points{display:flex;flex-direction:column;gap:14px;}
.tp-row .point h3{font-size:1.4rem;margin-bottom:4px;}
.tp-row .point p{color:var(--ink-soft);font-size:0.95rem;margin:0;}
@media(max-width:820px){.tp-row{grid-template-columns:1fr;}.tp-row img{width:100%;max-width:280px;margin:0 auto;}}
.callout{background:linear-gradient(140deg,#F5EEDF,#EFE2C9);border-radius:24px;padding:60px;text-align:center;border:1px solid rgba(217,154,78,0.22);}
.callout .lbl{font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;color:var(--amber-deep);display:block;margin-bottom:18px;}
.callout h2{font-size:clamp(1.9rem,3vw,2.5rem);max-width:700px;margin:0 auto 16px;color:#A06E2E;}
.callout p{color:#8A6A3D;max-width:560px;margin:0 auto 30px;font-size:1.02rem;}
@media(max-width:760px){.callout{padding:40px 26px;}}

.case{display:grid;grid-template-columns:1.1fr 0.9fr;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-tight);margin-bottom:40px;transition:transform .3s,box-shadow .3s;}
.case:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.case .ctext{padding:44px;}
.case .ctext .tag{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber-deep);font-weight:700;}
.case h3{margin:12px 0 14px;font-size:1.8rem;}
.case p{color:var(--ink-soft);font-size:0.95rem;}
.case .cshot{background:var(--bg-deep);padding:26px;display:flex;align-items:center;min-width:0;}
@media(max-width:760px){.case{grid-template-columns:1fr;}}

/* browser frame for portfolio shots */
.frame{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;border:1px solid var(--line);width:100%;min-width:0;}
.frame .chrome{display:flex;align-items:center;padding:12px 16px;background:var(--bg-deep);border-bottom:1px solid var(--line);}
.frame .chrome-label{font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber-deep);font-weight:700;font-family:var(--font-body);}
.frame .win{aspect-ratio:16/9;overflow:hidden;position:relative;}
.frame .win img{width:100%;display:block;}

/* about-nav teaser: quiet link from index to about page */
.about-teaser{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 38px;
}
.about-teaser p{margin:0;font-size:1.05rem;color:var(--ink);max-width:480px;}
.about-teaser p strong{font-family:var(--font-head);font-style:italic;font-size:1.2rem;font-weight:400;color:var(--sage-deep);}

/* big final CTA block — the main conversion moment */
.cta-block{
  background:linear-gradient(135deg,#22201B 0%,#34302A 100%);
  border-radius:28px;padding:72px 56px;text-align:center;color:var(--bg);
  position:relative;overflow:hidden;
}
.cta-block::before{
  content:'';position:absolute;top:-140px;right:-100px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle, rgba(217,154,78,0.25), transparent 70%);pointer-events:none;
}
.cta-block::after{
  content:'';position:absolute;bottom:-160px;left:-100px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle, rgba(95,115,85,0.25), transparent 70%);pointer-events:none;
}
.cta-block .inner{position:relative;z-index:2;}
.cta-block h2{font-size:clamp(2.1rem,3.6vw,3rem);color:var(--bg);margin-bottom:18px;}
.cta-block p.lead{color:rgba(251,249,245,0.72);max-width:520px;margin:0 auto 40px;font-size:1.05rem;}

/* equal-weight channel rows: button + its own QR */
.cta-channels{display:flex;flex-direction:column;gap:18px;align-items:center;margin-bottom:44px;}
.cta-channel{
  display:flex;align-items:center;gap:18px;
  background:rgba(251,249,245,0.06);border:1px solid rgba(251,249,245,0.14);
  border-radius:16px;padding:14px 22px 14px 28px;
}
.cta-channel .btn-equal{
  background:var(--sage);color:#fff;padding:14px 28px;border-radius:999px;
  font-weight:600;font-size:0.95rem;white-space:nowrap;transition:background .2s,transform .2s;
  font-family:var(--font-body);
}
.cta-channel .btn-equal:hover{background:var(--sage-deep);transform:translateY(-1px);}
.cta-channel .qr-mini-wrap{display:flex;align-items:center;gap:10px;}
.cta-channel .qr-mini-wrap img{width:56px;height:56px;border-radius:8px;background:#fff;padding:4px;display:block;}
.cta-channel .qr-mini-wrap span{font-size:0.78rem;color:rgba(251,249,245,0.55);max-width:90px;text-align:left;line-height:1.3;}

.contact-row{
  display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;
  border-top:1px solid rgba(251,249,245,0.15);padding-top:34px;
}
.contact-text{display:flex;flex-direction:column;gap:10px;text-align:center;}
.contact-text a{font-size:1rem;color:rgba(251,249,245,0.88);font-weight:600;}
.contact-text a:hover{color:var(--amber);}
.contact-text .ct-label{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(251,249,245,0.45);}
@media(max-width:760px){
  .cta-block{padding:48px 24px;}
  .cta-channel{flex-direction:column;gap:14px;padding:22px;width:100%;}
  .cta-channel .qr-mini-wrap{flex-direction:column;text-align:center;}
  .cta-channel .qr-mini-wrap span{text-align:center;max-width:none;}
}

/* expandable case details — automation case etc. */
.case-more{margin-top:8px;border-top:1px solid var(--line);padding-top:12px;}
.case-more summary{
  cursor:pointer;list-style:none;font-size:0.86rem;font-weight:600;
  color:var(--sage-deep);display:flex;align-items:center;gap:8px;
}
.case-more summary::-webkit-details-marker{display:none;}
.case-more summary::after{content:'+';font-size:1.1rem;color:var(--amber-deep);transition:transform .2s;}
.case-more[open] summary::after{transform:rotate(45deg);}
.case-more-body{margin-top:16px;font-size:0.9rem;color:var(--ink-soft);}
.case-more-body h4{
  font-family:var(--font-head);font-style:italic;font-weight:400;
  font-size:1.05rem;color:var(--ink);margin:18px 0 8px;
}
.case-more-body h4:first-child{margin-top:0;}
.case-more-body ol{margin:0;padding-left:20px;}
.case-more-body p + ol{margin-top:10px;}
.case-more-body ol li{margin-bottom:10px;}
.case-more-body .tech-line{
  margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);
  font-size:0.82rem;color:var(--ink-faint);
}

/* mini dashboard mockup for automation case */
.dash-mock{background:#262420;border-radius:8px;padding:18px;font-family:var(--font-body);}
.dash-mock .dash-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(251,249,245,0.08);}
.dash-mock .dash-row:last-child{border-bottom:none;}
.dash-mock .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dash-mock .dot.ok{background:#7BAE8C;}
.dash-mock .dot.warn{background:#D99A4E;}
.dash-mock .dot.bad{background:#C2774E;}
.dash-mock .bar{height:6px;border-radius:3px;background:rgba(251,249,245,0.12);flex:1;position:relative;overflow:hidden;}
.dash-mock .bar span{position:absolute;left:0;top:0;bottom:0;border-radius:3px;}
.dash-mock .lbl{font-size:0.74rem;color:rgba(251,249,245,0.6);width:64px;flex-shrink:0;}
.theta-mini{
  text-align:center;max-width:580px;margin:0 auto;padding:8px 0 4px;
  position:relative;
}
.theta-mini::before{
  content:'';display:block;width:34px;height:1px;background:var(--line);
  margin:0 auto 28px;
}
.theta-mini p{
  font-family:var(--font-head);font-style:italic;
  color:var(--ink-soft);font-size:1.4rem;line-height:1.5;margin:0;
}
.theta-mini a.mini-link{
  display:inline-block;margin-top:14px;
  font-family:var(--font-body);font-style:normal;
  color:var(--amber-deep);font-weight:600;font-size:0.84rem;
  letter-spacing:0.02em;border-bottom:1px solid rgba(190,126,51,0.4);
  padding-bottom:2px;transition:border-color .2s;
}
.theta-mini a.mini-link:hover{border-color:var(--amber-deep);}

/* ============ redesign additions ============ */

/* portfolio filters */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 40px;}
.filter{border:1.5px solid var(--line);background:none;border-radius:999px;padding:10px 22px;font-size:0.88rem;font-weight:600;color:var(--ink-soft);cursor:pointer;font-family:var(--font-body);transition:border-color .2s,color .2s,background .2s;}
.filter:hover{border-color:var(--sage);color:var(--sage);}
.filter.active{background:var(--sage-deep);border-color:var(--sage-deep);color:var(--bg);}
.filters-empty{border:1.5px dashed var(--line);border-radius:var(--radius);padding:52px 32px;text-align:center;color:var(--ink-faint);font-size:0.96rem;display:none;}

/* portfolio — wide rows (image + text), one per line; .work kept as filter/hidden hook */
.works{display:flex;flex-direction:column;gap:32px;}
.work.hidden{display:none;}
.work .more{margin-top:14px;font-size:0.86rem;font-weight:600;color:var(--sage-deep);display:inline-flex;align-items:center;gap:6px;}
.work:hover .more{color:var(--sage);}
.work .win{background-color:var(--bg-deep);}

/* case mini-page */
.case-hero{max-width:760px;}
.case-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.08;}
.case-hero .lead{color:var(--ink-soft);font-size:1.08rem;margin-top:20px;max-width:640px;}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:0.86rem;font-weight:600;color:var(--ink-soft);margin-bottom:28px;transition:color .2s;}
.back-link:hover{color:var(--sage);}
.case-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;}
.case-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px;box-shadow:var(--shadow-tight);}
.case-col .lbl{font-family:var(--font-body);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;font-weight:700;display:block;margin:0 0 14px;}
.case-col.task .lbl{color:var(--amber-deep);}
.case-col.solution .lbl{color:var(--sage-deep);}
.case-col p{color:var(--ink-soft);font-size:0.95rem;margin:0;}
.case-col ol,.case-col ul{margin:0;padding-left:20px;color:var(--ink-soft);font-size:0.95rem;}
.case-col li{margin-bottom:10px;}
@media(max-width:760px){.case-cols{grid-template-columns:1fr;}}
.case-cols.three{grid-template-columns:repeat(3,1fr);}
.case-col.result .lbl{color:var(--ink);}
@media(max-width:900px){.case-cols.three{grid-template-columns:1fr;}}
.case-shots{display:grid;gap:24px;margin-top:24px;}
.case-shots.two{grid-template-columns:1fr 1fr;}
@media(max-width:760px){.case-shots.two{grid-template-columns:1fr;}}
.compare-cap{font-family:var(--font-body);font-size:0.85rem;font-weight:600;color:var(--ink);margin:0 0 10px;}
.case-link-row{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.case-note{font-size:0.86rem;color:var(--ink-faint);}

/* partners */
.partner{display:grid;grid-template-columns:280px 1fr;gap:40px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow-tight);align-items:start;}
.partner .avatar{width:280px;height:523px;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow-soft);transform:scaleX(-1);align-self:center;}
.partner .avatar-ph{width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:3rem;color:#fff;background:radial-gradient(circle at 35% 30%, #8BA17E, #5F7355);box-shadow:var(--shadow-soft);}
.partner .role{font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--amber-deep);font-weight:700;margin-bottom:10px;display:block;}
.partner h2{font-size:2rem;margin-bottom:14px;}
.partner p{color:var(--ink-soft);font-size:0.97rem;margin:0 0 14px;}
.partner .facts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none;}
.partner .facts li{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:0.82rem;color:var(--ink-soft);}
.partner-joint{margin-top:24px;background:linear-gradient(140deg,#E8ECE0,#DAE0CD);border-radius:var(--radius);padding:28px 32px;}
.partner-joint p{margin:0;color:#5A6450;font-size:0.95rem;}
.partner-joint strong{color:var(--sage-deep);}
@media(max-width:760px){.partner{grid-template-columns:1fr;padding:32px 26px;}.partner .avatar{width:200px;height:374px;margin:0 auto;}.partner .avatar-ph{width:140px;height:140px;font-size:2.4rem;}}

/* contact: direct channels (Telegram/WhatsApp/почта) are the primary element —
   assistant/form is postponed indefinitely (Anna, 2026-07-25), no stub left in markup */
.contact-main{display:block;}
.contact-hero{background:linear-gradient(135deg,#22201B 0%,#34302A 100%);border-radius:28px;padding:52px 48px;color:var(--bg);position:relative;overflow:hidden;}
.contact-hero::before{content:'';position:absolute;top:-140px;right:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(217,154,78,0.25), transparent 70%);pointer-events:none;}
.contact-hero::after{content:'';position:absolute;bottom:-160px;left:-100px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle, rgba(95,115,85,0.25), transparent 70%);pointer-events:none;}
.contact-hero .inner{position:relative;z-index:2;}
.contact-hero h3{color:var(--bg);font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:12px;}
.contact-hero p.lead{color:rgba(251,249,245,0.72);font-size:1rem;margin:0 0 32px;max-width:460px;}
.chan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.chan-card{background:rgba(251,249,245,0.07);border:1px solid rgba(251,249,245,0.16);border-radius:16px;padding:22px 22px;display:flex;flex-direction:column;gap:7px;transition:background .2s,border-color .2s,transform .2s;}
.chan-card:hover{background:rgba(251,249,245,0.13);border-color:var(--amber);transform:translateY(-2px);}
.chan-name{font-family:var(--font-head);font-size:1.35rem;color:var(--bg);}
.chan-u{font-size:0.85rem;color:rgba(251,249,245,0.6);}
/* WhatsApp number — image instead of text (bot-scraping protection, see project
   CLAUDE.md). Same file used in the contact card and the footer QR caption;
   height in em ties it to whichever font-size context it's dropped into, so it
   always matches the surrounding text size without a second asset. */
.wa-num-img{height:1.21em;width:auto;max-width:100%;display:inline-block;vertical-align:-0.05em;}
.f-qr .wa-num-img{height:1.21em;width:auto;max-width:100%;flex-shrink:1;border-radius:0;background:none;padding:0;}
/* channel is content to read, not a chat to write into — kept visually
   secondary and separate from the 3 chan-card contact methods above */
.chan-channel{margin-top:16px;display:inline-flex;align-items:center;gap:10px;font-size:0.85rem;font-weight:600;color:rgba(251,249,245,0.7);border:1px solid rgba(251,249,245,0.16);border-radius:999px;padding:10px 18px;transition:border-color .2s,color .2s,background .2s;}
.chan-channel:hover{border-color:var(--amber);color:var(--bg);background:rgba(251,249,245,0.07);}
.chan-channel-u{font-size:0.78rem;font-weight:400;color:rgba(251,249,245,0.45);}
@media(max-width:480px){.contact-hero{padding:40px 28px;}}

/* quiet phone line in footer — image only, no tel: link */
.f-phone{margin-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.f-phone img{height:22px;width:auto;max-width:none;opacity:0.75;}
.f-phone span{font-size:0.72rem;color:rgba(251,249,245,0.35);}
.f-qr-row{margin-top:18px;display:flex;gap:36px;flex-wrap:wrap;}
.f-qr{display:flex;align-items:center;gap:12px;}
.f-qr img{width:72px;height:72px;flex-shrink:0;border-radius:8px;background:#fff;padding:4px;}
.f-qr span{font-size:0.78rem;color:rgba(251,249,245,0.5);max-width:150px;line-height:1.35;}
@media(max-width:480px){.f-qr-row{gap:24px;}}

/* portfolio card art for the studio-agents case — no product screenshot exists,
   so the card reuses the brand's own "mind + soul" orbs instead of a photo */
.win.shot-agents{background:linear-gradient(140deg,#E8ECE0,#DAE0CD);display:flex;align-items:center;justify-content:center;}
.shot-agents .orb{position:absolute;border-radius:50%;mix-blend-mode:multiply;filter:blur(2px);}
.shot-agents .o-mind{width:110px;height:110px;background:radial-gradient(circle at 35% 35%, #8BA17E, #5F7355);top:38%;left:36%;animation:floatA 9s ease-in-out infinite;}
.shot-agents .o-soul{width:110px;height:110px;background:radial-gradient(circle at 65% 40%, #E8B36B, #D99A4E);top:42%;left:50%;animation:floatB 11s ease-in-out infinite;}

/* case-studio-agents.html — process schema, variant "hub with brand orbs"
   (chosen by Анна over the stepper variant; source: case-studio-agents/schema-v2.html) */
.fhub{max-width:560px;margin:0 auto;text-align:center;}
.fhub-coord h3{font-family:var(--font-head);font-weight:400;font-size:1.2rem;margin:10px 0 4px;}
.fhub-coord p{margin:0;color:var(--ink-soft);font-size:0.9rem;}
.fhub-orb{position:relative;width:84px;height:84px;margin:0 auto;}
.fhub-orb .orb{position:absolute;border-radius:50%;mix-blend-mode:multiply;filter:blur(1.5px);}
.fhub-orb .o-mind{width:58px;height:58px;background:radial-gradient(circle at 35% 35%, #8BA17E, #5F7355);top:4px;left:0;animation:floatA 9s ease-in-out infinite;}
.fhub-orb .o-soul{width:58px;height:58px;background:radial-gradient(circle at 65% 40%, #E8B36B, #D99A4E);bottom:4px;right:0;animation:floatB 11s ease-in-out infinite;}
.fhub-branch{width:2px;height:26px;background:var(--line);margin:0 auto;}
.fhub-row{display:flex;flex-direction:column;gap:14px;align-items:stretch;}
.fhub-node{display:flex;align-items:center;gap:12px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 18px 6px 6px;}
.fhub-node-ghost{border-style:dashed;background:none;}
.fhub .avatar{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-size:0.92rem;color:#fff;
}
.avatar-sage{background:radial-gradient(circle at 35% 30%, #8BA17E, #5F7355);}
.avatar-amber{background:radial-gradient(circle at 35% 30%, #E8B36B, #D99A4E);}
.avatar-ghost{background:none;border:1.5px dashed var(--ink-faint);color:var(--ink-faint);}
.node-label{font-size:0.88rem;color:var(--ink);font-weight:500;}
.fhub-caption{margin:10px 0 0;font-size:0.78rem;letter-spacing:0.04em;color:var(--ink-faint);text-transform:uppercase;font-weight:700;}
.fhub-result{
  margin-top:4px;background:linear-gradient(140deg,#E8ECE0,#DAE0CD);
  border-radius:var(--radius);padding:20px 26px;color:var(--sage-deep);
  font-family:var(--font-head);font-size:1.05rem;line-height:1.35;
}
@media(min-width:640px){
  .fhub-row{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:20px;}
  .fhub-node{flex-direction:column;text-align:center;border-radius:var(--radius);width:120px;padding:16px 10px;gap:10px;}
  .fhub .avatar{width:52px;height:52px;font-size:1.05rem;}
}

.card .sec-footnote{margin-top:16px;font-size:0.8rem;color:var(--ink-soft);font-style:italic;}

/* partner external links — small ghost pills, own scope */
.partner-links{display:flex;gap:12px;flex-wrap:wrap;margin:4px 0 16px;}
.partner-links a{display:inline-flex;align-items:center;gap:6px;font-size:0.86rem;font-weight:600;color:var(--sage-deep);border:1.5px solid var(--line);border-radius:999px;padding:9px 18px;transition:border-color .2s,color .2s;}
.partner-links a:hover{border-color:var(--sage);color:var(--sage);}

/* visually-hidden but crawlable/screen-reader heading — SEO h2 fix without visual redesign */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
