/* Maxx Solutions Brokerage — design system
   Generated from the approved design preview. Loaded site-wide via the
   maxx-design mu-plugin. Elementor containers supply the structure;
   this file supplies the exact styling. */

/* Neutralise Elementor/Hello defaults that would fight the design */
.elementor-section.elementor-section-boxed>.elementor-container{max-width:none}
.e-con{--container-max-width:100%;padding-inline:0}
.e-con-inner{max-width:none}
body.elementor-page .site-header,body.elementor-page .site-footer{display:none}
img{max-width:100%;height:auto;display:block}


:root{
  --teal-900:#104F50;
  --teal-800:#0a3a3c;
  --teal-700:#005a61;
  --teal-600:#008994;
  --cyan:#00BEC6;
  --navy:#1b4562;
  --text:#173a42;
  --muted:#5f7883;
  --light:#f1f8f8;
  --line:#dde9ea;
  --shadow:0 15px 45px rgba(16,79,80,.12);
  --gutter:clamp(20px,4.2vw,70px);
  --img-hero:url('https://moccasin-worm-129033.hostingersite.com/wp-content/uploads/2026/09/hero-truck-sunset.jpg');
  --img-banner:url('https://moccasin-worm-129033.hostingersite.com/wp-content/uploads/2026/09/banner-harbor-warehouse.jpg');
  --img-cta:url('https://moccasin-worm-129033.hostingersite.com/wp-content/uploads/2026/09/cta-ocean-freight.jpg');
  --img-coverage:url('https://moccasin-worm-129033.hostingersite.com/wp-content/uploads/2026/09/coverage-operations.jpg');
  --sp:clamp(58px,5.6vw,92px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.container{width:100%;padding-left:var(--gutter);padding-right:var(--gutter);margin:0}
.section{padding:var(--sp) 0}
.section.tint + .section.tint{padding-top:0}
.section:not(.tint):not(.why) + .section:not(.tint):not(.why){padding-top:0}
.section.why + .section.why{padding-top:0}
.section-label{display:inline-flex;align-items:center;gap:9px;color:var(--teal-600);font-size:12px;font-weight:800;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:10px}
.section-label:before{content:"";width:28px;height:2px;background:var(--cyan)}
h1,h2,h3,h4{font-family:Manrope,Inter,sans-serif;line-height:1.12;color:var(--teal-900)}
h2{font-size:clamp(30px,2.7vw,42px);letter-spacing:-1.2px}
p{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:14px;transition:.25s ease;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--teal-600));color:#fff;box-shadow:0 8px 22px rgba(0,137,148,.28)}
.btn-primary:hover{filter:brightness(1.07);transform:translateY(-2px)}
.btn-deep{background:var(--teal-900);color:#fff}
.btn-deep:hover{background:var(--teal-700);transform:translateY(-2px)}
.btn-outline{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}
.btn-outline:hover{background:#fff;color:var(--teal-900)}
.arrow{font-size:18px;line-height:0}


/* ---- topbar + dark header ---- */
.topbar{background:#062526;color:#a8ccce;font-size:11.5px}
.topbar .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.top-left,.top-right{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.top-item{display:flex;align-items:center;gap:7px}
.top-item b{color:#fff}
.social-mini{display:flex;gap:13px;font-weight:800}
.social-mini a:hover{color:var(--cyan)}

.header{height:88px;background:var(--teal-900);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.09)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links>a,.nav-drop>button{font-size:13px;font-weight:700;color:#e2f2f2;background:none;border:0;cursor:pointer;font-family:inherit}
.nav-links>a:hover,.nav-drop>button:hover,.nav-links a.active{color:var(--cyan)}
.nav-drop{position:relative}
.nav-drop button{display:flex;align-items:center;gap:6px}
.dropdown{position:absolute;top:34px;left:-16px;width:250px;background:#fff;padding:10px;border-radius:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.nav-drop:hover .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--navy)}
.dropdown a:hover{background:var(--light);color:var(--teal-600)}
.menu-btn{display:none;border:0;background:none;font-size:28px;color:#fff;cursor:pointer}

/* ---- hero ---- */
.hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(7,38,40,.96) 0%,rgba(7,38,40,.90) 52%,rgba(7,38,40,.72) 100%),var(--img-hero) center/cover}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,4.5vw,72px);align-items:center;padding-top:var(--sp);padding-bottom:var(--sp)}
.hero-content{max-width:640px}
.hero-visual{position:relative}
.hero-visual img{width:100%;height:clamp(300px,32vw,430px);object-fit:cover;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.42)}
.hero-visual:before{content:"";position:absolute;left:-14px;top:-14px;width:96px;height:96px;border-left:6px solid var(--cyan);border-top:6px solid var(--cyan);border-radius:18px 0 0 0}
.hero-stat{position:absolute;left:-18px;bottom:-22px;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 18px 40px rgba(0,0,0,.28);display:flex;align-items:center;gap:13px}
.hero-stat .i{font-size:24px;color:var(--teal-600)}
.hero-stat b{display:block;font-family:Manrope;font-size:20px;color:var(--teal-900);line-height:1.1}
.hero-stat small{font-size:10.5px;color:var(--muted);letter-spacing:.3px}
.hero .section-label,.cta .section-label,.band .section-label{color:var(--cyan)}
.hero .section-label:before,.cta .section-label:before,.band .section-label:before{background:var(--cyan)}
.hero h1{font-size:clamp(34px,4.4vw,60px);color:#fff;letter-spacing:-2.2px;margin:12px 0 20px}
.hero p{color:#dcecec;max-width:600px;font-size:15px;line-height:1.85}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}

/* ---- credentials strip ---- */
.creds{background:var(--teal-800);color:#fff;padding:clamp(20px,2.2vw,28px) 0}
.creds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cred{display:flex;gap:12px;align-items:center}
.cred .i{font-size:22px;color:var(--cyan);flex:none}
.cred b{display:block;font-size:13px;color:#fff}
.cred small{font-size:11px;color:#9dc4c6}

/* ---- banner ---- */
.banner{position:relative;padding:clamp(54px,5vw,80px) 0;background:linear-gradient(90deg,rgba(7,38,40,.94),rgba(7,38,40,.68)),var(--img-banner) center/cover;color:#fff}
.banner h1{color:#fff;font-size:clamp(28px,3.4vw,44px);letter-spacing:-1.5px;margin-bottom:9px}
.banner p{color:#cfe4e5;max-width:760px;font-size:14.5px}
.crumb{font-size:11px;color:#8fd3d6;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:12px}

.tint{background:var(--light)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:clamp(28px,3vw,40px)}
.section-head>div:first-child{max-width:760px}
.section-head p{font-size:14px;margin-top:13px}

/* ---- services ---- */
.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:.28s;box-shadow:0 4px 15px rgba(16,79,80,.05);display:flex;flex-direction:column}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#c9dfe0}
.service-card .thumb{height:172px;overflow:hidden}
.service-card .thumb img{width:100%;height:100%;object-fit:cover}
.service-body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column}
.service-icon{width:46px;height:46px;border-radius:13px;background:#e2f4f5;color:var(--teal-600);display:grid;place-items:center;font-size:22px;margin:-46px 0 16px;border:3px solid #fff;box-shadow:0 4px 12px rgba(16,79,80,.14)}
.service-card h3{font-size:18px;margin-bottom:8px}
.service-card p{font-size:13px;line-height:1.7;margin-bottom:16px;flex:1}
.learn{font-size:12px;font-weight:800;color:var(--teal-600)}
.learn:hover{color:var(--cyan)}

/* ---- splits ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,84px);align-items:center}
.photo-frame{position:relative;padding:0 0 18px 18px}
.photo-frame img{width:100%;height:clamp(320px,34vw,470px);object-fit:cover;border-radius:4px;position:relative;z-index:2}
.photo-frame:before{content:"";position:absolute;left:0;top:-12px;width:72px;height:72px;border-left:8px solid var(--teal-600);border-top:8px solid var(--teal-600);z-index:3}
.photo-frame:after{content:"";position:absolute;right:0;bottom:0;width:170px;height:170px;border-right:8px solid var(--cyan);border-bottom:8px solid var(--cyan)}
.copy>p{font-size:14.5px;line-height:1.85}
.copy>p+p{margin-top:14px}
.copy h2{margin-bottom:17px}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:30px}
.feature{display:flex;gap:12px}
.feature-icon{width:40px;height:40px;border-radius:50%;background:#e2f4f5;color:var(--teal-600);display:grid;place-items:center;flex:none;font-size:17px}
.feature strong{display:block;font-size:13.5px;margin-bottom:2px;color:var(--teal-900)}
.feature small{color:var(--muted);font-size:11px}

/* ---- stats ---- */
.stats{background:var(--teal-900);color:#fff;padding:clamp(30px,3.2vw,42px) 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid rgba(255,255,255,.22)}
.stat:last-child{border:0}
.stat-icon{font-size:29px;color:var(--cyan)}
.stat strong{display:block;font-family:Manrope;font-size:28px;line-height:1.1;color:#fff}
.stat span{font-size:10.5px;color:#a9cfd0;letter-spacing:.4px}

/* ---- process steps ---- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{position:relative;padding-top:8px}
.step .n{width:42px;height:42px;border-radius:50%;background:var(--teal-900);color:#fff;display:grid;place-items:center;margin-bottom:14px;font-weight:800;font-size:15px;font-family:Manrope}
.step b{display:block;font-size:15px;color:var(--teal-900);margin-bottom:5px;font-family:Manrope}
.step small{font-size:12.5px;color:var(--muted);line-height:1.75;display:block}
.step:not(:last-child):after{content:"";position:absolute;top:29px;left:52px;right:-16px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent)}

/* ---- checks / why ---- */
.why{background:#f7fcfc}
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,5vw,80px);align-items:center}
.checks{margin:25px 0 28px;display:grid;gap:11px}
.check{display:flex;gap:10px;align-items:center;font-size:13.5px;font-weight:600;color:#31555c}
.check i{font-style:normal;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#dff5f0;color:#0e8f6a;font-size:11px;flex:none}
.why-art{position:relative}
.why-art img{width:100%;height:clamp(300px,30vw,400px);object-fit:cover;border-radius:18px}
.why-note{position:absolute;right:-10px;bottom:-18px;background:#fff;padding:14px 18px;border-radius:13px;box-shadow:var(--shadow);font-size:13px;font-weight:800;color:var(--teal-900)}
.why-note span{color:var(--teal-600)}

/* ---- industries / equipment chips ---- */
.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.chip{border:1px solid var(--line);border-radius:12px;padding:22px;background:#fff;transition:.25s}
.chip:hover{border-color:var(--cyan);transform:translateY(-4px)}
.chip .i{font-size:24px;margin-bottom:12px;display:block}
.chip b{display:block;font-size:14px;color:var(--teal-900);font-family:Manrope;margin-bottom:4px}
.chip small{font-size:12px;color:var(--muted);line-height:1.65}

/* ---- coverage band ---- */
.band{background:linear-gradient(90deg,rgba(6,37,38,.94),rgba(6,37,38,.55)),var(--img-coverage) center/cover;color:#fff;padding:var(--sp) 0}
.band h2{color:#fff}
.band p{color:#cfe4e5;font-size:14.5px;max-width:620px}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}
.band .check{color:#dcecec}
.band .check i{background:rgba(0,190,198,.2);color:var(--cyan)}
.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mode{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:18px;backdrop-filter:blur(6px)}
.mode b{display:block;color:#fff;font-size:13.5px;font-family:Manrope;margin-bottom:3px}
.mode small{font-size:11.5px;color:#a9cfd0}

/* ---- comparison table ---- */
.tbl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tbl th,.tbl td{padding:15px 18px;text-align:left;font-size:13px;border-bottom:1px solid var(--line)}
.tbl th{background:var(--teal-900);color:#fff;font-family:Manrope;font-size:12.5px;letter-spacing:.3px}
.tbl td{color:var(--muted)}
.tbl td:first-child{color:var(--teal-900);font-weight:700}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:var(--light)}
.tbl-wrap{overflow-x:auto}

/* ---- testimonials ---- */
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.testimonial{border:1px solid var(--line);border-radius:14px;padding:30px 27px;box-shadow:0 4px 18px rgba(16,79,80,.05);background:#fff}
.quote{font-size:35px;color:var(--cyan);font-family:Georgia,serif;line-height:.6;margin-bottom:18px}
.testimonial p{font-size:13px;line-height:1.8}
.client{display:flex;align-items:center;gap:11px;margin-top:22px}
.avatar{width:39px;height:39px;border-radius:50%;background:var(--teal-900);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;font-family:Manrope;flex:none}
.client strong{font-size:12.5px;display:block;color:var(--teal-900)}
.client small{font-size:10.5px;color:#8399a0}
.stars{color:var(--cyan);font-size:12px}

/* ---- faq ---- */
.faq{display:grid;gap:12px;max-width:960px}
.faq details{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;padding:18px 22px;font-weight:700;font-size:14px;color:var(--teal-900);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--cyan);font-size:20px;font-weight:400;flex:none}
.faq details[open] summary:after{content:"–"}
.faq details[open] summary{background:var(--light)}
.faq .a{padding:16px 22px 22px;font-size:13.5px;line-height:1.85;color:var(--muted);border-top:1px solid var(--line)}

/* ---- cta ---- */
.cta{min-height:150px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(6,40,42,.92),rgba(6,40,42,.55)),var(--img-cta) center/cover;color:#fff;padding:clamp(38px,4vw,54px) 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:34px}
.cta-title{display:flex;align-items:center;gap:18px}
.cta-icon{width:55px;height:55px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;font-size:24px;flex:none}
.cta h2{font-size:28px;color:#fff}
.cta p{color:#cfe4e5;font-size:13px;margin-top:4px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ---- forms ---- */
.form-wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(30px,3.5vw,56px);align-items:start}
.form-wrap.equal{align-items:stretch}
.form-wrap.equal .aside-col{height:100%;grid-template-rows:1fr auto}
.form-wrap.equal .map{height:100%;min-height:240px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,2.6vw,38px);box-shadow:var(--shadow)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:11.5px;font-weight:800;color:var(--teal-900);letter-spacing:.3px}
.field input,.field select,.field textarea{border:1px solid var(--line);background:#fbfdfd;border-radius:9px;padding:12px 13px;font-size:13.5px;color:var(--text);width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(0,190,198,.16)}
.field textarea{min-height:120px;resize:vertical}
.form-note{font-size:11.5px;color:var(--muted);margin-top:14px}
.aside-card{background:var(--teal-900);color:#fff;border-radius:16px;padding:30px}
.aside-card h3{color:#fff;font-size:19px;margin-bottom:16px}
.aside-card .row{display:flex;gap:12px;font-size:12.5px;color:#cbe3e4;margin-bottom:15px;align-items:flex-start}
.aside-card .row b{color:#fff;display:block;font-size:12.5px}
.aside-card .ico{color:var(--cyan);font-size:15px;flex:none;width:20px}
.aside-col{display:grid;gap:18px;align-content:start}
.aside-banner{position:relative;border-radius:16px;overflow:hidden;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;color:#fff;background:linear-gradient(180deg,rgba(6,37,38,.35) 0%,rgba(6,37,38,.88) 62%,rgba(6,37,38,.96) 100%),var(--img-cta) center/cover}
.aside-banner .section-label{color:var(--cyan);margin-bottom:8px}
.aside-banner .section-label:before{background:var(--cyan)}
.aside-banner h3{color:#fff;font-size:22px;line-height:1.2;margin-bottom:9px}
.aside-banner p{color:#cfe4e5;font-size:12.5px;line-height:1.7;margin-bottom:18px}
.aside-banner .btn{align-self:flex-start}
.trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:26px}
.trust{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px}
.trust .service-icon{margin:0 0 14px}
.trust h4{font-size:15px;margin-bottom:6px}
.trust p{font-size:12.5px;line-height:1.7}

/* ---- contact ---- */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-bottom:48px}
.info-card{border:1px solid var(--line);border-radius:14px;padding:28px;background:#fff}
.info-card .service-icon{margin:0 0 15px}
.info-card h4{font-size:15px;margin-bottom:6px}
.info-card p{font-size:13px;line-height:1.75}
.map{border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:380px;background:var(--light);display:grid;place-items:center;text-align:center;padding:24px}
.map div{font-size:13px;color:var(--muted)}
.spec{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}
.spec div{border-left:3px solid var(--cyan);padding:4px 0 4px 14px}
.spec b{display:block;font-size:13.5px;color:var(--teal-900)}
.spec small{font-size:12px;color:var(--muted)}
.legal{max-width:860px}
.legal h3{font-size:20px;margin:32px 0 10px}
.legal p,.legal li{font-size:14px;line-height:1.9;color:var(--muted)}
.legal ul{padding-left:20px;margin:8px 0}
.track-box{max-width:660px;margin:0 auto;text-align:center}
.track-box .row{display:flex;gap:10px;margin-top:22px}
.track-box .field{flex:1}

/* ---- footer ---- */
.footer{background:#082e30;color:#aecccd;padding:70px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(30px,3.5vw,60px)}
.footer-logo img{width:230px;margin-bottom:20px}
.footer-desc{font-size:12.5px;line-height:1.9;max-width:330px;margin-bottom:20px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:30px;height:30px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;font-size:11px}
.footer-social a:hover{background:var(--cyan);border-color:var(--cyan);color:#04282a}
.footer h4{font-size:13px;color:#fff;margin-bottom:18px}
.footer-links{display:grid;gap:9px}
.footer-links a{font-size:12px}.footer-links a:hover{color:#fff}
.contact-row{display:flex;gap:10px;font-size:12px;margin-bottom:12px}
.contact-row b{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px}
.footer-bottom div{display:flex;gap:20px}
.footer-bottom a:hover{color:#fff}

@media(max-width:1100px){
  .nav-links{gap:16px}
  .creds-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step:after{display:none}
  .form-wrap,.band-grid{grid-template-columns:1fr}
  .hero-content{max-width:100%}
}
@media(max-width:860px){
  .top-right{display:none}
  .header{height:74px}
  .logo img{height:38px}
  .menu-btn{display:block}
  .nav-links{position:absolute;left:var(--gutter);right:var(--gutter);top:66px;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;border-radius:14px;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links>a,.nav-drop>button{padding:13px 12px;text-align:left;width:100%;color:var(--navy)}
  .nav-drop .dropdown{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 5px 10px}
  .nav-drop.open .dropdown{display:block}
  .nav>.btn{display:none}
  .section{padding:var(--sp) 0}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-stat{left:auto;right:0;bottom:-18px}
  .split,.why-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr;gap:26px}
  .stat:nth-child(2){border:0}
  .stat{justify-content:flex-start}
  .section-head{display:block}
  .section-head .btn{margin-top:20px}
  .mode-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .creds-grid,.steps,.feature-list,.fgrid,.spec{grid-template-columns:1fr}
  .hero-badge{display:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{display:block}
  .footer-bottom div{margin-top:10px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   Elementor bridge — maps widget markup onto the design system
   ============================================================ */

/* Structural resets for containers used as design wrappers */
.topbar.e-con,.header.e-con,.footer.e-con{display:block;width:100%;max-width:none}
.topbar>.e-con-inner,.header>.e-con-inner,.footer>.e-con-inner{max-width:none;padding:0}
.topbar .elementor-widget-html,.footer .elementor-widget-html{width:100%}
.header .container.nav{max-width:none;gap:24px}
.footer .container{max-width:none;display:block}
.footer .footer-grid{max-width:none;padding:0}
.footer .footer-grid>.e-con{padding:0;max-width:none}
.footer .footer-grid>.e-con>.e-con-inner{padding:0;max-width:none;display:block}

/* Logo */
.header .logo{flex:none;width:auto;max-width:none}
.header .logo img{height:46px;width:auto;object-fit:contain}
.header .logo .elementor-widget-container{line-height:0}

/* Primary navigation */
.header .nav-links{width:auto;max-width:none;flex:0 1 auto}
.header .nav-links .elementor-nav-menu{display:flex;align-items:center;gap:26px}
.header .nav-links .elementor-nav-menu li{margin:0}
.header .nav-links .elementor-nav-menu a.elementor-item{
  padding:0;font-size:13px;font-weight:700;color:#e2f2f2;background:transparent;
  fill:currentColor;letter-spacing:0}
.header .nav-links .elementor-nav-menu a.elementor-item:hover,
.header .nav-links .elementor-nav-menu a.elementor-item.elementor-item-active,
.header .nav-links .elementor-nav-menu a.elementor-item.highlighted{color:var(--cyan);background:transparent}
.header .nav-links .elementor-nav-menu a.elementor-item:before,
.header .nav-links .elementor-nav-menu a.elementor-item:after{display:none}

/* Dropdowns */
.header .elementor-nav-menu--dropdown{
  background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:10px;min-width:250px}
.header .elementor-nav-menu--dropdown a.elementor-sub-item{
  padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--navy);background:transparent}
.header .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.header .elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active{
  background:var(--light);color:var(--teal-600)}

/* Burger + mobile panel */
.header .elementor-menu-toggle{color:#fff;background:transparent;font-size:26px}
.header .elementor-menu-toggle svg{fill:#fff;width:1em;height:1em}
.header .elementor-nav-menu--dropdown.elementor-nav-menu__container{
  margin-top:12px;border-radius:14px;overflow:hidden}
.header .elementor-nav-menu--dropdown a.elementor-item{color:var(--navy);padding:13px 12px;font-size:14px}

/* Header call-to-action button */
.header .hdr-cta{flex:none;width:auto;max-width:none}
.header .hdr-cta .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;
  font-family:Inter,Arial,sans-serif;font-weight:700;font-size:14px;line-height:1;
  background:linear-gradient(135deg,var(--cyan),var(--teal-600));color:#fff;
  box-shadow:0 8px 22px rgba(0,137,148,.28);transition:.25s ease}
.header .hdr-cta .elementor-button:hover{filter:brightness(1.07);transform:translateY(-2px)}
.header .hdr-cta .elementor-button-content-wrapper{display:flex;align-items:center;gap:10px}
.header .hdr-cta .elementor-button-icon svg{width:14px;height:14px;fill:currentColor}

/* Generic Elementor buttons elsewhere inherit the design button */
.maxx .elementor-button-wrapper .elementor-button{
  border-radius:999px;font-weight:700;font-size:14px;min-height:48px;padding:0 24px;
  display:inline-flex;align-items:center;gap:10px}

@media(max-width:860px){
  .header .container.nav{gap:12px}
  .header .hdr-cta{display:none}
  .header .logo img{height:38px}
}

/* ---- Image skeletons: placeholders until the media library is populated ---- */
.maxx img[data-skeleton="1"]{
  background:linear-gradient(110deg,#e3f0f0 30%,#f2fafa 45%,#e3f0f0 60%);
  background-size:200% 100%;
  animation:maxx-skel 1.6s linear infinite;
  color:transparent;font-size:0;min-height:60px}
@keyframes maxx-skel{0%{background-position:150% 0}100%{background-position:-50% 0}}
@media(prefers-reduced-motion:reduce){.maxx img[data-skeleton="1"]{animation:none}}
.header .logo img[data-skeleton="1"]{min-width:190px;min-height:44px;border-radius:6px}
.footer .footer-logo img[data-skeleton="1"]{min-width:210px;min-height:44px;border-radius:6px}
.service-card .thumb img[data-skeleton="1"],
.hero-visual img[data-skeleton="1"],
.photo-frame img[data-skeleton="1"],
.why-art img[data-skeleton="1"]{width:100%}

/* ---- Container padding reset: design classes own all spacing ---- */
.maxx .e-con{padding-block:0;padding-inline:0}
.maxx .e-con-inner{padding-block:0;padding-inline:0;max-width:none}
.maxx .topbar,.maxx .header,.maxx .footer{width:100%;max-width:none}
.maxx .header .container.nav{padding-left:var(--gutter);padding-right:var(--gutter);height:100%}
.maxx .topbar .container{padding-left:var(--gutter);padding-right:var(--gutter)}
.maxx .footer .container{padding-left:var(--gutter);padding-right:var(--gutter)}
.maxx .footer .footer-grid{padding-left:0;padding-right:0}
.maxx .elementor-widget-html{width:100%}
.maxx .header .elementor-widget-image,
.maxx .header .elementor-widget-nav-menu,
.maxx .header .elementor-widget-button{width:auto;flex:0 0 auto}

/* ---- Service grid: fixed 3 across, 2 rows ---- */
.maxx .service-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.maxx .service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.maxx .service-grid{grid-template-columns:1fr}}

/* ---- Elementor Pro forms mapped onto the design's field styling ---- */
.maxx .maxx-form .elementor-form-fields-wrapper{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:0}
.maxx .maxx-form .elementor-field-group{
  width:auto!important;max-width:none;flex:none;
  padding:0!important;margin:0;
  display:flex;flex-direction:column;align-items:stretch;gap:6px}
.maxx .maxx-form .elementor-field-group.elementor-col-100,
.maxx .maxx-form .elementor-field-group.elementor-field-type-textarea,
.maxx .maxx-form .elementor-field-group.elementor-field-type-submit{grid-column:1/-1}
.maxx .maxx-form .elementor-field-group.elementor-field-type-submit{margin-top:4px}
.maxx .maxx-form .elementor-field-label{
  font-size:11.5px;font-weight:800;color:var(--teal-900);letter-spacing:.3px;
  padding:0;margin:0;line-height:1.4}
.maxx .maxx-form .elementor-field-textual,
.maxx .maxx-form select.elementor-field{
  border:1px solid var(--line);background:#fbfdfd;border-radius:9px;padding:12px 13px;
  font-family:Inter,Arial,sans-serif;font-size:13.5px;color:var(--text);
  width:100%;line-height:1.4;box-shadow:none;height:auto;min-height:0}
.maxx .maxx-form .elementor-field-textual:focus,
.maxx .maxx-form select.elementor-field:focus{
  border-color:var(--cyan);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(0,190,198,.16)}
.maxx .maxx-form textarea.elementor-field-textual{min-height:120px;resize:vertical}
.maxx .maxx-form select.elementor-field{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--teal-600) 50%),linear-gradient(135deg,var(--teal-600) 50%,transparent 50%);
  background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.maxx .maxx-form ::placeholder{color:#9bb0b6;opacity:1}
.maxx .maxx-form .elementor-field-required .elementor-field-label:after{
  content:"*";color:var(--cyan);margin-left:3px}
.maxx .maxx-form .elementor-button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;
  min-height:48px;padding:0 24px;border-radius:999px;border:1px solid transparent;
  font-family:Inter,Arial,sans-serif;font-weight:700;font-size:14px;
  background:linear-gradient(135deg,var(--cyan),var(--teal-600));color:#fff;
  box-shadow:0 8px 22px rgba(0,137,148,.28);transition:.25s ease;cursor:pointer}
.maxx .maxx-form .elementor-button[type=submit]:hover{filter:brightness(1.07);transform:translateY(-2px)}
.maxx .maxx-form .elementor-message{font-size:13px;margin-top:12px;border-radius:9px;padding:10px 12px}
.maxx .maxx-form .elementor-message-success{background:#e4f7f0;color:#0e6b52}
.maxx .maxx-form .elementor-message-danger{background:#fdecec;color:#a32626}
.maxx .maxx-form .elementor-field-group.elementor-error .elementor-field-textual{border-color:#d95757}
.maxx .track-box .maxx-form{text-align:left}
@media(max-width:700px){.maxx .maxx-form .elementor-form-fields-wrapper{grid-template-columns:1fr}}

/* ---- 404 ---- */
.maxx .e404{min-height:56vh;display:grid;place-items:center;text-align:center;
  background:linear-gradient(118deg,var(--teal-900) 0%,var(--teal-700) 55%,var(--teal-600) 100%);color:#fff;padding:var(--sp) 0;position:relative;overflow:hidden}
.maxx .e404:after{content:"";position:absolute;right:-6%;top:-40%;width:52%;height:190%;
  background:radial-gradient(circle,rgba(0,190,198,.3),transparent 62%);pointer-events:none}
.maxx .e404 .container{position:relative;z-index:2;max-width:820px;margin-inline:auto}
.maxx .e404 .code{font-family:Manrope;font-size:clamp(74px,12vw,150px);line-height:.9;color:#fff;letter-spacing:-5px;margin-bottom:6px}
.maxx .e404 .code span{color:var(--cyan)}
.maxx .e404 h1{color:#fff;font-size:clamp(26px,3vw,38px);margin-bottom:12px}
.maxx .e404 p{color:#cfe4e5;max-width:560px;margin-inline:auto}
.maxx .e404 .banner-actions{justify-content:center}

/* ---- Form layout refinements after cascade audit ---- */
/* Elementor wraps <select> in .elementor-select-wrapper and floats an SVG caret
   over the right edge; reserve room so long option text can't run underneath. */
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{padding-right:36px}
.maxx .maxx-form .elementor-select-wrapper .select-caret-down-wrapper{
  inset-inline-end:14px;width:12px;pointer-events:none}
.maxx .maxx-form .elementor-select-wrapper .select-caret-down-wrapper svg{
  width:12px;height:12px;fill:var(--teal-600)}
/* Submit cell: stretch, not bottom-aligned */
.maxx .maxx-form .elementor-field-group.elementor-field-type-submit{align-items:stretch}
/* Honour the 70/30 split on the tracking form instead of forcing 50/50 */
.maxx .track-box .maxx-form .elementor-form-fields-wrapper{grid-template-columns:1.6fr 1fr}
@media(max-width:700px){
  .maxx .track-box .maxx-form .elementor-form-fields-wrapper{grid-template-columns:1fr}
}

/* ============================================================
   Form restyle — two-tone panel, inset fields, cyan focus lift
   Appended last so it wins on cascade order at equal specificity.
   ============================================================ */

/* --- the panel --- */
.maxx .form-card{
  position:relative;
  background:linear-gradient(180deg,#f2fafa 0,#ffffff 240px);
  border:1px solid var(--line);
  border-radius:20px;
  padding:clamp(26px,2.9vw,42px);
  box-shadow:0 26px 64px rgba(16,79,80,.11);
  overflow:hidden}
.maxx .form-card:before{
  content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--cyan),var(--teal-600) 55%,var(--teal-900))}
.maxx .form-card h3{
  position:relative;padding-bottom:16px;margin-bottom:26px!important;
  letter-spacing:-.6px;color:var(--teal-900)}
.maxx .form-card h3:after{
  content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;
  border-radius:3px;background:var(--cyan)}

/* --- fields --- */
.maxx .maxx-form .elementor-form-fields-wrapper{gap:18px}
.maxx .maxx-form .elementor-field-label{
  font-size:11px;font-weight:800;color:var(--teal-700);letter-spacing:.4px}
.maxx .maxx-form .elementor-field-textual,
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{
  background:#fff;
  border:1px solid transparent;
  border-radius:11px;
  padding:13px 15px;
  min-height:50px;
  font-size:14px;
  color:var(--text);
  box-shadow:inset 0 0 0 1px #e0edee, 0 1px 2px rgba(16,79,80,.05);
  transition:box-shadow .2s ease, transform .2s ease}
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{padding-right:38px}
.maxx .maxx-form .elementor-field-textual:hover{box-shadow:inset 0 0 0 1px #cfe4e6, 0 2px 6px rgba(16,79,80,.07)}
.maxx .maxx-form .elementor-field-textual:focus{
  background:#fff;border-color:transparent;outline:none;
  box-shadow:inset 0 0 0 2px var(--cyan), 0 6px 18px rgba(0,190,198,.16);
  transform:translateY(-1px)}
.maxx .maxx-form textarea.elementor-field-textual{min-height:132px;padding-top:14px}
.maxx .maxx-form ::placeholder{color:#a3b7bc;opacity:1}

/* --- submit, set apart from the fields --- */
.maxx .maxx-form .elementor-field-group.elementor-field-type-submit{
  border-top:1px solid var(--line);padding-top:22px!important;margin-top:6px}
.maxx .maxx-form .elementor-button[type=submit]{
  min-height:52px;font-size:14.5px;letter-spacing:.2px;
  background:linear-gradient(135deg,var(--cyan) 0,var(--teal-600) 55%,var(--teal-700) 100%);
  box-shadow:0 10px 26px rgba(0,137,148,.30)}
.maxx .maxx-form .elementor-button[type=submit]:hover{
  filter:brightness(1.06);transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,137,148,.36)}

/* --- note beneath the panel --- */
.maxx .form-card .form-note{
  margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);
  font-size:11.5px;color:var(--muted)}

/* --- tracking form sits on its own, no panel --- */
.maxx .track-box .maxx-form .elementor-field-textual{
  background:#fff;box-shadow:inset 0 0 0 1px #dbebec, 0 2px 8px rgba(16,79,80,.06)}
.maxx .track-box .maxx-form .elementor-field-group.elementor-field-type-submit{
  border-top:0;padding-top:0!important;margin-top:0}

@media(max-width:700px){
  .maxx .form-card{border-radius:16px}
  .maxx .maxx-form .elementor-form-fields-wrapper{gap:15px}
}
@media(prefers-reduced-motion:reduce){
  .maxx .maxx-form .elementor-field-textual,
  .maxx .maxx-form .elementor-button[type=submit]{transition:none;transform:none}
}

/* ---- Field groups must not wrap into a second column ----
   Elementor sets .elementor-field-group{flex-wrap:wrap}. Combined with our
   flex-direction:column that makes the label and input wrap side by side
   instead of stacking. Force nowrap. */
.maxx .maxx-form .elementor-field-group{flex-wrap:nowrap}
.maxx .maxx-form .elementor-field-label{width:100%;flex:0 0 auto}
.maxx .maxx-form .elementor-field-group>.elementor-field-textual,
.maxx .maxx-form .elementor-field-group>.elementor-select-wrapper{flex:1 1 auto;min-width:0}

/* ---- Tighter vertical rhythm for the forms ---- */
.maxx .form-card{padding:clamp(22px,2.2vw,32px)}
.maxx .form-card h3{padding-bottom:12px;margin-bottom:20px!important}
.maxx .maxx-form .elementor-form-fields-wrapper{gap:13px 18px}
.maxx .maxx-form .elementor-field-group{gap:4px}
.maxx .maxx-form .elementor-field-label{font-size:10.5px;line-height:1.3}
.maxx .maxx-form .elementor-field-textual,
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{
  min-height:42px;padding:10px 13px;font-size:13.5px}
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{padding-right:34px}
.maxx .maxx-form textarea.elementor-field-textual{min-height:88px;padding-top:11px}
.maxx .maxx-form .elementor-field-group.elementor-field-type-submit{
  padding-top:16px!important;margin-top:2px}
.maxx .maxx-form .elementor-button[type=submit]{min-height:46px}
.maxx .form-card .form-note{margin-top:13px;padding-top:11px}

/* ---- Banner variants (split / centre / plain) ----
   These were written after the stylesheet was first generated and never
   shipped, so .banner-grid was not a grid and the per-page --bimg was ignored. */
.maxx .banner{position:relative;padding:clamp(54px,5vw,80px) 0;background:linear-gradient(90deg,rgba(7,38,40,.94),rgba(7,38,40,.68)),var(--bimg,var(--img-banner)) center/cover;color:#fff;overflow:hidden}
.maxx .banner-center{text-align:center}
.maxx .banner-center .container{max-width:940px;margin-inline:auto}
.maxx .banner-center .crumb{letter-spacing:1.6px}
.maxx .banner-center p{margin-inline:auto}
.maxx .banner-split{padding:clamp(50px,4.6vw,74px) 0;background:linear-gradient(90deg,rgba(7,38,40,.97) 0%,rgba(7,38,40,.9) 52%,rgba(7,38,40,.66) 100%),var(--bimg,var(--img-banner)) center/cover}
.maxx .banner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,64px);align-items:center}
.maxx .banner-visual{position:relative}
.maxx .banner-visual img{width:100%;height:clamp(210px,22vw,300px);object-fit:cover;border-radius:16px;box-shadow:0 24px 58px rgba(0,0,0,.42)}
.maxx .banner-visual:before{content:"";position:absolute;left:-12px;top:-12px;width:84px;height:84px;border-left:6px solid var(--cyan);border-top:6px solid var(--cyan);border-radius:16px 0 0 0}
.maxx .banner-plain{background:linear-gradient(118deg,var(--teal-900) 0%,var(--teal-700) 55%,var(--teal-600) 100%)}
.maxx .banner-plain:after{content:"";position:absolute;right:-8%;top:-40%;width:52%;height:190%;background:radial-gradient(circle,rgba(0,190,198,.3),transparent 62%);pointer-events:none}
.maxx .banner-plain .container{position:relative;z-index:2}
.maxx .banner-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:900px){.maxx .banner-grid{grid-template-columns:1fr}.maxx .banner-visual{display:none}}

/* ============================================================
   Type scale — raise the small text site-wide.
   Smallest sizes get the biggest lift; headings are already clamped.
   ============================================================ */
.maxx body,body.maxx{font-size:16px}
.maxx p{font-size:16px}

/* chrome */
.maxx .topbar{font-size:12.5px}
.maxx .header .nav-links .elementor-nav-menu a.elementor-item{font-size:14px}
.maxx .header .nav-links .elementor-nav-menu{gap:22px}
.maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item{font-size:13.5px}
.maxx .crumb{font-size:12px}
.maxx .section-label{font-size:12.5px}

/* footer — the worst offender */
.maxx .footer{font-size:14px}
.maxx .footer h4{font-size:14.5px}
.maxx .footer-desc{font-size:14px;line-height:1.8}
.maxx .footer-links a{font-size:13.5px}
.maxx .contact-row{font-size:13.5px}
.maxx .footer-social a{font-size:12px}
.maxx .footer-bottom{font-size:12.5px}

/* body copy blocks */
.maxx .banner p{font-size:15.5px}
.maxx .hero p{font-size:16px}
.maxx .section-head p{font-size:15px}
.maxx .copy>p{font-size:15.5px}
.maxx .legal p,.maxx .legal li{font-size:15.5px}
.maxx .check{font-size:14.5px}
.maxx .cta p{font-size:14px}
.maxx .why-note{font-size:14px}

/* cards and small components */
.maxx .service-card p{font-size:14px}
.maxx .service-card h3{font-size:19px}
.maxx .learn{font-size:13px}
.maxx .feature strong{font-size:14px}
.maxx .feature small{font-size:12.5px}
.maxx .cred b{font-size:14px}
.maxx .cred small{font-size:12px}
.maxx .stat span{font-size:11.5px}
.maxx .chip b{font-size:15px}
.maxx .chip small{font-size:13px}
.maxx .step b{font-size:16px}
.maxx .step small{font-size:13.5px}
.maxx .mode b{font-size:14.5px}
.maxx .mode small{font-size:12.5px}
.maxx .testimonial p{font-size:14px}
.maxx .client strong{font-size:13.5px}
.maxx .client small{font-size:11.5px}
.maxx .info-card h4{font-size:16px}
.maxx .info-card p{font-size:14px}
.maxx .trust h4{font-size:16px}
.maxx .trust p{font-size:13.5px}
.maxx .aside-card .row,.maxx .aside-card .row b{font-size:13.5px}
.maxx .aside-banner p{font-size:13.5px}
.maxx .spec b{font-size:14.5px}
.maxx .spec small{font-size:13px}
.maxx .tbl th{font-size:13.5px}
.maxx .tbl td{font-size:14px}
.maxx .faq summary{font-size:15px}
.maxx .faq .a{font-size:14.5px}

/* forms */
.maxx .maxx-form .elementor-field-label{font-size:12px}
.maxx .maxx-form .elementor-field-textual,
.maxx .maxx-form .elementor-select-wrapper select.elementor-field-textual{font-size:14.5px;min-height:44px}
.maxx .maxx-form .elementor-button[type=submit]{font-size:15px}
.maxx .form-card .form-note{font-size:12.5px}
.maxx .btn,.maxx .elementor-button{font-size:14.5px}

@media(max-width:860px){
  .maxx .header .nav-links .elementor-nav-menu a.elementor-item{font-size:15px}
}

/* ============================================================
   Responsive corrections
   The base CSS hid .nav-links on mobile — that class used to wrap a
   hand-built menu, but now wraps Elementor's whole nav widget, so the
   burger disappeared too and phones had no navigation at all.
   Hand menu behaviour back to Elementor and style its dropdown.
   ============================================================ */
.maxx .header .nav-links{
  position:static;left:auto;right:auto;top:auto;width:auto;
  background:transparent;border:0;box-shadow:none;border-radius:0;
  padding:0;flex-direction:row;display:flex;align-items:center}
.maxx .header .nav-links .elementor-nav-menu--main{display:flex;align-items:center;gap:22px}
@media(max-width:1024px){
  .maxx .header .nav-links .elementor-nav-menu--main{display:none}
  .maxx .header .elementor-menu-toggle{display:flex;color:#fff;font-size:26px}
}
@media(min-width:1025px){
  .maxx .header .elementor-menu-toggle{display:none}
}
/* the dropdown panel Elementor drops below the header */
.maxx .header .elementor-nav-menu--dropdown{
  background:#fff;border-radius:14px;box-shadow:var(--shadow);
  padding:8px;margin-top:10px;overflow:hidden}
.maxx .header .elementor-nav-menu--dropdown .elementor-nav-menu{display:block}
.maxx .header .elementor-nav-menu--dropdown a.elementor-item,
.maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item{
  color:var(--navy);padding:13px 14px;border-radius:9px;font-size:15px;font-weight:700}
.maxx .header .elementor-nav-menu--dropdown a.elementor-item:hover,
.maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item:hover{
  background:var(--light);color:var(--teal-600)}
.maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item{font-weight:600;font-size:14px}

/* keep the quote button until there genuinely isn't room */
@media(max-width:1024px){ .maxx .header .hdr-cta{display:block} }
@media(max-width:560px){ .maxx .header .hdr-cta{display:none} }
.maxx .header .container.nav{gap:16px}

/* topbar: let it wrap rather than squeeze, and drop the address first */
@media(max-width:1024px){
  .maxx .topbar .container{justify-content:center;text-align:center}
  .maxx .topbar .top-right{display:none}
}
@media(max-width:600px){
  .maxx .topbar .top-left{gap:14px;flex-wrap:wrap;justify-content:center}
  .maxx .topbar{font-size:12px}
}

/* comparison table: scrolls on small screens, with an affordance */
.maxx .tbl-wrap{position:relative;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  .maxx .tbl-wrap{overflow-x:auto;border-radius:14px}
  .maxx .tbl{min-width:640px}
  .maxx .tbl-wrap:after{content:"Scroll for the full table \\2192";
    display:block;font-size:12px;color:var(--muted);padding:8px 2px 0;position:sticky;left:0}
}

/* long email and lane strings must not force a scrollbar */
.maxx .aside-card .row b,.maxx .contact-row span,.maxx .info-card p{overflow-wrap:anywhere}

/* tighten oversized headings on the smallest screens */
@media(max-width:400px){
  .maxx h2{font-size:26px;letter-spacing:-.6px}
  .maxx .banner h1{font-size:27px;letter-spacing:-.8px}
  .maxx .hero h1{font-size:31px;letter-spacing:-1px}
  .maxx .e404 .code{font-size:64px;letter-spacing:-3px}
  .maxx .cta h2{font-size:22px}
}

/* ============================================================
   Mobile header
   Elementor only positions the dropdown absolutely when the widget
   has the "stretch" option (.elementor-nav-menu--stretch). Ours does
   not, so the open menu was laid out in normal flow inside a header
   with a fixed height — squeezed beside the burger and clipped.
   Anchor it under the header ourselves.
   ============================================================ */
.maxx .header{position:sticky;top:0;z-index:1000}
.maxx .header .container.nav{position:relative;height:100%;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between}

@media(max-width:1024px){
  .maxx .header .nav-links{position:static;flex:0 0 auto;width:auto;margin-left:auto}
  .maxx .header .elementor-menu-toggle{
    background:rgba(255,255,255,.10);border-radius:10px;padding:8px;
    width:42px;height:42px;color:#fff}
  .maxx .header .elementor-menu-toggle svg{fill:#fff;width:22px;height:22px}
  .maxx .header .elementor-menu-toggle.elementor-active{background:var(--cyan);color:#05282b}
  .maxx .header .elementor-menu-toggle.elementor-active svg{fill:#05282b}

  /* the panel drops below the whole header bar, full width */
  .maxx .header .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    position:absolute;left:0;right:0;top:100%;width:100%;
    margin-top:0;z-index:1200;
    background:#fff;padding:10px;
    border-radius:0 0 18px 18px;
    box-shadow:0 24px 44px rgba(6,40,42,.30)}
  /* only the OPEN state gets a height — closed state stays Elementor's */
  .maxx .header .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown{
    max-height:calc(100vh - 150px);overflow-y:auto}
  .maxx .header .elementor-nav-menu--dropdown .elementor-nav-menu{display:block}
  .maxx .header .elementor-nav-menu--dropdown .elementor-nav-menu li{border-bottom:1px solid var(--line)}
  .maxx .header .elementor-nav-menu--dropdown .elementor-nav-menu li:last-child{border-bottom:0}
  .maxx .header .elementor-nav-menu--dropdown a.elementor-item{
    color:var(--navy);padding:14px 14px;font-size:15px;font-weight:700;border-radius:9px}
  .maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item{
    color:var(--muted);padding:12px 14px 12px 26px;font-size:14px;font-weight:600}
  .maxx .header .elementor-nav-menu--dropdown a.elementor-item:hover,
  .maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
  .maxx .header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
    background:var(--light);color:var(--teal-600)}
}
@media(max-width:560px){
  .maxx .header{height:66px}
  .maxx .header .logo img{height:34px}
}

/* ============================================================
   Link hover colours
   Hello Elementor's reset.css ships `a:hover{color:#336}` — a near-black
   navy that outranks plain classes like .btn-primary. Every link and button
   went dark on hover, invisible on the dark teal footer, cards and buttons.
   Neutralise it, then restore the intended hovers at higher specificity.
   ============================================================ */
.maxx a:hover,.maxx a:active,.maxx a:focus{color:inherit}

/* inline text links (phone / email in copy) — underline gives the affordance */
.maxx p a,.maxx .legal a,.maxx li a{text-decoration:none}
.maxx p a:hover,.maxx .legal a:hover,.maxx li a:hover{
  color:var(--cyan);text-decoration:underline;text-underline-offset:3px}

/* dark surfaces: brighten, never darken */
.maxx .footer-links a:hover,.maxx .footer-bottom a:hover{color:#fff}
.maxx .footer-social a:hover{color:#04282a}
.maxx .contact-row a:hover,.maxx .footer-desc a:hover{color:var(--cyan)}
.maxx .aside-card a:not(.btn):hover,.maxx .aside-card .row a:hover{color:var(--cyan)}
.maxx .top-item a:hover,.maxx .social-mini a:hover{color:var(--cyan)}
.maxx .hero a:not(.btn):hover,.maxx .banner a:not(.btn):hover,
.maxx .cta a:not(.btn):hover,.maxx .stats a:not(.btn):hover{color:var(--cyan)}

/* buttons keep their own text colour on hover */
.maxx .btn-primary:hover,.maxx .btn-deep:hover,.maxx .elementor-button:hover,
.maxx .hdr-cta .elementor-button:hover,.maxx .maxx-form .elementor-button[type=submit]:hover{color:#fff}
.maxx .btn-outline:hover{color:var(--teal-900)}
.maxx .cta .btn-outline:hover{color:var(--teal-900)}

/* light surfaces */
.maxx .learn:hover{color:var(--cyan)}
.maxx .service-card a:not(.btn):hover,.maxx .info-card a:not(.btn):hover,.maxx .trust a:not(.btn):hover{color:var(--cyan)}
.maxx .faq a:not(.btn):hover,.maxx .copy a:not(.btn):hover,.maxx .spec a:not(.btn):hover{color:var(--cyan)}

/* header menu */
.maxx .header .nav-links .elementor-nav-menu a.elementor-item:hover{color:var(--cyan)}
.maxx .header .elementor-nav-menu--dropdown a.elementor-item:hover,
.maxx .header .elementor-nav-menu--dropdown a.elementor-sub-item:hover{color:var(--teal-600)}

/* keyboard focus must stay visible */
.maxx a:focus-visible,.maxx button:focus-visible,.maxx .elementor-button:focus-visible{
  outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}
