
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101a32;--muted:#667085;--navy:#101d3a;--blue:#315be8;--blue2:#6c85ff;--pale:#f4f6fb;--line:#e5e9f2;--white:#fff;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-header{height:82px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,233,242,.75)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font:800 25px Manrope,sans-serif;letter-spacing:-1.3px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(140deg,#315be8,#7a8fff);color:#fff;font-size:22px;line-height:1}.brand-dot{color:var(--blue)}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.main-nav>a:not(.nav-cta){color:#4c566e;transition:color .2s}.main-nav>a:hover,.main-nav>a.active{color:var(--blue)}.nav-cta{background:var(--navy);color:#fff;padding:12px 17px;border-radius:9px}.nav-cta span{padding-left:8px}.menu-toggle{display:none;border:0;background:none;font-weight:700}.hero{background:radial-gradient(ellipse at 80% 35%,#e9edff 0,transparent 38%),linear-gradient(180deg,#f7f8ff,#fff);padding:68px 0 24px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:40px;min-height:440px}.eyebrow{font-size:14px;letter-spacing:2px;font-weight:800;color:var(--blue);margin:0 0 17px;display:flex;align-items:center;gap:10px}.eyebrow-line{display:inline-block;width:24px;height:2px;background:var(--blue)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.13;letter-spacing:-1.5px;margin-top:0}h1{font-size:clamp(39px,5vw,62px);font-weight:800;max-width:650px;margin-bottom:22px}h1 span,h2 span{color:var(--blue)}.hero-lede,.page-hero p{font-size:16px;color:var(--muted);max-width:520px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 20px;border-radius:9px;font-weight:700;font-size:13px;border:0;cursor:pointer}.button-primary{color:#fff;background:var(--blue);box-shadow:0 8px 20px #315be82b}.button-primary:hover{background:#2448c8}.button-light{background:#fff;color:var(--navy)}.stats{display:flex;gap:35px;margin-top:45px}.stats div{display:flex;flex-direction:column}.stats strong{font:800 26px Manrope,sans-serif;letter-spacing:-1px}.stats span{font-size:14px;color:var(--muted);margin-top:3px}.hero-art{position:relative;min-height:380px;display:grid;place-items:center}.hero-orb{position:absolute;width:320px;height:320px;border-radius:50%;background:linear-gradient(135deg,#d9e0ff,#f0f2ff);right:0;top:20px;z-index:0}.art-window{position:relative;z-index:1;width:min(100%,430px);height:300px;border-radius:16px;background:#101d3a;box-shadow:0 30px 60px #12265c28;overflow:hidden;transform:rotate(2deg)}.window-bar{height:35px;background:#fff;display:flex;align-items:center;gap:5px;padding:0 13px}.window-bar i{width:7px;height:7px;border-radius:50%;background:#d5dbea}.window-bar span{margin-left:auto;font-size:9px;color:#778097}.art-content{padding:34px;background:linear-gradient(135deg,#13264f,#1d3674);height:calc(100% - 35px);color:#fff;position:relative}.art-label{font-size:8px;letter-spacing:2px;color:#9db2ff}.art-headline{font:500 34px/1.2 Manrope,sans-serif;margin-top:18px;letter-spacing:-1.2px}.art-headline b{color:#91a5ff}.art-lines{display:flex;flex-direction:column;gap:7px;margin-top:20px}.art-lines i{height:5px;border-radius:5px;background:#ffffff33;width:64%}.art-lines i:nth-child(2){width:44%}.art-lines i:nth-child(3){width:54%}.art-pills{display:flex;gap:8px;margin-top:24px}.art-pills b{font-size:8px;letter-spacing:1px;border:1px solid #ffffff40;padding:7px 10px;border-radius:5px}.floating-card{position:absolute;z-index:2;right:-5px;bottom:20px;background:#fff;padding:15px 19px;border-radius:13px;box-shadow:0 12px 35px #1829511c;display:flex;align-items:center;gap:12px}.float-icon{width:35px;height:35px;border-radius:10px;background:#eaf0ff;color:var(--blue);display:grid;place-items:center;font-size:20px}.floating-card b,.floating-card small{display:block}.floating-card b{font-size:12px}.floating-card small{font-size:14px;color:var(--muted);margin-top:2px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:35px;color:#7b8497;font-size:14px}.scroll-mark{font-size:9px;letter-spacing:1.4px}.section{padding:92px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-top h2,.cta-inner h2,.detail-layout h2,.contact-layout h2{font-size:clamp(30px,4vw,43px);margin:0}.section-top>p{max-width:350px;color:var(--muted);font-size:13px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;background:#fff}.service-card:hover,.project-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #15224c10}.service-visual{height:180px;padding:24px;position:relative;overflow:hidden;background:#eef1ff}.service-v0{background:linear-gradient(130deg,#dfe6ff,#f4f6ff)}.service-v1{background:linear-gradient(130deg,#e4f0ff,#f5f8ff)}.service-v2{background:linear-gradient(130deg,#e5e9ff,#f7f4ff)}.visual-symbol{font-size:80px;line-height:1;color:#315be8;opacity:.85;position:absolute;right:30px;top:35px}.visual-caption{position:absolute;bottom:18px;left:22px;font-size:9px;letter-spacing:2px;color:#54648f;font-weight:800}.service-body{padding:24px}.card-number{font-size:9px;color:#929bb0;letter-spacing:1.5px;font-weight:700}.service-body h3{font-size:20px;letter-spacing:-.6px;margin:12px 0}.service-body p,.project-card p{font-size:12px;color:var(--muted);line-height:1.8}.text-link{font-size:12px;font-weight:800;color:var(--blue);display:inline-flex;gap:18px;align-items:center;margin-top:8px}.text-link span{font-size:17px}.work-section{background:var(--pale)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:-10px 0 28px}.filter{border:1px solid #dfe4ef;background:#fff;color:#68728a;padding:8px 15px;border-radius:8px;font-size:14px;cursor:pointer}.filter.active,.filter:hover{background:var(--navy);border-color:var(--navy);color:#fff}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}.project-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 10px 17px;transition:.25s}.visual{height:180px;border-radius:9px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#dce5ff,#f6f7ff)}.visual:before{content:"";position:absolute;width:140px;height:140px;border:1px solid #7f96e8;border-radius:28px;transform:rotate(28deg);opacity:.5}.visual:after{content:"";position:absolute;width:90px;height:120px;border-radius:12px;background:linear-gradient(150deg,#fff,#c6d2ff);box-shadow:0 12px 25px #243c851c;transform:rotate(-8deg)}.visual span{z-index:1;font:800 13px Manrope,sans-serif;color:#223d85;text-align:center;max-width:120px}.visual-1{background:linear-gradient(135deg,#e4f6f1,#f7fffc)}.visual-1:before{border-color:#8ec9bc}.visual-1:after{background:linear-gradient(150deg,#fff,#b8e5da)}.visual-1 span{color:#176f5d}.visual-2{background:linear-gradient(135deg,#f1e8ff,#faf7ff)}.visual-2:before{border-color:#b59be5}.visual-2:after{background:linear-gradient(150deg,#fff,#ddcbff)}.visual-2 span{color:#6a45a7}.visual-3{background:linear-gradient(135deg,#e2efff,#f7faff)}.visual-4{background:linear-gradient(135deg,#ffefdc,#fffaf4)}.visual-4:before{border-color:#edc58d}.visual-4:after{background:linear-gradient(150deg,#fff,#ffe0b4)}.visual-4 span{color:#96602b}.visual-5{background:linear-gradient(135deg,#e7e9ff,#f9f9ff)}.project-meta{display:flex;justify-content:space-between;margin:15px 5px 5px;font-size:14px;color:var(--blue);font-weight:700}.project-card h3{font-size:16px;letter-spacing:-.3px;margin:0 5px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.process-grid article{padding:24px 18px 10px 0;border-top:1px solid #dce2f0;position:relative}.process-grid article>span{font-size:14px;font-weight:800;color:var(--blue);display:block;margin-bottom:22px}.process-grid h3{font-size:19px;margin-bottom:10px;letter-spacing:-.5px}.process-grid p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.testimonials-section{background:#f7f8fc}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.quote-card{padding:26px;border-radius:15px;border:1px solid var(--line);background:#fff}.quote-mark{font:800 42px Georgia;color:var(--blue);line-height:1}.quote-card>p{font-size:13px;line-height:1.9;min-height:98px;color:#49536a}.person{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:17px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;color:#263e8e;background:#e5eaff}.avatar-b{background:#e0f3ef;color:#247d6b}.avatar-c{background:#f5e7ff;color:#7a3da5}.person b,.person small{display:block}.person b{font-size:14px}.person small{font-size:14px;color:var(--muted);margin-top:3px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff}.blog-art{height:190px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#131f40,#263c78);color:#fff;position:relative;overflow:hidden}.blog-art:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid #ffffff40;right:-25px;bottom:-80px;box-shadow:0 0 0 20px #ffffff08,0 0 0 40px #ffffff08}.blog-art span{font-size:9px;letter-spacing:2px;color:#b6c5ff;text-transform:uppercase;z-index:1}.blog-art b{font:700 22px/1.2 Manrope,sans-serif;max-width:260px;z-index:1;letter-spacing:-.5px}.blog-art-1{background:linear-gradient(135deg,#133d3b,#27766a)}.blog-art-2{background:linear-gradient(135deg,#31205f,#6450ad)}.blog-body{padding:22px}.category{font-size:9px;color:var(--blue);letter-spacing:1.3px;font-weight:800;text-transform:uppercase}.blog-body h3{font-size:18px;letter-spacing:-.5px;margin:10px 0}.blog-body p{font-size:12px;line-height:1.8;color:var(--muted)}.cta-section{background:linear-gradient(120deg,#101b35,#172e60);color:#fff;padding:70px 0;overflow:hidden}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative}.cta-inner .eyebrow{color:#a9bbff}.cta-inner h2{font-size:clamp(34px,4.5vw,48px)}.cta-inner h2 span{color:#9eb1ff}.cta-inner p:not(.eyebrow){max-width:540px;color:#bfc9e0;font-size:13px;line-height:1.8}.cta-decoration{position:absolute;right:90px;top:-80px;font:800 220px Manrope,sans-serif;color:#ffffff08;pointer-events:none}.site-footer{background:#0b1327;color:#fff;padding:56px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px;padding-bottom:40px}.brand-light{color:#fff}.footer-about p{max-width:240px;font-size:12px;line-height:1.9;color:#9ca8c2;margin-top:18px}.footer-grid h3{font-size:12px;letter-spacing:0;margin:7px 0 18px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.footer-grid>div>a:not(.brand){font-size:11px;color:#aeb8cd;margin:0 0 12px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff18;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:#8490a9}.page-hero{padding:80px 0 72px;background:radial-gradient(ellipse at 80% 30%,#e9edff 0,transparent 40%),#f7f8ff}.page-hero h1{max-width:800px}.detail-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.detail-layout p,.contact-layout p{color:var(--muted);font-size:13px;line-height:1.9}.detail-art{background:#f2f4ff;padding:40px;border-radius:22px;min-height:330px;display:grid;place-items:center}.detail-art .art-window{transform:none}.article-content{max-width:820px}.article-note{padding:35px;border:1px solid var(--line);border-radius:18px}.article-note h2{font-size:28px}.article-note p{font-size:14px;color:var(--muted);line-height:1.9}.contact-form{padding:30px;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 45px #18295108}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}.contact-form input,.contact-form textarea{width:100%;display:block;margin-top:7px;border:1px solid #dce2ee;border-radius:8px;padding:12px;color:var(--ink);outline:none;background:#fbfcff}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue)}.form-note,.form-status{font-size:14px!important;color:var(--muted)}.form-status{color:var(--blue)!important}
@media(max-width:900px){.main-nav{gap:15px}.hero-grid{gap:18px}.hero-art{transform:scale(.92)}.stats{gap:20px}.project-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:25px}.section{padding:72px 0}}
@media(max-width:700px){.container{width:min(100% - 34px,540px)}.site-header{height:70px}.menu-toggle{display:block}.menu-toggle span{margin-left:8px}.main-nav{display:none;position:absolute;top:69px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 22px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 25px #0c183012}.main-nav.open{display:flex}.main-nav>a{padding:12px 4px}.main-nav .nav-cta{text-align:center;margin-top:8px;padding:12px}.hero{padding-top:48px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{position:relative;z-index:2}.hero h1{font-size:43px}.hero-lede{font-size:14px}.stats{margin-top:30px;gap:22px}.stats strong{font-size:22px}.stats span{font-size:9px}.hero-art{min-height:315px;transform:none;margin-top:15px}.art-window{height:250px;width:calc(100% - 25px)}.art-content{padding:26px}.art-headline{font-size:29px}.hero-orb{width:240px;height:240px;right:10px}.floating-card{right:0;bottom:6px}.hero-bottom{margin-top:15px;gap:15px;align-items:flex-start;line-height:1.7}.scroll-mark{white-space:nowrap}.section{padding:60px 0}.section-top{display:block}.section-top>p{margin-top:16px}.section-top h2{font-size:33px}.service-grid,.testimonial-grid,.blog-grid{grid-template-columns:1fr}.service-visual{height:160px}.project-grid{grid-template-columns:1fr 1fr;gap:12px}.visual{height:140px}.visual span{font-size:14px;max-width:95px}.project-card h3{font-size:13px}.project-meta{font-size:9px}.process-grid{grid-template-columns:1fr 1fr;gap:24px}.process-grid article{padding-top:17px}.quote-card>p{min-height:0}.cta-inner{display:block}.cta-inner .button{margin-top:18px}.cta-decoration{right:-15px;top:-20px;font-size:150px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.footer-about{grid-column:1/-1}.footer-bottom{gap:12px;flex-direction:column}.page-hero{padding:60px 0}.page-hero h1{font-size:42px}.detail-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.detail-art{padding:20px;min-height:280px}.detail-art .art-window{width:100%}.contact-form{padding:22px}.blog-art{height:170px}}
@media(max-width:380px){.project-grid{grid-template-columns:1fr}.stats{gap:14px}.stats strong{font-size:20px}.scroll-mark{display:none}}

/* Original Inifine live-site media */
.hero-photo{transform:none!important;min-height:0;display:block;border-radius:18px;overflow:visible}
.hero-site-image{position:relative;z-index:1;width:100%;height:auto;display:block;object-fit:contain;border-radius:14px;filter:drop-shadow(0 24px 32px #15224c1a)}
.hero-photo .hero-orb,.hero-photo .floating-card{display:none}
.service-visual{padding:0!important}
.service-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.service-visual .visual-symbol,.service-visual .visual-caption{display:none}
.visual{padding:0;background:#f0f3fb}
.visual:before,.visual:after{display:none}
.visual img{width:100%;height:100%;object-fit:cover;display:block;border-radius:9px}
@media(max-width:700px){.hero-photo{min-height:0;margin-top:30px}.hero-site-image{width:100%;height:auto}.service-visual{height:180px}}

/* Project imagery mapped to the matching live-site portfolio visuals */
.project-card .visual img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}
.blog-art{background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}
.blog-art:after{content:none!important}
.blog-art span,.blog-art b{ text-shadow:0 1px 12px rgba(0,0,0,.45)}


/* Wide Services mega menu */
.site-header{position:sticky;isolation:isolate}
.nav-wrap{position:static}
.main-nav{position:static}
.nav-services{height:100%;display:flex;align-items:center;position:static}
.services-trigger{border:0;background:transparent;color:#4c566e;font-size:13px;font-weight:600;cursor:pointer;padding:12px 0;display:flex;align-items:center;gap:7px}
.services-trigger:hover,.nav-services.is-active .services-trigger{color:var(--blue)}
.chevron{font-size:16px;transition:transform .2s}
.nav-services.menu-open .chevron{transform:rotate(180deg)}
.mega-menu{position:absolute;top:100%;left:0;right:0;width:100%;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 25px 45px rgba(14,28,62,.14);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.nav-services:hover .mega-menu,.nav-services:focus-within .mega-menu,.nav-services.menu-open .mega-menu{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{width:min(1160px,calc(100% - 48px));margin:auto;padding:32px 0;display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:18px;align-items:stretch}
.mega-intro{padding:10px 25px 10px 0;align-self:center}
.mega-kicker{font-size:14px;letter-spacing:2px;color:var(--blue);font-weight:800}
.mega-intro h2{font-size:25px;line-height:1.2;letter-spacing:-.8px;margin:12px 0}
.mega-intro h2 span{color:var(--blue)}
.mega-intro p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 16px}
.mega-all{font-size:14px;font-weight:800;color:var(--blue)}
.mega-all span{padding-left:8px}
.mega-card{padding:20px;border:1px solid #e7ebf5;border-radius:13px;display:flex;flex-direction:column;align-items:flex-start;min-height:190px;background:linear-gradient(145deg,#fff,#f8f9ff);transition:transform .2s,border-color .2s,box-shadow .2s}
.mega-card:hover,.mega-card.active{transform:translateY(-3px);border-color:#cbd5ff;box-shadow:0 12px 28px #15224c0d}
.mega-icon{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:#e8edff;color:#315be8;font-size:23px;margin-bottom:18px}
.mega-icon-social{background:#e2f6f0;color:#19836f}.mega-icon-mobile{background:#f0eaff;color:#7955c6}
.mega-title{font:700 14px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.3px}
.mega-desc{font-size:14px;line-height:1.65;color:var(--muted);margin-top:8px}
.mega-link{margin-top:auto;padding-top:15px;font-size:14px;color:var(--blue);font-weight:800}
.mega-link b{font-size:15px;margin-left:7px}
.detail-art-image{padding:0!important;overflow:hidden;min-height:0!important;background:#f2f4ff}
.detail-art-image>img{width:100%;height:100%;min-height:330px;display:block;object-fit:cover;border-radius:18px}
.article-hero-image{width:100%;max-height:400px;object-fit:cover;border-radius:16px;margin:0 0 30px;display:block}
img[data-fallback-applied="true"]{object-fit:cover}
@media(max-width:900px){.main-nav{gap:15px}.mega-inner{grid-template-columns:repeat(3,1fr)}.mega-intro{grid-column:1/-1;padding:0 0 8px}.mega-intro h2{max-width:540px}}
@media(max-width:700px){.main-nav{position:absolute}.nav-services{height:auto;display:block}.services-trigger{width:100%;padding:12px 4px;justify-content:space-between;font-size:13px}.mega-menu{position:static;width:100%;box-shadow:none;border:0;display:none;opacity:1;visibility:visible;transform:none;background:#f8f9ff;border-radius:10px}.nav-services.menu-open .mega-menu,.nav-services:focus-within .mega-menu{display:block}.mega-inner{width:100%;padding:12px;display:grid;grid-template-columns:1fr;gap:9px}.mega-intro{display:none}.mega-card{min-height:0;padding:14px;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:center}.mega-icon{grid-row:1/4;margin:0}.mega-title{font-size:12px}.mega-desc{margin-top:3px}.mega-link{padding-top:5px}.detail-art-image>img{min-height:220px}.article-hero-image{max-height:260px}}


/* 2026 visual refresh — shared across every page */
:root{--ink:#111a2e;--muted:#667085;--navy:#101b35;--blue:#315be8;--blue2:#7b91ff;--pale:#f5f7fc;--line:#e4e8f1;--radius:22px}
body{font-size:15px;line-height:1.7;background:#fff;color:var(--ink)}
.container{width:min(1200px,calc(100% - 56px))}
.site-header{height:84px;background:rgba(255,255,255,.96);box-shadow:0 4px 24px rgba(17,26,46,.035);border-bottom:1px solid rgba(228,232,241,.8)}
.brand{font-size:27px;letter-spacing:-1.5px}.brand-mark{width:34px;height:34px;border-radius:11px;box-shadow:0 7px 16px #315be82a}
.main-nav{gap:25px;font-size:13px}.main-nav>a:not(.nav-cta),.services-trigger{color:#38445d}.nav-cta{padding:13px 19px;border-radius:999px;background:var(--blue);box-shadow:0 8px 18px #315be82b}.nav-cta:hover{background:#2347c5}
/* Full-width mega menu with a strong editorial hierarchy */
.mega-menu{top:calc(100% - 1px);border-top:1px solid #edf0f7;box-shadow:0 30px 60px rgba(14,28,62,.17);border-radius:0 0 22px 22px;overflow:hidden}
.mega-inner{width:min(1200px,calc(100% - 56px));padding:32px 0 36px;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));gap:16px}
.mega-intro{padding:14px 26px 14px 0}.mega-intro h2{font-size:28px;line-height:1.17}.mega-card{position:relative;min-height:208px;border-radius:16px;padding:22px;background:#f8f9fd;border-color:#edf0f6}.mega-card:after{content:"";position:absolute;right:-25px;top:-35px;width:105px;height:105px;border-radius:50%;background:#e6ebff;opacity:.65}.mega-card:nth-of-type(3):after{background:#dcf5ee}.mega-card:nth-of-type(4):after{background:#eee5ff}.mega-icon{position:relative;z-index:1;width:43px;height:43px;border-radius:13px}.mega-title{position:relative;z-index:1;font-size:15px}.mega-desc,.mega-link{position:relative;z-index:1}.mega-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 16px 35px #15224c12}
.hero{padding:74px 0 30px;background:radial-gradient(ellipse at 84% 24%,#dce5ff 0,transparent 35%),linear-gradient(180deg,#f7f8ff 0%,#fff 92%)}
.hero-grid{min-height:470px;gap:56px}.hero h1{font-size:clamp(43px,5.2vw,70px);letter-spacing:-3px;line-height:1.04}.hero-lede{font-size:17px;max-width:490px}.eyebrow{font-size:14px;letter-spacing:2.2px}.button{border-radius:999px;padding:15px 22px}.button-primary{box-shadow:0 12px 25px #315be82e}.hero-art{min-height:410px}.art-window{width:min(100%,470px);height:320px;border-radius:20px;box-shadow:0 34px 70px #12265c2e}.art-content{padding:39px}.art-headline{font-size:39px}.hero-orb{width:350px;height:350px}.floating-card{right:-3px;bottom:17px;border:1px solid #edf0f6;box-shadow:0 18px 45px #18295118}
.stats{gap:39px}.stats strong{font-size:29px}.stats span{font-size:14px}
.section{padding:100px 0}.section-top{margin-bottom:39px}.section-top h2,.cta-inner h2,.detail-layout h2,.contact-layout h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1.8px}.section-top>p{font-size:14px;line-height:1.75}.service-grid{gap:24px}.service-card{border-radius:20px;box-shadow:0 8px 25px rgba(20,33,66,.025)}.service-visual{height:205px}.service-body{padding:27px}.service-body h3{font-size:21px}.service-body p,.project-card p{font-size:13px}.text-link{font-size:12px}.work-section{background:#f6f7fb}.project-grid{gap:25px 22px}.project-card{border-radius:17px;padding:10px 10px 19px;box-shadow:0 5px 22px rgba(20,33,66,.025)}.visual{height:210px;border-radius:12px;background:#f2f4fa}.visual img{transition:transform .5s}.project-card:hover .visual img{transform:scale(1.035)}.project-meta{margin:16px 7px 6px}.project-card h3{font-size:17px;margin-inline:7px}
.process-grid{gap:28px}.process-grid article{padding:24px 15px 10px 0;border-top:2px solid #dce2f0}.process-grid article>span{font-size:12px;margin-bottom:25px}.process-grid h3{font-size:21px}.process-grid p{font-size:13px}.testimonials-section{background:#f6f7fb}.quote-card{padding:29px;border-radius:19px;box-shadow:0 8px 25px #14204206}.quote-card>p{font-size:14px;min-height:110px}.blog-grid{gap:24px}.blog-card{border-radius:19px;box-shadow:0 7px 25px #14204208;transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #14204213}.blog-art{height:220px}.blog-body{padding:25px}.blog-body h3{font-size:19px;line-height:1.35}.blog-body p{font-size:13px}
.cta-section{padding:65px 0;background:linear-gradient(120deg,#111d3c,#1b3270);overflow:hidden}.cta-inner{border-radius:25px}.cta-inner h2{font-size:clamp(36px,4.5vw,54px)}.cta-inner>div:first-child{max-width:650px}.cta-inner p:not(.eyebrow){font-size:14px;max-width:520px}.cta-decoration{font-size:200px;opacity:.07}
.site-footer{background:#0d1730;padding-top:62px}.footer-grid{gap:48px;padding-bottom:42px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-grid h3{font-size:13px;letter-spacing:0;margin:6px 0 18px;color:#fff}.footer-grid a:not(.brand){font-size:12px;color:#b6c0d7;margin:5px 0}.footer-grid a:hover{color:#fff}.footer-about p{max-width:260px;color:#b6c0d7;font-size:13px}.footer-bottom{border-top:1px solid #29344f;padding:20px 0;color:#9ca8c3;font-size:11px}
/* Page heroes: every internal page has its own visual treatment */
.page-hero{position:relative;overflow:hidden;padding:92px 0 88px;background:linear-gradient(112deg,#111d3b 0%,#172c60 70%,#223d7b 100%);color:#fff}
.page-hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid #ffffff18;border-radius:50%;right:-90px;top:-230px;box-shadow:0 0 0 45px #ffffff06,0 0 0 95px #ffffff04}
.page-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:14%;bottom:-210px;background:#4f6ff0;filter:blur(1px);opacity:.3}
.page-hero .container{position:relative;z-index:1}.page-hero .eyebrow{color:#aabaff}.page-hero h1{font-size:clamp(39px,5vw,61px);letter-spacing:-2.2px;max-width:820px;margin-bottom:20px}.page-hero h1 span{color:#a9b9ff}.page-hero p{color:#d2daed;font-size:16px;max-width:680px}.page-hero .button{margin-top:12px;background:#fff;color:#14234b;box-shadow:none}
/* service page cards */
.service-page .detail-layout{grid-template-columns:1fr 1fr;gap:70px;align-items:center}.service-page .detail-layout>div:first-child>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#657087}.service-page .detail-layout h2{margin-bottom:22px}.service-page .detail-art-image{border-radius:24px;box-shadow:0 22px 55px #14204216;transform:rotate(1deg)}.service-page .detail-art-image img{min-height:380px;object-fit:cover}.service-page .process-section{background:#f7f8fc}
.service-web .page-hero{background:linear-gradient(112deg,#101c39,#1c397d)}.service-social .page-hero{background:linear-gradient(112deg,#0d2d35,#12695f)}.service-social .page-hero:after{background:#28b69d}.service-mobile .page-hero{background:linear-gradient(112deg,#21173f,#4b3286)}.service-mobile .page-hero:after{background:#a28af5}
/* Contact page */
.contact-page .contact-layout{grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.contact-page .contact-layout>div:first-child{padding:15px 0}.contact-page .contact-layout>div:first-child>p:not(.eyebrow){font-size:14px;color:var(--muted)}.contact-page .contact-layout a{color:var(--blue);font-weight:600}.contact-form{padding:35px;border:1px solid #e8ebf4;border-radius:23px;background:#fff;box-shadow:0 22px 60px #1420420c}.contact-form label{font-size:12px;font-weight:700;color:#3a4560;gap:8px}.contact-form input,.contact-form textarea{border:1px solid #dfe4ee;border-radius:11px;background:#fbfcff;padding:14px 15px;outline:none;transition:border .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{border-color:#8095f7;box-shadow:0 0 0 4px #315be815}
/* Insights listing and article layouts */
.blog-list-page .page-hero{padding:78px 0 72px}.blog-list-page .section{padding-top:65px}.blog-list-page .blog-art{background-image:radial-gradient(circle at 85% 20%,#5369bb 0,transparent 35%),linear-gradient(135deg,#111d3b,#283d7a)}
.article-page .page-hero{padding:75px 0 70px}.article-page .page-hero h1{max-width:900px}.article-page .article-content{max-width:900px}.article-page .article-note{padding:40px;border:1px solid #e8ebf4;border-radius:22px;background:#fff;box-shadow:0 12px 35px #14204207}.article-page .article-note h2{font-size:30px;letter-spacing:-1px}.article-page .article-note p:not(.eyebrow){font-size:15px;color:#5f6b82;line-height:1.9}.article-design .page-hero{background:linear-gradient(112deg,#13203e,#3a4c89)}.article-social .page-hero{background:linear-gradient(112deg,#0d2d35,#167565)}.article-seo .page-hero{background:linear-gradient(112deg,#21173f,#57408d)}
/* Ensure image cards never collapse and missing external media always has a local visual fallback */
img{max-width:100%}.visual img,.service-visual img,.detail-art-image img,.article-hero-image{background:#eef1fb}.visual img{position:relative;z-index:1}.service-visual img{width:100%;height:100%;object-fit:cover;display:block}.service-visual{background:#eef1fb}
@media(max-width:900px){.container{width:min(100% - 40px,720px)}.hero-grid{gap:30px}.hero h1{font-size:clamp(39px,6vw,56px)}.service-page .detail-layout,.contact-page .contact-layout{grid-template-columns:1fr;gap:35px}.service-page .detail-art-image img{min-height:300px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}.mega-inner{width:calc(100% - 40px);grid-template-columns:repeat(3,minmax(0,1fr))}.mega-intro{grid-column:1/-1}.mega-card{min-height:190px}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.site-header{height:72px}.main-nav{gap:0}.hero{padding-top:42px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(39px,10vw,54px);letter-spacing:-2px}.hero-art{min-height:300px;margin-top:4px}.art-window{height:245px;width:94%;transform:rotate(0)}.art-content{padding:26px}.art-headline{font-size:30px}.hero-orb{width:250px;height:250px;right:4%}.floating-card{right:0;bottom:4px}.stats{gap:20px;flex-wrap:wrap;margin-top:30px}.stats strong{font-size:24px}.hero-bottom{gap:15px;align-items:flex-start}.section{padding:68px 0}.section-top{align-items:flex-start;flex-direction:column;gap:14px}.service-grid,.project-grid,.testimonial-grid,.blog-grid{grid-template-columns:1fr}.service-visual{height:220px}.visual{height:230px}.process-grid{grid-template-columns:repeat(2,1fr);gap:18px}.page-hero{padding:65px 0 62px}.page-hero h1{font-size:clamp(35px,9vw,47px);letter-spacing:-1.5px}.page-hero p{font-size:14px}.mega-menu{border-radius:0 0 16px 16px}.mega-inner{width:100%;padding:12px;grid-template-columns:1fr;gap:9px}.mega-intro{display:none}.mega-card{min-height:0;padding:15px;display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.mega-icon{grid-row:1/4;margin:0}.mega-title{font-size:13px}.mega-desc{margin-top:2px}.mega-link{padding-top:4px}.contact-form{padding:23px}.article-page .article-note{padding:24px}.article-page .article-note h2{font-size:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.cta-section{padding:48px 0}.cta-inner{gap:22px}.cta-inner h2{font-size:38px}.cta-decoration{font-size:130px}}


/* CLERICA-INSPIRED EDITORIAL REDESIGN FOR INIFINE */
:root{--ink:#171916;--muted:#686c63;--navy:#171916;--blue:#a7d84a;--blue2:#c5ef72;--pale:#f1f0e9;--line:#dedfd5;--white:#fff;--radius:4px}
body{font-family:Arial,Helvetica,sans-serif;color:#171916;background:#ffffff;line-height:1.65}
.container{width:min(1220px,calc(100% - 64px))}
.site-header{height:86px;background:rgba(248,248,243,.96);border-bottom:1px solid #dedfd5;backdrop-filter:blur(14px)}
.brand{font-family:Arial,sans-serif;font-size:27px;letter-spacing:-1.6px}.brand-mark{background:#a7d84a;color:#171916;border-radius:50%;width:32px;height:32px;font-size:21px}.brand-dot{color:#668C25}
.main-nav{gap:25px;font-size:12px;letter-spacing:.01em}.main-nav>a:not(.nav-cta),.services-trigger{color:#33372f}.main-nav>a:hover,.main-nav>a.active,.services-trigger:hover{color:#638b1d}.nav-cta{background:#171916;color:#fff;border-radius:2px;padding:14px 19px;box-shadow:none}.nav-cta:hover{background:#a7d84a;color:#171916}
.services-trigger{font-size:12px}.mega-menu{border:1px solid #dedfd5;border-top:1px solid #dedfd5;box-shadow:0 24px 50px #161b0e18;border-radius:0 0 5px 5px;background:#ffffff}.mega-inner{width:min(1220px,calc(100% - 64px));padding:30px 0 34px;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));gap:14px}.mega-intro h2{font-size:29px;letter-spacing:-1.2px}.mega-intro h2 span{color:#668e25}.mega-card{border-radius:3px;border:1px solid #dedfd5;background:#fff;min-height:195px;padding:22px}.mega-card:after{display:none}.mega-icon{border-radius:50%;background:#e9f3d8;color:#171916}.mega-icon-social{background:#e9eee1}.mega-icon-mobile{background:#f0eee5}.mega-title{font-size:14px}.mega-card:hover{background:#f0f3e7;box-shadow:none;transform:translateY(-3px)}
.hero{background:#ffffff;padding:65px 0 28px}.hero-grid{grid-template-columns:1.02fr .98fr;gap:58px;min-height:500px}.eyebrow{font-size:14px;letter-spacing:2.1px;color:#688c2a}.eyebrow-line{background:#a7d84a}.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(46px,6.1vw,82px);line-height:.99;letter-spacing:-4.3px;font-weight:750;max-width:680px}.hero h1 span,h1 span,h2 span{color:#638b1d}.hero-lede{font-size:16px;line-height:1.8;color:#686c63;max-width:480px}.button{border-radius:2px;padding:15px 21px;font-size:12px;letter-spacing:.01em}.button-primary{background:#a7d84a;color:#171916;box-shadow:none}.button-primary:hover{background:#171916;color:#fff}.hero-art{min-height:430px}.hero-orb{width:360px;height:360px;right:3%;top:20px;background:#e5e9d8;border-radius:50%}.hero-site-image{position:relative;z-index:1;width:100%;max-height:445px;object-fit:contain;filter:saturate(.88)}.hero-banner-video{height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:2px;display:block;background:#171916}.floating-card{border:1px solid #dedfd5;border-radius:3px;box-shadow:0 15px 35px #17191613}.float-icon{background:#a7d84a;color:#171916;border-radius:50%}.hero-bottom{border-color:#dedfd5;color:#6c7067;font-size:14px}.stats{gap:36px}.stats strong{font-size:29px;letter-spacing:-1.5px}.stats span{font-size:14px}
.section{padding:108px 0}.section-top{margin-bottom:42px}.section-top h2,.cta-inner h2,.detail-layout h2,.contact-layout h2{font-size:clamp(34px,4.4vw,58px);letter-spacing:-2.5px;line-height:1.04}.section-top h2 em,.cta-inner h2 em,.editorial-hero h1 em,.editorial-two-col h2 em{font-style:normal;color:#668c25}.section-top>p{font-size:14px;max-width:370px;color:#686c63}.service-grid{gap:18px}.service-card{border:1px solid #dedfd5;border-radius:3px;box-shadow:none;background:#fff}.service-card:hover,.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #17191612}.service-visual{height:235px;padding:0;border-radius:0;background:#eceee5}.service-visual img{width:100%;height:100%;object-fit:cover}.visual-symbol{right:22px;top:20px;color:#668C25;text-shadow:0 2px 10px #1114}.visual-caption{color:#fff;left:22px;bottom:18px;text-shadow:0 1px 6px #0008}.service-body{padding:27px 26px 30px}.card-number{color:#7b806f;letter-spacing:1.6px}.service-body h3{font-size:22px;letter-spacing:-.8px}.service-body p,.project-card p{font-size:13px;color:#686c63}.text-link{color:#5c7f22;font-size:12px}.work-section,.testimonials-section{background:#efefe7}.filters{margin:0 0 30px}.filter{border:1px solid #d5d8cb;border-radius:2px;background:transparent;color:#42463d;padding:10px 17px}.filter.active,.filter:hover{background:#171916;color:#fff;border-color:#171916}.project-grid{gap:32px 22px}.project-card{border:0;background:transparent;border-radius:0;padding:0 0 10px;box-shadow:none}.visual{height:250px;border-radius:2px;background:#e6e8dc}.visual:before,.visual:after{display:none}.visual img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.project-meta{margin:17px 0 7px;color:#638b1d;text-transform:uppercase;letter-spacing:1.3px;font-size:9px}.project-card h3{font-size:21px;letter-spacing:-.6px;margin:0}.process-grid{gap:24px}.process-grid article{border-top:1px solid #bfc3b4}.process-grid article>span{color:#638b1d}.process-grid h3{font-size:22px;letter-spacing:-.8px}.process-grid p{font-size:13px;color:#686c63}.quote-card{border-radius:3px;border:1px solid #dedfd5;box-shadow:none}.quote-mark{color:#7da833}.quote-card>p{font-size:14px;color:#454a40}.avatar,.avatar-b,.avatar-c{border-radius:50%;background:#e3edcf;color:#29341c}.blog-grid{gap:20px}.blog-card{border:1px solid #dedfd5;border-radius:3px;box-shadow:none}.blog-art{height:220px;border-radius:0;background:#252b20}.blog-art-1{background:#3c4930}.blog-art-2{background:#515744}.blog-art span{color:#d5e8b4}.blog-body{padding:25px}.category{color:#638b1d}.blog-body h3{font-size:21px;letter-spacing:-.7px}.cta-section{background:#171916;color:#ffffff;padding:80px 0}.cta-inner h2{font-size:clamp(38px,5vw,63px)}.cta-inner h2 em,.cta-inner h2 span{color:#b8e75e}.cta-inner .eyebrow{color:#b8e75e}.cta-inner p:not(.eyebrow){font-size:14px;color:#c3c7bb}.button-light{background:#b8e75e;color:#171916;border-radius:2px}.button-light:hover{background:#fff}.cta-decoration{color:#ffffff08}.site-footer{background:#11130f;color:#ffffff;padding-top:64px}.footer-grid{gap:42px;border-bottom:1px solid #ffffff20}.footer-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:1.4px}.footer-grid>div>a:not(.brand){font-size:12px;color:#b6bbae}.footer-about p{color:#b6bbae}.footer-bottom{border-color:#ffffff20;color:#a3a99a}.page-hero{background:#171916;color:#ffffff;padding:95px 0 88px}.page-hero p{color:#c6cabe}.page-hero h1{font-size:clamp(45px,6vw,75px);letter-spacing:-3px}.page-hero h1 span{color:#b8e75e}.page-hero .eyebrow{color:#b8e75e}.page-hero .button-primary{background:#b8e75e;color:#171916}.detail-layout p,.contact-layout p{font-size:14px;color:#686c63}.detail-art{background:#e9ebdf;border-radius:3px;padding:20px}.detail-art-image img{border-radius:2px;object-fit:cover}.contact-form{border-radius:3px;border-color:#dedfd5;box-shadow:none;background:#fff}.contact-form input,.contact-form textarea{border-radius:2px;background:#ffffff;border-color:#d7d9ce}.contact-form input:focus,.contact-form textarea:focus{border-color:#8bad47;box-shadow:0 0 0 3px #a7d84a22}.article-note{border-radius:3px;border-color:#dedfd5;background:#fff}.article-page .article-note{box-shadow:none}.blog-list-page .blog-art{background:#20251a}.article-page .page-hero{background:#171916}.article-design .page-hero,.article-social .page-hero,.article-seo .page-hero{background:#171916}
/* New editorial pages inspired by Clerica's agency-first architecture */
.editorial-hero{padding:82px 0 30px;background:#ffffff}.editorial-hero.compact{padding-bottom:70px}.editorial-hero h1{font-size:clamp(49px,7vw,92px);line-height:.98;letter-spacing:-5px;max-width:1000px;margin:0 0 30px}.editorial-hero h1 em{color:#668c25;font-style:normal}.editorial-hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.editorial-hero-bottom p{max-width:540px;color:#686c63;font-size:16px;line-height:1.8;margin:0}.editorial-image{height:clamp(260px,43vw,520px);overflow:hidden;background:#e9ebdf;border:1px solid #dedfd5}.editorial-image img{width:100%;height:100%;object-fit:cover;display:block}.editorial-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.editorial-two-col h2{font-size:clamp(34px,4.5vw,58px);letter-spacing:-2.4px;line-height:1.05}.editorial-two-col p{font-size:15px;color:#686c63;line-height:1.9;margin-top:0}.editorial-dark{background:#171916;color:#ffffff}.editorial-dark .section-top>p,.editorial-dark .process-grid p{color:#b6bbae}.editorial-dark .process-grid article{border-color:#45493f}.editorial-dark .process-grid article>span{color:#b8e75e}.editorial-dark .process-grid h3{color:#fff}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{background:#fff;border:1px solid #dedfd5;padding:32px 28px;min-height:350px;display:flex;flex-direction:column;align-items:flex-start}.price-card h3{font-size:25px;letter-spacing:-1px;margin:4px 0 10px}.price-card>p:not(.eyebrow){color:#686c63;font-size:13px;line-height:1.8}.price-card ul{list-style:none;margin:12px 0 25px;padding:0}.price-card li{font-size:13px;padding:8px 0;border-bottom:1px solid #e8e9e0;color:#42463d}.price-card li:before{content:'✓';color:#668c25;margin-right:10px}.price-card .text-link{margin-top:auto}.price-featured{background:#eaf0dd;border-color:#c9d8b0}.price-featured .eyebrow{color:#4f701b}
@media(max-width:900px){.container{width:min(100% - 42px,760px)}.mega-inner{width:calc(100% - 42px);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mega-intro{grid-column:1/-1}.hero-grid{gap:25px}.hero h1{font-size:clamp(43px,6.5vw,65px)}.editorial-two-col{gap:35px}.pricing-grid{grid-template-columns:1fr 1fr}.price-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.site-header{height:72px}.main-nav{gap:0}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(43px,11vw,60px);letter-spacing:-2.8px}.hero-art{min-height:300px}.hero-site-image{max-height:300px}.hero-orb{width:260px;height:260px}.section{padding:70px 0}.section-top h2,.cta-inner h2,.detail-layout h2,.contact-layout h2{font-size:38px;letter-spacing:-1.6px}.service-grid,.project-grid,.testimonial-grid,.blog-grid{grid-template-columns:1fr}.service-visual{height:225px}.visual{height:230px}.project-card h3{font-size:20px}.process-grid{grid-template-columns:1fr 1fr}.page-hero{padding:68px 0}.page-hero h1{font-size:clamp(42px,10vw,56px);letter-spacing:-2px}.mega-menu{border-radius:0 0 3px 3px}.mega-inner{width:100%;padding:12px;grid-template-columns:1fr;gap:8px}.mega-intro{display:none}.mega-card{min-height:0;padding:14px;display:grid;grid-template-columns:38px 1fr;column-gap:12px;align-items:center}.mega-icon{grid-row:1/4}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.cta-section{padding:55px 0}.cta-inner{display:block}.cta-inner .button{margin-top:15px}.editorial-hero{padding:54px 0 20px}.editorial-hero.compact{padding-bottom:48px}.editorial-hero h1{font-size:clamp(43px,11vw,62px);letter-spacing:-2.8px}.editorial-hero-bottom{display:block;margin-bottom:30px}.editorial-hero-bottom p{font-size:14px;margin-bottom:20px}.editorial-image{height:260px}.editorial-two-col{grid-template-columns:1fr;gap:20px}.editorial-two-col h2{font-size:40px;letter-spacing:-1.8px}.pricing-grid{grid-template-columns:1fr}.price-card:last-child{grid-column:auto}.price-card{min-height:0;padding:27px 23px}}

/* Typography system requested for Inifine.
   Add licensed BDO Grotesk font files to assets/fonts/ to activate the face.
   The system sans-serif is intentionally used for compact 12px UI text. */
@font-face{
  font-family:"BDO Grotesk";
  src:local("BDO Grotesk Medium"),url("fonts/BDOGrotesk-Medium.woff2") format("woff2"),url("fonts/BDOGrotesk-Medium.woff") format("woff");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face{
  font-family:"BDO Grotesk";
  src:local("BDO Grotesk Bold"),url("fonts/BDOGrotesk-Bold.woff2") format("woff2"),url("fonts/BDOGrotesk-Bold.woff") format("woff");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}
:root{
  --font-main:"BDO Grotesk","Arial",sans-serif;
  --font-ui:Arial,Helvetica,sans-serif;
  --font-size-48:48px;--font-size-36:36px;--font-size-24:24px;
  --font-size-18:18px;--font-size-16:16px;--font-size-15:15px;
  --font-size-14:14px;--font-size-13:13px;--font-size-12:12px;
}
body{font-family:var(--font-main);font-size:var(--font-size-15);font-weight:400;line-height:1.65}
h1,h2,h3,h4,h5,h6,.brand,.art-headline,.stats strong{font-family:var(--font-main)}
h1{font-size:var(--font-size-48);font-weight:700;letter-spacing:-1.8px;line-height:1.08}
h2{font-size:var(--font-size-36);font-weight:700;letter-spacing:-1.2px;line-height:1.15}
h3{font-size:var(--font-size-24);font-weight:700;letter-spacing:-.6px;line-height:1.2}
.main-nav,.services-trigger,.mega-title,.service-body h3,.project-card h3,.blog-body h3,.process-grid h3,.footer-grid h3{font-family:var(--font-main)}
.main-nav,.services-trigger{font-size:var(--font-size-14)}
.eyebrow{font-family:var(--font-main);font-size:var(--font-size-13);font-weight:700}
.hero-lede,.page-hero p,.section-top>p,.service-body p,.project-card p,.process-grid p,.quote-card>p,.blog-body p,.footer-about p{font-family:var(--font-main);font-size:var(--font-size-15);font-weight:400}
.service-body h3,.process-grid h3{font-size:var(--font-size-18)}
.project-card h3,.blog-body h3{font-size:var(--font-size-18)}
.mega-title{font-size:var(--font-size-16);font-weight:700}
.mega-desc,.footer-grid a:not(.brand),.footer-bottom,.stats span{font-family:var(--font-ui);font-size:var(--font-size-12);font-weight:400}
.button,.nav-cta,.text-link,.mega-link,.filter,.eyebrow-line,.card-number{font-family:var(--font-ui)}
.button,.nav-cta,.text-link,.mega-link,.filter{font-size:var(--font-size-12)}
@media(max-width:700px){h1{font-size:36px}h2{font-size:30px}h3{font-size:22px}}

/* User-requested refinements */
.services-trigger .chevron{display:none!important}
.mega-image{display:block!important;width:100%;height:88px;border-radius:2px!important;overflow:hidden;background:#e9efdc!important;margin:0 0 12px!important}
.mega-image img{width:100%;height:100%;display:block;object-fit:cover}
.mega-card{display:flex;flex-direction:column;align-items:flex-start}
.mega-title{display:block;line-height:1.35}
.mega-desc{display:block;margin-top:7px}
.mega-link{margin-top:auto;padding-top:12px}
.blog-art{position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;text-decoration:none;background:#20251a}
.blog-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.blog-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,20,13,.02),rgba(15,20,13,.78));z-index:1}
.blog-art span,.blog-art b{position:relative;z-index:2}
.blog-art span{margin:0 22px 8px;font-size:14px;text-transform:uppercase;letter-spacing:1.3px;color:#d5e8b4}
.blog-art b{margin:0 22px 22px;color:#fff;font-size:20px;line-height:1.25;max-width:90%}
.client-avatar{display:block;width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover}
.person{display:flex;align-items:center;gap:13px}
@media(max-width:700px){.mega-image{height:74px;width:100%;grid-row:auto;margin-bottom:0!important}.mega-card{display:grid;grid-template-columns:80px 1fr;column-gap:12px;align-items:center}.mega-image{grid-row:1/5}.mega-title,.mega-desc,.mega-link{grid-column:2}.blog-art b{font-size:18px}}

/* Refined image-led services dropdown and reference-style pricing cards */
.mega-menu{background:#ffffff;border-radius:0 0 4px 4px;box-shadow:0 20px 40px rgba(25,30,20,.12)}
.mega-inner{grid-template-columns:1.08fr repeat(3,minmax(0,1fr));gap:18px;padding-top:27px;padding-bottom:28px}
.mega-intro{align-self:start;padding-top:18px}.mega-intro h2{max-width:270px;font-size:25px;line-height:1.12}.mega-intro p{max-width:270px;font-size:13px;line-height:1.55}
.mega-card{padding:0 0 17px!important;overflow:hidden;min-height:0!important;display:flex;flex-direction:column;align-items:stretch;border:1px solid #e5e5dc;background:#fff;box-shadow:0 4px 14px #22220d08;transform:none!important}
.mega-card .mega-image{width:100%;height:126px!important;margin:0 0 14px!important;border-radius:0!important;background:#e9eee1!important}.mega-card .mega-image img{object-fit:cover}
.mega-card .mega-title,.mega-card .mega-desc,.mega-card .mega-link{margin-left:14px;margin-right:14px}.mega-card .mega-title{font-size:14px;line-height:1.35}.mega-card .mega-desc{font-size:14px;line-height:1.5;margin-top:5px}.mega-card .mega-link{padding-top:11px;margin-top:auto;font-size:14px}.mega-card:after{display:none}.mega-card:hover{background:#fff;box-shadow:0 8px 20px #22220d10;transform:translateY(-2px)!important}
.client-avatar{width:52px;height:52px;flex-basis:52px;object-fit:cover;border:1px solid #e1e5d9}
.pricing-grid{gap:20px}.price-card{position:relative;border:1px solid #dfe1d7;border-top:3px solid #718e37;border-radius:0;padding:20px 19px 21px;min-height:268px;box-shadow:none}.price-card .eyebrow{display:none}.price-card h3{font-size:20px;line-height:1.13;letter-spacing:-.65px;margin:0 0 11px;max-width:220px}.price-card>p:not(.eyebrow){font-size:14px;line-height:1.55;margin:0 0 10px;max-width:240px}.price-card ul{width:100%;margin:0 0 17px}.price-card li{font-size:14px;padding:7px 0;border-bottom:1px solid #e7e9e0}.price-card li:before{font-size:14px;margin-right:10px}.price-card .text-link{font-size:14px;padding-top:2px}.price-featured{background:#edf2e4;border-color:#d5dfc8;border-top-color:#718e37}
@media(max-width:700px){.mega-inner{padding:12px!important;grid-template-columns:1fr!important;gap:10px!important}.mega-card{display:grid!important;grid-template-columns:100px 1fr!important;column-gap:12px;align-items:center;padding:0 10px 10px 0!important}.mega-card .mega-image{height:90px!important;grid-row:1/5;width:100%;margin:0!important}.mega-card .mega-title,.mega-card .mega-desc,.mega-card .mega-link{grid-column:2;margin-left:0;margin-right:0}.mega-card .mega-title{padding-top:8px}.pricing-grid{grid-template-columns:1fr}.price-card{min-height:0;padding:22px 19px}}


/* Requested typography and accent refinements */
.button, button, .nav-cta, .services-trigger, input[type="submit"], input[type="button"] {
  font-family: "BDO Grotesk", Arial, sans-serif;
  font-weight: 700;
}


/* Hero headline entrance animation — runs once when each page loads */
@keyframes heroTextReveal {
  from { opacity: 0; transform: translate3d(0, 22px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.hero .hero-copy > *,
.page-hero .container > *,
.editorial-hero .container > * {
  animation: heroTextReveal 760ms cubic-bezier(.2,.7,.2,1) both;
}
.hero .hero-copy > :nth-child(1),
.page-hero .container > :nth-child(1),
.editorial-hero .container > :nth-child(1) { animation-delay: 80ms; }
.hero .hero-copy > :nth-child(2),
.page-hero .container > :nth-child(2),
.editorial-hero .container > :nth-child(2) { animation-delay: 220ms; }
.hero .hero-copy > :nth-child(3),
.page-hero .container > :nth-child(3),
.editorial-hero .container > :nth-child(3) { animation-delay: 360ms; }
.hero .hero-copy > :nth-child(4),
.page-hero .container > :nth-child(4),
.editorial-hero .container > :nth-child(4) { animation-delay: 500ms; }
@media (prefers-reduced-motion: reduce) {
  .hero .hero-copy > *, .page-hero .container > *, .editorial-hero .container > * {
    animation: none !important; opacity: 1 !important; transform: none !important;
  }
}


/* Requested link and navigation hover accent; button backgrounds are intentionally untouched */
a:not(.button):not(.nav-cta):not(.mega-card):not(.brand), .text-link, .mega-link, .mega-all { color: #668C25; }
.main-nav a:hover, .main-nav a:focus-visible, .main-nav .services-trigger:hover, .main-nav .services-trigger:focus-visible, .mega-card:hover .mega-title, .mega-card:hover .mega-link, .footer-grid a:hover, .footer-grid a:focus-visible { color: #668C25; }
.mega-card:hover { border-color: #668C25; }

/* Navigation and menu links: regular black text, green on hover */
.main-nav > a:not(.nav-cta),
.main-nav .services-trigger,
.mega-card .mega-title,
.mega-card .mega-link,
.mega-all,
.footer-grid a:not(.brand) {
  color: #000;
  font-weight: 400;
}
.main-nav > a:not(.nav-cta):hover,
.main-nav > a:not(.nav-cta):focus-visible,
.main-nav .services-trigger:hover,
.main-nav .services-trigger:focus-visible,
.mega-card:hover .mega-title,
.mega-card:hover .mega-link,
.mega-all:hover,
.footer-grid a:not(.brand):hover,
.footer-grid a:not(.brand):focus-visible {
  color: #668C25;
}

/* Homepage hero: keep only the word “Drive” black */
.hero-copy h1 .hero-drive-word { color: #000000; }


/* Homepage refinements */
.hero .hero-copy > .button-primary { display: none; }
.hero .stats { margin-top: 35px; }
.hero .stats .years-stat strong { font-variant-numeric: tabular-nums; }
.hero-bottom { align-items: center; gap: 28px; padding-top: 26px; margin-top: 36px; }
.hero-bottom .hero-tagline { display: block; max-width: 690px; font: 700 clamp(22px, 3vw, 34px)/1.2 Manrope, Arial, sans-serif; letter-spacing: -1px; color: var(--ink); }
.hero-bottom .scroll-mark { flex-shrink: 0; color: #000; }
.main-nav > a:not(.nav-cta), .main-nav .services-trigger { color: #000; font-weight: 400; }
.main-nav > a:not(.nav-cta):hover, .main-nav > a:not(.nav-cta):focus-visible, .main-nav .services-trigger:hover, .main-nav .services-trigger:focus-visible { color: #668C25; }
@media (max-width: 700px) { .hero-bottom { align-items: flex-start; flex-direction: column; } .hero-bottom .hero-tagline { font-size: 25px; } }


/* Homepage hero tagline styling based on the supplied reference */
.hero-bottom{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:22px;border-top:0;padding-top:0;margin-top:30px;color:inherit}
.hero-bottom .scroll-mark{order:0;align-self:flex-start;color:#000;font-size:10px;letter-spacing:1.5px}
.hero-bottom .hero-tagline{order:1;display:flex;flex-direction:column;align-items:flex-start;gap:0;background:#151714;color:#fff;padding:24px 28px;font-family:Manrope,Arial,sans-serif;font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.45;letter-spacing:-.5px;width:100%}
.hero-tagline-white{color:#fff}
.hero-tagline-green{color:#668C25}
@media(max-width:640px){.hero-bottom .hero-tagline{padding:20px 18px;font-size:clamp(22px,6vw,29px)}}

/* Homepage hero tagline: align with the editorial process heading style */
.hero-bottom{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:30px;border-top:0;padding-top:0;margin-top:30px;color:inherit}
.hero-bottom .scroll-mark{order:0;align-self:flex-start;text-align:left;color:#000;font-size:10px;letter-spacing:1.5px;margin:0;padding:30px 0}
.hero-bottom .hero-tagline{order:1;display:block;width:100%;max-width:none;background:#171916;color:#ffffff;padding:30px 28px;font:800 clamp(34px,4.4vw,58px)/1.04 Manrope,Arial,sans-serif;letter-spacing:-2.5px}
.hero-tagline-white{color:#ffffff}
.hero-tagline-green{color:#668c25}
@media(max-width:700px){.hero-bottom{gap:20px}.hero-bottom .scroll-mark{padding:30px 0}.hero-bottom .hero-tagline{padding:30px 20px;font-size:clamp(30px,8vw,42px);letter-spacing:-1.5px}}

/* Homepage hero tagline: full-bleed banner, generous vertical padding, right-aligned scroll label */
.hero-bottom{width:100%;max-width:none;margin:30px 0 0;padding:0;gap:30px;align-items:stretch}
.hero-bottom .scroll-mark{width:min(1160px,calc(100% - 48px));margin-inline:auto;align-self:auto;text-align:right;padding:30px 0}
.hero-bottom .hero-tagline{width:100%;max-width:none;padding:60px max(24px,calc((100% - 1160px)/2));}
@media(max-width:700px){.hero-bottom{gap:20px}.hero-bottom .scroll-mark{width:calc(100% - 36px);padding:30px 0}.hero-bottom .hero-tagline{padding:60px 18px;font-size:clamp(30px,8vw,42px)}}


/* Homepage tagline: separate green phrases into rows and animate only these rows */
.hero-bottom .hero-tagline-green{display:block;width:100%}
.hero-bottom .hero-tagline-animate{opacity:0;transform:translateY(18px);animation:heroTaglineRise .75s cubic-bezier(.2,.7,.2,1) forwards}
.hero-bottom .hero-line-1{animation-delay:.15s}
.hero-bottom .hero-line-2{animation-delay:.55s}
.hero-bottom .hero-line-3{animation-delay:.95s}
@keyframes heroTaglineRise{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-bottom .hero-tagline-animate{opacity:1;transform:none;animation:none}}

/* Keep punctuation white in the animated homepage hero tagline. */
.hero-tagline-punctuation{color:#fff}

/* Homepage hero tagline: H1 scale, generous spacing, and slower staggered motion */
.hero-bottom .hero-tagline {
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.04;
  padding-top: 100px;
  padding-bottom: 100px;
}
.hero-bottom .hero-tagline > span { display: block; }
.hero-bottom .hero-tagline-green,
.hero-bottom .hero-line-3 { margin-top: 20px; }
.hero-bottom .hero-tagline-animate {
  opacity: 0;
  transform: translateY(22px);
  animation: heroTaglineRise 1.5s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-bottom .hero-line-1 { animation-delay: .4s; }
.hero-bottom .hero-line-2 { animation-delay: 1.5s; }
.hero-bottom .hero-line-3 { animation-delay: 2.6s; }
.hero-bottom .hero-line-4 { animation-delay: 3.7s; }
@media (max-width: 700px) {
  .hero-bottom .hero-tagline { font-size: clamp(36px, 9vw, 52px); padding: 100px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-bottom .hero-tagline-animate { opacity: 1; transform: none; animation: none; }
}

/* Match the homepage tagline heading scale to the main hero H1. */
.hero-bottom .hero-tagline {
  font-size: clamp(46px, 6.1vw, 82px);
  line-height: .99;
  letter-spacing: -4.3px;
  font-weight: 750;
}
@media (max-width: 900px) {
  .hero-bottom .hero-tagline { font-size: clamp(43px, 6.5vw, 65px); letter-spacing: -2.8px; }
}
@media (max-width: 700px) {
  .hero-bottom .hero-tagline { font-size: clamp(43px, 11vw, 60px); letter-spacing: -2.8px; line-height: 1.02; }
}

/* Homepage section intros: stack supporting copy beneath each section heading */
.home-page .section-top{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px}
.home-page .section-top>div{width:100%}
.home-page .section-top>p{max-width:650px;margin:0}
.home-page .section-top>.text-link{margin-top:0}

/* Requested site-wide refinements */
:root{--pale:#ffffff}
body,.work-section{background-color:#fff}
.main-nav{color:#000}
.main-nav>a:not(.nav-cta),.main-nav .services-trigger{color:#000!important;font-weight:400}
.main-nav>a:not(.nav-cta):hover,.main-nav>a.active,.main-nav .services-trigger:hover,.main-nav .nav-services.menu-open .services-trigger{color:#668C25!important}
.main-nav .nav-cta{font-weight:400}
.filters{justify-content:space-between;gap:12px}
.filters .filter{flex:1;text-align:center}
.project-meta>span:last-child{display:none}
.blog-card{display:flex;flex-direction:column;height:100%}
.blog-body{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.blog-body .text-link{margin-top:auto;padding-top:18px}
.blog-all-posts{display:flex;justify-content:center;margin-top:32px}
.blog-all-posts .button{font-weight:400;min-width:190px}
.project-discuss-button{font-weight:400;justify-content:center}
.section-description-below{max-width:650px;color:var(--muted);font-size:15px;margin:18px 0 0}
.hero-orb,.hero-orb:before,.hero-orb:after{animation:banner-orb-float 9s ease-in-out infinite}
.hero-orb:before,.hero-orb:after{content:"";position:absolute;inset:12%;border:1px solid rgba(102,140,37,.22);border-radius:50%;animation:banner-orb-pulse 7s ease-in-out infinite}
.hero-orb:after{inset:25%;animation-delay:1.5s}
@keyframes banner-orb-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(7deg)}}
@keyframes banner-orb-pulse{0%,100%{transform:scale(.96);opacity:.4}50%{transform:scale(1.05);opacity:.9}}
@media(prefers-reduced-motion:reduce){.hero-orb,.hero-orb:before,.hero-orb:after{animation:none}}
.article-page .related-blogs{background:#fff}
.article-page .related-blogs .blog-art img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.35}
.article-page .related-blogs .blog-art{position:relative}
.article-page .related-blogs .blog-art>*{position:relative;z-index:1}
.price-card .text-link{display:none}
@media(max-width:700px){.filters{justify-content:stretch}.filters .filter{flex:1 1 calc(50% - 12px)}.blog-all-posts{margin-top:24px}}
/* Compact dropdowns for the primary navigation */
.nav-item-dropdown{position:relative;display:flex;align-items:center;height:100%}
.nav-item-dropdown>a{color:#000;font-weight:400;transition:color .2s}
.nav-item-dropdown>a:hover,.nav-item-dropdown:focus-within>a{color:#668C25}
.nav-submenu{display:none;position:absolute;top:calc(100% - 3px);left:-14px;min-width:190px;padding:10px;background:#fff;border:1px solid #e7e9e2;box-shadow:0 16px 35px rgba(0,0,0,.1);z-index:60}
.nav-item-dropdown:hover .nav-submenu,.nav-item-dropdown:focus-within .nav-submenu{display:flex;flex-direction:column}
.nav-submenu a{padding:10px 12px;font-size:13px;font-weight:400;color:#000;white-space:nowrap}
.nav-submenu a:hover{color:#668C25;background:#f8faf5}
@media(max-width:900px){.nav-item-dropdown{display:block;height:auto}.nav-submenu{position:static;display:none;box-shadow:none;border:0;padding:0 0 8px 12px}.nav-item-dropdown:hover .nav-submenu{display:none}.nav-item-dropdown:focus-within .nav-submenu{display:flex}}

/* Latest Insights: editorial layout and lightly tinted image cards for legible overlaid titles */
.home-page .blog-section .section-top{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:38px}
.home-page .blog-section .section-top>div{width:100%}
.home-page .blog-section .section-top>p{max-width:620px;margin:0;color:#686c63;font-size:15px}
.blog-section .blog-art:after,.blog-list-page .blog-art:after{background:linear-gradient(180deg,rgba(15,20,13,.20) 0%,rgba(15,20,13,.34) 42%,rgba(15,20,13,.78) 100%)}
.blog-section .blog-art img{filter:brightness(.82) saturate(.88)}
.blog-section .blog-art b,.blog-list-page .blog-art b{text-shadow:0 2px 12px rgba(0,0,0,.3)}
/* Main navigation: black links by default; green only for hover, focus, or active page */
.main-nav>a:not(.nav-cta),.nav-item-dropdown>a,.services-trigger{color:#000!important;font-weight:400;transition:color .2s}
.main-nav>a:not(.nav-cta):hover,.main-nav>a:not(.nav-cta):focus-visible,.main-nav>a.active,.nav-item-dropdown>a:hover,.nav-item-dropdown>a:focus-visible,.nav-item-dropdown>a.active,.services-trigger:hover,.services-trigger:focus-visible{color:#668C25!important}
.nav-mega-submenu{width:340px;min-width:340px;padding:18px;gap:5px;left:50%;transform:translateX(-50%);border:1px solid #e7e9e2;box-shadow:0 20px 40px rgba(25,30,20,.12)}
.nav-mega-submenu .nav-submenu-intro{padding:8px 12px 13px;border-bottom:1px solid #eceee7;margin-bottom:4px}
.nav-mega-submenu .nav-submenu-intro small{display:block;color:#668C25;font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:7px}
.nav-mega-submenu .nav-submenu-intro strong{display:block;color:#171916;font-size:20px;line-height:1.2;letter-spacing:-.5px}
.nav-mega-submenu>a{display:flex;align-items:center;justify-content:space-between;padding:12px;font-size:13px;color:#000;background:#fff;white-space:normal}
.nav-mega-submenu>a span{color:#668C25;font-size:17px}
.nav-mega-submenu>a:hover{background:#f6f8f2;color:#668C25}
@media(max-width:900px){.nav-mega-submenu{width:auto;min-width:0;transform:none;left:auto;padding:8px 0 8px 12px}.nav-mega-submenu .nav-submenu-intro{display:none}.nav-mega-submenu>a{padding:10px 12px}}

/* Latest Insights cards: match the reference layout on home and blog listing */
.blog-section .blog-grid, .blog-list-page .blog-grid { align-items:stretch; gap:26px; }
.blog-section .blog-card, .blog-list-page .blog-card { display:flex; flex-direction:column; height:100%; border:1px solid #dedfd5; border-radius:3px; overflow:hidden; background:#fff; box-shadow:none; }
.blog-section .blog-art, .blog-list-page .blog-art { height:275px; min-height:240px; padding:24px 26px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:10px; position:relative; isolation:isolate; overflow:hidden; color:#fff; background-color:#20251a; background-size:cover!important; background-position:center!important; text-decoration:none; }
.blog-section .blog-art::after, .blog-list-page .blog-art::after { content:""; position:absolute; inset:0; width:auto; height:auto; border-radius:0; right:0; bottom:0; z-index:1; background:linear-gradient(180deg,rgba(12,16,12,.34) 0%,rgba(12,16,12,.52) 38%,rgba(12,16,12,.92) 100%); box-shadow:none; pointer-events:none; }
.blog-section .blog-art img, .blog-list-page .blog-art img { position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; object-fit:cover; filter:brightness(.82) saturate(.88); transition:transform .5s ease,filter .35s ease; }
.blog-section .blog-card:hover .blog-art img, .blog-list-page .blog-card:hover .blog-art img { transform:scale(1.035); filter:brightness(.80) saturate(.92); }
.blog-section .blog-art span, .blog-list-page .blog-art span { position:relative; z-index:2; display:block; color:#fff; font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; text-shadow:0 2px 8px #0008; }
.blog-section .blog-art b, .blog-list-page .blog-art b { position:relative; z-index:2; display:block; color:#fff; width:100%; max-width:95%; white-space:normal; overflow-wrap:break-word; word-break:normal; font:700 clamp(20px,2vw,27px)/1.18 Manrope,Arial,sans-serif; letter-spacing:-.7px; text-shadow:0 2px 12px rgba(0,0,0,.55); }
.blog-section .blog-body, .blog-list-page .blog-body { display:flex; flex-direction:column; align-items:flex-start; flex:1; padding:24px 26px 26px; }
.blog-section .blog-body .category, .blog-list-page .blog-body .category { display:none; }
.blog-section .blog-body h3, .blog-list-page .blog-body h3 { display:none; }
.blog-section .blog-body p, .blog-list-page .blog-body p { margin:0; color:#686c63; font-size:16px; line-height:1.8; }
.blog-section .blog-body .text-link, .blog-list-page .blog-body .text-link { margin-top:auto; padding-top:28px; color:#668C25; font-size:14px; font-weight:700; }
@media(max-width:700px){.blog-section .blog-art,.blog-list-page .blog-art{height:230px;min-height:230px;padding:20px}.blog-section .blog-body,.blog-list-page .blog-body{padding:22px}.blog-section .blog-body p,.blog-list-page .blog-body p{font-size:14px}}


/* Latest Insights: photo-led cards matching the supplied reference */
.blog-section .blog-art, .blog-list-page .blog-art { height:275px; min-height:275px; padding:24px 26px; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:8px; position:relative; isolation:isolate; overflow:hidden; background-color:#20251a; text-decoration:none; }
.blog-section .blog-art img, .blog-list-page .blog-art img { position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; object-fit:cover; opacity:1; filter:brightness(.82) saturate(.88); transition:transform .5s ease,filter .35s ease; }
.blog-section .blog-art::after, .blog-list-page .blog-art::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(12,16,12,.12) 0%,rgba(12,16,12,.30) 42%,rgba(12,16,12,.82) 100%); pointer-events:none; }
.blog-section .blog-art span, .blog-list-page .blog-art span, .blog-section .blog-art b, .blog-list-page .blog-art b { position:relative; z-index:2; }
.blog-section .blog-art span, .blog-list-page .blog-art span { margin:0; color:#fff; font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; text-shadow:0 2px 8px #0008; }
.blog-section .blog-art b, .blog-list-page .blog-art b { margin:0; color:#fff; width:100%; max-width:100%; font:700 clamp(20px,2vw,27px)/1.18 Manrope,Arial,sans-serif; letter-spacing:-.5px; white-space:normal; overflow-wrap:anywhere; word-break:normal; text-shadow:0 2px 12px rgba(0,0,0,.55); }
@media(max-width:700px){.blog-section .blog-art,.blog-list-page .blog-art{height:230px;min-height:230px;padding:20px}.blog-section .blog-art b,.blog-list-page .blog-art b{font-size:20px}}


/* Homepage services cards: editorial split layout inspired by the supplied reference */
.home-page .service-grid{display:grid;grid-template-columns:1fr 1.12fr;grid-template-rows:repeat(2,minmax(150px,1fr));gap:14px;align-items:stretch}
.home-page .service-card{display:flex;min-width:0;min-height:0;border:1px solid #e1e5df;border-radius:3px;overflow:hidden;background:#fff}
.home-page .service-card:first-child{grid-row:1 / span 2;display:flex;flex-direction:column}
.home-page .service-card:first-child .service-visual{height:245px;flex:0 0 245px;width:100%}
.home-page .service-card:not(:first-child){flex-direction:row;align-items:stretch}
.home-page .service-card:not(:first-child) .service-visual{height:auto;flex:0 0 42%;width:42%;min-height:150px}
.home-page .service-card:not(:first-child) .service-body{padding:17px 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.home-page .service-visual{position:relative;overflow:hidden;background:#eef0e9}
.home-page .service-visual img{display:block;width:100%;height:100%;object-fit:cover}
.home-page .service-body{padding:20px 24px 23px}
.home-page .service-body h3{font-size:clamp(16px,1.4vw,21px);margin:8px 0 6px;line-height:1.25;letter-spacing:-.45px}
.home-page .service-body p{font-size:12px;line-height:1.6;margin:0;color:#777b72}
.home-page .service-body .text-link{margin-top:10px;font-size:11px;gap:7px}
.home-page .card-number{font-size:8px;letter-spacing:1.3px}
/* About and Our Work use the same spacious mega dropdown treatment as Services */
.nav-mega-submenu{width:360px;min-width:360px;padding:18px;gap:5px;left:50%;transform:translateX(-50%);border:1px solid #e7e9e2;box-shadow:0 20px 40px rgba(25,30,20,.12);background:#fff}
.nav-mega-submenu .nav-submenu-intro{display:block;padding:8px 12px 13px;border-bottom:1px solid #eceee7;margin-bottom:4px}
.nav-mega-submenu .nav-submenu-intro small{display:block;color:#668C25;font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:7px}
.nav-mega-submenu .nav-submenu-intro strong{display:block;color:#171916;font-size:20px;line-height:1.2;letter-spacing:-.5px}
.nav-mega-submenu>a{display:flex;align-items:center;justify-content:space-between;padding:12px;font-size:13px;color:#000;background:#fff;white-space:normal}
.nav-mega-submenu>a span{color:#668C25;font-size:17px}
.nav-mega-submenu>a:hover{background:#f6f8f2;color:#668C25}
@media(max-width:900px){.home-page .service-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.home-page .service-card:first-child{grid-row:auto;grid-column:1/-1}.home-page .service-card:first-child .service-visual{height:220px;flex-basis:220px}.home-page .service-card:not(:first-child){flex-direction:column}.home-page .service-card:not(:first-child) .service-visual{height:160px;min-height:160px;flex:0 0 160px;width:100%}}
@media(max-width:700px){.home-page .service-grid{grid-template-columns:1fr;gap:14px}.home-page .service-card:first-child{grid-column:auto}.home-page .service-card:not(:first-child){flex-direction:row}.home-page .service-card:not(:first-child) .service-visual{width:38%;flex-basis:38%;height:auto;min-height:175px}.home-page .service-card:not(:first-child) .service-body{padding:14px}.home-page .service-body h3{font-size:16px}.nav-mega-submenu{width:auto;min-width:0;transform:none;left:auto;padding:8px 0 8px 12px}.nav-mega-submenu .nav-submenu-intro{display:none}.nav-mega-submenu>a{padding:10px 12px}}


/* Homepage service cards: crisp image rendering and embossed depth */
.home-page .service-card {
  border: 1px solid #e4e7df;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(20, 26, 17, .035), 0 8px 20px rgba(20, 26, 17, .055), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.home-page .service-card:hover {
  transform: translateY(-4px);
  border-color: #d3dac8;
  box-shadow: 0 4px 9px rgba(20, 26, 17, .05), 0 16px 30px rgba(20, 26, 17, .12), inset 0 1px 0 rgba(255,255,255,.95);
}
.home-page .service-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  image-rendering: auto;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.home-page .card-number { display: none !important; }

/* About and Our Work dropdowns use the same full-width mega-menu presentation as Services */
.nav-full-mega{position:static!important}
.nav-full-mega>.mega-menu{position:absolute;top:100%;left:0;right:0;width:100%;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50;display:block}
.nav-full-mega:hover>.mega-menu,.nav-full-mega:focus-within>.mega-menu,.nav-full-mega.menu-hover>.mega-menu,.nav-full-mega.menu-open>.mega-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-full-mega .mega-icon{display:grid;place-items:center;font-size:16px;font-weight:700;border-radius:50%;background:#e9f3d8;color:#668C25}
@media(max-width:700px){.nav-full-mega>.mega-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;width:100%;box-shadow:none;border:0;background:#fff}.nav-full-mega:focus-within>.mega-menu,.nav-full-mega.menu-hover>.mega-menu,.nav-full-mega.menu-open>.mega-menu{display:block}.nav-full-mega .mega-inner{grid-template-columns:1fr}.nav-full-mega .mega-intro{display:none}}


/* About dropdown: three image-led cards matching the supplied reference */
.nav-about-mega .mega-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:28px 0 30px}
.nav-about-mega .mega-card{padding:0 0 20px!important;border:0;border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(16,35,50,.08);overflow:hidden;min-height:0}
.nav-about-mega .mega-card .mega-image{height:190px!important;margin:0 0 20px!important;border-radius:0!important;overflow:hidden}
.nav-about-mega .mega-card .mega-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.nav-about-mega .mega-card:hover .mega-image img{transform:scale(1.035)}
.nav-about-mega .mega-card .mega-title{font-size:22px;line-height:1.2;margin:0 24px 10px;font-weight:700;color:#10283a}
.nav-about-mega .mega-card .mega-desc{font-size:17px;line-height:1.5;margin:0 24px;color:#647383}
.nav-about-mega .mega-card .mega-link{font-size:17px;line-height:1.4;margin:24px 24px 0;padding:0;color:#668C25;font-weight:600}
.nav-about-mega .mega-card .mega-link b{font-size:22px;margin-left:12px}
.nav-about-mega .mega-card:hover{transform:translateY(-2px)!important;box-shadow:0 14px 30px rgba(16,35,50,.12)}
@media(max-width:900px){.nav-about-mega .mega-inner{gap:14px}.nav-about-mega .mega-card .mega-image{height:140px!important}.nav-about-mega .mega-card .mega-title{font-size:18px;margin-left:16px;margin-right:16px}.nav-about-mega .mega-card .mega-desc,.nav-about-mega .mega-card .mega-link{margin-left:16px;margin-right:16px;font-size:14px}}
@media(max-width:700px){.nav-about-mega .mega-inner{grid-template-columns:1fr!important;gap:12px!important}.nav-about-mega .mega-card{display:grid!important;grid-template-columns:120px 1fr!important;column-gap:14px;align-items:center;padding:0 14px 14px 0!important}.nav-about-mega .mega-card .mega-image{height:112px!important;grid-row:1/5;width:100%;margin:0!important}.nav-about-mega .mega-card .mega-title,.nav-about-mega .mega-card .mega-desc,.nav-about-mega .mega-card .mega-link{grid-column:2;margin-left:0;margin-right:0}.nav-about-mega .mega-card .mega-title{padding-top:8px;font-size:17px}.nav-about-mega .mega-card .mega-desc{font-size:13px}.nav-about-mega .mega-card .mega-link{font-size:13px;margin-top:8px}.nav-about-mega .mega-card .mega-link b{font-size:16px}}

/* About mega menu: intro panel plus three image-led cards, matching the supplied reference */
.nav-about-mega .mega-inner{grid-template-columns:minmax(250px, .9fr) repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;padding:26px 0 28px}
.nav-about-mega .mega-intro{display:block;align-self:center;padding:12px 22px 12px 0}
.nav-about-mega .mega-intro .mega-kicker{display:block;color:#668C25;font-size:12px;font-weight:700;letter-spacing:2px;margin-bottom:16px}
.nav-about-mega .mega-intro h2{font-size:25px;line-height:1.14;letter-spacing:-.8px;max-width:280px;margin:0 0 14px;color:#111}
.nav-about-mega .mega-intro h2 span{color:#668C25}
.nav-about-mega .mega-intro p{font-size:13px;line-height:1.55;color:#697066;max-width:280px;margin:0 0 18px}
.nav-about-mega .mega-intro .mega-all{font-size:13px;color:#668C25;font-weight:500}
.nav-about-mega .mega-card{align-self:stretch;display:flex;flex-direction:column}
.nav-about-mega .mega-card .mega-image{flex:0 0 105px;height:105px!important;margin:0 0 12px!important}
.nav-about-mega .mega-card .mega-title{font-size:14px;line-height:1.25;margin:0 14px 7px;font-weight:700;color:#10283a}
.nav-about-mega .mega-card .mega-desc{font-size:11px;line-height:1.45;margin:0 14px;color:#647383}
.nav-about-mega .mega-card .mega-link{font-size:11px;line-height:1.35;margin:12px 14px 0;padding:0;color:#668C25;font-weight:600}
.nav-about-mega .mega-card .mega-link b{font-size:15px;margin-left:8px}
@media(max-width:900px){.nav-about-mega .mega-inner{grid-template-columns:1fr repeat(3,minmax(0,1fr));gap:10px}.nav-about-mega .mega-intro{padding-right:8px}.nav-about-mega .mega-intro h2{font-size:21px}.nav-about-mega .mega-card .mega-image{height:85px!important;flex-basis:85px}.nav-about-mega .mega-card .mega-title{font-size:12px;margin-left:10px;margin-right:10px}.nav-about-mega .mega-card .mega-desc,.nav-about-mega .mega-card .mega-link{font-size:10px;margin-left:10px;margin-right:10px}}
@media(max-width:700px){.nav-about-mega .mega-inner{grid-template-columns:1fr!important}.nav-about-mega .mega-intro{display:block!important;padding:10px 8px 16px}.nav-about-mega .mega-intro h2{max-width:none;font-size:22px}.nav-about-mega .mega-intro p{max-width:none}.nav-about-mega .mega-card{display:grid!important;grid-template-columns:100px 1fr!important;column-gap:12px;align-items:center;padding:0 10px 10px 0!important}.nav-about-mega .mega-card .mega-image{height:82px!important;flex-basis:82px;grid-row:1/5;width:100%;margin:0!important}.nav-about-mega .mega-card .mega-title,.nav-about-mega .mega-card .mega-desc,.nav-about-mega .mega-card .mega-link{grid-column:2;margin-left:0;margin-right:0}.nav-about-mega .mega-card .mega-title{padding-top:4px;font-size:13px}.nav-about-mega .mega-card .mega-desc,.nav-about-mega .mega-card .mega-link{font-size:11px}.nav-about-mega .mega-card .mega-link{margin-top:6px}}

/* About mega-menu card refinements requested 2026-10-17 */
.nav-about-mega .mega-card,
.nav-about-mega .mega-card .mega-image,
.nav-about-mega .mega-card .mega-image img {
  border-radius: 0 !important;
}
.nav-about-mega .mega-card {
  border: 1px solid #e3e7e1 !important;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.nav-about-mega .mega-card .mega-desc,
.nav-about-mega .mega-card .mega-link {
  font-size: 14px !important;
}
.nav-about-mega .mega-card .mega-link,
.nav-about-mega .mega-card .mega-link b {
  color: #000000 !important;
  transition: color .2s ease;
}
.nav-about-mega .mega-card:hover,
.nav-about-mega .mega-card:focus-visible {
  border-color: #668C25 !important;
}
.nav-about-mega .mega-card:hover .mega-link,
.nav-about-mega .mega-card:hover .mega-link b,
.nav-about-mega .mega-card:focus-visible .mega-link,
.nav-about-mega .mega-card:focus-visible .mega-link b {
  color: #668C25 !important;
}

/* About mega-menu typography and reliable hover/focus styling */
.nav-about-mega .mega-card .mega-title,
.nav-about-mega .mega-card .mega-link,
.nav-about-mega .mega-card .mega-link b {
  font-weight: 400 !important;
  transition: color .2s ease;
}
.nav-about-mega .mega-card .mega-title { color: #10283a !important; }
.nav-about-mega .mega-card .mega-link,
.nav-about-mega .mega-card .mega-link b { color: #000 !important; }
.nav-about-mega .mega-card:hover .mega-title,
.nav-about-mega .mega-card:focus-visible .mega-title,
.nav-about-mega .mega-card:hover .mega-link,
.nav-about-mega .mega-card:hover .mega-link b,
.nav-about-mega .mega-card:focus-visible .mega-link,
.nav-about-mega .mega-card:focus-visible .mega-link b { color: #668C25 !important; }
.nav-full-mega.menu-open > .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
@media (min-width: 701px) {
  .nav-full-mega:hover > .mega-menu,
  .nav-full-mega:focus-within > .mega-menu,
  .nav-full-mega.menu-open > .mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
}

/* Keep About and Our Work mega menus reliably available on their own pages. */
.nav-full-mega:hover > .mega-menu,
.nav-full-mega:focus-within > .mega-menu,
.nav-full-mega.menu-open > .mega-menu,
.nav-full-mega.menu-hover > .mega-menu { opacity:1; visibility:visible; transform:translateY(0); }
@media(max-width:700px){
  .nav-full-mega.menu-open > .mega-menu,
  .nav-full-mega:focus-within > .mega-menu { display:block; }
}

/* Final robust behaviour for About and Our Work mega menus */
@media (min-width:701px){
  .nav-full-mega:hover > .mega-menu,
  .nav-full-mega:focus-within > .mega-menu,
  .nav-full-mega.menu-open > .mega-menu,
  .nav-full-mega.menu-hover > .mega-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;display:block!important}
}
@media (max-width:700px){
  .nav-full-mega > .mega-menu{display:none;opacity:1;visibility:visible;transform:none}
  .nav-full-mega.menu-open > .mega-menu,
  .nav-full-mega:focus-within > .mega-menu{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
}

/* Keep the complete homepage hero video visible without cropping any edges. */
.hero-banner-video{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:445px;}
@media(max-width:700px){.hero-banner-video{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:none;}}

/* Remove the dark edge visible along the right and bottom of the homepage hero video. */
.hero-art.hero-photo{border:0!important;outline:0!important;box-shadow:none!important;overflow:visible;}
.hero-banner-video{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;}
.hero-banner-video::-webkit-media-controls{border:0!important;}

/* Footer: four balanced columns on desktop, responsive stacking on smaller screens. */
@media (min-width: 901px) { .footer-grid { grid-template-columns: 1.15fr 1.25fr .8fr 1fr; gap: 28px; } .footer-about { grid-column: auto !important; } }


/* Four evenly spaced footer columns on desktop. Contact link is grouped under Explore. */
@media (min-width: 901px) { .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; } .footer-about { grid-column: auto !important; } }

/* Footer columns: flexible widths with a dedicated Company section. */
@media (min-width: 901px) { .footer-grid { grid-template-columns: 1.35fr 1.35fr 1fr .8fr 1fr; gap: 30px; } .footer-about { grid-column: auto !important; } }

/* Footer: five columns (brand, Company, Services, Explore, Legal) with flexible, unequal widths on desktop.
   Below 901px the existing responsive layout applies: brand on its own row, link columns in a 2-column grid. */
@media (min-width: 901px) { .footer-grid { grid-template-columns: minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr); gap: 32px; } .footer-about { grid-column: auto !important; } }

/* Cookie Policy: sub-headings, nested lists and the cookies table. */
.article-note h3{font-size:19px;letter-spacing:-.3px;margin:26px 0 8px}
.article-note ul ul{margin:8px 0 4px}
.cookie-table-wrap{overflow-x:auto;margin:18px 0 22px;border:1px solid var(--line);border-radius:12px}
.cookie-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6;min-width:640px}
.cookie-table th,.cookie-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.cookie-table th{background:var(--pale);color:var(--ink);font-weight:700;white-space:nowrap}
.cookie-table td{color:var(--muted)}
.cookie-table td:first-child{color:var(--ink);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}
.cookie-table tbody tr:last-child td{border-bottom:0}

/* Our Process: show the intro sentence directly under the heading instead of beside it. */
.process-section .section-top{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px}
.process-section .section-top>div{width:100%}
.process-section .section-top>p{max-width:650px;margin:0}


/* Homepage "End-to-End Digital Expertise": three equal, image-led service cards */
.home-page .service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:28px;align-items:stretch}
.home-page .service-grid .service-card,
.home-page .service-grid .service-card:first-child,
.home-page .service-grid .service-card:not(:first-child){
  grid-row:auto;grid-column:auto;display:flex;flex-direction:column;align-items:stretch;
  background:#fff;border:1px solid #e6e9f0;border-radius:12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,27,53,.04),0 10px 28px rgba(16,27,53,.07);
}
.home-page .service-grid .service-card:hover{transform:translateY(-4px);border-color:#d6dce8;box-shadow:0 2px 4px rgba(16,27,53,.05),0 18px 38px rgba(16,27,53,.12)}
.home-page .service-grid .service-card .service-visual,
.home-page .service-grid .service-card:first-child .service-visual,
.home-page .service-grid .service-card:not(:first-child) .service-visual{
  width:100%;height:auto;min-height:0;flex:0 0 auto;aspect-ratio:1.9/1;background:#eef1f7;
}
.home-page .service-grid .service-card .service-body,
.home-page .service-grid .service-card:not(:first-child) .service-body{
  display:flex;flex-direction:column;justify-content:flex-start;flex:1;padding:24px 26px 28px;
}
.home-page .service-kicker{margin:0 0 10px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#8a94a8;line-height:1.3}
.home-page .service-grid .service-body h3{margin:0 0 10px;font-size:clamp(19px,1.7vw,22px);font-weight:700;letter-spacing:-.4px;line-height:1.25;color:var(--navy,#101b35)}
.home-page .service-grid .service-body p:not(.service-kicker){margin:0;font-size:15px;line-height:1.65;color:#6b7690}
.home-page .service-grid .service-body .text-link{margin-top:auto;padding-top:22px;font-size:15px;font-weight:700;color:#4d8a1c;gap:8px}
@media(max-width:1000px){
  .home-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .home-page .service-grid .service-card:last-child{grid-column:1/-1;width:calc(50% - 12px);justify-self:center}
}
@media(max-width:640px){
  .home-page .service-grid{grid-template-columns:1fr;gap:20px}
  .home-page .service-grid .service-card:last-child{width:auto;justify-self:stretch}
  .home-page .service-grid .service-card .service-body{padding:20px 20px 24px}
}


/* Image logos (header and footer) */
.brand.brand-logo{display:inline-flex;align-items:center;gap:0;line-height:0;font-size:0;letter-spacing:0}
.brand-logo img{display:block;height:46px;width:auto;max-width:none}
.brand-logo:not(.brand-logo-footer) img{mix-blend-mode:multiply}
.brand-logo-footer img{height:68px;mix-blend-mode:lighten}
@media(max-width:700px){.brand-logo img{height:40px}.brand-logo-footer img{height:58px}}
.brand-logo:not(.brand-logo-footer) img{height:58px}
@media(max-width:700px){.brand-logo:not(.brand-logo-footer) img{height:44px}}

/* Footer logo reduced by 50% */
.brand-logo-footer img{height:34px}
@media(max-width:700px){.brand-logo-footer img{height:29px}}

/* "More Insights" related cards: make the photo fill the card like the homepage blog cards */
.related-blogs .blog-art{height:230px;min-height:230px;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;overflow:hidden;isolation:isolate}
.related-blogs .blog-art img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;opacity:1;filter:brightness(.82) saturate(.88)}
.related-blogs .blog-art b{font-size:20px}

/* Dropdown hidden after a card is chosen; hover/click on the top link shows it again */
.nav-full-mega.menu-closed>.mega-menu,
.nav-full-mega.menu-closed:hover>.mega-menu,
.nav-full-mega.menu-closed:focus-within>.mega-menu{opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important;pointer-events:none}
@media(max-width:700px){.nav-full-mega.menu-closed>.mega-menu,.nav-full-mega.menu-closed:focus-within>.mega-menu{display:none!important}}

/* Blog article body */
.blog-article{padding:44px}
.blog-article .article-lead{font-size:18px;line-height:1.85;color:var(--ink,#101b35)}
.blog-article h2{font-size:24px;letter-spacing:-.4px;line-height:1.3;margin:36px 0 10px}
.blog-article p{font-size:16px;line-height:1.9}
.blog-article blockquote{margin:36px 0;padding:6px 0 6px 24px;border-left:4px solid #668C25}
.blog-article blockquote p{margin:0 0 10px;font-size:20px;line-height:1.6;font-style:italic;color:var(--ink,#101b35)}
.blog-article blockquote cite{font-style:normal;font-size:14px;font-weight:700;color:#668C25}
.blog-article p a{color:#4d8a1c;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.blog-article .text-link{display:inline-block;margin-top:14px}
@media(max-width:700px){.blog-article{padding:24px}.blog-article h2{font-size:21px}.blog-article blockquote p{font-size:18px}}

/* Animated service visual (Social Media Marketing card) */
.service-visual .service-animation{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none;background:transparent}
.all-services-card>.service-animation{display:block;width:100%;height:220px;border:0;pointer-events:none}

/* FAQ category groups */
.faq-category{margin:44px 0 14px;font-size:22px;letter-spacing:-.3px;color:var(--navy,#101b35)}
.faq-content .section-top+.faq-category{margin-top:30px}
.faq-category+.faq-list{margin-top:0}
.faq-list{display:grid;gap:12px}
.faq-list details{background:#fff;border:1px solid var(--line,#e5e9f2);border-radius:12px;padding:0 22px;transition:box-shadow .2s,border-color .2s}
.faq-list details[open]{border-color:#c9d9a8;box-shadow:0 8px 24px rgba(16,27,53,.06)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:17px;font-weight:700;color:var(--navy,#101b35);line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex:none;font-size:24px;font-weight:400;line-height:1;color:#668C25;transition:transform .2s}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:0 0 20px;font-size:15.5px;line-height:1.8;color:#5f6b82}
.faq-list details p a{color:#4d8a1c;font-weight:700}

/* Legal pages: no intro paragraph, heading sits right above the policy text */
.editorial-hero.legal-hero{padding-bottom:0}
.editorial-hero.legal-hero h1{margin-bottom:0}
.editorial-hero.legal-hero+.section{padding-top:28px}

/* Homepage "End-to-End Digital Expertise": cards stacked as horizontal rows */
.home-page .service-grid{grid-template-columns:1fr;gap:24px}
.home-page .service-grid .service-card,
.home-page .service-grid .service-card:first-child,
.home-page .service-grid .service-card:not(:first-child){flex-direction:row;align-items:stretch}
.home-page .service-grid .service-card .service-visual,
.home-page .service-grid .service-card:first-child .service-visual,
.home-page .service-grid .service-card:not(:first-child) .service-visual{flex:0 0 44%;width:44%;height:auto;min-height:260px;aspect-ratio:auto}
.home-page .service-grid .service-card .service-body,
.home-page .service-grid .service-card:not(:first-child) .service-body{justify-content:center;padding:32px 40px}
.home-page .service-grid .service-body h3{font-size:clamp(22px,2.2vw,28px)}
.home-page .service-grid .service-body p:not(.service-kicker){font-size:16px;max-width:520px}
.home-page .service-grid .service-body .text-link{margin-top:22px;padding-top:0}
@media(max-width:1000px){
  .home-page .service-grid{grid-template-columns:1fr}
  .home-page .service-grid .service-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .home-page .service-grid .service-card .service-visual,
  .home-page .service-grid .service-card:first-child .service-visual,
  .home-page .service-grid .service-card:not(:first-child) .service-visual{flex-basis:42%;width:42%;min-height:230px}
  .home-page .service-grid .service-card .service-body,
  .home-page .service-grid .service-card:not(:first-child) .service-body{padding:26px 28px}
}
@media(max-width:640px){
  .home-page .service-grid .service-card,
  .home-page .service-grid .service-card:first-child,
  .home-page .service-grid .service-card:not(:first-child){flex-direction:column}
  .home-page .service-grid .service-card .service-visual,
  .home-page .service-grid .service-card:first-child .service-visual,
  .home-page .service-grid .service-card:not(:first-child) .service-visual{flex:0 0 auto;width:100%;min-height:0;aspect-ratio:1.9/1}
  .home-page .service-grid .service-card .service-body,
  .home-page .service-grid .service-card:not(:first-child) .service-body{padding:20px 20px 24px}
}

/* Start a Project button: green with white text on hover/focus */
.main-nav .nav-cta,.main-nav a.nav-cta{transition:background-color .2s,color .2s}
.main-nav .nav-cta:hover,.main-nav .nav-cta:focus-visible,.main-nav a.nav-cta:hover,.main-nav a.nav-cta:focus-visible,.nav-cta:hover,.nav-cta:focus-visible{background:#668C25!important;color:#fff!important}

/* Mobile menu: every item is a full-width, left-aligned row with the same size, spacing and divider */
@media(max-width:700px){
  .main-nav{padding:6px 22px 22px}
  .main-nav>.nav-item-dropdown,.main-nav>.nav-services{display:block;height:auto;border-bottom:1px solid #eceee5}
  .main-nav>.nav-item-dropdown>a,.main-nav>.nav-services>.services-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:0;padding:0 4px!important;font:inherit;font-size:16px!important;line-height:1.2;text-align:left;background:none;border:0;letter-spacing:0}
  .main-nav .nav-cta{display:block;width:100%;margin-top:18px;padding:16px 12px;font-size:15px;text-align:center}
}
@media(max-width:700px){
  .main-nav>a:not(.nav-cta){display:flex;align-items:center;width:100%;min-height:52px;margin:0;padding:0 4px!important;font-size:16px!important;line-height:1.2;border-bottom:1px solid #eceee5}
  .main-nav>a:not(.nav-cta),.main-nav>.nav-item-dropdown>a,.main-nav>.nav-services>.services-trigger{font-weight:400!important}
}

/* Mobile menu: scrollable, with compact dropdown panels that match the menu rows */
@media(max-width:700px){
  .main-nav.open{max-height:calc(100vh - 69px);max-height:calc(100dvh - 69px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .main-nav .mega-menu,.main-nav .nav-services .mega-menu{position:static!important;width:100%!important;margin:2px 0 12px;padding:0;background:#f5f7ef!important;border:0!important;border-radius:12px;box-shadow:none!important}
  .main-nav .mega-inner{width:100%!important;max-width:none;margin:0;padding:8px!important;display:grid;grid-template-columns:1fr!important;gap:8px}
  .main-nav .mega-intro{order:5;display:block!important;padding:4px 6px 2px!important;grid-column:auto!important}
  .main-nav .mega-intro>*:not(.mega-all){display:none!important}
  .main-nav .mega-intro .mega-all{display:inline-block;font-size:14px;font-weight:700;color:#4d8a1c}
  .main-nav .mega-card{display:grid!important;grid-template-columns:76px 1fr!important;column-gap:12px;row-gap:3px;align-items:start;margin:0;padding:8px!important;background:#fff;border:1px solid #e3e6dc;border-radius:10px;box-shadow:none}
  .main-nav .mega-card .mega-image{grid-row:1/4;width:76px!important;height:76px!important;min-height:0;margin:0!important;border-radius:8px;overflow:hidden}
  .main-nav .mega-card .mega-image img{width:100%;height:100%;object-fit:cover;display:block}
  .main-nav .mega-card .mega-title,.main-nav .mega-card .mega-desc,.main-nav .mega-card .mega-link{grid-column:2;margin:0!important;padding:0!important}
  .main-nav .mega-card .mega-title{font-size:15px;font-weight:700;line-height:1.3;color:#10283a!important}
  .main-nav .mega-card .mega-desc{font-size:13px;line-height:1.45;color:#686c63}
  .main-nav .mega-card .mega-link{font-size:13px;font-weight:700;color:#4d8a1c}
}
