@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap');


:root{
  --brand-red:#ed1c24;--brand-red-dark:#b40f17;--brand-red-deep:#870b11;--brand-black:#121214;--brand-charcoal:#242429;
  --ink:#171719;--ink2:#2a2a2e;--lapis:#ed1c24;--lapis2:#c4121a;--turq:#171719;--turq2:#333338;
  --saffron:#ff4d57;--brick:#a70e15;--rose:#d8151e;--cream:#fff5f5;--sand:#ead7d8;--paper:#fffdfd;
  --muted:#69696f;--line:#e7dfe0;--white:#fff;--shadow:0 26px 64px rgba(20,18,18,.12);--radius:22px;
  --container:min(1180px,calc(100% - 44px));
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:"Vazirmatn",Tahoma,Arial,sans-serif;font-size:14px;line-height:2;overflow-x:hidden} body[dir=rtl]{text-align:right} a{color:inherit;text-decoration:none} button{font:inherit;cursor:pointer} img{max-width:100%;display:block} ::selection{background:#ff4d5755;color:var(--ink)}
h1,h2,h3,h4,h5,h6{font-size:18px!important;line-height:1.75;margin:0;font-weight:800;letter-spacing:-.025em} p{margin:0}.container{width:var(--container);margin-inline:auto}.section{padding:96px 0;position:relative;overflow:hidden}.section>*:not(.heritage-art){position:relative;z-index:2}.section--cream{background:linear-gradient(135deg,#fff5f5,#fffaf0 58%,#f6ead6)}.section--ink{background:linear-gradient(145deg,#121214,#1c1c20 56%,#242429);color:white}.section-title{max-width:720px;margin-bottom:14px}.section-lead{max-width:770px;color:var(--muted);font-size:14px;line-height:2.1}.section--ink .section-lead{color:#cbd4e3}.eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--section-accent,var(--lapis));font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.eyebrow:before{content:"";width:30px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--section-accent,var(--saffron)),transparent)}
.scroll-line{position:fixed;top:0;inset-inline-start:0;width:0;height:3px;background:linear-gradient(90deg,var(--saffron),var(--brick),var(--turq));z-index:100}.site-header{position:fixed;z-index:90;top:0;inset-inline:0;height:76px;display:flex;align-items:center;background:rgba(255,253,248,.82);backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid transparent;transition:.3s}.site-header.is-scrolled{height:66px;border-color:#17171916;box-shadow:0 10px 30px #1717190b}.header-inner{width:var(--container);margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:11px;min-width:180px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-name{font-size:18px!important;font-weight:800;letter-spacing:-.045em;position:relative;color:var(--ink);white-space:nowrap}.brand-name span{font-weight:500}.brand-name em{font-style:normal;font-weight:800;color:var(--lapis)}.brand-name:after{content:"";display:block;width:34px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--saffron),var(--brick));margin-top:5px}.brand-tagline{font-size:9px;color:var(--muted);margin-top:5px;letter-spacing:.02em}.nav{display:flex;justify-content:center;gap:4px}.nav a{font-size:11px;color:#4e5769;padding:8px 11px;border-radius:10px;transition:.2s}.nav a:hover{color:var(--lapis);background:#ed1c240c}.header-actions{display:flex;align-items:center;gap:8px}.lang-link,.header-call{height:38px;display:inline-flex;align-items:center;padding:0 14px;border-radius:11px;font-size:10px;font-weight:700}.lang-link{border:1px solid var(--line);background:#fff9}.header-call{background:linear-gradient(135deg,var(--lapis),#b40f17);color:white;box-shadow:0 10px 22px #ed1c2428}.mobile-toggle{display:none;width:42px;height:42px;position:relative;border:1px solid var(--line);border-radius:12px;background:#fff}.mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{content:"";position:absolute;left:11px;width:18px;height:1.5px;background:var(--ink);transition:.25s}.mobile-toggle span{top:20px}.mobile-toggle:before{top:15px}.mobile-toggle:after{top:25px}.mobile-toggle.is-open span{opacity:0}.mobile-toggle.is-open:before{top:20px;transform:rotate(45deg)}.mobile-toggle.is-open:after{top:20px;transform:rotate(-45deg)}
.hero{min-height:760px;padding:145px 0 82px;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 15% 22%,#ff4d5724,transparent 24%),radial-gradient(circle at 83% 30%,#1717191b,transparent 26%),linear-gradient(150deg,#fffdfd 0%,#fff9ed 55%,#f8ecdc 100%)}.hero:after{content:"";position:absolute;inset-inline:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--lapis) 0 26%,var(--turq) 26% 48%,var(--saffron) 48% 70%,var(--brick) 70%)}.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}.hero-copy{position:relative}.hero-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--lapis);font-size:10px;font-weight:800;background:#fff;border:1px solid #ed1c241d;border-radius:999px;padding:7px 11px;margin-bottom:18px;box-shadow:0 7px 20px #1717190a}.hero-kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--saffron);box-shadow:0 0 0 5px #ff4d571e}.hero h1{max-width:680px;margin-bottom:18px}.hero-text{font-size:14px;line-height:2.2;max-width:700px;color:#596071}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.btn{height:46px;padding:0 20px;border-radius:12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:800;transition:.22s}.btn--primary{background:linear-gradient(135deg,var(--lapis),#b40f17);color:white;box-shadow:0 14px 30px #ed1c242c}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 36px #ed1c2438}.btn--ghost{background:#ffffffb5;border-color:#17171917}.btn--ghost:hover{border-color:#ed1c2455}.hero-note{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;color:#707787;font-size:10px}.hero-note span{display:flex;align-items:center;gap:7px}.hero-note i{width:5px;height:5px;border-radius:50%;background:var(--turq)}
.hero-card{position:relative;min-height:468px;padding:24px;border-radius:28px;border:1px solid #17171918;background:linear-gradient(145deg,#ffffffde,#fffaf3d9);box-shadow:var(--shadow);overflow:hidden;transform-style:preserve-3d}.hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ed1c240b,#17171908 42%,#ff4d570e);pointer-events:none}.hero-card-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column}.hero-card-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:17px;border-bottom:1px solid #17171912}.status{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:#31a16b;box-shadow:0 0 0 4px #31a16b1d}.persian-seal{width:78px;height:78px;border-radius:18px;display:grid;place-items:center;text-align:center;font-size:9px;font-weight:800;letter-spacing:.12em;color:white;background:linear-gradient(145deg,var(--brick),#a6404b);box-shadow:0 12px 28px #a70e152c;transform:rotate(3deg)}.hero-service-list{display:grid;gap:9px;margin-top:22px}.hero-service-item{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px 13px;border-radius:14px;border:1px solid #1717190e;background:#ffffffb8;transition:.2s}.hero-service-item:hover{transform:translateX(-3px);border-color:#ed1c2433}.service-index{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0f1,#f7eeee);color:var(--lapis);font-size:10px;font-weight:800}.hero-service-item strong{font-size:11px}.hero-service-item small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.hero-service-item em{font-size:9px;font-style:normal;font-weight:800;color:var(--brick)}.hero-card-footer{margin-top:auto;padding-top:17px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}
.heritage-art{position:absolute;z-index:1;pointer-events:none;right:-70px;top:50%;width:min(44vw,620px);aspect-ratio:1;transform:translateY(-50%);background:var(--pattern-color,#ed1c24);opacity:.09;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.pattern-ferdowsi{-webkit-mask-image:url('../img/ferdowsi-pattern.svg');mask-image:url('../img/ferdowsi-pattern.svg')}.pattern-hafez{-webkit-mask-image:url('../img/hafez-pattern.svg');mask-image:url('../img/hafez-pattern.svg')}.pattern-azadi{-webkit-mask-image:url('../img/azadi-pattern.svg');mask-image:url('../img/azadi-pattern.svg')}.pattern-milad{-webkit-mask-image:url('../img/milad-pattern.svg');mask-image:url('../img/milad-pattern.svg')}.pattern-hegmataneh{-webkit-mask-image:url('../img/hegmataneh-pattern.svg');mask-image:url('../img/hegmataneh-pattern.svg')}.hero .heritage-art{width:min(47vw,650px);right:-80px;opacity:.105;--pattern-color:var(--lapis)}
.trustbar{padding:20px 0;background:#fff;border-bottom:1px solid #e8e1d6}.trustbar-inner{display:grid;grid-template-columns:1.15fr repeat(4,1fr);align-items:center;gap:18px}.trust-title{font-size:10px;color:var(--muted)}.trust-item{font-size:10px;font-weight:700;display:flex;align-items:center;gap:8px}.trust-item:before{content:"";width:18px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--saffron),var(--brick))}
#services{--section-accent:var(--brick);background:linear-gradient(180deg,#fffdf9,#fff 55%,#fdf8ef)}#services .heritage-art{left:-85px;right:auto;--pattern-color:var(--brick);opacity:.07}.services-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:start;margin-bottom:38px}.side-note{border-inline-start:3px solid var(--brick);padding-inline-start:16px;color:var(--muted);font-size:12px;line-height:2.15}.service-panel{display:grid;grid-template-columns:280px 1fr;gap:42px;padding:44px 0;border-top:1px solid var(--line);position:relative}.service-panel:last-child{border-bottom:1px solid var(--line)}.service-panel:before{content:"";position:absolute;top:-1px;inset-inline-start:0;width:var(--line-progress,0%);height:2px;background:linear-gradient(90deg,var(--brick),var(--saffron),var(--turq))}.service-meta{position:sticky;top:100px;align-self:start}.service-num{font-size:9px;color:var(--brick);font-weight:800;letter-spacing:.07em;margin-bottom:9px}.service-meta h3{margin-bottom:12px}.service-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.service-tags span{padding:5px 9px;border-radius:999px;border:1px solid #d9d2c6;background:#fff;font-size:9px;color:#646b78}.service-copy{font-size:13px;line-height:2.35;color:#515968;text-align:justify}.service-copy p+p{margin-top:14px}.service-result{margin-top:19px;padding:15px 17px;border-radius:14px;background:linear-gradient(90deg,#ed1c240a,#17171910);border-inline-start:3px solid var(--turq);color:var(--ink);font-size:11px;font-weight:600}
#expertise{--section-accent:var(--lapis)}#expertise .heritage-art{right:-80px;--pattern-color:var(--lapis);opacity:.075}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.capability{position:relative;min-height:184px;padding:20px;border-radius:18px;background:#fff;border:1px solid #1717190f;box-shadow:0 8px 24px #17171908;overflow:hidden;transition:.24s}.capability:after{content:"";position:absolute;inset-inline:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--lapis),var(--turq),var(--saffron));transform:scaleX(0);transform-origin:right;transition:.3s}.capability:hover{transform:translateY(-4px);box-shadow:0 18px 36px #1717190d}.capability:hover:after{transform:scaleX(1)}.capability-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#fff0f1,#fff4f4);color:var(--lapis);font-size:10px;font-weight:800;margin-bottom:15px}.capability h3{font-size:13px!important;margin-bottom:7px}.capability p{font-size:11px;line-height:2;color:var(--muted)}
#process{--section-accent:#ff5b63}#process .heritage-art{left:-70px;right:auto;--pattern-color:#ff6a72;opacity:.08}.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:68px;align-items:start}.process-aside{position:sticky;top:100px;padding:24px;border:1px solid #ffffff1d;border-radius:18px;background:linear-gradient(145deg,#ffffff0f,#ffffff06);backdrop-filter:blur(10px)}.process-aside .mini-title{font-size:12px;font-weight:800;margin-bottom:10px;color:#fff}.process-aside p{font-size:11px;line-height:2.15;color:#c8d2e2}.process-list{position:relative;border-top:1px solid #ffffff1c}.process-list:before{content:"";position:absolute;inset-inline-start:24px;top:0;width:1px;height:var(--process-progress,0%);background:linear-gradient(var(--saffron),var(--turq))}.process-step{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:21px 0;border-bottom:1px solid #ffffff1c}.process-step .n{font-size:9px;color:#ffd166;font-weight:800}.process-step h3{font-size:13px!important;margin-bottom:4px}.process-step p{font-size:11px;line-height:2;color:#c5cfdf}
#solutions{--section-accent:var(--turq);background:linear-gradient(180deg,#fff,#fffaf1)}#solutions .heritage-art{right:-80px;--pattern-color:var(--turq);opacity:.065}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:35px}.product-card{position:relative;min-height:300px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 24px #17171906}.product-card:before{content:"";position:absolute;inset-inline-start:0;top:0;width:5px;height:100%;background:linear-gradient(var(--lapis),var(--turq),var(--saffron),var(--brick));opacity:.85}.product-card .label{font-size:9px;color:var(--turq);font-weight:800;letter-spacing:.08em;margin-bottom:13px}.product-card h3{font-size:14px!important;margin-bottom:8px}.product-card p{font-size:11px;line-height:2;color:var(--muted)}.product-card ul{list-style:none;padding:0;margin:17px 0 0;display:grid;gap:8px}.product-card li{font-size:10px;display:flex;gap:8px;color:#4e5563}.product-card li:before{content:"✓";color:var(--brick);font-weight:800}.product-foot{margin-top:auto;padding-top:18px;font-size:10px;font-weight:800;color:var(--lapis)}
#faq{--section-accent:var(--rose)}#faq .heritage-art{left:-85px;right:auto;--pattern-color:var(--rose);opacity:.06}.faq-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:58px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-q{width:100%;border:0;background:none;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:inherit;color:var(--ink);font-size:11px;font-weight:700}.faq-q:after{content:"+";font-size:18px;font-weight:300;color:var(--rose);transition:.25s}.faq-item.open .faq-q:after{transform:rotate(45deg)}.faq-a{height:0;overflow:hidden}.faq-a p{padding:0 0 18px;font-size:11px;line-height:2.1;color:var(--muted)}
#contact{--section-accent:var(--saffron)}#contact .heritage-art{right:-80px;--pattern-color:var(--saffron);opacity:.06}.contact-card{display:grid;grid-template-columns:1.08fr .92fr;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#171719,#242429);color:#fff;box-shadow:var(--shadow)}.contact-main{padding:42px}.contact-main .eyebrow{color:#ffd166}.contact-main p{max-width:650px;font-size:12px;line-height:2.2;color:#ccd5e3}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.contact-actions .btn--primary{background:linear-gradient(135deg,#fff,#fff0f1);color:var(--ink)}.contact-actions .btn--ghost{border-color:#ffffff2c;color:#fff;background:#ffffff08}.contact-info{padding:36px;background:linear-gradient(145deg,#0f0f11,#171719);display:grid;align-content:center;gap:17px}.info-row{display:grid;grid-template-columns:76px 1fr;gap:12px;padding-bottom:14px;border-bottom:1px solid #ffffff14}.info-row:last-child{border-bottom:0}.info-row span{font-size:9px;color:#b7aaac}.info-row strong{font-size:10px;font-weight:500;line-height:2}
.site-footer{padding:46px 0 22px;background:#fff;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:48px;padding-bottom:32px}.footer-brand p{max-width:430px;margin-top:14px;color:var(--muted);font-size:10px;line-height:2.1}.footer-col h3{font-size:11px!important;margin-bottom:11px}.footer-col a{display:block;margin:6px 0;font-size:10px;color:var(--muted)}.footer-col a:hover{color:var(--lapis)}.footer-bottom{padding-top:17px;border-top:1px solid #eee8dd;display:flex;justify-content:space-between;gap:20px;color:#8a8e97;font-size:9px}.mobile-cta{display:none}
[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;transform:translateY(20px)}
@media(max-width:980px){
 :root{--container:min(calc(100% - 30px),760px)}.nav,.header-call{display:none}.mobile-toggle{display:block}.header-inner{grid-template-columns:auto 1fr auto}.header-actions{justify-self:end}.brand{min-width:0}.brand-name{font-size:16px!important}.site-header{height:66px}
 .nav.is-open{display:flex;position:fixed;z-index:95;top:74px;inset-inline:12px;max-height:calc(100vh - 90px);overflow:auto;flex-direction:column;align-items:stretch;gap:4px;padding:14px;border-radius:18px;background:#fff;box-shadow:0 24px 70px #17171930;border:1px solid #17171912}.nav.is-open a{padding:12px 13px;border-radius:11px;background:#f8f6f1;font-size:12px}.hero{min-height:auto;padding:116px 0 65px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-card{min-height:430px}.hero .heritage-art{right:-180px;width:680px;opacity:.075}.trustbar-inner{grid-template-columns:1fr 1fr}.trust-title{grid-column:1/-1}.services-intro,.process-grid,.faq-wrap{grid-template-columns:1fr;gap:30px}.service-panel{grid-template-columns:1fr;gap:18px}.service-meta,.process-aside{position:static}.capabilities,.products-grid{grid-template-columns:1fr 1fr}.contact-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.heritage-art{width:560px;opacity:.05}
}
@media(max-width:640px){
 :root{--container:calc(100% - 24px);--radius:16px}body{font-size:13px;padding-bottom:66px}body.menu-open{overflow:hidden}.section{padding:64px 0}.site-header{height:62px}.site-header.is-scrolled{height:60px}.header-inner{gap:10px}.brand-name{font-size:15px!important;letter-spacing:-.045em}.brand-tagline{font-size:8px}.lang-link{height:34px;padding:0 9px}.mobile-toggle{width:38px;height:38px}.mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{left:9px}
 .nav.is-open{top:68px;bottom:76px;max-height:none;justify-content:flex-start;padding:12px}.nav.is-open:after{content:"ModeMedia • متمایز و حرفه‌ای";display:block;margin-top:auto;padding:13px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}
 .hero{padding:98px 0 54px;background:radial-gradient(circle at 10% 12%,#ff4d571f,transparent 28%),radial-gradient(circle at 88% 22%,#17171918,transparent 25%),linear-gradient(150deg,#fffdfd,#fff7e9)}.hero-grid{gap:24px}.hero-kicker{font-size:9px;padding:6px 9px;margin-bottom:14px}.hero h1{font-size:17px!important;line-height:1.85}.hero-text{font-size:12px;line-height:2.12}.hero-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:21px}.btn{width:100%;height:44px;padding:0 12px}.hero-note{display:grid;grid-template-columns:1fr;gap:7px;margin-top:17px}.hero-card{min-height:auto;padding:15px;border-radius:19px}.hero-card-top{padding-bottom:14px}.persian-seal{width:58px;height:58px;border-radius:15px;font-size:8px}.hero-service-list{margin-top:14px;gap:7px}.hero-service-item{grid-template-columns:32px 1fr;padding:10px}.hero-service-item em{display:none}.service-index{width:32px;height:32px}.hero-card-footer{padding-top:13px}.hero .heritage-art{width:430px;right:-210px;top:44%;opacity:.06}.trustbar{padding:16px 0}.trustbar-inner{display:flex;overflow:auto;gap:8px;scroll-snap-type:x mandatory;padding-bottom:3px}.trust-title,.trust-item{flex:0 0 auto;scroll-snap-align:start;padding:7px 10px;border-radius:10px;background:#faf6ef;border:1px solid #eee5d8}.trust-title{font-weight:700}.trust-item:before{width:10px}
 .services-intro{gap:20px;margin-bottom:20px}.side-note{font-size:11px}.service-panel{padding:30px 0}.service-copy{font-size:12px;line-height:2.22;text-align:start}.service-tags{overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.service-tags span{flex:0 0 auto}.service-result{font-size:10px;padding:13px 14px}.heritage-art{width:400px;opacity:.04}.capabilities,.products-grid{display:flex;overflow-x:auto;gap:12px;scroll-snap-type:x mandatory;margin-inline:-12px;padding:0 12px 12px}.capability,.product-card{flex:0 0 84%;scroll-snap-align:center}.capability{min-height:178px}.product-card{min-height:286px}.process-step{grid-template-columns:36px 1fr;padding:18px 0}.process-step h3{font-size:12px!important}.process-step p{font-size:10px}.faq-wrap{gap:22px}.faq-q{padding:16px 0}.contact-card{border-radius:18px}.contact-main,.contact-info{padding:24px 18px}.contact-actions{display:grid;grid-template-columns:1fr 1fr}.info-row{grid-template-columns:62px 1fr}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:5px}.mobile-cta{position:fixed;z-index:85;bottom:0;inset-inline:0;height:64px;padding:8px 10px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#fffdfde8;backdrop-filter:blur(18px);border-top:1px solid #17171914}.mobile-cta a{display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:10px;font-weight:800}.mobile-cta .m-primary{background:linear-gradient(135deg,var(--lapis),#b40f17);color:#fff}.mobile-cta .m-secondary{background:#fff0f1;color:var(--ink);border:1px solid #ead7d8}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js [data-reveal]{opacity:1!important;transform:none!important}.site-header,.btn,.capability,.product-card,.hero-service-item{transition:none!important}}


/* === ModeMedia logo-theme refinement === */
body{background:var(--paper);color:var(--ink)}
::selection{background:#ed1c2430;color:#101012}
.scroll-line{height:3px;background:linear-gradient(90deg,#111214 0 16%,#ed1c24 16% 78%,#8d0c12 78% 100%);box-shadow:0 0 18px #ed1c2450}
.site-header{background:rgba(255,253,253,.9);border-bottom-color:#ed1c2400;backdrop-filter:blur(20px) saturate(1.22)}
.site-header.is-scrolled{border-color:#211c1d14;box-shadow:0 12px 34px #2f121415}
.brand{min-width:190px;display:flex;align-items:center}
.brand-logo{width:180px;height:auto;object-fit:contain;display:block;transition:width .28s ease,transform .28s ease,filter .28s ease;filter:saturate(1.06) contrast(1.04)}
.site-header.is-scrolled .brand-logo{width:164px}
.site-header .nav a,.site-header .lang-link,.site-header .header-call{font-size:13px!important;line-height:1!important}
.nav{gap:2px}.nav a{color:#36363a;padding:9px 11px}.nav a:hover,.nav a.is-active{color:#ed1c24;background:#ed1c2409}
.lang-link{border-color:#ded5d6;background:#fff}.lang-link:hover{border-color:#ed1c2460;color:#ed1c24}
.header-call{background:linear-gradient(135deg,#f11d26,#c50f17 82%);box-shadow:0 12px 26px #ed1c2435}.header-call:hover{box-shadow:0 16px 32px #ed1c2444}
.mobile-toggle{border-color:#e4d9da}.mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{background:#171719}

.hero{background:radial-gradient(circle at 13% 20%,#ed1c2417,transparent 26%),radial-gradient(circle at 85% 24%,#1515170d,transparent 28%),linear-gradient(150deg,#fffdfd 0%,#fff8f8 52%,#f7f3f3 100%)}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 7%,#ed1c2407 7% 7.08%,transparent 7.08% 100%),linear-gradient(#16161805 1px,transparent 1px);background-size:100% 100%,100% 42px;mask-image:linear-gradient(to bottom,#0008,transparent 74%)}
.hero:after{height:5px;background:linear-gradient(90deg,#121214 0 20%,#ed1c24 20% 82%,#7b0b10 82%)}
.hero-kicker{color:#c81018;border-color:#ed1c2420;box-shadow:0 8px 24px #3c11130a}.hero-kicker .dot{background:#ed1c24;box-shadow:0 0 0 5px #ed1c2414}
.hero-text,.side-note,.service-copy p,.section-lead,.capability p,.process-aside p,.product-card p,.faq-a p,.contact-main p,.footer-brand p{line-height:1.75em!important;text-align:justify!important;text-justify:inter-word}
.hero-text{color:#5f5d61}
.btn--primary{background:linear-gradient(135deg,#f21e28,#bf0e16);box-shadow:0 15px 32px #ed1c2432}.btn--primary:hover{box-shadow:0 20px 40px #ed1c2442}
.btn--ghost{background:#fffdfde8;border-color:#211c1d18}.btn--ghost:hover{border-color:#ed1c2450;color:#c81018}
.hero-note i{background:#ed1c24}
.hero-card{border-color:#211c1d14;background:linear-gradient(145deg,#ffffffec,#fff7f7e8);box-shadow:0 30px 70px #41121514}
.hero-card:before{content:"";position:absolute;inset-inline-start:0;top:0;width:5px;height:100%;background:linear-gradient(#ed1c24,#8d0c12);z-index:3}
.hero-card:after{background:radial-gradient(circle at 80% 10%,#ed1c2412,transparent 38%),linear-gradient(135deg,#17171904,#ed1c2408)}
.persian-seal{background:linear-gradient(145deg,#ed1c24,#9c0c13);box-shadow:0 14px 32px #ed1c2430}
.service-index{background:linear-gradient(145deg,#fff1f2,#f7eeee);color:#d6131c}.hero-service-item:hover{border-color:#ed1c2438}.hero-service-item em{color:#bd1017}

.heritage-art{background:linear-gradient(135deg,var(--pattern-color,#ed1c24) 0%,#171719 54%,var(--pattern-color,#ed1c24) 100%);background-size:220% 220%;opacity:.085;filter:drop-shadow(0 12px 28px #3510120c);will-change:transform,opacity,clip-path,background-position;transform-origin:center center;clip-path:inset(0 0 0 0)}
.hero .heritage-art{--pattern-color:#ed1c24;opacity:.105}
#services .heritage-art{--pattern-color:#b30f16;opacity:.07}#expertise .heritage-art{--pattern-color:#ed1c24;opacity:.07}#process .heritage-art{--pattern-color:#ff5b63;opacity:.09}#solutions .heritage-art{--pattern-color:#19191c;opacity:.055}#faq .heritage-art{--pattern-color:#c4121a;opacity:.06}#contact .heritage-art{--pattern-color:#ed1c24;opacity:.065}

.trustbar{border-bottom-color:#eee5e6}.trust-title{color:#78757a}.trust-item:before{background:linear-gradient(90deg,#ed1c24,#6d090d)}
#services{--section-accent:#ed1c24;background:linear-gradient(180deg,#fffdfd,#fff 55%,#fff8f8)}
.side-note{border-inline-start-color:#ed1c24}
.service-panel{position:relative}.service-panel:before{background:linear-gradient(90deg,#ed1c24,#811017)!important}.service-num{color:#bd1017!important}.service-tags span{border-color:#eadbdd!important;background:#fffafa!important}.service-result{border-color:#ed1c2422!important;border-inline-start-color:#ed1c24!important;background:linear-gradient(90deg,#fff3f4,#fffafa)!important;color:#711014!important}
.section--cream{background:linear-gradient(135deg,#fff5f5,#fffafa 58%,#f5eeee)}
.section--ink{background:radial-gradient(circle at 78% 10%,#ed1c2424,transparent 28%),linear-gradient(145deg,#121214,#1c1c20 56%,#242429);color:white}
.section--ink .section-lead{color:#d3cfd0}
.capability{border-color:#e7dddd!important;background:#fff!important}.capability-icon{color:#ed1c24!important;background:#fff0f1!important}.capability:hover{border-color:#ed1c2442!important;box-shadow:0 20px 42px #3d111315!important}
#process{--section-accent:#ff5b63}.process-aside{border-color:#ffffff18;background:linear-gradient(145deg,#ffffff0f,#ed1c2408)}.process-list:before{background:linear-gradient(#ed1c24,#ff6970)!important}.process-step .n{color:#ff858b!important}
#solutions{--section-accent:#ed1c24;background:linear-gradient(180deg,#fff,#fff8f8)}.product-card{border-color:#e7dddd;box-shadow:0 8px 26px #2c111307}.product-card:before{background:linear-gradient(#ed1c24,#111214,#ed1c24)}.product-card .label,.product-foot{color:#c61119}.product-card li:before{color:#ed1c24}
#faq{--section-accent:#ed1c24}.faq-q:after{color:#ed1c24}
#contact{--section-accent:#ed1c24}.contact-card{background:radial-gradient(circle at 82% 10%,#ed1c242a,transparent 34%),linear-gradient(145deg,#151517,#222226);box-shadow:0 28px 70px #28101228}.contact-main .eyebrow{color:#ff6f76}.contact-actions .btn--primary{background:linear-gradient(135deg,#ed1c24,#b50d15);color:#fff}.contact-info{background:linear-gradient(145deg,#0f0f11,#19191c)}.info-row span{color:#b7aaac}
.site-footer{background:#fff;border-top-color:#e9dfe0}.footer-brand .brand{display:inline-flex}.footer-brand .brand-logo{width:185px}.footer-col a:hover{color:#ed1c24}.footer-bottom{border-top-color:#eee3e4}

/* extra visual depth without changing the approved layout */
.section-title{position:relative}.section-title:after{content:"";display:block;width:44px;height:2px;margin-top:10px;border-radius:99px;background:linear-gradient(90deg,#ed1c24,#ed1c2400);transform-origin:right center;transform:scaleX(var(--title-line,1))}
.service-panel,.capability,.product-card,.contact-card{transform:translateZ(0)}

@media(max-width:980px){
  .brand{min-width:0}.brand-logo{width:158px}.site-header.is-scrolled .brand-logo{width:148px}
  .site-header .nav a,.site-header .lang-link{font-size:13px!important}
  .nav.is-open{border-color:#ed1c241c;box-shadow:0 28px 72px #2d10142b}.nav.is-open a{font-size:13px!important;background:#fff8f8}.nav.is-open a:hover,.nav.is-open a.is-active{background:#ed1c240d;color:#c61119}
}
@media(max-width:640px){
  :root{--container:calc(100% - 22px)}body{padding-bottom:72px}.site-header,.site-header.is-scrolled{height:64px}.header-inner{gap:8px}.brand-logo{width:140px}.site-header.is-scrolled .brand-logo{width:136px}.lang-link{height:36px;padding:0 9px}.mobile-toggle{border-radius:10px}
  .nav.is-open{top:70px;bottom:78px;border-radius:16px}.nav.is-open:after{content:"ModeMedia • طراحی سایت و برنامه نویسی";font-size:10px;color:#777176}
  .hero{padding:102px 0 58px;background:radial-gradient(circle at 12% 11%,#ed1c2417,transparent 28%),linear-gradient(155deg,#fffdfd,#fff7f7 66%,#f5efef)}.hero h1{font-size:17px!important;line-height:1.8}.hero-text{font-size:12px!important;line-height:1.75em!important}.hero-card{border-radius:18px;box-shadow:0 20px 44px #35101216}.hero .heritage-art{width:460px;right:-235px;opacity:.055}
  .side-note,.service-copy p,.section-lead,.capability p,.process-aside p,.product-card p,.faq-a p,.contact-main p,.footer-brand p{line-height:1.75em!important;text-align:justify!important}
  .trust-title,.trust-item{background:#fff8f8;border-color:#eee0e1}.service-panel{padding:31px 0}.service-result{border-radius:12px}
  .capabilities,.products-grid{scroll-padding-inline:14px}.capability,.product-card{flex-basis:88%}.mobile-cta{height:70px;background:#fffdfded;border-top-color:#eadfe0;box-shadow:0 -12px 34px #31101312}.mobile-cta a{font-size:11px}.mobile-cta .m-primary{background:linear-gradient(135deg,#ed1c24,#b40f17)}.mobile-cta .m-secondary{background:#171719;color:#fff;border-color:#171719}
  .heritage-art{width:430px;opacity:.038}.section{padding:66px 0}.contact-main,.contact-info{padding:24px 19px}.footer-brand .brand-logo{width:178px}
}

/* =========================================================
   ModeMedia refinement v2 — header, type scale, mobile nav
   ========================================================= */
:root{
  --mm-red:#ed1c24;
  --mm-red-700:#c70f18;
  --mm-red-900:#8f0b11;
  --mm-black:#151517;
  --mm-soft:#fff7f7;
  --mm-line:#eadfe0;
}

/* Header: clearer hierarchy without increasing the typography scale */
.site-header{
  height:78px;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(27,24,25,.08);
  box-shadow:0 5px 24px rgba(38,14,16,.035);
  backdrop-filter:blur(18px) saturate(1.18);
}
.site-header.is-scrolled{
  height:70px;
  background:rgba(255,255,255,.97);
  border-color:rgba(27,24,25,.09);
  box-shadow:0 12px 34px rgba(38,14,16,.075);
}
.header-inner{
  grid-template-columns:minmax(172px,auto) minmax(0,1fr) auto;
  gap:24px;
}
.brand{min-width:172px}
.brand-logo{
  width:174px;
  max-height:58px;
  object-fit:contain;
  filter:contrast(1.055) saturate(1.03);
}
.site-header.is-scrolled .brand-logo{width:164px}
.nav{
  gap:2px;
  align-items:center;
}
.site-header .nav a,
.site-header .lang-link,
.site-header .header-call{
  font-size:13px!important;
  line-height:1!important;
}
.nav a{
  position:relative;
  padding:10px 12px;
  color:#343438;
  border-radius:10px;
  font-weight:500;
}
.nav a:after{
  content:"";
  position:absolute;
  inset-inline:12px;
  bottom:4px;
  height:2px;
  border-radius:99px;
  background:var(--mm-red);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.nav a:hover,.nav a.is-active{color:var(--mm-red);background:transparent}
.nav a:hover:after,.nav a.is-active:after{transform:scaleX(1)}
.header-actions{gap:9px}
.lang-link,.header-call{height:40px;border-radius:11px}
.lang-link{min-width:44px;justify-content:center;padding:0 10px}
.header-call{
  direction:ltr;
  unicode-bidi:isolate;
  padding:0 16px;
  background:linear-gradient(135deg,#f1212a 0%,#d7121b 58%,#b80d15 100%);
  box-shadow:0 9px 24px rgba(237,28,36,.22);
  letter-spacing:.015em;
  font-variant-numeric:tabular-nums;
}
.header-call:before{
  content:"☎";
  font-size:12px;
  margin-right:7px;
  line-height:1;
}
.mobile-toggle{
  z-index:102;
  border-color:#e6dcdd;
  box-shadow:0 5px 16px rgba(30,14,16,.05);
}

/* Numbers used next to headings, steps, indices and table-like data stay at 12px. */
.service-index,
.service-num,
.process-step .n,
.capability-icon,
.hero-card-footer,
.numeric,
.number,
[data-number],
table .number,
table [data-number],
table td:first-child{
  font-size:12px!important;
  font-variant-numeric:tabular-nums;
}
.service-index,.process-step .n,.capability-icon,.numeric,.number,[data-number]{line-height:1.2}

/* Long-form copy: deliberate Persian reading rhythm */
.hero-text,
.side-note,
.service-copy p,
.section-lead,
.capability p,
.process-aside p,
.product-card p,
.faq-a p,
.contact-main p,
.footer-brand p,
.footer-address{
  text-align:justify!important;
  text-justify:inter-word;
  line-height:1.75em!important;
}

/* Heritage pattern treatment: less like a watermark, more like engraved line art. */
.heritage-art{
  opacity:.072;
  background:linear-gradient(145deg,var(--pattern-color,#ed1c24),#661116 45%,#18181a 74%,var(--pattern-color,#ed1c24));
  background-size:260% 260%;
  filter:drop-shadow(0 16px 24px rgba(81,12,17,.045));
  will-change:transform,opacity,clip-path,background-position,filter;
}
.hero .heritage-art{opacity:.082}
#services .heritage-art{opacity:.058}
#expertise .heritage-art{opacity:.06}
#process .heritage-art{opacity:.075}
#solutions .heritage-art{opacity:.052}
#faq .heritage-art{opacity:.054}
#contact .heritage-art{opacity:.056}

/* Footer now carries the full office address. */
.footer-grid{
  grid-template-columns:1.2fr .72fr 1fr;
  gap:52px;
}
.footer-col h3{font-size:12px!important;margin-bottom:12px}
.footer-col a,.footer-address{font-size:10px;color:var(--muted)}
.footer-address{
  display:block;
  max-width:330px;
  margin:8px 0 10px;
  font-style:normal;
}
.footer-col a[dir="ltr"]{direction:ltr;unicode-bidi:isolate;text-align:right;font-variant-numeric:tabular-nums}

/* A dedicated page backdrop makes the mobile menu reliable and obvious. */
.nav-backdrop{
  display:none;
  position:fixed;
  z-index:84;
  inset:0;
  border:0;
  background:rgba(15,12,13,.34);
  backdrop-filter:blur(3px);
  opacity:0;
  pointer-events:none;
}
body.menu-open .nav-backdrop{opacity:1;pointer-events:auto}

@media(max-width:980px){
  .site-header,.site-header.is-scrolled{height:68px}
  .header-inner{grid-template-columns:auto 1fr auto;gap:12px}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:150px}
  .nav{display:flex;visibility:hidden;opacity:0;pointer-events:none}
  .nav.is-open{
    display:flex;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    position:absolute;
    z-index:101;
    top:calc(100% + 9px);
    inset-inline:15px;
    max-height:calc(100vh - 100px);
    overflow:auto;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    padding:12px;
    border-radius:17px;
    background:rgba(255,255,255,.985);
    border:1px solid rgba(237,28,36,.14);
    box-shadow:0 24px 68px rgba(36,12,15,.22);
    transform-origin:top center;
  }
  .nav.is-open a{
    display:flex;
    align-items:center;
    min-height:46px;
    padding:0 13px;
    background:#fff9f9;
    border:1px solid transparent;
    font-size:13px!important;
  }
  .nav.is-open a:after{display:none}
  .nav.is-open a:hover,.nav.is-open a.is-active{
    background:#fff0f1;
    border-color:#ed1c2418;
  }
  .nav-backdrop{display:block}
  .mobile-toggle{display:block}
  .header-call{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 34px}
  .footer-brand{grid-column:1/-1}
}

@media(max-width:640px){
  body{padding-bottom:72px}
  .site-header,.site-header.is-scrolled{height:64px}
  .header-inner{width:calc(100% - 20px);gap:8px}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:132px}
  .lang-link{height:36px;min-width:38px;padding:0 8px}
  .mobile-toggle{width:38px;height:38px}
  .nav.is-open{
    top:calc(100% + 7px);
    inset-inline:10px;
    bottom:auto;
    max-height:calc(100vh - 150px);
    padding:10px;
    border-radius:15px;
  }
  .nav.is-open a{min-height:45px;font-size:13px!important}
  .nav.is-open:after{
    content:"ModeMedia  |  متمایز و حرفه‌ای";
    margin-top:7px;
    padding:11px 12px 4px;
    border-top:1px solid #eee2e3;
    color:#777176;
    font-size:10px;
  }
  .hero{padding-top:92px}
  .hero .heritage-art{width:410px;right:-230px;opacity:.045}
  .heritage-art{width:390px;opacity:.035}
  .service-copy{font-size:12px;line-height:1.75em;text-align:justify}
  .service-index,.service-num,.process-step .n,.capability-icon,.hero-card-footer{font-size:12px!important}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-brand{grid-column:auto}
  .footer-address{max-width:none}
}

/* Generic data tables in future sections keep the requested compact 12px scale. */
table,table th,table td{font-size:12px!important}

/* =========================================================
   ModeMedia v3 — floating header, online business loop, new footer
   ========================================================= */

/* ----- Header: completely new floating composition ----- */
.site-header{
  top:14px;
  height:64px;
  inset-inline:0;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  pointer-events:none;
  transition:top .25s ease,height .25s ease;
}
.site-header.is-scrolled{
  top:8px;
  height:60px;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.header-inner{
  width:var(--container);
  height:64px;
  margin:auto;
  padding:6px 7px 6px 10px;
  display:grid;
  grid-template-columns:184px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  border:1px solid rgba(26,22,23,.095);
  border-radius:19px;
  background:rgba(255,255,255,.955);
  box-shadow:0 16px 46px rgba(44,12,16,.09),inset 0 1px 0 rgba(255,255,255,.8);
  backdrop-filter:blur(20px) saturate(1.18);
  pointer-events:auto;
  overflow:visible;
  transition:height .25s ease,border-radius .25s ease,box-shadow .25s ease,background .25s ease;
}
.header-inner:before{
  content:"";
  position:absolute;
  inset-inline-start:18px;
  top:-1px;
  width:92px;
  height:2px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(90deg,var(--mm-red),var(--mm-red-900));
}
.site-header.is-scrolled .header-inner{
  height:60px;
  border-radius:17px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 36px rgba(44,12,16,.13),inset 0 1px 0 #fff;
}
.brand{
  min-width:0!important;
  height:46px;
  padding:0 10px 0 13px;
  border-inline-end:1px solid #eee5e6;
}
.brand-logo,.site-header.is-scrolled .brand-logo{
  width:162px!important;
  max-height:52px;
  object-fit:contain;
}
.nav{
  width:max-content;
  justify-self:center;
  display:flex;
  align-items:center;
  gap:1px!important;
  padding:4px;
  border:1px solid #eee8e9;
  border-radius:14px;
  background:#f7f5f5;
  box-shadow:inset 0 1px 2px rgba(31,20,21,.025);
}
.site-header .nav a{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 11px!important;
  border-radius:10px!important;
  color:#3d393b;
  font-size:13px!important;
  font-weight:500;
  background:transparent!important;
  transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.nav a:after{display:none!important}
.nav a:hover{
  color:var(--mm-red)!important;
  background:#fff!important;
  box-shadow:0 5px 15px rgba(49,22,24,.07);
}
.nav a.is-active{
  color:var(--mm-red)!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(49,22,24,.085),inset 0 -2px 0 var(--mm-red);
}
.mobile-nav-call{display:none!important}
.header-actions{gap:7px!important}
.site-header .lang-link,.site-header .header-call{font-size:13px!important}
.lang-link{
  min-width:42px;
  height:42px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  border:1px solid #e9e1e2!important;
  background:#fff!important;
  color:#292527;
  box-shadow:0 4px 12px rgba(31,16,17,.035);
}
.header-call{
  height:42px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  background:#141416!important;
  color:#fff!important;
  box-shadow:none!important;
  position:relative;
  overflow:hidden;
}
.header-call:after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--mm-red);
}
.header-call:before{color:#ff5a61}
.header-call:hover{background:var(--mm-red)!important}
.header-call:hover:after{background:#fff}

/* ----- Hero cycle: business growth as an animated system ----- */
.business-loop{
  position:relative;
  min-width:0;
  perspective:1000px;
}
.loop-shell{
  position:relative;
  min-height:520px;
  padding:22px;
  border:1px solid rgba(28,22,23,.11);
  border-radius:28px;
  background:
    radial-gradient(circle at 15% 18%,rgba(237,28,36,.08),transparent 27%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,248,248,.95));
  box-shadow:0 28px 68px rgba(43,15,18,.13);
  overflow:hidden;
  transform-style:preserve-3d;
}
.loop-shell:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.32;
  pointer-events:none;
  background-image:linear-gradient(rgba(237,28,36,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(237,28,36,.045) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,#000 0%,transparent 72%);
}
.loop-shell:after{
  content:"";
  position:absolute;
  top:18px;
  inset-inline-end:0;
  width:4px;
  height:92px;
  border-radius:8px 0 0 8px;
  background:linear-gradient(var(--mm-red),var(--mm-red-900));
}
.loop-head{
  position:relative;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(27,23,24,.08);
}
.loop-head>div{display:grid;gap:4px}
.loop-eyebrow{color:var(--mm-red);font-size:9px;font-weight:800;letter-spacing:.08em}
.loop-head strong{font-size:12px;font-weight:800;color:#272326}
.loop-head>small{font-size:8px;letter-spacing:.12em;color:#9b9295;direction:ltr}
.loop-stage{
  position:relative;
  z-index:2;
  width:min(100%,404px);
  aspect-ratio:1;
  margin:7px auto 4px;
}
.loop-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.loop-track{fill:none;transform-origin:200px 200px}
.loop-track--soft{stroke:#eee5e6;stroke-width:1.5}
.loop-track--main{stroke:var(--mm-red);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:6 11;opacity:.55}
.loop-track--pulse{stroke:#1b1b1e;stroke-width:1;stroke-dasharray:1 10;opacity:.18}
.loop-runner-wrap{transform-origin:200px 200px}
.loop-runner-halo{fill:rgba(237,28,36,.14)}
.loop-runner{fill:var(--mm-red);filter:drop-shadow(0 0 8px rgba(237,28,36,.55))}
.loop-center{
  position:absolute;
  top:50%;left:50%;
  width:142px;height:142px;
  transform:translate(-50%,-50%);
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  border-radius:50%;
  color:#fff;
  background:radial-gradient(circle at 35% 30%,#303034,#151517 60%,#0d0d0f);
  border:7px solid #fff;
  box-shadow:0 17px 38px rgba(18,13,14,.2),0 0 0 1px rgba(237,28,36,.15);
}
.loop-center:before{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
}
.loop-center span{font-size:8px;color:#ff9196;letter-spacing:.1em}
.loop-center strong{font-size:16px!important;margin:1px 0 2px}
.loop-center small{font-size:8px;color:#c5bec0}
.loop-node{
  position:absolute;
  z-index:4;
  width:102px;
  min-height:61px;
  padding:8px 7px;
  transform:translate(-50%,-50%);
  display:grid;
  align-content:center;
  justify-items:center;
  gap:1px;
  border:1px solid #e9dfe1;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  color:#2b2729;
  box-shadow:0 8px 20px rgba(35,17,19,.07);
  font-family:inherit;
  text-align:center;
  transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.loop-node span{font-size:12px!important;line-height:1;color:var(--mm-red);font-weight:800;direction:ltr}
.loop-node strong{font-size:10px!important;line-height:1.5;font-weight:800;white-space:nowrap}
.loop-node small{font-size:8px;color:#91888b;line-height:1.4;white-space:nowrap}
.loop-node.is-active{
  color:#fff;
  background:#161618;
  border-color:rgba(237,28,36,.8);
  box-shadow:0 12px 30px rgba(35,14,17,.2),0 0 0 3px rgba(237,28,36,.08);
}
.loop-node.is-active span{color:#ff4e56}.loop-node.is-active small{color:#c9c1c3}
.loop-node--1{left:50%;top:7%}.loop-node--2{left:86%;top:28%}.loop-node--3{left:86%;top:72%}.loop-node--4{left:50%;top:93%}.loop-node--5{left:14%;top:72%}.loop-node--6{left:14%;top:28%}
.loop-caption{
  position:relative;
  z-index:3;
  min-height:62px;
  display:grid;
  grid-template-columns:36px 1fr;
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:1px solid #e9e0e1;
  border-radius:14px;
  background:rgba(255,255,255,.83);
}
.loop-caption-index{font-size:12px!important;font-weight:800;color:var(--mm-red);direction:ltr;text-align:center}
.loop-caption-text{font-size:9.5px;line-height:1.75em!important;color:#635c5f;text-align:justify!important}
.loop-footer{
  position:relative;
  z-index:3;
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  color:#8c8386;
  font-size:8px;
}
.loop-footer span:last-child{direction:ltr;letter-spacing:.07em}

/* ----- Footer: rebuilt from zero ----- */
.site-footer{
  position:relative;
  overflow:hidden;
  padding:0 0 18px;
  color:#fff;
  background:
    radial-gradient(circle at 85% -10%,rgba(237,28,36,.22),transparent 30%),
    linear-gradient(145deg,#0d0d0f 0%,#151518 47%,#1b1a1d 100%)!important;
  border:0!important;
}
.site-footer:before{
  content:"MODEMEDIA";
  position:absolute;
  left:50%;
  bottom:70px;
  transform:translateX(-50%);
  font:800 clamp(70px,12vw,180px)/.8 Arial,sans-serif;
  letter-spacing:-.07em;
  color:rgba(255,255,255,.018);
  white-space:nowrap;
  pointer-events:none;
}
.footer-pattern{
  position:absolute;
  inset-inline-end:-130px;
  top:100px;
  width:520px;
  aspect-ratio:1;
  background:linear-gradient(145deg,#ed1c24,#fff);
  opacity:.055;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  pointer-events:none;
}
.footer-container{position:relative;z-index:2}
.footer-cta{
  transform:translateY(-1px);
  min-height:160px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:34px;
  padding:28px 30px;
  border-radius:0 0 26px 26px;
  background:linear-gradient(120deg,#ed1c24,#b70e16 62%,#8c0a10);
  box-shadow:0 24px 58px rgba(0,0,0,.24);
}
.footer-cta-copy{max-width:720px}
.footer-eyebrow{display:inline-block;margin-bottom:7px;font-size:9px;font-weight:800;color:#ffd8da;letter-spacing:.09em}
.footer-cta h2{max-width:690px;color:#fff;margin-bottom:7px}
.footer-cta p{max-width:720px;color:#ffecee;font-size:10.5px;line-height:1.75em!important;text-align:justify!important}
.footer-cta-actions{display:grid;gap:8px;min-width:190px}
.footer-phone,.footer-talk{
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border-radius:11px;
  font-size:12px;
  font-weight:800;
}
.footer-phone{background:#fff;color:#171719;direction:ltr;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.footer-talk{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08)}
.footer-main{
  display:grid;
  grid-template-columns:1.35fr .75fr .7fr 1.05fr;
  gap:38px;
  padding:54px 8px 34px;
}
.footer-identity{max-width:340px}
.footer-logo{display:inline-flex;margin-bottom:13px}.footer-logo img{width:205px;height:auto;filter:brightness(1.05)}
.footer-identity p{color:#b9b4b6;font-size:10.5px;line-height:1.75em!important;text-align:justify!important}
.footer-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}
.footer-tags span{padding:5px 9px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#cfcacc;background:rgba(255,255,255,.035);font-size:8.5px}
.footer-column,.footer-contact-block{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.footer-column h3,.footer-contact-label{margin:0 0 7px;color:#fff;font-size:12px!important;font-weight:800}
.footer-column a{color:#b9b4b6!important;font-size:10px!important;transition:.2s}
.footer-column a:hover{color:#fff!important;transform:translateX(-2px)}
.footer-contact-block{padding-inline-start:20px;border-inline-start:1px solid rgba(255,255,255,.09)}
.footer-contact-phone{display:inline-flex;color:#ff5c63;font-size:16px;font-weight:800;direction:ltr;letter-spacing:.02em;margin-bottom:1px}
.footer-contact-block address{margin:0;color:#b9b4b6;font-size:10px;font-style:normal;line-height:1.8;text-align:justify}
.footer-contact-link{margin-top:4px;color:#fff;font-size:9.5px;border-bottom:1px solid rgba(237,28,36,.75);padding-bottom:2px}
.footer-bottom{
  min-height:48px;
  padding:13px 8px 0!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  border-top:1px solid rgba(255,255,255,.09)!important;
  color:#8f898c!important;
  font-size:8.5px!important;
}
.footer-bottom span:nth-child(2){text-align:center}.footer-bottom a{justify-self:end;color:#c9c4c6}.footer-bottom a:hover{color:#fff}

/* Footer motion anchor */
.footer-main>*{will-change:transform,opacity}

@media(max-width:1100px){
  .header-inner{grid-template-columns:162px minmax(0,1fr) auto;gap:9px}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:148px!important}
  .site-header .nav a{padding:0 8px!important}
  .loop-stage{width:min(100%,370px)}
  .loop-node{width:94px}
  .footer-main{grid-template-columns:1.2fr .7fr .7fr 1fr;gap:25px}
}

@media(max-width:980px){
  .site-header,.site-header.is-scrolled{top:8px;height:58px!important}
  .header-inner,.site-header.is-scrolled .header-inner{
    height:58px!important;
    width:calc(100% - 20px);
    grid-template-columns:auto 1fr auto;
    gap:8px;
    padding:5px 6px 5px 10px;
    border-radius:16px;
  }
  .header-inner:before{width:58px;inset-inline-start:14px}
  .brand{height:42px;padding:0 7px;border-inline-end:0}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:145px!important}
  .header-actions{justify-self:end}
  .lang-link{height:38px!important;min-width:39px!important;border-radius:10px!important}
  .mobile-toggle{display:block!important;width:40px;height:40px;border-radius:10px;background:#171719;border-color:#171719}
  .mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{background:#fff}
  .nav{display:flex!important;visibility:hidden;opacity:0;pointer-events:none;width:auto;padding:10px;border:0;background:transparent;box-shadow:none}
  .nav.is-open{
    visibility:visible;opacity:1;pointer-events:auto;
    position:fixed!important;
    z-index:101;
    top:76px!important;
    inset-inline:10px!important;
    bottom:auto!important;
    max-height:calc(100vh - 96px)!important;
    overflow:auto;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    padding:12px!important;
    border:1px solid rgba(237,28,36,.13)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.985)!important;
    box-shadow:0 28px 70px rgba(25,10,12,.26)!important;
    backdrop-filter:blur(18px);
  }
  .nav.is-open a{
    min-height:47px!important;
    justify-content:flex-start!important;
    padding:0 14px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    background:#faf7f8!important;
    box-shadow:none!important;
    font-size:13px!important;
  }
  .nav.is-open a.is-active,.nav.is-open a:hover{color:var(--mm-red)!important;background:#fff0f1!important;border-color:#f0d9db!important}
  .nav.is-open .mobile-nav-call{display:flex!important;justify-content:center!important;margin-top:7px;color:#fff!important;background:#171719!important;border-color:#171719!important;font-variant-numeric:tabular-nums}
  .nav.is-open:after{display:none!important}
  body.menu-open{overflow:hidden}
  .header-call{display:none!important}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .business-loop{max-width:620px;width:100%;margin-inline:auto}
  .loop-shell{min-height:500px}
  .footer-cta{grid-template-columns:1fr;gap:18px;border-radius:0 0 22px 22px}
  .footer-cta-actions{grid-template-columns:1fr 1fr;min-width:0}
  .footer-main{grid-template-columns:1fr 1fr;gap:30px;padding-top:44px}
  .footer-identity{grid-column:1/-1;max-width:520px}
  .footer-contact-block{padding-inline-start:0;border-inline-start:0}
  .footer-bottom{grid-template-columns:1fr auto!important}.footer-bottom span:nth-child(2){display:none}.footer-bottom a{justify-self:end}
}

@media(max-width:640px){
  .site-header,.site-header.is-scrolled{top:6px;height:56px!important}
  .header-inner,.site-header.is-scrolled .header-inner{height:56px!important;width:calc(100% - 14px);padding:4px 5px 4px 8px;border-radius:15px}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:132px!important}
  .lang-link{display:none!important}
  .mobile-toggle{width:39px;height:39px}
  .nav.is-open{top:69px!important;inset-inline:7px!important;max-height:calc(100vh - 86px)!important;border-radius:16px!important}
  .hero{padding-top:94px!important}
  .loop-shell{min-height:455px;padding:16px;border-radius:21px}
  .loop-head{gap:8px}.loop-head strong{font-size:10.5px}.loop-head>small{display:none}
  .loop-stage{width:min(100%,330px);margin-top:10px}
  .loop-center{width:112px;height:112px;border-width:5px}.loop-center strong{font-size:14px!important}.loop-center small{font-size:7px}
  .loop-node{width:78px;min-height:53px;padding:6px 4px;border-radius:11px}
  .loop-node span{font-size:12px!important}.loop-node strong{font-size:8.5px!important}.loop-node small{font-size:7px}
  .loop-node--1{top:6%}.loop-node--2{left:85%;top:27%}.loop-node--3{left:85%;top:73%}.loop-node--4{top:94%}.loop-node--5{left:15%;top:73%}.loop-node--6{left:15%;top:27%}
  .loop-caption{grid-template-columns:31px 1fr;gap:8px;min-height:66px;padding:9px}.loop-caption-text{font-size:8.8px}.loop-footer{font-size:7px;gap:7px}
  .site-footer{padding-bottom:84px}
  .footer-pattern{width:360px;inset-inline-end:-170px;top:180px}
  .footer-cta{padding:24px 18px;min-height:0;margin-inline:-1px;border-radius:0 0 18px 18px}.footer-cta p{font-size:9.5px}.footer-cta-actions{grid-template-columns:1fr}.footer-phone,.footer-talk{min-height:42px}
  .footer-main{grid-template-columns:1fr;gap:28px;padding:38px 3px 28px}.footer-identity{grid-column:auto}.footer-logo img{width:188px}.footer-contact-block{padding-top:4px}
  .footer-bottom{grid-template-columns:1fr!important;gap:5px!important;padding-inline:3px!important}.footer-bottom a{justify-self:start}.footer-bottom span:nth-child(2){display:none}
}

/* =========================================================
   ModeMedia v4 — mobile UX pass + single footer
   ========================================================= */

/* Footer logo uses a transparent red/white export — never a white bitmap box. */
.footer-logo{
  display:inline-flex;
  align-items:center;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.footer-logo img{
  display:block;
  width:205px;
  height:auto;
  background:transparent!important;
  filter:none!important;
  mix-blend-mode:normal;
}

/* The footer is now the single contact destination. */
.site-footer#contact{scroll-margin-top:82px}

/* Native mobile carousel controls inserted by main.js */
.mobile-carousel-controls{display:none}

@media(max-width:980px){
  /* A real mobile header: full-width, calm, compact, and independent of desktop pill geometry. */
  .site-header,
  .site-header.is-scrolled{
    top:0!important;
    height:64px!important;
    background:rgba(255,255,255,.975)!important;
    border-bottom:1px solid rgba(23,23,25,.08)!important;
    box-shadow:0 8px 26px rgba(24,13,14,.055)!important;
    backdrop-filter:blur(18px) saturate(1.12)!important;
    pointer-events:auto!important;
  }
  .header-inner,
  .site-header.is-scrolled .header-inner{
    width:100%!important;
    height:64px!important;
    padding:0 14px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    gap:10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .header-inner:before{display:none!important}
  .brand{
    height:auto!important;
    padding:0!important;
    border:0!important;
    min-width:0!important;
  }
  .brand-logo,
  .site-header.is-scrolled .brand-logo{
    width:138px!important;
    max-height:46px!important;
  }
  .header-actions{
    display:flex!important;
    align-items:center!important;
    justify-self:end!important;
    gap:7px!important;
  }
  .lang-link{
    display:inline-flex!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    justify-content:center!important;
    border-radius:10px!important;
    border:1px solid #e7dddd!important;
    background:#fff!important;
    color:#202024!important;
    font-size:11px!important;
    font-weight:700!important;
  }
  .header-call{display:none!important}
  .mobile-toggle{
    display:block!important;
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border:0!important;
    border-radius:11px!important;
    background:linear-gradient(145deg,#ed1c24,#bd0f17)!important;
    box-shadow:0 8px 18px rgba(237,28,36,.22)!important;
  }
  .mobile-toggle span,
  .mobile-toggle:before,
  .mobile-toggle:after{
    left:11px!important;
    width:18px!important;
    background:#fff!important;
  }

  /* The menu is a proper sheet below the header instead of a floating card. */
  .nav{
    display:flex!important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }
  .nav.is-open{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:101!important;
    top:64px!important;
    inset-inline:0!important;
    bottom:0!important;
    width:100%!important;
    max-height:none!important;
    overflow:auto!important;
    overscroll-behavior:contain;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:14px 16px calc(92px + env(safe-area-inset-bottom))!important;
    border:0!important;
    border-top:1px solid #eee5e6!important;
    border-radius:0!important;
    background:rgba(255,255,255,.99)!important;
    box-shadow:none!important;
    backdrop-filter:blur(18px)!important;
  }
  .nav.is-open a{
    position:relative;
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 4px!important;
    border:0!important;
    border-bottom:1px solid #f0e8e9!important;
    border-radius:0!important;
    background:transparent!important;
    color:#262427!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:600!important;
  }
  .nav.is-open a:not(.mobile-nav-call):before{
    content:"";
    width:6px;
    height:6px;
    margin-inline-end:10px;
    border-radius:50%;
    background:#e9ddde;
    transition:.2s ease;
  }
  .nav.is-open a.is-active,
  .nav.is-open a:hover{
    color:#d9141d!important;
    background:transparent!important;
  }
  .nav.is-open a.is-active:before,
  .nav.is-open a:hover:before{background:#ed1c24;box-shadow:0 0 0 5px rgba(237,28,36,.08)}
  .nav.is-open .mobile-nav-call{
    display:flex!important;
    justify-content:center!important;
    min-height:48px!important;
    margin-top:16px!important;
    padding:0 16px!important;
    border:0!important;
    border-radius:12px!important;
    background:#171719!important;
    color:#fff!important;
    font-variant-numeric:tabular-nums;
  }
  .nav.is-open .mobile-nav-call:before{display:none!important}
  .nav.is-open:after{display:none!important}
  .nav-backdrop{
    z-index:99!important;
    top:64px!important;
    background:rgba(18,12,13,.34)!important;
    backdrop-filter:blur(2px);
  }

  .hero{padding-top:96px!important}
}

@media(max-width:640px){
  :root{--container:calc(100% - 24px)}
  body{padding-bottom:70px!important}
  .section{padding:58px 0!important}

  .site-header,.site-header.is-scrolled{height:62px!important}
  .header-inner,.site-header.is-scrolled .header-inner{height:62px!important;padding:0 11px!important}
  .brand-logo,.site-header.is-scrolled .brand-logo{width:128px!important;max-height:43px!important}
  .lang-link{width:36px!important;min-width:36px!important;height:36px!important;font-size:10px!important}
  .mobile-toggle{width:38px!important;height:38px!important;flex-basis:38px!important}
  .mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{left:10px!important}
  .nav.is-open{top:62px!important;padding:10px 14px calc(88px + env(safe-area-inset-bottom))!important}
  .nav-backdrop{top:62px!important}

  .hero{padding:88px 0 48px!important}
  .hero-grid{gap:22px!important}
  .hero-actions{gap:8px!important}
  .hero-note{gap:6px!important}

  /* More comfortable online-business loop on narrow screens. */
  .business-loop{width:100%!important;max-width:100%!important}
  .loop-shell{min-height:432px!important;padding:14px!important;border-radius:18px!important}
  .loop-stage{width:min(100%,308px)!important;margin:8px auto 0!important}
  .loop-center{width:106px!important;height:106px!important;border-width:4px!important}
  .loop-center strong{font-size:13px!important}
  .loop-node{width:73px!important;min-height:50px!important;padding:5px 4px!important;border-radius:10px!important}
  .loop-node span{font-size:12px!important}.loop-node strong{font-size:8px!important}.loop-node small{font-size:6.6px!important}
  .loop-caption{grid-template-columns:30px 1fr!important;gap:7px!important;min-height:62px!important;padding:8px 9px!important}
  .loop-caption-text{font-size:8.5px!important;line-height:1.65!important}
  .loop-footer{font-size:6.8px!important}

  /* Carousels: one focused card + visible next-card peek + explicit navigation. */
  .capabilities,
  .products-grid{
    display:flex!important;
    gap:11px!important;
    width:calc(100% + 24px)!important;
    margin-inline:-12px!important;
    margin-top:26px!important;
    padding:3px 16px 16px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:inline mandatory!important;
    scroll-padding-inline:16px!important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .capabilities::-webkit-scrollbar,.products-grid::-webkit-scrollbar{display:none}
  .capability,
  .product-card{
    flex:0 0 min(84vw,350px)!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always;
    border-radius:18px!important;
  }
  .capability{min-height:170px!important;padding:18px!important}
  .product-card{min-height:282px!important;padding:20px!important}
  .mobile-carousel-controls{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    align-items:center;
    gap:10px;
    margin-top:2px;
  }
  .mobile-carousel-btn{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #eadfe0;
    border-radius:11px;
    background:#fff;
    color:#242427;
    font-size:17px;
    line-height:1;
    box-shadow:0 7px 18px rgba(35,18,20,.055);
  }
  .mobile-carousel-btn:disabled{opacity:.3;cursor:default}
  .mobile-carousel-dots{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}
  .mobile-carousel-dot{
    width:6px;height:6px;padding:0;border:0;border-radius:99px;background:#ddd0d1;transition:width .22s ease,background .22s ease;
  }
  .mobile-carousel-dot.is-active{width:20px;background:#ed1c24}

  .services-intro{gap:17px!important;margin-bottom:16px!important}
  .service-panel{padding:27px 0!important;gap:14px!important}
  .service-tags{margin-top:11px!important}
  .service-copy{font-size:12px!important;line-height:1.75em!important}
  .process-step{grid-template-columns:34px 1fr!important;padding:16px 0!important}
  .faq-q{min-height:56px!important;padding:14px 0!important}

  /* Footer: compact, no bitmap rectangle behind the logo, less vertical fatigue. */
  .site-footer{padding-bottom:84px!important}
  .footer-pattern{width:300px!important;inset-inline-end:-150px!important;top:155px!important;opacity:.04!important}
  .footer-cta{padding:22px 17px!important;border-radius:0 0 18px 18px!important;gap:15px!important}
  .footer-cta-copy{max-width:none!important}
  .footer-cta p{font-size:9.6px!important}
  .footer-cta-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .footer-phone,.footer-talk{min-height:42px!important;padding:0 9px!important;font-size:10px!important}
  .footer-main{
    grid-template-columns:1fr 1fr!important;
    gap:27px 18px!important;
    padding:34px 2px 25px!important;
  }
  .footer-identity{grid-column:1/-1!important;max-width:none!important}
  .footer-logo{margin-bottom:10px!important}
  .footer-logo img{width:178px!important}
  .footer-identity p{font-size:10px!important;max-width:520px!important}
  .footer-contact-block{grid-column:1/-1!important;padding:5px 0 0!important;border:0!important}
  .footer-contact-phone{font-size:14px!important}
  .footer-contact-block address{max-width:520px!important;font-size:10px!important}
  .footer-column h3,.footer-contact-label{font-size:11px!important}
  .footer-column a{font-size:9.5px!important}
  .footer-bottom{grid-template-columns:1fr!important;gap:6px!important;padding:12px 2px 0!important}
  .footer-bottom a{justify-self:start!important}

  .mobile-cta{
    height:70px!important;
    padding:8px 10px max(8px,env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.95)!important;
    border-top:1px solid #e9dfe0!important;
    box-shadow:0 -12px 34px rgba(49,16,19,.10)!important;
  }
}

@media(max-width:390px){
  .brand-logo,.site-header.is-scrolled .brand-logo{width:118px!important}
  .header-inner,.site-header.is-scrolled .header-inner{padding-inline:9px!important;gap:7px!important}
  .lang-link{width:34px!important;min-width:34px!important;height:34px!important}
  .mobile-toggle{width:36px!important;height:36px!important;flex-basis:36px!important}
  .mobile-toggle span,.mobile-toggle:before,.mobile-toggle:after{left:9px!important}
  .hero-actions{grid-template-columns:1fr!important}
  .loop-shell{min-height:416px!important;padding:12px!important}
  .loop-stage{width:min(100%,286px)!important}
  .loop-node{width:67px!important;min-height:47px!important}
  .capability,.product-card{flex-basis:86vw!important}
  .footer-cta-actions{grid-template-columns:1fr!important}
  .footer-main{grid-template-columns:1fr 1fr!important;gap:24px 14px!important}
}

/* Mobile menu stacking fix: the fixed nav lives inside the header stacking context. */
@media(max-width:980px){
  .site-header,.site-header.is-scrolled{z-index:120!important}
  .nav.is-open{
    height:calc(100dvh - 64px)!important;
    min-height:calc(100vh - 64px)!important;
    bottom:auto!important;
  }
  .nav-backdrop{z-index:110!important}
}
@media(max-width:640px){
  .nav.is-open{
    height:calc(100dvh - 62px)!important;
    min-height:calc(100vh - 62px)!important;
  }
}
