

/* ══ TOKENS ══════════════════════════════════════════════════════ */
:root{
  --accent:#5A7845;
  --sg:#8F8F76; --st:#D1C9BC; --cr:#FAF8F5; --pa:#F0EBE3;
  --bd:#E2DAD0; --dk:#18180F; --md:#3C3C2E; --mu:#7A7A65;
  --ac:#6B6B52; --al:#A5A58A; --wh:#FFFFFF;
  --sh:0 2px 16px rgba(24,24,15,.07);
  --shm:0 6px 32px rgba(24,24,15,.10);
  --shl:0 16px 56px rgba(24,24,15,.14);
  --r:4px; --rl:10px; --rx:16px;
  --fd:'Source Serif 4',Georgia,serif;
  --fb:'Onest','Helvetica Neue',sans-serif;
  --mw:1200px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--cr);color:var(--dk);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,.dh{font-family:var(--fd) !important}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font-family:inherit;cursor:pointer;border:none;background:none}

/* ══ LAYOUT ══════════════════════════════════════════════════════ */
.c{max-width:var(--mw);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.sec{padding:clamp(3.5rem,7vw,5.5rem) 0}
.sec--alt{background:var(--pa)}
.sec--dk{background:var(--dk);color:var(--cr)}

/* ══ TYPE ════════════════════════════════════════════════════════ */
.lbl{display:inline-flex;align-items:center;gap:.5rem;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);margin-bottom:1.25rem}
.lbl::before{content:'';width:20px;height:1px;background:var(--sg)}
.lbl--lt::before{background:var(--al)}
.lbl--lt{color:var(--al)}
.dh{font-family:var(--fd);font-weight:400;line-height:1.1}
.dh em{font-style:normal;color:var(--dk);font-weight:600}
.dh--xl{font-size:clamp(2.4rem,5.5vw,4.2rem)}
.dh--lg{font-size:clamp(2rem,4vw,3.2rem)}
.dh--md{font-size:clamp(1.6rem,3vw,2.4rem)}
.dh--sm{font-size:clamp(1.2rem,2vw,1.6rem)}
.sec--dk .dh{color:var(--cr)}
.dsc{font-size:15px;color:var(--mu);line-height:1.8;margin-top:.875rem;max-width:520px}
.sec--dk .dsc{color:var(--st)}

/* ══ BUTTONS ═════════════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.875rem;font-size:13px;font-weight:500;letter-spacing:.04em;border-radius:var(--r);transition:all .22s ease;white-space:nowrap}
.btn-sm{padding:.6rem 1.2rem!important;font-size:12px!important}
.btn--dk{background:var(--dk);color:var(--cr);border:1.5px solid var(--dk)}

.btn--out{background:transparent;color:var(--dk);border:1.5px solid var(--bd)}

.btn--sg{background:var(--sg);color:var(--cr);border:1.5px solid var(--sg)}

.btn--gh{background:transparent;color:var(--cr);border:1.5px solid rgba(210,201,188,.28)}
.btn--gh:hover{background:rgba(255,255,255,.06);border-color:var(--st)}
.btn svg{width:14px;height:14px;flex-shrink:0}
.arrow-svg{transition:transform .2s}.btn:hover .arrow-svg{transform:translateX(3px)}

/* ══ TAG ═════════════════════════════════════════════════════════ */
.tag{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:100px;background:var(--pa);color:var(--mu);border:1px solid var(--bd)}
.tag--sg{background:rgba(143,143,118,.1);color:var(--sg);border-color:rgba(143,143,118,.3)}
.tag--dk{background:rgba(255,255,255,.06);color:var(--st);border-color:rgba(210,201,188,.18)}

/* ══ CARD ════════════════════════════════════════════════════════ */
.card{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl);transition:box-shadow .22s,transform .22s}
.card:hover{box-shadow:var(--shm);transform:translateY(-2px)}
.card--dk{background:var(--dk);border-color:rgba(210,201,188,.08)}
.card--pa{background:var(--pa)}

/* ══ HEADER ══════════════════════════════════════════════════════ */
.hdr{position:sticky;top:0;z-index:200;background:rgba(250,248,245,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bd)}
.hdr__i,.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:64px}
.logo{display:flex;align-items:baseline;gap:.15rem;flex-shrink:0}
.logo__t{font-family:var(--fd);font-size:22px;font-weight:600;letter-spacing:.04em;color:var(--dk)}
.logo__d{width:6px;height:6px;border-radius:50%;background:var(--sg);margin-bottom:2px;flex-shrink:0}
.nav{display:flex;align-items:center;gap:1.75rem}
.nav a{font-size:13px;color:var(--md);letter-spacing:.02em;transition:color .18s;position:relative;padding-bottom:2px}
.nav a:hover,.nav a.act{color:var(--dk)}
.nav a.act::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1.5px;background:var(--sg);border-radius:1px}
.hdr__cta{display:flex;align-items:center;gap:2rem}
.brg{display:none;flex-direction:column;gap:5px;padding:6px}
.brg span{display:block;width:22px;height:1.5px;background:var(--dk);transition:all .25s}
.mnav{display:none;background:var(--cr);border-top:1px solid var(--bd);padding:1.5rem}
.mnav.open{display:block}
.mnav a{display:block;padding:.7rem 0;font-size:15px;color:var(--md);border-bottom:1px solid var(--bd)}
.mnav a:last-of-type{border-bottom:none}
.mnav .btn{margin-top:1rem;width:100%;justify-content:center}

/* ══ FOOTER ══════════════════════════════════════════════════════ */
.ftr{background:#111109;color:var(--st);padding:4rem 0 2rem}
.ftr__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid rgba(210,201,188,.08);margin-bottom:2rem}
.ftr .logo__t{color:var(--st)}
.ftr__tag{font-size:13px;color:var(--mu);line-height:1.75;margin-top:1rem;max-width:200px}
.ftr__ctc{display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem}
.ftr__ctc a{font-size:13px;color:var(--st);transition:color .18s}
.ftr__ctc a:hover{color:var(--cr)}
.ftr__ch{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(210,201,188,.38);margin-bottom:1.25rem}
.ftr__ls{display:flex;flex-direction:column;gap:.6rem}
.ftr__ls a{font-size:13px;color:var(--mu);transition:color .18s}
.ftr__ls a:hover{color:var(--st)}
.ftr__bot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ftr__cp{font-size:12px;color:rgba(210,201,188,.26)}
.ftr__leg{display:flex;gap:1.5rem}
.ftr__leg a{font-size:12px;color:rgba(210,201,188,.26);transition:color .18s}
.ftr__leg a:hover{color:var(--mu)}
.ftr__soc{display:flex;gap:.5rem;margin-top:1.5rem}
.ftr__si{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s,transform .18s;flex-shrink:0}
.ftr__si:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.ftr__si svg{width:18px;height:18px}

/* ══ PAGES ═══════════════════════════════════════════════════════ */
.pg{display:none}
.pg.on{display:block}

/* ══ PROTO BAR ═══════════════════════════════════════════════════ */
.proto{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:1000;background:rgba(24,24,15,.97);border-radius:100px;padding:.45rem .5rem;display:flex;align-items:center;gap:.25rem;box-shadow:var(--shl);backdrop-filter:blur(10px);border:1px solid rgba(210,201,188,.1)}
.proto__lbl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(143,143,118,.7);padding:0 .6rem;white-space:nowrap;border-right:1px solid rgba(210,201,188,.12);margin-right:.15rem}
.proto__btn{font-size:11px;font-weight:500;color:rgba(210,201,188,.45);padding:.4rem .75rem;border-radius:100px;cursor:pointer;transition:all .18s;white-space:nowrap;background:none;border:none}
.proto__btn:hover{color:var(--cr)}
.proto__btn.on{background:rgba(250,248,245,.1);color:var(--cr)}

/* ══ HOME ════════════════════════════════════════════════════════ */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,4vw,4rem);padding:clamp(2rem,3.5vw,3rem) 0 clamp(1.5rem,3vw,2.5rem)}
.hero__tag{display:inline-flex;align-items:center;gap:.5rem;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sg);border:1px solid var(--st);padding:.4rem .9rem;border-radius:100px;margin-bottom:1.75rem}
.hero__tag-dot{width:5px;height:5px;border-radius:50%;background:var(--sg)}
.hero__sub{font-size:16px;color:var(--mu);line-height:1.8;margin-bottom:2.5rem;max-width:440px}
.hero__acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:3rem}
.hero__stats{display:flex;gap:2rem;padding-top:2rem;border-top:1px solid var(--bd)}
.hero__sn{font-family:var(--fd);font-size:1.875rem;font-weight:500;color:var(--dk);display:block}
.hero__sl{font-size:12px;color:var(--mu);letter-spacing:.02em}

/* Hero SVG container */
.hero__vis{position:relative;height:560px;display:flex;align-items:center;justify-content:center}

/* Audience grid */
.aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(210,201,188,.1);border:1px solid rgba(210,201,188,.1);border-radius:16px;overflow:hidden;margin-top:3rem}
.aud-card{background:var(--wh);padding:2rem;transition:background .22s}
.aud-card:hover{background:var(--pa)}
.aud-ico{width:44px;height:44px;border-radius:var(--r);background:var(--pa);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0}
.aud-ico svg{width:20px;height:20px;color:var(--sg)}
.aud-t{font-family:var(--fd);font-size:1.1rem;font-weight:500;color:var(--dk);margin-bottom:.4rem;line-height:1.3}
.aud-d{font-size:13px;color:var(--mu);line-height:1.65}

/* Services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.svc-card{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl);padding:2rem;display:flex;flex-direction:column;gap:.875rem;transition:box-shadow .22s,transform .22s}
.svc-card-img{border-radius:var(--r) var(--r) 0 0;overflow:hidden;height:140px;margin:-1.75rem -1.75rem 1.25rem;position:relative;background:var(--pa)}


.svc-n{font-family:var(--fd);font-size:.85rem;font-weight:400;color:var(--st);letter-spacing:.06em}
.svc-t{font-family:var(--fd);font-size:1.2rem;font-weight:500;color:var(--dk);line-height:1.3}
.svc-d{font-size:13px;color:var(--mu);line-height:1.7;flex:1}
.svc-lnk{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:500;color:var(--sg);letter-spacing:.04em;transition:gap .18s}
.svc-lnk:hover{gap:.7rem}
.svc-lnk svg{width:14px;height:14px}
.svc-ico{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);border:1px solid var(--bd);background:var(--pa)}
.svc-ico svg{width:22px;height:22px;color:var(--sg)}

/* Advantages */
.adv-lay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;margin-top:3rem}
.adv-items{display:flex;flex-direction:column;gap:1.375rem}
.adv-item{display:flex;gap:1rem;align-items:flex-start}
.adv-bar{width:3px;border-radius:2px;background:var(--sg);flex-shrink:0;align-self:stretch;min-height:40px}
.adv-it{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:.25rem;letter-spacing:.01em}
.adv-id{font-size:13px;color:var(--mu);line-height:1.65}
.adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.adv-stat{padding:1.75rem;background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl)}
.adv-stat--span{grid-column:span 2}
.adv-stat--dk{background:var(--dk);border-color:var(--dk)}
.adv-sn{font-family:var(--fd);font-size:3rem;font-weight:400;line-height:1;margin-bottom:.35rem}
.adv-sl{font-size:12px;color:var(--mu);line-height:1.5}
.adv-stat--dk .adv-sn{color:var(--cr)}
.adv-stat--dk .adv-sl{color:var(--st)}
.adv-slbl{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sg);margin-bottom:.35rem}
.adv-stat--dk .adv-slbl{color:var(--al)}

/* Process */
.proc-track{margin-top:3.5rem;position:relative}
.proc-line{position:absolute;top:28px;left:2%;right:2%;height:1px;background:linear-gradient(90deg,var(--sg) 0%,var(--st) 100%);z-index:0}
.proc-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;position:relative;z-index:1}
.proc-step{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}
.proc-num{width:56px;height:56px;border-radius:50%;border:1.5px solid var(--st);background:var(--pa);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.3rem;font-weight:500;color:var(--dk);flex-shrink:0;transition:all .4s ease}
.proc-step.act .proc-num{background:var(--sg);border-color:var(--sg);color:var(--wh);animation:proc-ring 1.6s ease-out infinite}
@keyframes proc-ring{0%{box-shadow:0 0 0 0 rgba(143,143,118,.5)}100%{box-shadow:0 0 0 14px rgba(143,143,118,0)}}

.proc-t{font-size:13px;font-weight:600;color:var(--dk);letter-spacing:.02em}
.proc-d{font-size:12px;color:var(--mu);line-height:1.6}

/* Expertise */
.exp-lay{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;margin-top:3rem}
.exp-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.5rem}
.exp-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--bd);border-radius:100px;padding:.45rem .95rem;font-size:12px;color:var(--md);background:var(--wh);transition:all .18s}
.exp-chip:hover{border-color:var(--sg);color:var(--sg)}
.exp-chip-d{width:5px;height:5px;border-radius:50%;background:var(--sg);flex-shrink:0}
.exp-vis{background:var(--dk);border-radius:var(--rl);padding:2rem;position:relative;overflow:hidden}
.exp-vis::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 10%,rgba(143,143,118,.1) 0%,transparent 55%);pointer-events:none}
.exp-vlbl{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sg);margin-bottom:1.5rem}
.exp-row{display:flex;align-items:center;gap:1rem;padding:.8rem 0;border-bottom:1px solid rgba(210,201,188,.09)}
.exp-row:last-child{border-bottom:none}
.exp-rn{font-size:13px;color:var(--st);width:130px;flex-shrink:0}
.exp-bt{flex:1;height:4px;background:rgba(255,255,255,.07);border-radius:2px;overflow:hidden}
.exp-bf{height:100%;background:linear-gradient(90deg,var(--sg),var(--al));border-radius:2px}
.exp-rv{font-size:12px;color:var(--cr);font-weight:500;width:36px;text-align:right;flex-shrink:0}
.exp-minis{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid rgba(210,201,188,.1)}
.exp-mn{font-family:var(--fd);font-size:2rem;font-weight:400;color:var(--cr);line-height:1}
.exp-ml{font-size:11px;color:var(--mu);margin-top:.25rem}

/* Blog section */
.blog-hd{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.bc{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .22s,transform .22s;position:relative;cursor:pointer}

.bc__img{height:200px;position:relative;overflow:hidden;flex-shrink:0}
.bc__body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:.6rem}
.bc__cat{display:inline-flex;align-items:center;gap:.35rem;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sg)}
.bc__t{font-family:var(--fd);font-size:1.05rem;font-weight:500;color:var(--dk);line-height:1.35}
.bc__x{font-size:13px;color:var(--mu);line-height:1.65;flex:1}
.bc__ft{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--bd);position:relative;z-index:1}
.bc__dt{font-size:11px;color:var(--mu)}
.bc__rd{font-size:11px;font-weight:600;color:var(--sg);display:inline-flex;align-items:center;gap:.35rem;transition:gap .18s}
.bc__rd:hover{gap:.65rem}
.bc__rd::after{content:'';position:absolute;inset:0}

/* CTA form section */
.cta-lay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative;z-index:1}
.cta-sec{background:var(--pa);position:relative;overflow:hidden}
.cta-sec::before{display:none}
.cta-t{font-family:var(--fd);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.1;color:var(--dk);margin-bottom:1rem}
.cta-t em{font-style:normal;color:var(--sg)}
.cta-s{font-size:15px;color:var(--mu);line-height:1.75}
.cta-ctcs{display:flex;flex-direction:column;gap:.6rem;margin-top:2rem}
.cta-ctc{display:flex;align-items:center;gap:.65rem;font-size:13px;color:var(--md)}
.cta-ctc svg{width:15px;height:15px;color:var(--sg);flex-shrink:0}
.cta-form{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl);padding:2.5rem}
.cta-ft{font-family:var(--fd);font-size:1.4rem;font-weight:400;color:var(--dk);margin-bottom:1.5rem}
.fg{margin-bottom:1rem}
.fl{display:block;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--mu);margin-bottom:.4rem}
.fi,.fta,.fsel{width:100%;background:var(--pa);border:1px solid var(--bd);border-radius:var(--r);padding:.75rem 1rem;font-size:14px;color:var(--dk);outline:none;transition:border-color .18s;cursor:text}
.fi::placeholder,.fta::placeholder{color:rgba(120,120,100,.4)}
.fi:focus,.fta:focus,.fsel:focus{border-color:var(--sg)}
.fsel{cursor:pointer;color:var(--md)}
.fsel option{background:var(--cr);color:var(--dk)}
.fta{min-height:90px;resize:vertical}
.fnote{font-size:11px;color:var(--mu);margin-top:.75rem;line-height:1.5}

/* ══ SERVICES PAGE ═══════════════════════════════════════════════ */
.svcs-hero{padding:clamp(3rem,6vw,5rem) 0;border-bottom:1px solid var(--bd)}
.svcs-layout{margin-top:3.5rem}
.svc-full{display:grid;grid-template-columns:1fr 1.6fr;gap:2.5rem;align-items:center;padding:3rem 0;border-bottom:1px solid var(--bd)}
.svc-full:last-child{border-bottom:none}
.svc-full:nth-child(even){direction:rtl}
.svc-full:nth-child(even)>*{direction:ltr}
.svc-full__img{border-radius:var(--rl);overflow:hidden}
.svc-full__n{font-family:var(--fd);font-size:5rem;font-weight:300;color:var(--bd);line-height:1;margin-bottom:-.5rem}
.svc-full__t{font-family:var(--fd);font-size:2rem;font-weight:500;color:var(--dk);line-height:1.2;margin-bottom:.75rem}
.svc-full__d{font-size:14px;color:var(--mu);line-height:1.8;margin-bottom:1.25rem}
.svc-incl{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.svc-incl li{display:flex;align-items:flex-start;gap:.6rem;font-size:13px;color:var(--md)}
.svc-incl li::before{content:'';width:16px;height:16px;border-radius:50%;background:rgba(143,143,118,.12);border:1px solid var(--sg);flex-shrink:0;margin-top:2px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8l3 3 5-5' stroke='%238F8F76' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:14px}

/* ══ SERVICE DETAIL PAGE ═════════════════════════════════════════ */
.sd-hero{padding:clamp(3rem,6vw,5rem) 0;background:var(--dk);position:relative;overflow:hidden}
.sd-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 50%,rgba(143,143,118,.12) 0%,transparent 60%)}
.sd-lay{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative;z-index:1}
.sd-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:12px;color:rgba(210,201,188,.45);margin-bottom:1.25rem}
.sd-breadcrumb svg{width:12px;height:12px}
.sd-meta{display:flex;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(210,201,188,.1)}
.sd-mn{font-family:var(--fd);font-size:2rem;font-weight:400;color:var(--cr);display:block}
.sd-ml{font-size:11px;color:rgba(210,201,188,.45)}
.sd-vis{border-radius:var(--rl);overflow:hidden}
.what-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.what-card{padding:1.75rem;border-radius:var(--rl);background:var(--wh);border:1px solid var(--bd)}
.what-n{width:40px;height:40px;border-radius:var(--r);background:var(--pa);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.what-n svg{width:20px;height:20px;color:var(--sg)}
.what-t{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:.4rem}
.what-d{font-size:13px;color:var(--mu);line-height:1.65}
.results-lay{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;margin-top:3rem}
.results-nums{display:flex;flex-direction:column;gap:1rem}
.rn-card{padding:1.5rem;border-radius:var(--rl);background:var(--wh);border:1px solid var(--bd)}
.rn-v{font-family:var(--fd);font-size:2.5rem;font-weight:400;color:var(--dk);line-height:1}
.rn-l{font-size:12px;color:var(--mu);margin-top:.25rem}
.results-cases{display:flex;flex-direction:column;gap:1.25rem}
.case-card{padding:2rem;border-radius:var(--rl);background:var(--wh);border:1px solid var(--bd)}
.case-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.case-t{font-family:var(--fd);font-size:1.15rem;font-weight:500;color:var(--dk)}
.case-d{font-size:13px;color:var(--mu);line-height:1.7}

/* ══ ABOUT PAGE ═══════════════════════════════════════════════════ */
.about-hero{padding:clamp(3rem,6vw,5rem) 0}
.about-lay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.about-vis{position:relative;height:520px;border-radius:var(--rl);overflow:hidden}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.tm{text-align:center}
.tm__av{width:120px;height:120px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;border:2px solid var(--bd)}
.tm__av svg{width:100%;height:100%}
.tm__n{font-family:var(--fd);font-size:1.05rem;font-weight:500;color:var(--dk);margin-bottom:.25rem}
.tm__r{font-size:12px;color:var(--sg);font-weight:500;letter-spacing:.04em;margin-bottom:.5rem}
.tm__d{font-size:12px;color:var(--mu);line-height:1.6}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}
.val-card{padding:2rem;border-radius:var(--rl);background:var(--wh);border:1px solid var(--bd)}
.val-n{font-family:var(--fd);font-size:2.5rem;font-weight:300;color:var(--bd);line-height:1;margin-bottom:.5rem}
.val-t{font-size:14px;font-weight:600;color:var(--dk);margin-bottom:.5rem}
.val-d{font-size:13px;color:var(--mu);line-height:1.7}
.partners-row{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2.5rem}
.partner-ph{height:44px;padding:0 1.5rem;background:var(--pa);border:1px solid var(--bd);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--mu);letter-spacing:.04em}

/* ══ BLOG PAGE ═══════════════════════════════════════════════════ */
.blog-hero{padding:clamp(2.5rem,5vw,4rem) 0;border-bottom:1px solid var(--bd)}
.blog-filters{display:flex;align-items:center;gap:.5rem;margin:2rem 0;flex-wrap:wrap}
.bflt{padding:.5rem 1.1rem;font-size:12px;font-weight:500;border-radius:100px;border:1px solid var(--bd);color:var(--mu);cursor:pointer;transition:all .18s;background:transparent}
.bflt.on,.bflt:hover{background:var(--dk);color:var(--cr);border-color:var(--dk)}
.blog-full-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}

/* ══ ARTICLE PAGE ════════════════════════════════════════════════ */
.art-hero{padding:clamp(3rem,6vw,5rem) 0;background:var(--dk);position:relative;overflow:hidden}
.art-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 60%,rgba(143,143,118,.12) 0%,transparent 55%)}
.art-hlay{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative;z-index:1}
.art-body{max-width:740px;margin:0 auto;padding:clamp(3rem,6vw,5rem) 0}
.art-body h2{font-family:var(--fd);font-size:1.75rem;font-weight:400;color:var(--dk);margin:2.5rem 0 1rem}
.art-body h3{font-family:var(--fd);font-size:1.3rem;font-weight:500;color:var(--dk);margin:2rem 0 .75rem}
.art-body p{font-size:16px;color:var(--md);line-height:1.85;margin-bottom:1.25rem}
.art-body ul{margin:1rem 0 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}
.art-body ul li{font-size:15px;color:var(--md);line-height:1.75;list-style:disc}
.art-pull{padding:2rem 2rem 2rem 2.5rem;border-left:3px solid var(--sg);background:var(--pa);border-radius:0 var(--r) var(--r) 0;margin:2rem 0}
.art-pull blockquote{font-family:var(--fd);font-size:1.3rem;font-weight:400;font-style:italic;color:var(--dk);line-height:1.5}
.art-toc{background:var(--pa);border:1px solid var(--bd);border-radius:var(--rl);padding:1.75rem;margin-bottom:2.5rem}
.art-toc h4{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sg);margin-bottom:1rem}
.art-toc ul{margin:0;list-style:none}
.art-toc ul li{padding:.35rem 0;font-size:14px;color:var(--md);cursor:pointer}
.art-toc ul li:hover{color:var(--sg)}
.art-toc ul li::before{display:none}
.art-meta{display:flex;align-items:center;gap:1.5rem;font-size:12px;color:var(--mu);margin-top:1.25rem;flex-wrap:wrap}
.art-meta-sep{color:var(--bd)}

/* ══ CONTACTS PAGE ══════════════════════════════════════════════ */
.cnt-lay{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;margin-top:3rem}
.cnt-map{height:380px;border-radius:var(--rl);overflow:hidden;background:var(--pa);border:1px solid var(--bd);position:relative;margin-top:2rem}
.cnt-info{display:flex;flex-direction:column;gap:1.75rem}
.cnt-item{display:flex;gap:1.25rem;align-items:flex-start}
.cnt-ico{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--bd);background:var(--pa);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cnt-ico svg{width:20px;height:20px;color:var(--sg)}
.cnt-il{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--sg);margin-bottom:.35rem}
.cnt-iv{font-size:14px;color:var(--dk);line-height:1.65}
.cnt-form{background:var(--wh);border:1px solid var(--bd);border-radius:var(--rl);padding:2.5rem}
.cnt-form .fl{color:var(--mu)}
.cnt-form .fi,.cnt-form .fta,.cnt-form .fsel{background:var(--pa);border:1px solid var(--bd);color:var(--dk)}
.cnt-form .fi::placeholder,.cnt-form .fta::placeholder{color:rgba(120,120,100,.4)}
.cnt-form .fi:focus,.cnt-form .fta:focus,.cnt-form .fsel:focus{border-color:var(--sg)}
.cnt-form .fsel{color:rgba(60,60,46,.6)}

/* ══ RESPONSIVE ══════════════════════════════════════════════════ */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:auto;padding:3rem 0}
  .hero__vis{display:none}
  .aud-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .adv-lay{grid-template-columns:1fr}
  .exp-lay{grid-template-columns:1fr}
  .blog-grid,.blog-full-grid{grid-template-columns:repeat(2,1fr)}
  .cta-lay{grid-template-columns:1fr}
  .ftr__top{grid-template-columns:1fr 1fr !important}
  .svc-full{grid-template-columns:1fr;gap:2rem}
  .svc-full:nth-child(even){direction:ltr}
  .what-grid{grid-template-columns:repeat(2,1fr)}
  .results-lay{grid-template-columns:1fr}
  .about-lay{grid-template-columns:1fr}
  .about-vis{height:340px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .art-hlay{grid-template-columns:1fr}
  .cnt-lay{grid-template-columns:1fr}
  .sd-lay{grid-template-columns:1fr}
  .sd-vis{display:none}
  .adv-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav,.hdr__cta{display:none}
  .brg{display:flex}
  .aud-grid{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .blog-grid,.blog-full-grid{grid-template-columns:1fr}
  .blog-grid .bc:nth-child(3){display:none}
  .blog-hd{flex-direction:column;align-items:flex-start;gap:1rem}
  .proc-steps{grid-template-columns:repeat(2,1fr)}
  .proc-line{display:none}
  .ftr__top{grid-template-columns:1fr;gap:2rem}
  .ftr__bot{flex-direction:column;align-items:flex-start}
  .what-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:1fr}
  .adv-grid{grid-template-columns:1fr}
  .adv-stat--span{grid-column:span 1}
  .proto{padding:.45rem .4rem;gap:.15rem;max-width:94vw;overflow-x:auto}
  .proto__lbl{display:none}
  .about-mini-lay{grid-template-columns:1fr !important}
}
@media(max-width:480px){
  .hero .dh--xl{font-size:2.2rem}
  .hero__acts{flex-direction:column}
  .hero__acts .btn{justify-content:center}
  .hero__stats{gap:1.25rem}
  .proc-steps{grid-template-columns:1fr}
  .cta-form{padding:1.5rem}
  .art-body{padding:2rem 0}
}

/* ══ VISUAL REFRESH ══════════════════════════════════════════════ */
.aud-ico,.svc-ico,.what-n,.cnt-ico {
  background:rgba(250,248,245,.04)!important;
  border:1px solid rgba(210,201,188,.18)!important;
  border-radius:var(--r)!important;
}
.aud-ico svg,.svc-ico svg,.what-n svg,.cnt-ico svg {
  color:rgba(143,143,118,.65)!important;
  stroke:rgba(143,143,118,.65)!important;
}
.exp-chip-d{display:none}
.exp-chip{border-radius:3px!important;font-size:11px!important}
[style*="border-radius:10px"][style*="width:44px"][style*="display:flex"]{
  background:rgba(250,248,245,.04)!important;
  border:1px solid rgba(210,201,188,.15)!important;
}
[style*="border-radius:12px"][style*="height:48px"][style*="display:flex"]{
  background:rgba(250,248,245,.04)!important;
  border:1px solid rgba(210,201,188,.15)!important;
}
[style*="border-radius:10px"][style*="height:44px"][style*="display:flex"]{
  background:rgba(250,248,245,.04)!important;
  border:1px solid rgba(210,201,188,.15)!important;
}

/* Reset page visibility */
.pg { display: block !important; }

/* ── Accent button (outlined green) ── */
.btn--accent{background:transparent!important;color:var(--accent)!important;border:1.5px solid var(--accent)!important}
.btn--accent:hover{background:var(--accent)!important;color:#fff!important}
/* Dropdown nav */
.nav-item{position:relative}
.nav-drop-t{display:flex!important;align-items:center;gap:.3rem;cursor:pointer}
.nav-drop-t svg{transition:transform .18s}
.nav-item:hover .nav-drop-t svg{transform:rotate(180deg)}
.nav-drop{display:none;position:absolute;top:calc(100% + 10px);left:-1rem;background:var(--cr);border:1px solid var(--bd);border-radius:12px;padding:.5rem;min-width:248px;box-shadow:0 8px 32px rgba(24,24,15,.12);z-index:300}
.nav-item:hover .nav-drop{display:block}
.nav-drop a{display:block;padding:.55rem .85rem;font-size:12.5px;color:var(--md);border-radius:8px;transition:background .14s;white-space:nowrap;text-decoration:none}
.nav-drop a:hover{background:var(--pa);color:var(--dk)}
.nav-drop__div{height:1px;background:var(--bd);margin:.35rem .85rem}

/* ── Scroll-reveal ── */
@keyframes ib-fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
[data-ib-anim]{opacity:0}
[data-ib-anim].ib-done{animation:ib-fadeUp .72s cubic-bezier(.16,1,.3,1) both}

/* ── Enhanced hovers ── */
.bc{transition:box-shadow .3s,transform .3s!important}
.bc:hover{box-shadow:0 16px 48px rgba(24,24,15,.14)!important;transform:translateY(-5px)!important}
.svc-card{transition:box-shadow .3s,transform .3s}
.svc-card:hover{box-shadow:0 16px 48px rgba(24,24,15,.14)!important;transform:translateY(-4px)}
.adv-stat{transition:transform .28s}
.adv-stat:hover{transform:translateY(-4px)}
.aud-card{transition:box-shadow .3s,transform .3s}
.aud-card:hover{box-shadow:0 12px 36px rgba(24,24,15,.12)!important;transform:translateY(-4px)}
.exp-card{transition:box-shadow .3s,transform .3s}
.exp-card:hover{box-shadow:0 12px 36px rgba(24,24,15,.12)!important;transform:translateY(-3px)}

/* ── Product category buttons ── */
.pcat-btn{transition:background .22s,box-shadow .22s!important;cursor:pointer}
.pcat-btn:hover{background:var(--pa)!important;box-shadow:inset 0 0 0 1.5px var(--sg)!important}
.pcat-name{display:block;font-size:.95rem;font-weight:600;color:var(--dk);font-family:'Source Serif 4',serif;transition:color .22s}
.pcat-btn:hover .pcat-name{color:var(--sg)!important}

/* ── V2 Header/Footer overrides ── */
:root{--nv:#1C2C12;--nv2:#263D18;--or:#C5B49A;--or2:#D4C8B0}
.hdr{background:var(--nv)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.logo__t{font-family:'Onest',sans-serif!important;font-size:20px!important;font-weight:700!important;letter-spacing:.12em!important;color:#fff!important;text-transform:uppercase!important}
.logo__d{width:7px!important;height:7px!important;background:var(--or)!important;border-radius:0!important}
.hdr__i,.hdr__in{height:68px!important}
.nav a{color:rgba(255,255,255,.55)!important;border-bottom:2px solid transparent!important;padding:.25rem 0!important}
.nav a::after{display:none!important}
.nav a:hover,.nav a.act{color:#fff!important;border-bottom-color:var(--or)!important}
.nav-drop-t{color:rgba(255,255,255,.55)!important}
.nav-item:hover .nav-drop-t{color:#fff!important;border-bottom-color:var(--or)!important}
.nav-drop{background:#fff!important;border-radius:0!important;border:none!important;border-top:3px solid var(--or)!important;padding:.5rem 0!important;box-shadow:0 12px 40px rgba(28,44,18,.2)!important}
.nav-drop a{color:#3C3C2E!important;border-radius:0!important;padding:.65rem 1.25rem!important;font-size:13px!important}
.nav-drop a:hover{background:#F4F3EE!important;color:var(--or)!important}
.nav-drop__div{height:1px!important;background:#E2DAD0!important;margin:.4rem 0!important}
.phone-lnk{font-size:13px!important;font-weight:600!important;color:rgba(255,255,255,.7)!important;letter-spacing:.03em!important}
.phone-lnk:hover{color:#fff!important}
.btn--or{background:var(--or)!important;color:#fff!important;border:2px solid var(--or)!important;border-radius:0!important;padding:.65rem 1.4rem!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:.04em!important;display:inline-flex!important;align-items:center!important;white-space:nowrap!important}
.btn--or:hover{background:var(--or2)!important;border-color:var(--or2)!important}
.brg span{background:#fff!important}
.mnav{background:var(--nv2)!important;border-top:1px solid rgba(255,255,255,.08)!important;padding:1.5rem!important}
.mnav a{color:rgba(255,255,255,.7)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;padding:.8rem 0!important}
.ftr{background:#0E1809!important}
.ftr .logo__t{color:#fff!important;text-transform:uppercase!important;letter-spacing:.12em!important}
.ftr .logo__d{background:var(--or)!important;border-radius:0!important}
.ftr__ch{color:var(--or)!important}


/* ── PALETTE UNIFICATION ── */
:root {
  --nv:#1C2C12; --nv2:#263D18;
  --or:#C5B49A; --or2:#D4C8B0;
}
/* Primary accent → forest green instead of sage */
.lbl::before, .lbl--lt::before { background:var(--nv) }
.lbl { color:var(--nv) }
.lbl--lt { color:rgba(255,255,255,.55) }
.adv-bar { background:var(--nv) }
.adv-slbl { color:var(--nv) }
.bc__rd { color:var(--nv) }
.bc__rd:hover { color:var(--nv) }
.svc-lnk { color:rgba(210,201,188,.6) }
.blog-hd .btn--out:hover { border-color:var(--nv); color:var(--nv) }
/* CTA button → forest green */
.btn--sg { background:var(--nv)!important; color:#fff!important; border-color:var(--nv)!important }
.btn--sg:hover { background:var(--nv2)!important; border-color:var(--nv2)!important }
/* Accent button → forest green */
.btn--accent { color:var(--nv)!important; border-color:var(--nv)!important }
.btn--accent:hover { background:var(--nv)!important; color:#fff!important }
/* Form focus → forest green */
.fi:focus,.fta:focus,.fsel:focus { border-color:var(--nv)!important }
/* About mini active stat → amber */
/* Nav active underline */
/* ── SERVICE CARD TAGS: unified amber ── */
.tag { background:rgba(197,180,154,.1)!important; color:#7A6A50!important; border-color:rgba(197,180,154,.3)!important }
/* ── SERVICE CARD: unified beige color system ── */
#home-svc .svc-ico { background:rgba(197,180,154,.12)!important; border-color:rgba(197,180,154,.3)!important }
.svc-ico svg { stroke:#C5B49A!important; color:#C5B49A!important }
/* Subgrid: sync row heights across cards in same grid row */
#home-svc .svc-grid { grid-template-rows:repeat(6,auto); align-items:start }
#home-svc .svc-card { display:grid!important; grid-template-rows:subgrid; grid-row:span 6; gap:0!important }
#home-svc .svc-card .svc-ico  { margin-bottom:1.5rem }
#home-svc .svc-card .svc-n    { margin-bottom:.5rem }
#home-svc .svc-card .tag      { margin-bottom:1.125rem }
#home-svc .svc-card .svc-t    { margin-bottom:1rem }
#home-svc .svc-card .svc-d    { margin-bottom:1.5rem }
#home-svc .tag { background:rgba(197,180,154,.1)!important; color:#C5B49A!important; border-color:rgba(197,180,154,.3)!important; align-self:flex-start!important }
#home-svc .svc-d { color:#C5B49A!important }
#home-svc .svc-t { color:var(--cr)!important }

/* ── Nav dropdown: держим открытым при движении к списку ── */
.nav-item.open .nav-drop{display:block}
.nav-drop::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
#home-svc .svc-lnk { color:#C5B49A!important; border:1px solid rgba(197,180,154,.35)!important; padding:.45rem .95rem!important; border-radius:2px!important; gap:.5rem!important; align-self:flex-start!important }
#home-svc .svc-lnk:hover { border-color:rgba(197,180,154,.7)!important; background:rgba(197,180,154,.08)!important; gap:.5rem!important }
/* ── Adv stat dark → forest green bg ── */
.adv-stat--dk { background:var(--nv)!important; border-color:var(--nv)!important }

/* ── About mini: all text white ── */
section[style*="background:#1C2C12"] .lbl--lt { color:rgba(255,255,255,.6)!important }
section[style*="background:#1C2C12"] .lbl--lt::before { background:rgba(255,255,255,.5)!important }
section[style*="background:#1C2C12"] h2,
section[style*="background:#1C2C12"] .dh { color:#fff!important }
section[style*="background:#1C2C12"] .dh em { color:rgba(255,255,255,.75)!important; font-style:normal }
section[style*="background:#1C2C12"] p { color:rgba(255,255,255,.65)!important }
section[style*="background:#1C2C12"] .btn--gh { color:#fff!important; border-color:rgba(255,255,255,.35)!important }
section[style*="background:#1C2C12"] .btn--gh:hover { background:rgba(255,255,255,.1)!important }

/* ── CTA → beige background, text dark ── */
.cta-sec { background:var(--pa)!important }
.cta-sec .lbl { color:var(--nv)!important }
.cta-sec .lbl::before { background:var(--nv)!important }
.cta-t { color:var(--dk)!important }
.cta-s { color:var(--mu)!important }
.cta-ctc { color:var(--md)!important }
.cta-ctc svg { color:var(--nv)!important }
.cta-form { background:var(--wh)!important; border-color:var(--bd)!important }
.cta-ft { color:var(--dk)!important }
.fl { color:var(--mu)!important }
.fi,.fta,.fsel { background:var(--pa)!important; border-color:var(--bd)!important; color:var(--dk)!important }
.fi::placeholder,.fta::placeholder { color:rgba(120,120,100,.4)!important }
.fsel { color:var(--md)!important }
.fsel option { background:var(--cr); color:var(--dk) }
.fnote { color:var(--mu)!important }

/* no italic in headings */
h1 em,h2 em,h3 em,.dh em,.cta-t em,.h1 em{font-style:normal!important}

/* ══ v5 DESIGN REFRESH — Editorial Craft ══════════════════════ */

/* em in headings: no italic, but keep accent color */
h1 em,h2 em,h3 em,.dh em,.cta-t em,.h1 em{font-style:normal!important}
.hero .dh em{color:var(--dk)!important;font-weight:300!important}
.dh em{color:#5A7451!important}
.sec--dk .dh em,section[style*="#1C2C12"] .dh em{color:rgba(197,180,154,.7)!important}
.cta-t em{color:#5A7451!important}
h2 em{color:#5A7451!important}

/* Editorial radii: sharper for industrial/craft feel */
:root{--r:2px!important;--rl:14px!important;--rx:20px!important}
.btn{border-radius:2px!important;font-size:12px!important;letter-spacing:.07em!important;text-transform:uppercase!important;font-weight:600!important;padding:.8rem 1.75rem!important}
.btn-sm{padding:.5rem 1rem!important}

/* Hero: atmospheric gradient background */
.hero-wrap{background:linear-gradient(150deg,#FAF8F5 0%,#F0E8DC 60%,#E8DFCF 100%)!important;position:relative;overflow:hidden}
.hero-wrap::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 15%,rgba(143,143,118,.08) 0%,transparent 55%),radial-gradient(ellipse at 5% 85%,rgba(28,44,18,.05) 0%,transparent 50%);pointer-events:none;z-index:0}
.hero-wrap .hero{position:relative;z-index:1}

/* Hero typography: more editorial */
.hero .dh--xl{font-size:clamp(2.2rem,3.8vw,3.4rem)!important;font-weight:300!important;letter-spacing:-0.025em!important;line-height:1.1!important}
.hero__sn{font-size:2.5rem!important;font-weight:300!important;letter-spacing:-0.04em!important;color:#1C2C12!important}
.hero__sl{font-size:10px!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.hero__stats{gap:2.5rem!important;padding-top:2.25rem!important}
.hero__tag{border:1px solid rgba(143,143,118,.25)!important;background:transparent!important;letter-spacing:.18em!important;font-size:10px!important}
.hero__sub{font-size:15.5px!important;line-height:1.85!important;max-width:460px!important}

/* Section labels: more refined */
.lbl{font-size:10px!important;letter-spacing:.22em!important}

/* Section headings: editorial scale */
.dh--lg{font-size:clamp(2.3rem,4.8vw,3.8rem)!important;font-weight:300!important;letter-spacing:-0.03em!important;line-height:1.07!important}
.dh--md{font-weight:400!important;letter-spacing:-0.015em!important}

/* Services section: light parchment so dark cards stand out */
#home-svc{background:var(--pa)!important}
#home-svc .lbl{color:var(--sg)!important}
#home-svc .lbl::before{background:var(--sg)!important}
#home-svc .dh{color:var(--dk)!important}
#home-svc .dsc{color:var(--mu)!important}
#home-svc .dh em{color:#5A7451!important}

/* Service card: refined numbers + sharper */
.svc-n{font-size:1.75rem!important;font-weight:300!important;font-family:'Source Serif 4',Georgia,serif!important;color:rgba(210,201,188,.18)!important;letter-spacing:-0.04em!important;line-height:1!important}
.svc-t{font-size:1.08rem!important;line-height:1.25!important;letter-spacing:-.01em!important}
.svc-card{border-radius:14px!important;padding:2.25rem!important}
.svc-d{font-size:13px!important;line-height:1.75!important}

/* Advantages: editorial stats */
.adv-sn{font-size:4.2rem!important;font-weight:300!important;letter-spacing:-0.05em!important;line-height:.9!important}
.adv-stat{border-radius:12px!important}
.adv-slbl{font-size:9px!important;letter-spacing:.22em!important}
.adv-it{font-size:14.5px!important;letter-spacing:-.01em!important}
.adv-id{font-size:13.5px!important;line-height:1.75!important}
.adv-bar{width:2px!important;border-radius:0!important}

/* Blog: magazine feel */
.bc{border-radius:14px!important}
.bc__t{font-size:1.05rem!important;line-height:1.28!important;letter-spacing:-.01em!important}
.bc__img{height:210px!important}
.bc__body{padding:1.6rem!important;gap:.75rem!important}

/* CTA: stone background + editorial type */
.cta-sec{background:#EAE3D8!important}
.cta-t{font-size:clamp(2rem,4vw,3.2rem)!important;font-weight:300!important;letter-spacing:-0.025em!important;line-height:1.08!important}
.cta-form{border-radius:14px!important}
.cta-ft{font-family:'Source Serif 4',Georgia,serif!important;font-weight:400!important;font-size:1.3rem!important;letter-spacing:-.01em!important}

/* Footer: darker */
.ftr{background:#0C1708!important}
.ftr__ch{letter-spacing:.18em!important;font-size:9px!important}

/* Form inputs: sharper */
.fi,.fta,.fsel{border-radius:2px!important}

/* Subtle section rhythm borders */
.sec:not(.sec--dk){border-bottom:1px solid rgba(210,201,188,.35)!important}

/* Cards globally: slight refresh */
.card{border-radius:14px!important}
.tag{border-radius:100px!important;font-size:9px!important;letter-spacing:.1em!important}

/* Blog heading layout */
.blog-hd{align-items:center!important;margin-bottom:2.75rem!important}
.dsc{line-height:1.85!important;font-size:15.5px!important}

/* Dark button: use forest green */
.btn--dk{background:#1C2C12!important;border-color:#1C2C12!important}
.btn--dk:hover{background:#263D18!important;border-color:#263D18!important}

/* Nav dropdown: sharper */
.nav-drop{border-radius:3px!important}
.nav-drop a{border-radius:2px!important}

/* About mini: grain texture simulation */
section.about-mini{position:relative;overflow:hidden}

/* Hero visual: refined */
.hero__vis{border-radius:12px!important;box-shadow:0 32px 80px rgba(28,44,18,.18)!important}

/* Advantage dark stat: keep forest green */
.adv-stat--dk{background:#1C2C12!important;border-color:#1C2C12!important}

/* Process numbers: serif */
.proc-num{font-family:'Source Serif 4',Georgia,serif!important;font-weight:300!important}

/* Expertise chips: squared */
.exp-chip{border-radius:2px!important;font-size:11px!important;padding:.4rem .9rem!important}

/* Article pull quote */
.art-pull{border-left-color:#1C2C12!important}

/* Popup: sharper */
#form-popup>div,#success-popup>div{border-radius:8px!important}

/* Advantages section: stone-tinted background */
.sec--alt{background:#EDE7DC!important}

/* Lbl dark section */
.lbl--lt{color:rgba(210,201,188,.55)!important}
.lbl--lt::before{background:rgba(210,201,188,.4)!important}


/* ── Hero outline button ── */
.btn--hero-out{background:transparent!important;color:var(--dk)!important;border:1.5px solid rgba(24,24,15,.28)!important;border-radius:2px!important}
.btn--hero-out:hover{border-color:var(--dk)!important;background:rgba(24,24,15,.06)!important}

/* ══ ANIMATIONS ══════════════════════════════════════════════════ */

/* Hero entrance: staggered reveal */
@keyframes ib-hero-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.hero__content>*{animation:ib-hero-up .9s cubic-bezier(.16,1,.3,1) both}
.hero__content>*:nth-child(1){animation-delay:.08s}
.hero__content>*:nth-child(2){animation-delay:.22s}
.hero__content>*:nth-child(3){animation-delay:.36s}
.hero__content>*:nth-child(4){animation-delay:.5s}
.hero__content>*:nth-child(5){animation-delay:.64s}
/* Hero image float-in */
.hero__vis{animation:ib-hero-up 1.1s cubic-bezier(.16,1,.3,1) .15s both}

/* Section label line: animate width on entry */
@keyframes ib-lbl-line{from{width:0}to{width:20px}}
.lbl.ib-done::before{animation:ib-lbl-line .5s cubic-bezier(.16,1,.3,1) both}

/* Subtle image parallax */
.hero__vis img{transition:transform .1s linear;will-change:transform}

/* Blog/svc card entrance already uses ib-fadeUp — improve stagger */
.bc[data-ib-anim]{animation-delay:calc(var(--i,0)*80ms)}
.svc-card[data-ib-anim]{animation-delay:calc(var(--i,0)*60ms)}
.adv-stat[data-ib-anim]{animation-delay:calc(var(--i,0)*70ms)}

/* Count-up: keep normal appearance until JS fires */
.hero__sn[data-count]{min-width:2ch;display:inline-block}

/* Hover: service card subtle lift + left border glow */
.svc-card{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .25s ease!important}
.svc-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 56px rgba(0,0,0,.28)!important;border-color:rgba(197,180,154,.22)!important}

/* Hover: blog card */
.bc{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease!important}
.bc:hover{transform:translateY(-6px)!important;box-shadow:0 20px 48px rgba(28,44,18,.16)!important}

/* Hover: adv-stat subtle scale */
.adv-stat{transition:transform .28s cubic-bezier(.16,1,.3,1)!important}
.adv-stat:hover{transform:translateY(-5px) scale(1.01)!important}

/* Scroll-reveal reset (override opacity:0 before animate) */
[data-ib-anim]{opacity:0}
[data-ib-anim].ib-done{animation:ib-fadeUp .72s cubic-bezier(.16,1,.3,1) both}

/* ══ CONTACTS FORM ═══════════════════════════════════════════════ */
.ct-fl{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);font-family:'Onest',sans-serif;font-weight:600;margin-bottom:.5rem}
.ct-fi{width:100%;padding:.75rem 1rem;border:1px solid var(--bd);border-radius:var(--r);background:var(--wh);font-size:.9rem;font-family:'Onest',sans-serif;color:var(--dk);outline:none;box-sizing:border-box;transition:border-color .2s}
.ct-fi:focus{border-color:var(--sg)}
.ct-fi::placeholder{color:rgba(120,120,100,.4)}
.ct-svc-lbl{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1px solid var(--bd);border-radius:100px;cursor:pointer;font-size:.8rem;font-family:'Onest',sans-serif;color:var(--mu);background:var(--wh);transition:all .2s}
.ct-svc-lbl:hover{border-color:var(--sg);color:var(--dk)}
.ct-svc-lbl:has(input:checked){border-color:var(--sg);background:rgba(143,143,118,.1);color:var(--dk)}
@media(max-width:560px){.ct-form-row{grid-template-columns:1fr!important}}

/* ══ БЛОКИ-КОНСТРУКТОР: адаптив ═══════════════════════════════════ */
@media(max-width:1024px){
  .imgtxt-lay,.person-lay{grid-template-columns:1fr!important}
  .imgtxt-lay [style*="order:2"]{order:0!important}
  .darkcards-grid{grid-template-columns:1fr!important}
}
@media(max-width:768px){
  .stats-bar{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:1024px){
  .pricing-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
  .pricing-grid,.gallery-grid{grid-template-columns:1fr!important}
}

