/* ==========================================================================
   88medias theme — base, header, footer, Elementor section styles
   Brand: Poppins · Coral #E07348 · Linen #FDE8E1 · Gunmetal #43464B
   Sections are styled through CSS classes set in Elementor
   (Container → Advanced → CSS Classes), e.g. "m88-section", "m88-hero".
   ========================================================================== */

/* ---------- Base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-family:var(--m88-font);color:var(--m88-gunmetal);background:#fff;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-family:var(--m88-font);color:var(--m88-ink);letter-spacing:-.02em;line-height:1.15;font-weight:700}
a{color:var(--m88-coral);transition:color .2s}
a:hover{color:var(--m88-coral-600)}
img{max-width:100%;height:auto}
::selection{background:var(--m88-coral);color:#fff}
:focus-visible{outline:2px solid var(--m88-coral);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed!important;top:10px;left:10px;width:auto;height:auto;clip:auto;z-index:100000;background:#fff;padding:10px 16px;border-radius:8px}
.site-main{overflow-x:clip}

/* Elementor kit fallbacks: make every page use the brand font */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,.elementor-button,.elementor-counter,.elementor-testimonial-wrapper,.elementor-image-box-wrapper,.elementor-toggle{font-family:var(--m88-font)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}

/* ---------- Header ---------- */
.m88-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s,background .3s}
.admin-bar .m88-header{top:32px}
.m88-header.is-scrolled{border-bottom-color:var(--m88-line);box-shadow:0 10px 30px -24px rgba(38,40,44,.45)}
.m88-header__inner{max-width:1320px;margin:0 auto;padding:14px var(--m88-gutter);display:flex;align-items:center;gap:28px}
.m88-logo{display:block;line-height:0;flex:none}
.m88-logo img{height:46px;width:auto}
.custom-logo-link img{max-height:46px;width:auto}
.m88-nav{margin-left:auto}
.m88-menu,.m88-menu ul{list-style:none;margin:0;padding:0}
.m88-menu{display:flex;gap:4px;align-items:center}
.m88-menu>li{position:relative}
.m88-menu>li>a{display:block;padding:10px 14px;border-radius:999px;font-weight:500;font-size:.95rem;color:var(--m88-ink);text-decoration:none;transition:background .2s,color .2s}
.m88-menu>li>a:hover,.m88-menu>li.current-menu-item>a,.m88-menu>li.current-menu-ancestor>a,.m88-menu>li.current-page-ancestor>a{color:var(--m88-coral);background:var(--m88-linen-50)}
.m88-menu .menu-item-has-children>a{padding-right:30px}
.m88-sub-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;padding:4px;color:var(--m88-ink);cursor:pointer;line-height:0}
.m88-sub-toggle .m88-icon{width:14px;height:14px;transition:transform .2s}
.m88-menu .sub-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:280px;background:#fff;border-radius:18px;padding:10px;box-shadow:var(--m88-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s var(--m88-ease)}
.m88-menu .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.m88-menu li:hover>.sub-menu,.m88-menu li:focus-within>.sub-menu,.m88-menu li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
.m88-menu .sub-menu a{display:block;padding:10px 14px;border-radius:12px;color:var(--m88-ink);text-decoration:none;font-size:.93rem;font-weight:500}
.m88-menu .sub-menu a:hover{background:var(--m88-linen-50);color:var(--m88-coral)}
.m88-header__actions{display:flex;align-items:center;gap:10px}
.m88-burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--m88-line);background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0}
.m88-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--m88-ink);transition:transform .3s,opacity .3s}
.m88-burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.m88-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.m88-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.m88-nav__mobile-extra{display:none}

/* ---------- Footer ---------- */
.m88-footer{background:var(--m88-ink);color:#b9bcc2;font-size:.94rem;position:relative;overflow:hidden}
.m88-footer::before{content:"";position:absolute;right:-180px;top:-200px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(224,115,72,.22),transparent 65%)}
.m88-footer__top{position:relative;max-width:var(--m88-wrap);margin:0 auto;padding:clamp(56px,7vw,88px) var(--m88-gutter) 40px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px}
.m88-footer__brand .m88-logo img{height:58px}
.m88-footer__brand p{margin:20px 0 22px;max-width:340px;line-height:1.7}
.m88-footer__title{font-family:var(--m88-mono);color:var(--m88-coral);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 16px}
.m88-footer__menu{list-style:none;margin:0;padding:0}
.m88-footer__menu li{padding:5px 0}
.m88-footer__menu a{color:#e4e6ea;text-decoration:none}
.m88-footer__menu a:hover{color:var(--m88-coral)}
.m88-footer__offices strong{color:#fff;font-weight:600}
.m88-footer__offices span{color:#8d9198;font-size:.85rem}
.m88-socials{display:flex;gap:8px;flex-wrap:wrap}
.m88-socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff;transition:background .2s,transform .2s}
.m88-socials a:hover{background:var(--m88-coral);color:#fff;transform:translateY(-2px)}
.m88-socials .m88-icon{width:18px;height:18px}
.m88-footer__bottom{position:relative;max-width:var(--m88-wrap);margin:0 auto;padding:22px var(--m88-gutter) 30px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}
.m88-footer__bottom p{margin:0}
.m88-footer__bottom a{color:#e4e6ea;text-decoration:none}
.m88-footer__tag{font-family:var(--m88-mono);color:var(--m88-coral)}
.m88-wa-float{position:fixed;right:22px;bottom:22px;z-index:998;width:58px;height:58px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(37,211,102,.7);transition:transform .25s var(--m88-ease)}
.m88-wa-float:hover{transform:scale(1.08);color:#fff}
.m88-wa-float .m88-icon{width:28px;height:28px}

/* ==========================================================================
   Elementor section classes
   ========================================================================== */
.e-con.m88-hero,.e-con.m88-section,.e-con.m88-band,.e-con.m88-phero,.e-con.m88-cta,.e-con.m88-stats{--content-width:min(100%,var(--m88-wrap))}

/* Section rhythm */
.e-con.m88-section{--padding-top:clamp(64px,8vw,112px);--padding-bottom:clamp(64px,8vw,112px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter);--gap:clamp(36px,5vw,56px)}
.e-con.m88-section--flush{--padding-top:clamp(28px,3.5vw,44px)}
.e-con.m88-section--tint{background:var(--m88-linen-50)}
.m88-section .e-con-inner{gap:clamp(36px,5vw,56px)}

/* Section heads */
.e-con.m88-head{--gap:6px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;max-width:760px}
.e-con.m88-head--row{max-width:none;--flex-direction:row!important;flex-direction:row!important;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;--gap:16px 40px;gap:16px 40px}
.m88-head--row>.e-con{--gap:6px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;width:auto;flex:0 1 auto}
.m88-head .elementor-heading-title,.m88-head--row .elementor-heading-title{margin:0}
.m88-head h2.elementor-heading-title,.m88-section h2.elementor-heading-title,.m88-band h2.elementor-heading-title,.m88-cta h2.elementor-heading-title{font-size:clamp(2rem,4vw,3.1rem);font-weight:700;letter-spacing:-.035em;line-height:1.06}
.m88-lead,.m88-lead p{font-size:clamp(1.03rem,1.4vw,1.2rem);line-height:1.65;color:var(--m88-gunmetal)}
.m88-lead--side{max-width:440px;color:var(--m88-muted)}
.elementor-widget.m88-eyebrow .elementor-heading-title{font-family:var(--m88-mono);font-size:.82rem;font-weight:500;letter-spacing:.06em;color:var(--m88-coral);margin:0 0 4px}
.elementor-widget.m88-eyebrow--light .elementor-heading-title{color:#FBC7B2}

/* Buttons (Elementor Button widget with class m88-ebtn) */
.m88-ebtn .elementor-button{white-space:nowrap;font-family:var(--m88-font);font-weight:600;font-size:.98rem;line-height:1;padding:1.05em 1.7em;border-radius:999px!important;border:1.5px solid transparent;background:var(--m88-coral);color:#fff;fill:#fff;transition:transform .25s var(--m88-ease),background .25s,color .25s,border-color .25s,box-shadow .25s;box-shadow:0 14px 26px -14px rgba(224,115,72,.9)}
.m88-ebtn .elementor-button:hover,.m88-ebtn .elementor-button:focus{transform:translateY(-2px);background:var(--m88-coral-600);color:#fff}
.m88-ebtn .elementor-button-text::after{content:"→";display:inline-block;margin-left:.6em;transition:transform .25s var(--m88-ease)}
.m88-ebtn .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
.m88-ebtn--ghost .elementor-button{background:transparent;color:var(--m88-ink);border-color:rgba(38,40,44,.22);box-shadow:none}
.m88-ebtn--ghost .elementor-button:hover{background:transparent;color:var(--m88-ink);border-color:var(--m88-ink)}
.m88-ebtn--light .elementor-button{background:#fff;color:var(--m88-ink);box-shadow:0 14px 26px -14px rgba(0,0,0,.35)}
.m88-ebtn--light .elementor-button:hover{background:var(--m88-linen);color:var(--m88-ink)}
.m88-ebtn--outline-light .elementor-button{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);box-shadow:none}
.m88-ebtn--outline-light .elementor-button:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}
.m88-ebtn--wa .elementor-button{background:#25D366;color:#fff;box-shadow:0 14px 26px -14px rgba(37,211,102,.9);border-color:transparent}
.m88-ebtn--wa .elementor-button:hover{background:#1ebe5a;color:#fff}
.m88-ebtn--wa .elementor-button-text::after{content:"↗"}
.m88-ebtn--link .elementor-button{background:none;padding:.4em 0;color:var(--m88-coral);box-shadow:none;border:0;border-bottom:2px solid var(--m88-coral-100);border-radius:0!important}
.m88-ebtn--link .elementor-button:hover{background:none;color:var(--m88-coral-600);border-color:var(--m88-coral)}
.e-con.m88-btns{--flex-direction:row!important;flex-direction:row!important;flex-wrap:wrap;--gap:12px;gap:12px;--padding-top:10px;--padding-bottom:0;--padding-left:0;--padding-right:0;width:auto}
.m88-btns>.elementor-widget{width:auto!important}

/* ---------- Home hero ---------- */
.e-con.m88-hero{background:var(--m88-linen);position:relative;overflow:hidden;--padding-top:clamp(40px,6vw,80px);--padding-bottom:clamp(48px,6vw,90px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter)}
.e-con.m88-hero::before{content:"";position:absolute;inset:0;background-image:url("../img/tessellation.svg");background-size:120px;opacity:.55;-webkit-mask-image:linear-gradient(105deg,transparent 35%,#000 75%);mask-image:linear-gradient(105deg,transparent 35%,#000 75%);pointer-events:none}
.m88-hero>.e-con-inner{position:relative;display:grid!important;grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(24px,4vw,48px)}
.e-con.m88-hero__text{--gap:8px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.m88-hero h1.elementor-heading-title{font-size:clamp(2.5rem,5.6vw,4.7rem);line-height:1;letter-spacing:-.045em;font-weight:700;margin:0 0 6px}
.m88-hl{color:var(--m88-coral);position:relative;white-space:nowrap}
.m88-hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.04em;height:.18em;background:var(--m88-coral);opacity:.18;border-radius:999px;z-index:-1}
.m88-hero .m88-lead{max-width:520px;margin-top:6px}
.e-con.m88-hero__media{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.m88-hero-img img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(38,40,44,.12))}
.m88-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:26px 0 0;font-size:.9rem;color:var(--m88-muted)}
.m88-trust li{display:flex;gap:6px;align-items:baseline}
.m88-trust strong{color:var(--m88-ink);font-size:1.05rem}
.m88-trust li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--m88-coral);margin-right:16px;transform:translateY(-3px)}

/* ---------- Page heroes ---------- */
.e-con.m88-phero{background:var(--m88-linen);position:relative;overflow:hidden;--padding-top:clamp(48px,7vw,96px);--padding-bottom:clamp(48px,7vw,96px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter);--gap:10px}
.e-con.m88-phero::before{content:"";position:absolute;right:-140px;top:-160px;width:520px;height:258px;background:url("../img/element.svg") no-repeat center/contain;opacity:.16;transform:rotate(-14deg);pointer-events:none}
.m88-phero h1.elementor-heading-title{font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1.02;letter-spacing:-.04em;margin:0}
.m88-phero .m88-lead{max-width:620px}
.m88-phero--split>.e-con-inner{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.e-con.m88-phero__text,.e-con.m88-phero__media{--gap:10px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.m88-phero--compact{--padding-bottom:clamp(40px,5vw,64px)}

/* ---------- Grids ---------- */
.e-con.m88-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con-full.m88-grid,.m88-grid>.e-con-inner{display:grid!important;gap:20px}
.e-con-full.m88-grid--3,.m88-grid--3>.e-con-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
.e-con-full.m88-grid--4,.m88-grid--4>.e-con-inner{grid-template-columns:repeat(4,minmax(0,1fr))}
.e-con-full.m88-grid--5,.m88-grid--5>.e-con-inner{grid-template-columns:repeat(5,minmax(0,1fr))}
.m88-grid>.elementor-widget{width:auto!important;margin:0!important}

/* Image boxes (icons) */
.m88-ibox .elementor-image-box-wrapper{text-align:left!important;display:flex;flex-direction:column;align-items:flex-start}
.m88-ibox .elementor-image-box-img{width:auto!important;margin:0 0 18px!important;display:grid!important;place-items:center;width:58px!important;height:58px;border-radius:18px;background:var(--m88-linen)}
.m88-ibox .elementor-image-box-img img{width:28px!important;height:28px;object-fit:contain}
.m88-ibox .elementor-image-box-title{font-size:1.12rem;font-weight:600;color:var(--m88-ink);margin:0 0 8px;letter-spacing:-.01em;line-height:1.3}
.m88-ibox .elementor-image-box-title a{color:inherit;text-decoration:none}
.m88-ibox .elementor-image-box-description{font-size:.95rem;color:var(--m88-muted);margin:0;line-height:1.6}
.m88-ibox--card>.elementor-widget-container,.m88-card-svc>.elementor-widget-container{height:100%;background:#fff;border-radius:var(--m88-radius);padding:28px;box-shadow:var(--m88-shadow-sm);transition:transform .35s var(--m88-ease),box-shadow .35s}
.m88-ibox--card:hover>.elementor-widget-container,.m88-card-svc:hover>.elementor-widget-container{transform:translateY(-6px);box-shadow:var(--m88-shadow)}
.m88-ibox--row .elementor-image-box-wrapper{flex-direction:row;gap:18px}
.m88-ibox--row .elementor-image-box-img{margin:0!important;flex:none}

/* Service cards (home) */
.m88-card-svc>.elementor-widget-container{position:relative;padding:32px 28px 30px;border:1.5px solid transparent}
.m88-card-svc:hover>.elementor-widget-container{border-color:var(--m88-coral-100)}
.m88-card-svc .elementor-image-box-img{background:var(--m88-coral)!important}
.m88-card-svc .elementor-image-box-img img{filter:brightness(0) invert(1)}
.m88-card-svc .elementor-image-box-title a::after{content:"";position:absolute;inset:0}
.m88-card-svc .elementor-image-box-content::after{content:"Explore →";display:block;margin-top:18px;font-weight:600;font-size:.9rem;color:var(--m88-coral)}
.m88-new{display:inline-block;vertical-align:middle;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--m88-coral);color:#fff;border-radius:999px;padding:.25em .7em;margin-left:6px;transform:translateY(-2px)}

/* Steps */
.m88-steps .elementor-image-box-img{background:#fff!important;box-shadow:var(--m88-shadow-sm)}
.m88-steps{counter-reset:m88step}
.m88-step{counter-increment:m88step;position:relative}
.m88-step .elementor-image-box-title::before{content:"0" counter(m88step);display:block;font-family:var(--m88-mono);font-size:.78rem;color:var(--m88-coral);font-weight:500;margin-bottom:6px}
.m88-step>.elementor-widget-container{position:relative}
.m88-steps>.elementor-widget:not(:last-child) .elementor-image-box-img::after,.m88-steps>.e-con-inner>.elementor-widget:not(:last-child) .elementor-image-box-img::after{content:"";position:absolute;left:76px;right:-10px;top:29px;border-top:2px dashed var(--m88-coral-100)}

/* Dark band (apps) */
.e-con.m88-band{--padding-top:clamp(64px,8vw,112px);--padding-bottom:clamp(64px,8vw,112px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter);position:relative;overflow:hidden}
.e-con.m88-band--dark{background:var(--m88-ink);color:#c9ccd1}
.e-con.m88-band--dark::before{content:"";position:absolute;inset:0;background:url("../img/tessellation-dark.svg");background-size:120px;opacity:.6;-webkit-mask-image:radial-gradient(circle at 80% 50%,#000,transparent 70%);mask-image:radial-gradient(circle at 80% 50%,#000,transparent 70%)}
.m88-band--dark .elementor-heading-title{color:#fff}
.m88-band--dark .elementor-widget-text-editor{color:#c9ccd1}
.e-con.m88-split{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;position:relative}
.e-con-full.m88-split,.m88-split>.e-con-inner{display:grid!important;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:center}
.e-con.m88-split__text,.e-con.m88-split__media{--gap:10px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.m88-chiplist{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:22px 0 8px}
.m88-chiplist li{padding:.5em 1em;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:.88rem;border:1px solid rgba(255,255,255,.12)}
.m88-shot img{width:100%;height:auto}

/* Stats */
.e-con.m88-stats{--padding-top:clamp(40px,5vw,64px);--padding-bottom:clamp(40px,5vw,64px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter);background:var(--m88-coral);color:#fff;position:relative;overflow:hidden}
.e-con.m88-stats::after{content:"";position:absolute;inset:0;background:url("../img/tessellation-light.svg");background-size:120px;opacity:.5;pointer-events:none}
.m88-stats>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;z-index:1}
.m88-counter .elementor-counter{display:flex;flex-direction:column;align-items:flex-start}
.m88-counter .elementor-counter-number-wrapper{order:1;font-size:clamp(2.6rem,5vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:#fff;display:flex}
.m88-counter .elementor-counter-title{order:2;font-size:.95rem;color:#FFE4D8;margin-top:8px;text-align:left;font-weight:500}
.elementor-counter .elementor-counter-number-suffix,.elementor-counter .elementor-counter-number-prefix{font-size:inherit}

/* Testimonials (scroll-snap row) */
.e-con.m88-testi-row{--padding-top:0;--padding-bottom:10px;--padding-left:0;--padding-right:0}
.e-con-full.m88-testi-row,.m88-testi-row>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--m88-coral) var(--m88-linen);padding-bottom:16px}
.m88-testi-row>.elementor-widget,.m88-testi-row>.e-con-inner>.elementor-widget{flex:0 0 min(420px,85%)!important;width:auto!important;scroll-snap-align:start;margin:0!important}
.m88-testi>.elementor-widget-container{height:100%;background:#fff;border-radius:var(--m88-radius);padding:30px;box-shadow:var(--m88-shadow-sm);border:1.5px solid var(--m88-line)}
.m88-testi .elementor-testimonial-wrapper{text-align:left!important;display:flex;flex-direction:column;height:100%}
.m88-testi .elementor-testimonial-content{font-size:1rem;line-height:1.7;color:var(--m88-gunmetal);font-style:normal;margin-bottom:22px;flex:1}
.m88-testi .elementor-testimonial-content::before{content:"★★★★★";display:block;color:var(--m88-coral);letter-spacing:3px;margin-bottom:14px;font-size:.95rem}
.m88-testi .elementor-testimonial-meta{margin-top:auto}
.m88-testi .elementor-testimonial-name{font-weight:600;color:var(--m88-ink);font-size:1rem}
.m88-testi .elementor-testimonial-job{font-family:var(--m88-mono);color:var(--m88-coral);font-size:.8rem}
.m88-testi--compact>.elementor-widget-container{padding:22px;box-shadow:none;background:var(--m88-linen-50);border-color:transparent}
.m88-testi--compact .elementor-testimonial-content{font-size:.92rem}
.m88-stars{font-size:1.1rem;color:var(--m88-coral);letter-spacing:2px;margin:0}
.m88-stars span{color:var(--m88-muted);font-size:.9rem;letter-spacing:0;margin-left:8px}

/* CTA */
.e-con.m88-cta{--padding-top:clamp(48px,6vw,80px);--padding-bottom:clamp(48px,6vw,80px);--padding-left:var(--m88-gutter);--padding-right:var(--m88-gutter);background:var(--m88-coral);color:#fff;position:relative;overflow:hidden}
.e-con.m88-cta::before{content:"";position:absolute;right:-160px;top:-150px;width:640px;height:316px;background:url("../img/element-white.svg") no-repeat center/contain;opacity:.14;transform:rotate(-12deg)}
.m88-cta>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:1}
.e-con.m88-cta__text{--gap:6px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;max-width:640px;width:auto}
.m88-cta .elementor-heading-title{color:#fff}
.m88-cta .elementor-widget-text-editor{color:#FFE7DD;font-size:1.05rem}
.e-con.m88-cta__actions{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;flex-wrap:wrap;--gap:12px;gap:12px;width:auto}
.m88-cta__actions>.elementor-widget{width:auto!important}

/* Feature rows */
.e-con.m88-frow{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con-full.m88-frow,.m88-frow>.e-con-inner{display:grid!important;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.m88-frow+.m88-frow{margin-top:clamp(40px,6vw,88px)}
.e-con.m88-frow--rev .m88-frow__media{order:2}
.e-con.m88-frow__media{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;background:var(--m88-linen-50);border-radius:calc(var(--m88-radius) + 8px);padding:clamp(10px,2vw,24px)!important}
.e-con.m88-frow__text{--gap:8px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.m88-frow h3.elementor-heading-title{font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.03em;margin:0 0 6px;line-height:1.1}
.m88-ticks{list-style:none;margin:18px 0 6px;padding:0}
.m88-ticks li{position:relative;padding:7px 0 7px 32px;color:var(--m88-gunmetal)}
.m88-ticks li::before{content:"";position:absolute;left:0;top:10px;width:20px;height:20px;border-radius:50%;background:var(--m88-linen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E07348' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center/12px}

/* Website type links */
.m88-typelinks{display:flex;flex-wrap:wrap;gap:10px}
.m88-typelink{display:inline-flex;align-items:center;gap:8px;padding:.85em 1.3em;border-radius:999px;background:#fff;border:1.5px solid var(--m88-line);color:var(--m88-ink);text-decoration:none;font-weight:500;transition:all .2s}
.m88-typelink::after{content:"↗";color:var(--m88-coral)}
.m88-typelink:hover{border-color:var(--m88-coral);color:var(--m88-coral);transform:translateY(-2px)}
.m88-platforms{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:8px 0 0;font-weight:600;color:var(--m88-ink)}
.m88-platforms img{width:22px;height:22px;margin-right:-12px;opacity:.85}

/* FAQ */
.e-con.m88-faq-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con-full.m88-faq-grid,.m88-faq-grid>.e-con-inner{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:start}
.e-con.m88-faq-intro{--gap:6px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;position:sticky;top:110px}
.m88-faq .elementor-toggle-item{border-bottom:1px solid var(--m88-line);margin:0!important}
.m88-faq .elementor-tab-title{border:0!important;padding:22px 0!important;display:flex;flex-direction:row-reverse;justify-content:space-between;gap:16px;cursor:pointer}
.m88-faq .elementor-toggle-title{font-family:var(--m88-font);font-size:1.08rem;font-weight:600;color:var(--m88-ink)!important;text-decoration:none}
.m88-faq .elementor-tab-title.elementor-active .elementor-toggle-title,.m88-faq .elementor-tab-title:hover .elementor-toggle-title{color:var(--m88-coral)!important}
.m88-faq .elementor-toggle-icon{color:var(--m88-coral)!important;flex:none}
.m88-faq .elementor-tab-content{border:0!important;padding:0 0 22px!important;color:var(--m88-muted);font-size:1rem;line-height:1.7}

/* Timeline (about) */
.e-con.m88-timeline{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con-full.m88-timeline,.m88-timeline>.e-con-inner{display:grid!important;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}
.m88-timeline>.e-con-inner::before,.e-con.m88-timeline.e-con-full::before{content:"";position:absolute;left:0;right:0;top:54px;border-top:2px dashed var(--m88-coral-100)}
.e-con.m88-tl{--gap:4px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;position:relative}
.m88-tl__year .elementor-heading-title{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;color:var(--m88-ink);letter-spacing:-.04em;margin:0 0 28px;line-height:1}
.m88-tl--now .m88-tl__year .elementor-heading-title{color:var(--m88-coral)}
.e-con.m88-tl::before{content:"";position:absolute;left:0;top:47px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--m88-coral)}
.e-con.m88-tl--now::before{background:var(--m88-coral)}
.m88-tl h3.elementor-heading-title{font-size:1.15rem;margin:0}
.m88-tl .elementor-widget-text-editor{color:var(--m88-muted);font-size:.95rem}

/* Contact & quote layouts */
.e-con.m88-contact-grid,.e-con.m88-quote-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con-full.m88-contact-grid,.m88-contact-grid>.e-con-inner,.e-con-full.m88-quote-grid,.m88-quote-grid>.e-con-inner{display:grid!important;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,48px);align-items:start;margin-top:clamp(-40px,-3vw,-24px)}
.e-con.m88-contact-form{--padding-top:clamp(24px,4vw,44px);--padding-bottom:clamp(24px,4vw,44px);--padding-left:clamp(22px,4vw,44px);--padding-right:clamp(22px,4vw,44px);background:#fff;border-radius:calc(var(--m88-radius) + 6px);box-shadow:var(--m88-shadow);--gap:14px}
.m88-h3 .elementor-heading-title{font-size:1.5rem!important}
.e-con.m88-contact-aside,.e-con.m88-quote-aside{--gap:12px;--padding-top:32px;--padding-bottom:32px;--padding-left:30px;--padding-right:30px;background:var(--m88-linen-50);border-radius:var(--m88-radius);position:sticky;top:110px}
.m88-contact-aside h3.elementor-heading-title,.m88-quote-aside h3.elementor-heading-title{font-size:1.25rem;margin:8px 0 0}
.m88-contact-lines{list-style:none;padding:0;margin:6px 0 10px}
.m88-contact-lines li{padding:4px 0;font-weight:600}
.m88-contact-lines a{color:var(--m88-ink);text-decoration:none}
.m88-next{margin:0;padding:0 0 0 22px;color:var(--m88-gunmetal)}
.m88-next li{padding:6px 0}
.m88-next strong{color:var(--m88-ink)}
.e-con.m88-quote-main{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}

/* ---------- Template pages (archive, blog) ---------- */
.m88-page-hero{background:var(--m88-linen);padding:clamp(48px,7vw,96px) 0 clamp(40px,6vw,80px);position:relative;overflow:hidden}
.m88-page-hero::before{content:"";position:absolute;right:-140px;top:-160px;width:520px;height:258px;background:url("../img/element.svg") no-repeat center/contain;opacity:.16;transform:rotate(-14deg)}
.m88-page-hero h1{font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.04em;line-height:1.02;margin:0}
.m88-page-hero__lead{font-size:1.15rem;max-width:640px;margin:16px 0 0}
.m88-page-hero__count{display:inline-flex;gap:8px;align-items:center;margin:18px 0 0;font-weight:600;color:var(--m88-ink)}
.m88-page-hero__count .m88-icon{color:var(--m88-coral)}
.m88-section:not(.e-con){padding:clamp(56px,7vw,96px) 0}
.m88-archive__all{text-align:center;margin-top:32px}
.m88-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.m88-post-card{background:#fff;border-radius:var(--m88-radius);overflow:hidden;box-shadow:var(--m88-shadow-sm);transition:transform .35s var(--m88-ease),box-shadow .35s;display:flex;flex-direction:column}
.m88-post-card:hover{transform:translateY(-6px);box-shadow:var(--m88-shadow)}
.m88-post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--m88-linen);line-height:0}
.m88-post-card__media img{width:100%;height:100%;object-fit:cover}
.m88-post-card__ph{display:grid;place-items:center;height:100%;color:var(--m88-coral)}
.m88-post-card__ph .m88-icon{width:44px;height:44px}
.m88-post-card__body{padding:22px 24px 26px}
.m88-post-card__meta{font-family:var(--m88-mono);font-size:.78rem;color:var(--m88-coral);margin:0 0 6px}
.m88-post-card__title{font-size:1.2rem;margin:0 0 8px;line-height:1.3}
.m88-post-card__title a{color:var(--m88-ink);text-decoration:none}
.m88-post-card__title a:hover{color:var(--m88-coral)}
.m88-post-card__body p{margin:0;color:var(--m88-muted);font-size:.95rem}
.m88-pagination{margin-top:40px;text-align:center}
.m88-pagination .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border-radius:999px;margin:3px;text-decoration:none;color:var(--m88-ink);border:1.5px solid var(--m88-line)}
.m88-pagination .page-numbers.current{background:var(--m88-ink);color:#fff;border-color:var(--m88-ink)}
.m88-article .m88-page-hero h1{font-size:clamp(2rem,4.4vw,3.3rem)}
.m88-article__cover{margin-top:-30px;position:relative}
.m88-article__cover img{border-radius:var(--m88-radius);width:100%}
.m88-article .page-content{padding-top:40px;padding-bottom:40px}
.m88-prose h2{font-size:1.8rem;margin:1.6em 0 .6em}
.m88-prose h3{font-size:1.35rem;margin:1.4em 0 .5em}
.m88-prose img{border-radius:var(--m88-radius-sm)}
.m88-prose blockquote{border-left:4px solid var(--m88-coral);margin:1.5em 0;padding:.4em 0 .4em 1.2em;font-size:1.15rem;color:var(--m88-ink)}
.m88-article__foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:60px}
.m88-article__tags a{display:inline-block;margin:0 6px 6px 0;padding:.35em .9em;border-radius:999px;background:var(--m88-linen-50);font-size:.85rem;text-decoration:none}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1100px){
	.m88-menu>li>a{padding:10px 10px;font-size:.92rem}
	.e-con-full.m88-grid--4,.m88-grid--4>.e-con-inner,.e-con-full.m88-grid--5,.m88-grid--5>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
	.m88-steps .elementor-image-box-img::after{display:none}
	.m88-footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
	.m88-burger{display:inline-flex}
	.m88-nav{position:fixed;inset:0 0 0 auto;width:min(380px,90vw);background:#fff;box-shadow:-30px 0 60px -30px rgba(0,0,0,.4);padding:96px 26px 30px;transform:translateX(100%);transition:transform .35s var(--m88-ease);overflow-y:auto;z-index:1000}
	.m88-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff} /* backdrop-filter would trap the fixed drawer */
	.m88-nav{visibility:hidden;transition:transform .35s var(--m88-ease),visibility 0s .35s}
	.m88-nav.is-open{transform:none;visibility:visible;transition:transform .35s var(--m88-ease),visibility 0s}
	.admin-bar .m88-nav{top:46px}
	.m88-menu{flex-direction:column;align-items:stretch;gap:2px}
	.m88-menu>li>a{font-size:1.15rem;padding:14px 16px}
	.m88-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 14px;display:none;min-width:0}
	.m88-menu li.is-open>.sub-menu{display:block}
	.m88-menu li.is-open>.m88-sub-toggle .m88-icon{transform:rotate(180deg)}
	.m88-sub-toggle{top:26px;right:6px;padding:10px}
	.m88-nav__mobile-extra{display:block;margin-top:24px;padding-top:24px;border-top:1px solid var(--m88-line)}
	.m88-nav__mobile-extra .m88-btn{width:100%}
	.m88-nav__contact{margin:18px 0 0;line-height:2}
	.m88-nav__contact a{color:var(--m88-ink);text-decoration:none}
	.m88-header__actions{margin-left:auto;position:relative;z-index:1001}
	body.m88-menu-open{overflow:hidden}
	body.m88-menu-open::after{content:"";position:fixed;inset:0;background:rgba(20,21,24,.4);z-index:998}
	.m88-hero>.e-con-inner,.m88-phero--split>.e-con-inner,.e-con-full.m88-split,.m88-split>.e-con-inner,.e-con-full.m88-frow,.m88-frow>.e-con-inner,.e-con-full.m88-faq-grid,.m88-faq-grid>.e-con-inner,.e-con-full.m88-contact-grid,.m88-contact-grid>.e-con-inner,.e-con-full.m88-quote-grid,.m88-quote-grid>.e-con-inner{grid-template-columns:1fr}
	.e-con.m88-frow--rev .m88-frow__media{order:0}
	.e-con.m88-faq-intro,.e-con.m88-contact-aside,.e-con.m88-quote-aside{position:static}
	.m88-posts{grid-template-columns:repeat(2,minmax(0,1fr))}
	.m88-hero__media{max-width:640px;margin:0 auto}
}
@media (max-width:767px){
	.admin-bar .m88-header{top:0}
	.m88-header__inner{padding:10px 18px;gap:12px}
	.m88-logo img{height:38px}
	.m88-header__cta{display:none}
	.e-con-full.m88-grid--3,.m88-grid--3>.e-con-inner,.e-con-full.m88-grid--4,.m88-grid--4>.e-con-inner,.e-con-full.m88-grid--5,.m88-grid--5>.e-con-inner{grid-template-columns:1fr}
	.m88-stats>.e-con-inner{grid-template-columns:repeat(2,1fr);gap:28px 16px}
	.e-con-full.m88-timeline,.m88-timeline>.e-con-inner{grid-template-columns:1fr 1fr}
	.m88-timeline>.e-con-inner::before{display:none}
	.m88-footer__top{grid-template-columns:1fr;gap:30px}
	.m88-footer__bottom{flex-direction:column;align-items:flex-start}
	.m88-posts{grid-template-columns:1fr}
	.m88-head--row{align-items:flex-start}
	.m88-cta>.e-con-inner{flex-direction:column!important;align-items:flex-start}
	.m88-wa-float{width:52px;height:52px;right:16px;bottom:16px}
	.m88-trust li+li::before{margin-right:10px}
	.m88-ibox--row .elementor-image-box-wrapper{gap:14px}
}

/* Opt-in reveal animation: add CSS class "m88-reveal" to any Elementor container */
.m88-js .m88-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.m88-js .m88-reveal.is-in{opacity:1;transform:none}
.elementor-editor-active .m88-reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.m88-js .m88-reveal{opacity:1;transform:none;transition:none}}

/* Theme reset guard (Hello Elementor styles every <button> pink #c36) */
button.m88-burger.m88-burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--m88-line);background:#fff;padding:0;color:var(--m88-ink)}
button.m88-burger.m88-burger:hover,button.m88-burger.m88-burger:focus{background:#fff;border-color:var(--m88-ink)}
button.m88-sub-toggle.m88-sub-toggle{background:none;border:0;border-radius:0;padding:4px;color:var(--m88-ink)}
button.m88-sub-toggle.m88-sub-toggle:hover,button.m88-sub-toggle.m88-sub-toggle:focus{background:none;color:var(--m88-coral)}
@media (max-width:1024px){
	button.m88-burger.m88-burger{display:inline-flex}
	button.m88-sub-toggle.m88-sub-toggle{padding:10px}
}
/* Elementor buttons used with m88-ebtn classes: keep brand colours on focus */
.m88-ebtn .elementor-button:focus{color:#fff}
.m88-ebtn--ghost .elementor-button:focus,.m88-ebtn--light .elementor-button:focus{color:var(--m88-ink)}
