:root{--blue:#075ed6;--navy:#061d39;--deep:#071a30;--light:#edf5ff;--green:#5b9d27;--text:#142338;--muted:#637085}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.55}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(1190px,92%);margin:auto}.header{position:sticky;top:0;background:#fff;z-index:50;box-shadow:0 2px 14px #0d29421a}.head-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{width:205px;height:auto}.nav{display:flex;gap:26px;font-size:13px;font-weight:700}.nav a:hover,.footer a:hover{color:#4db0ff}.header-call{color:#0557bb;text-align:right;font-size:17px;line-height:1.3}.header-call small{display:block;color:#5c6879;font-size:10px}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{color:#fff;background:linear-gradient(90deg,rgba(3,18,36,.9),rgba(3,24,49,.43)),url('../images/hero.jpg') center/cover no-repeat;padding:55px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(315px,.78fr);gap:48px;align-items:center}.eyebrow{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--blue)}.eyebrow.light{color:#b4dfff}.hero h1{font-size:clamp(38px,4.3vw,63px);line-height:1.07;letter-spacing:-1.8px;margin:16px 0 18px;max-width:680px}.hero-copy>p{max-width:525px;color:#f2f7ff;font-size:16px}.hero-points{list-style:none;padding:0;margin:24px 0}.hero-points li{font-size:14px;font-weight:750;margin:10px 0}.hero-points li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#47b84d;color:white;margin-right:10px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;border-radius:6px;background:var(--blue);color:#fff;font-weight:800;font-size:13px;text-align:center;min-height:50px}.btn.ghost{background:#071a3090;border:1px solid #fff}.btn.white{background:white;color:#0754bd}.quote-card{background:#fff;color:var(--text);border-radius:12px;overflow:hidden;box-shadow:0 14px 40px #0005;padding:28px;min-width:0}.quote-progress{height:5px;background:#e5ecf2;margin:-28px -28px 24px}.quote-progress span{display:block;background:var(--green);height:100%;width:33.333%;transition:width .2s}.quote-card h2{text-align:center;font-size:24px;margin:0 0 5px;line-height:1.2}.quote-sub{font-size:12px;color:var(--muted);text-align:center;margin:0 0 20px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:18px}.step-tab{text-align:center;border:1px solid #dbe4ec;background:#f7f9fc;border-radius:5px;font-size:10px;padding:10px 2px;font-weight:750;color:#687687}.step-tab.active{background:var(--green);color:#fff;border-color:var(--green)}.step-tab.done{color:var(--green);border-color:#acd58f}.form-step{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-step.active{display:grid}.form-step label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:11px;font-weight:750}.form-step label.wide{grid-column:1/-1}.form-step input:not([type=checkbox]),.form-step select,.form-step textarea{width:100%;min-width:0;max-width:100%;height:43px;padding:10px 11px;border:1px solid #dce3ea;border-radius:5px;background:#fbfcfe;color:#25354b;font-size:14px}.form-step textarea{height:auto}.form-step input[type=date]{-webkit-appearance:none;appearance:none}.form-step input[type=date]::-webkit-date-and-time-value{min-width:0}.form-step .consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:500;line-height:1.5;color:#4f5d70}.consent input{margin-top:3px;flex:none}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}.form-actions .next{background:var(--green);color:white;border:0;border-radius:5px;padding:12px 20px;font-size:13px;font-weight:800;margin-left:auto}.form-actions .back{background:white;border:1px solid #dce3ea;border-radius:5px;padding:12px 16px;font-size:13px}.form-actions [hidden]{display:none}.form-foot{text-align:center;color:#778394;font-size:10px;margin:13px 0 0}.trap{position:absolute;left:-9999px}.trust-strip{background:#fff;box-shadow:0 3px 15px #0001}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:23px 0}.trust-grid>div{display:flex;gap:13px;align-items:center;justify-content:center;padding:0 14px;border-right:1px solid #dfe6ee}.trust-grid>div:last-child{border:0}.trust-grid span{font-size:31px;color:var(--blue)}.trust-grid b{font-size:12px;line-height:1.3}.trust-grid small{display:block;color:#5e6d7f;font-size:9px;font-weight:500;margin-top:4px}section:not(.hero){padding:75px 0}.section-heading{text-align:center;margin-bottom:34px}.section-heading h2{font-size:clamp(27px,3vw,39px);line-height:1.15;margin:8px 0}.section-heading p{color:var(--muted);max-width:670px;margin:auto;font-size:14px}.why{background:linear-gradient(90deg,#fff 45%,#fffffff0 70%,#ffffff65),url('../images/why-us.jpg') right center/auto 100% no-repeat}.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;max-width:850px}.feature{background:#fffffff2;border:1px solid #dfe6ed;padding:20px;border-radius:7px;min-height:150px}.feature span{font-size:28px;color:var(--blue)}.feature h3{font-size:14px;margin:9px 0 6px}.feature p{font-size:12px;color:#5d6979;margin:0}.services{background:#eff6ff}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service{background:#fff;overflow:hidden;border-radius:9px;box-shadow:0 3px 18px #17375b13}.service img{width:100%;height:190px;object-fit:cover}.service-content{padding:19px;text-align:center}.service-icon{display:grid;place-items:center;background:#0963d6;color:#fff;width:43px;height:43px;border-radius:50%;margin:-40px auto 12px;position:relative;border:3px solid white}.service h3{font-size:16px;margin:7px 0}.service p{font-size:12px;color:var(--muted);min-height:39px}.service a{font-size:12px;color:var(--blue);font-weight:800}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;text-align:center}.process-grid>div{padding:12px}.number{display:inline-grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;height:29px;width:29px;font-weight:800}.process-icon{display:grid;place-items:center;background:#e7f1ff;color:var(--blue);border-radius:50%;font-size:27px;width:65px;height:65px;margin:0 auto 13px}.process h3{font-size:14px;margin:10px 0}.process p{font-size:12px;color:var(--muted)}.review-section{background:linear-gradient(90deg,#003c8ee8,#063b80e9),url('../images/hero.jpg') center/cover;color:white}.review-section .section-heading p{color:#d7e7ff}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.review-grid>div{background:#fff;color:var(--text);border-radius:8px;padding:28px;text-align:center}.review-grid h3{font-size:17px}.review-grid p{font-size:13px;color:var(--muted)}.review-note{text-align:center;font-size:11px;color:#bed6fa;margin-top:20px}.cta{background:var(--blue);color:white}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-size:22px;margin:0 0 5px}.cta p{font-size:13px;margin:0}.footer{background:var(--deep);color:white;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:32px}.footer-logo{width:185px;margin-bottom:15px}.footer p,.footer a{font-size:12px;color:#b5c8df}.footer a{display:block;margin-bottom:9px}.footer h3{font-size:14px;margin:0 0 18px}.footer-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:15px;margin-top:34px;padding-top:18px;font-size:11px;color:#b5c8df}.fineprint{font-size:10px;color:#9eafc5;margin-top:15px}.thankyou{min-height:70vh;display:grid;place-items:center}.thankyou-box{text-align:center;max-width:630px;padding:35px}.thankyou-check{display:inline-grid;place-items:center;width:65px;height:65px;border-radius:50%;background:#dff7e2;color:green;font-size:32px}.thankyou-box a:not(.btn){color:var(--blue)}.policy{padding:70px 0;max-width:760px}.policy p{color:#4f5f71}
@media(max-width:950px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:20px}.hero h1{font-size:42px}.nav{gap:12px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid{max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.why{background:#fff}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.head-inner{min-height:70px}.logo{width:155px}.menu-toggle{display:block;margin-left:auto}.header-call{display:none}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 20px #0002;flex-direction:column}.nav.open{display:flex}.hero{padding:45px 0;background-position:60% center}.hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}.hero h1{font-size:clamp(34px,8vw,48px)}.hero-form{width:100%;min-width:0}.quote-card{padding:22px 16px}.quote-progress{margin:-22px -16px 22px}.form-step,.form-step.active{grid-template-columns:minmax(0,1fr)}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.trust-grid>div{border:0;justify-content:flex-start}.why-grid,.service-grid,.review-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-inner{flex-direction:column;text-align:center}.cta-inner .btn{width:100%}.footer-grid{gap:25px}}
@media(max-width:480px){.wrap{width:92%}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%}.why-grid,.service-grid,.review-grid,.process-grid,.footer-grid{grid-template-columns:minmax(0,1fr)}.service img{height:210px}.trust-grid b{font-size:10px}.trust-grid span{font-size:24px}.footer-bottom{flex-direction:column}.form-step input,.form-step select{font-size:16px!important}.quote-card h2{font-size:22px}}

/* Northern hero redesign — desktop and mobile */
.header .head-inner{min-height:86px}.header .logo{width:220px}.header-call strong{font-size:20px;color:#0762d9}
.hero{position:relative;isolation:isolate;min-height:680px;display:flex;align-items:center;padding:50px 0 48px;background-image:linear-gradient(90deg,rgba(3,17,35,.90) 0%,rgba(3,23,46,.78) 33%,rgba(3,27,55,.27) 65%,rgba(3,24,47,.15) 100%),url('../images/hero.jpg');background-position:center,center 55%;background-size:cover,cover}
.hero-grid{width:min(1440px,92%);grid-template-columns:minmax(0,1.15fr) minmax(355px,440px);gap:clamp(28px,5vw,75px);align-items:center}
.hero-copy{max-width:690px;text-shadow:0 2px 9px #00162940}
.hero .eyebrow.light{color:#fff;letter-spacing:2.8px;font-size:12px}
.hero h1{font-size:clamp(43px,4.3vw,67px);font-weight:900;letter-spacing:-2.2px;line-height:1.08;max-width:700px;margin:18px 0 18px}
.hero-copy>p{max-width:515px;font-size:16px;line-height:1.65;color:#f5f9ff}
.hero-points{margin:22px 0 29px}.hero-points li{font-size:14px;margin:12px 0;display:flex;align-items:center;gap:11px}.hero-points li:before{flex:none;margin:0;width:25px;height:25px;background:#4dbb37;font-size:16px}
.hero-buttons .btn{min-height:55px;padding:14px 23px;font-size:14px;box-shadow:0 4px 12px #001c3930}.hero-buttons .btn.ghost{background:#081f3a70;border:2px solid #ffffffd9}
.hero-form{min-width:0}.hero-form .quote-card{padding:31px 28px 24px;border-radius:11px;box-shadow:0 20px 50px #0015286e}.hero-form .quote-progress{display:none}
.hero-form .quote-card h2{font-size:26px;font-weight:900;letter-spacing:-.8px}.hero-form .quote-sub{font-size:12px;line-height:1.5;margin:9px auto 22px;max-width:290px}
.hero-form .steps{gap:0;margin:15px 0 25px;position:relative}.hero-form .steps:before{content:'';position:absolute;top:17px;left:16%;right:16%;height:2px;background:#dce2e9;z-index:0}
.hero-form .step-tab{position:relative;z-index:1;background:transparent!important;border:0!important;color:#566276;font-size:0;padding:0 1px 0;font-weight:700;display:flex;flex-direction:column;align-items:center;gap:7px}
.hero-form .step-tab:before{content:'1';width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#e5e7eb;color:#536071;font-size:14px;box-shadow:0 0 0 5px #fff}
.hero-form .step-tab:nth-child(2):before{content:'2'}.hero-form .step-tab:nth-child(3):before{content:'3'}
.hero-form .step-tab:after{content:'Move Details';font-size:11px}.hero-form .step-tab:nth-child(2):after{content:'Location'}.hero-form .step-tab:nth-child(3):after{content:'Contact Info'}
.hero-form .step-tab.active:before,.hero-form .step-tab.done:before{background:#58a729;color:#fff}.hero-form .step-tab.active:after{color:#438c20}
.hero-form .form-step,.hero-form .form-step.active{grid-template-columns:minmax(0,1fr);gap:15px}.hero-form .form-step label{font-size:12px;gap:7px}
.hero-form .form-step input:not([type=checkbox]),.hero-form .form-step select{height:49px;background:#fff;font-size:14px;border-radius:6px}
.hero-form .form-actions{margin-top:24px}.hero-form .form-actions .next{background:linear-gradient(90deg,#559c26,#56bb28);min-width:142px;min-height:49px;box-shadow:0 3px 8px #214d1d25;font-size:14px}
.hero-form .form-step .consent{font-size:11px}
@media(max-width:1000px){.hero-grid{grid-template-columns:minmax(0,1fr) minmax(325px,390px);gap:22px}.hero h1{font-size:clamp(38px,4.4vw,50px)}.hero{min-height:640px}.header .logo{width:180px}}
@media(max-width:740px){.hero{min-height:0;padding:56px 0 38px;background-position:center,61% center;background-image:linear-gradient(90deg,rgba(3,17,35,.91),rgba(3,24,48,.66)),url('../images/hero.jpg')}.hero-grid{grid-template-columns:minmax(0,1fr);gap:34px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(36px,8.4vw,51px);letter-spacing:-1.4px}.hero-form .quote-card{max-width:520px;margin:auto}.hero-form .form-step,.hero-form .form-step.active{grid-template-columns:minmax(0,1fr)}.header .logo{width:165px}}
@media(max-width:480px){.hero .eyebrow.light{font-size:10px;letter-spacing:1.8px}.hero h1{font-size:37px}.hero-copy>p{font-size:14px}.hero-form .quote-card{padding:25px 17px}.hero-form .quote-card h2{font-size:23px}.hero-form .step-tab:after{font-size:10px}.hero-buttons .btn{width:100%}}

/* Mobile conversion and usability refinements — 2026-10-25 */
html{scroll-padding-top:100px}#quote,#services,#why,#process,#contact{scroll-margin-top:105px}
:focus-visible{outline:3px solid #ffbd46;outline-offset:3px}
@media(max-width:740px){
 .header .head-inner{min-height:66px;gap:10px}.header .logo{width:165px;max-width:55vw}
 .menu-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:6px;color:var(--navy)}
 .nav{top:66px;padding:16px 5%;gap:0;max-height:calc(100dvh - 66px);overflow:auto}
 .nav a{display:block;padding:13px 8px;border-bottom:1px solid #e7edf5;font-size:15px}
 .hero{padding:39px 0 38px;background-position:center,64% center;background-image:linear-gradient(90deg,rgba(3,17,35,.93),rgba(3,24,48,.77)),url('../images/hero.jpg')}
 .hero-grid{width:92%;gap:26px}.hero h1{font-size:clamp(33px,7.7vw,45px);line-height:1.12;margin:12px 0 13px}
 .hero-copy>p{font-size:15px;line-height:1.55}.hero-points{margin:17px 0 21px}
 .hero-points li{font-size:13px;margin:10px 0}.hero-buttons .btn{min-height:48px}
 .hero-form .quote-card{width:100%;max-width:540px;padding:23px 18px 21px}
 .hero-form .quote-card h2{font-size:23px}.hero-form .quote-sub{margin:7px auto 18px}
 .hero-form .steps{margin:12px 0 20px}.hero-form .step-tab:before{width:32px;height:32px}
 .hero-form .steps:before{top:16px}.hero-form .form-step,.hero-form .form-step.active{gap:12px}
 .hero-form .form-step input:not([type=checkbox]),.hero-form .form-step select,.hero-form .form-step textarea{font-size:16px;min-height:48px}
 .hero-form .form-actions .next,.hero-form .form-actions .back{min-height:48px}
 .trust-grid{gap:0;padding:13px 0}.trust-grid>div{padding:13px 8px;gap:9px;align-items:flex-start}
 .trust-grid b{font-size:11px}.trust-grid small{font-size:9px}
 section:not(.hero){padding:48px 0}.section-heading{margin-bottom:26px}.section-heading h2{font-size:clamp(27px,6vw,34px)}
 .why-grid,.service-grid,.review-grid{gap:15px}.feature{min-height:0}.service img{height:195px}
 .cta-inner{gap:20px}.footer{padding:42px 0 22px}
}
@media(max-width:480px){
 .hero{padding-top:31px}.hero h1{font-size:clamp(31px,8.6vw,38px)}
 .hero-buttons{gap:9px}.hero-buttons .btn{padding:12px 15px}
 .hero-form .quote-card{padding:22px 15px}.hero-form .step-tab:after{font-size:10px}
 .hero-form .form-actions{gap:8px}.hero-form .form-actions .next{min-width:0;flex:1}.hero-form .form-actions .back{padding:10px 13px}
 .trust-grid>div{padding:12px 5px}.trust-grid span{font-size:22px}
 .service img{height:auto;aspect-ratio:16/9;object-fit:cover}.service p{min-height:0}
 .process-grid{gap:12px}.process-grid>div{padding:8px 5px}
 .footer-grid{gap:20px}.footer-bottom{gap:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Mobile hero compact layout — 2026-10-25 v3
   Scoped to mobile so desktop layout and form behavior stay unchanged. */
@media (max-width:740px) {
  .header .head-inner { min-height:60px; }
  .header .logo { width:150px; max-width:52vw; }
  .nav { top:60px; max-height:calc(100dvh - 60px); }
  .hero { padding:26px 0 28px; background-position:center,72% center;
    background-image:linear-gradient(90deg,rgba(3,17,35,.93),rgba(3,24,48,.73)),url('../images/hero.jpg'); }
  .hero-grid { gap:18px; }
  .hero .eyebrow.light { font-size:10px; letter-spacing:1.5px; }
  .hero h1 { font-size:clamp(30px,7.6vw,42px); line-height:1.1; letter-spacing:-1.15px; margin:10px 0 10px; }
  .hero-copy>p { font-size:14px; line-height:1.48; margin:10px 0; }
  .hero-points { margin:12px 0 15px; }
  .hero-points li { font-size:12px; margin:7px 0; gap:9px; }
  .hero-points li:before { width:22px; height:22px; font-size:14px; }
  .hero-buttons { gap:8px; }
  .hero-buttons .btn { min-height:46px; padding:10px 14px; font-size:13px; }
  /* Quote form immediately follows benefits; redundant quote CTA is hidden on mobile. */
  .hero-buttons .btn:first-child { display:none; }
  .hero-form .quote-card { padding:20px 16px; }
  .hero-form .quote-card h2 { font-size:21px; }
  .hero-form .quote-sub { margin:6px auto 14px; }
  .hero-form .steps { margin:10px 0 16px; }
}
@media (max-width:480px) {
  .hero { padding-top:23px; }
  .hero h1 { font-size:clamp(29px,8vw,35px); }
  .hero-points li { font-size:12px; }
  .hero-form .quote-card { padding:19px 14px; }
}


/* ==========================================
   NORTHERN MOVING SYSTEMS
   MOBILE HERO REDESIGN
   ========================================== */

@media (max-width: 740px) {

  /* Hero layout */
  .hero {
    display: block;
    min-height: 0;
    padding: 0 0 34px;
    background: #061d39;
    color: #fff;
  }

  .hero-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
  }

  /* Hero image above the content */
  .hero-copy {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 260px 20px 25px;
    background-image:
      linear-gradient(
        to bottom,
        rgba(6,29,57,0) 0%,
        rgba(6,29,57,.12) 28%,
        rgba(6,29,57,.88) 63%,
        #061d39 85%
      ),
      url('../images/hero-mobile.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
  }

  .hero .eyebrow.light {
    color: #d8eaff;
    font-size: 10px;
    letter-spacing: 1.5px;
  }

  .hero h1 {
    max-width: 440px;
    font-size: clamp(32px, 8vw, 42px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -1.2px;
    margin: 12px 0 15px;
  }

  .hero-copy > p {
    max-width: 440px;
    color: #eef5ff;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 18px;
  }

  /* Benefits */
  .hero-points {
    margin: 16px 0 20px;
    padding: 0;
  }

  .hero-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
    font-size: 13px;
    font-weight: 650;
  }

  .hero-points li:before {
    width: 22px;
    height: 22px;
    flex: none;
    background: #45ae36;
  }

  /* Buttons */
  .hero-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .hero-buttons .btn {
    display: flex;
    width: 100%;
    min-height: 49px;
    padding: 12px 16px;
    font-size: 13px;
    border-radius: 6px;
  }

  /* Restore quote button hidden by old CSS */
  .hero-buttons .btn:first-child {
    display: flex;
    background: #075ed6;
  }

  .hero-buttons .btn.ghost {
    background: rgba(0, 0, 0, .16);
    border: 1px solid rgba(255, 255, 255, .85);
  }

  /* Quote form below hero content */
  .hero-form {
    width: calc(100% - 32px);
    max-width: 520px;
    margin: 18px auto 0;
  }

  .hero-form .quote-card {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 23px 18px;
    background: #fff;
    border-radius: 12px;
  }

  .hero-form .quote-card h2 {
    font-size: 22px;
    line-height: 1.25;
  }

  .hero-form .quote-sub {
    font-size: 12px;
    margin: 7px auto 18px;
  }

  .hero-form .form-step,
  .hero-form .form-step.active {
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
  }

  .hero-form .form-step input:not([type=checkbox]),
  .hero-form .form-step select,
  .hero-form .form-step textarea {
    width: 100%;
    min-height: 48px;
    font-size: 16px;
  }

  .hero-form .form-actions .next {
    min-height: 49px;
    background: #4da52a;
  }
}

@media (max-width: 480px) {

  .hero-copy {
    padding-top: clamp(230px, 65vw, 290px);
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero h1 {
    font-size: clamp(30px, 8vw, 36px);
  }

  .hero-form .quote-card {
    padding: 21px 16px;
  }
}

/* Mobile Hero - Space below image */
@media (max-width: 740px) {
  .hero-copy {
    padding-top: clamp(260px, 72vw, 330px);
  }

  .hero .eyebrow.light {
    display: block;
    margin-top: 22px;
  }
}

/* ==========================================
   NORTHERN MOVING SYSTEMS
   MOBILE SECTIONS - WHY US & SERVICES
   ========================================== */

@media (max-width: 740px) {

  /* WHY CHOOSE US */
  .why {
    background: #f7faff;
  }

  .why .section-heading {
    margin-bottom: 26px;
  }

  .why .section-heading h2 {
    color: #061d39;
    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -.7px;
  }

  .why .section-heading p {
    font-size: 14px;
    line-height: 1.6;
  }

  .why-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    max-width: 100%;
  }

  .why-grid .feature {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
    padding: 20px 18px;
    min-height: 0;
    background: #fff;
    border: 1px solid #e7edf5;
    border-radius: 10px;
    box-shadow: 0 3px 14px rgba(10, 39, 78, .04);
  }

  .why-grid .feature > span {
    grid-row: 1 / span 2;
    color: #075ed6;
    font-size: 29px;
    line-height: 1.2;
    text-align: center;
  }

  .why-grid .feature h3 {
    margin: 0 0 5px;
    color: #061d39;
    font-size: 15px;
    line-height: 1.35;
  }

  .why-grid .feature p {
    margin: 0;
    color: #637085;
    font-size: 12px;
    line-height: 1.55;
  }

  /* OUR SERVICES */
  .services {
    background: #edf5ff;
  }

  .services .section-heading h2 {
    color: #061d39;
    font-size: 30px;
    line-height: 1.2;
  }

  .services .section-heading p {
    font-size: 14px;
    line-height: 1.55;
  }

  .service-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .service {
    overflow: hidden;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(12, 42, 82, .08);
  }

  .service img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center;
  }

  .service-content {
    position: relative;
    padding: 19px 20px 22px;
    text-align: left;
  }

  .service-icon {
    position: absolute;
    top: -24px;
    right: 18px;
    width: 45px;
    height: 45px;
    margin: 0;
    border: 3px solid #fff;
    background: #075ed6;
    font-size: 19px;
  }

  .service h3 {
    margin: 0 45px 7px 0;
    color: #061d39;
    font-size: 17px;
    line-height: 1.35;
  }

  .service p {
    min-height: 0;
    margin: 0 0 12px;
    color: #637085;
    font-size: 13px;
    line-height: 1.55;
  }

  .service a {
    display: inline-block;
    color: #075ed6;
    font-size: 13px;
    font-weight: 800;
  }
}

/* ==========================================
   MOBILE WHY CHOOSE US - COMPACT FIX
   ========================================== */

@media (max-width: 740px) {

  /* Reduce gap after trust badges */
  .trust {
    padding-bottom: 0 !important;
  }

  .trust-grid {
    padding-bottom: 12px !important;
  }

  /* Remove excessive section spacing */
  section.why {
    padding: 38px 0 44px !important;
    margin-top: 0 !important;
  }

  .why .section-heading {
    margin: 0 auto 22px !important;
  }

  .why .section-heading h2 {
    font-size: clamp(26px, 6.5vw, 32px);
    line-height: 1.18;
    margin: 8px 0 10px;
  }

  .why .section-heading p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
  }

  /* Compact horizontal feature cards */
  .why-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .why-grid .feature {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    align-content: center;
    align-items: start;
    gap: 4px 14px;
    min-height: 0 !important;
    height: auto !important;
    padding: 17px 16px !important;
    text-align: left !important;
    border-radius: 10px;
  }

  .why-grid .feature > span:first-child {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    margin: 0 !important;
    font-size: 29px;
    line-height: 1;
  }

  .why-grid .feature h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    font-size: 15px;
    line-height: 1.3;
  }

  .why-grid .feature p {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    font-size: 12px;
    line-height: 1.45;
  }
}

/* ==========================================
   NORTHERN MOVING SYSTEMS
   MOBILE FINAL SECTIONS - OCT 2026
   ========================================== */

@media (max-width: 740px) {

  /* MOVING PROCESS */
  section.process {
    padding: 44px 0 48px !important;
    background: #fff;
  }

  .process .section-heading {
    margin-bottom: 26px;
  }

  .process .section-heading h2 {
    font-size: 30px;
    color: #061d39;
  }

  .process-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .process-grid > div {
    position: relative;
    padding: 24px 14px 20px;
    background: #f7faff;
    border: 1px solid #e4edf8;
    border-radius: 12px;
    text-align: center;
  }

  .process-grid .number {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 25px;
    height: 25px;
    font-size: 12px;
    background: #075ed6;
  }

  .process-icon,
  .process-icon.nms-svg-icon {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    margin: 10px auto 15px;
    border-radius: 50%;
    background: #e4f0ff;
    color: #075ed6;
  }

  .process-icon svg {
    width: 29px;
    height: 29px;
  }

  .process-grid h3 {
    font-size: 14px;
    line-height: 1.35;
    margin: 8px 0;
    color: #061d39;
  }

  .process-grid p {
    font-size: 12px;
    line-height: 1.55;
    margin: 0;
    color: #637085;
  }

  /* CUSTOMER EXPERIENCE */
  section.review-section {
    padding: 48px 0 !important;
    background:
      linear-gradient(
        135deg,
        rgba(3, 37, 82, .96),
        rgba(5, 75, 150, .94)
      ),
      url('../images/hero.jpg') center / cover;
  }

  .review-section .section-heading {
    margin-bottom: 25px;
  }

  .review-section .section-heading h2 {
    color: #fff;
    font-size: 29px;
    line-height: 1.2;
  }

  .review-section .section-heading p {
    color: #dceaff;
    font-size: 13px;
    line-height: 1.6;
  }

  .review-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
  }

  .review-grid > div {
    padding: 23px 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
    text-align: left;
  }

  .review-grid h3 {
    font-size: 17px;
    line-height: 1.3;
    margin: 0 0 9px;
    color: #061d39;
  }

  .review-grid p {
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
    color: #637085;
  }

  .review-note {
    margin-top: 20px;
    font-size: 11px;
    line-height: 1.5;
    color: #d4e6ff;
  }

  /* FINAL CTA */
  section.cta {
    padding: 42px 0 !important;
    background: #075ed6;
  }

  .cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    text-align: center;
  }

  .cta h2 {
    font-size: 25px;
    line-height: 1.25;
    margin: 0 0 10px;
    color: #fff;
  }

  .cta p {
    font-size: 14px;
    line-height: 1.55;
    color: #eaf3ff;
  }

  .cta .btn.white {
    width: 100%;
    max-width: 400px;
    min-height: 52px;
    border-radius: 7px;
    background: #fff;
    color: #075ed6;
    font-size: 14px;
  }

  /* FOOTER */
  .footer {
    padding: 42px 0 24px;
    background: #071a30;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 20px;
  }

  .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }

  .footer-logo {
    width: 180px;
    max-width: 75%;
    margin-bottom: 15px;
  }

  .footer h3 {
    font-size: 15px;
    margin: 0 0 15px;
    color: #fff;
  }

  .footer p,
  .footer a {
    font-size: 12px;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }

  .footer a {
    margin-bottom: 9px;
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 30px;
    padding-top: 20px;
    font-size: 11px;
    text-align: center;
  }

  .footer-bottom a {
    display: inline-block;
  }

  .fineprint {
    font-size: 10px;
    line-height: 1.6;
    margin-top: 20px;
    text-align: center;
  }
}

/* SMALL PHONES */
@media (max-width: 480px) {

  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .process-grid > div {
    padding: 24px 10px 18px;
  }

  .process-grid h3 {
    font-size: 13px;
  }

  .process-grid p {
    font-size: 11px;
  }

  .footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .footer-grid > div:first-child {
    grid-column: auto;
  }

  .cta h2 {
    font-size: 23px;
  }
}


/* ==========================================
   NMS MOBILE - CARE SECTION & FOOTER
   ========================================== */

@media (max-width: 740px) {

  /* CARE SECTION */
  section.review-section {
    position: relative;
    padding: 40px 0 24px !important;
    background:
      linear-gradient(
        180deg,
        rgba(4, 42, 94, .83),
        rgba(3, 39, 89, .97)
      ),
      url('../images/hero.jpg') center / cover no-repeat;
    color: #fff;
  }

  .review-section .section-heading {
    text-align: center;
    margin: 0 auto 24px !important;
  }

  .review-section .section-heading .eyebrow {
    color: #c7e2ff;
    font-size: 10px;
    letter-spacing: 1.6px;
  }

  .review-section .section-heading h2 {
    max-width: 300px;
    margin: 8px auto 10px;
    font-size: 27px;
    line-height: 1.15;
    letter-spacing: -.6px;
    color: #fff;
  }

  .review-section .section-heading p {
    max-width: 330px;
    margin: 0 auto;
    color: #e0ecff;
    font-size: 13px;
    line-height: 1.55;
  }

  /* THREE WHITE FEATURE CARDS */
  .review-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .review-grid > div {
    position: relative;
    min-height: 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 14px 15px 14px 70px !important;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,.07);
    text-align: left !important;
  }

  .review-grid > div::before {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #0868ed;
    color: #fff;
    font-size: 23px;
    font-weight: 800;
  }

  .review-grid > div:nth-child(1)::before {
    content: "✓";
  }

  .review-grid > div:nth-child(2)::before {
    content: "✓";
    background: #075ed6;
    clip-path: polygon(
      50% 0, 94% 17%, 88% 69%,
      50% 100%, 12% 69%, 6% 17%
    );
  }

  .review-grid > div:nth-child(3)::before {
    content: "◇";
    background: #e9f2ff;
    color: #0868ed;
    border: 2px solid #0868ed;
  }

  .review-grid h3 {
    margin: 0 0 3px !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
    color: #061d39;
  }

  .review-grid p {
    margin: 0 !important;
    font-size: 11px;
    line-height: 1.45;
    color: #637085;
  }

  .review-note {
    display: none;
  }

  /* QUOTE CTA */
  section.cta {
    padding: 20px 0 24px !important;
    background: #06366f;
  }

  .cta-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
  }

  .cta h2 {
    font-size: 22px;
    line-height: 1.2;
    color: #fff;
  }

  .cta p {
    font-size: 12px;
    color: #dceaff;
  }

  .cta .btn.white {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-height: 49px;
    padding: 12px 18px;
    border-radius: 7px;
    background: #0868ed;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
  }

  /* MOBILE FOOTER */
  footer.footer {
    padding: 36px 0 22px !important;
    background: #061629;
    color: #fff;
  }

  .footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 16px !important;
  }

  .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }

  .footer-grid > div:last-child {
    grid-column: 1 / -1;
  }

  .footer-logo {
    width: 170px;
    max-width: 70%;
    height: auto;
    margin-bottom: 13px;
  }

  .footer-grid > div:first-child p {
    max-width: 320px;
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
    color: #c2d0e0;
  }

  .footer h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
  }

  .footer a {
    display: block;
    margin-bottom: 7px;
    color: #c2d0e0;
    font-size: 11px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .footer p {
    font-size: 11px;
    line-height: 1.6;
    color: #c2d0e0;
  }

  .footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    margin-top: 28px;
    padding-top: 17px;
    border-top: 1px solid rgba(255,255,255,.13);
    text-align: center;
    font-size: 10px;
    line-height: 1.5;
  }

  .footer-bottom a {
    display: inline;
    font-size: 10px;
  }

  .fineprint {
    margin-top: 15px;
    font-size: 9px;
    line-height: 1.5;
    color: #93a8c0;
    text-align: center;
  }
}

/* ==========================================
   NORTHERN MOVING SYSTEMS
   MOBILE SLIDE-OUT NAVIGATION
   ========================================== */

/* Hide mobile-only elements on desktop */
@media (min-width: 741px) {
  .mobile-nav-home,
  .mobile-nav-experience,
  .mobile-nav-extra,
  .nav-icon {
    display: none !important;
  }
}

@media (max-width: 740px) {

  html {
    scroll-padding-top: 70px;
  }

  #experience {
    scroll-margin-top: 70px;
  }

  /* Header remains above menu */
  .header {
    position: sticky;
    top: 0;
    z-index: 100;
  }

  .menu-toggle {
    position: relative;
    z-index: 102;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 8px;
    border: 0;
    border-radius: 9px;
    background: #edf3fa;
    color: #061d39;
  }

  /* Slide-out menu panel */
  .header .nav {
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    bottom: 0;
    z-index: 101;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(86vw, 380px);
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    padding: 86px 22px 30px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    box-shadow: -15px 0 45px rgba(0, 17, 42, .18);
    transform: translateX(110%);
    visibility: hidden;
    transition:
      transform .28s ease,
      visibility .28s ease;
  }

  /* Existing JS uses .open */
  .header .nav.open {
    display: flex;
    visibility: visible;
    transform: translateX(0);
  }

  /* Menu links */
  .header .nav > a {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 60px;
    padding: 12px 4px;
    border-bottom: 1px solid #e7edf5;
    color: #061d39;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.3;
  }

  .header .nav > a:hover {
    color: #075ed6;
  }

  .nav-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    color: #075ed6;
    font-size: 23px;
    font-weight: 700;
  }

  /* Quote button */
  .mobile-nav-extra {
    display: block;
    padding-top: 23px;
  }

  .mobile-nav-quote {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px;
    border-radius: 8px;
    background: #075ed6;
    color: #fff !important;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 5px 15px rgba(7, 94, 214, .16);
  }

  /* Contact information */
  .mobile-nav-contact {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 23px;
    padding: 18px;
    border-radius: 10px;
    background: #f2f7ff;
  }

  .mobile-nav-contact span {
    color: #637085;
    font-size: 11px;
    font-weight: 600;
  }

  .mobile-nav-contact a {
    display: block;
    margin-bottom: 12px;
    color: #075ed6;
    font-size: 14px;
    font-weight: 750;
    overflow-wrap: anywhere;
  }

  .mobile-nav-contact a:last-child {
    margin-bottom: 0;
    font-size: 12px;
  }

  .mobile-nav-license {
    margin: 21px 0 0;
    color: #637085;
    font-size: 11px;
    line-height: 1.65;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .header .nav {
    transition: none;
  }
}

/* ==========================================
   NMS MOBILE MENU - COMPACT REFINEMENT
   ========================================== */

@media (max-width: 740px) {

  /* Compact navigation panel */
  .header .nav {
    padding: 74px 20px 24px !important;
    width: min(88vw, 370px);
  }

  /* Navigation items */
  .header .nav > a {
    min-height: 51px !important;
    padding: 10px 4px !important;
    gap: 13px;
    font-size: 14px !important;
  }

  .nav-icon {
    flex: 0 0 25px;
    width: 25px;
    font-size: 20px;
  }

  /* Quote button */
  .mobile-nav-extra {
    padding-top: 17px;
  }

  .mobile-nav-quote {
    min-height: 48px;
    padding: 12px 10px;
    font-size: 12px;
  }

  /* Compact contact box */
  .mobile-nav-contact {
    margin-top: 16px;
    padding: 15px;
    gap: 2px;
  }

  .mobile-nav-contact span {
    font-size: 10px;
  }

  .mobile-nav-contact a {
    margin-bottom: 9px;
    font-size: 13px;
    line-height: 1.4;
  }

  .mobile-nav-contact a:last-child {
    margin-bottom: 0;
    font-size: clamp(10px, 2.8vw, 12px);
    overflow-wrap: anywhere;
  }

  /* Licensing details */
  .mobile-nav-license {
    margin: 16px 0 0;
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
  }

  /* Hamburger transforms to close icon */
  .menu-toggle[aria-expanded="true"] {
    position: fixed;
    top: 12px;
    right: 16px;
    z-index: 105;
    width: 42px;
    height: 42px;
    background: #edf3fa;
    color: transparent;
    font-size: 0;
  }

  .menu-toggle[aria-expanded="true"] svg {
    opacity: 0;
  }

  .menu-toggle[aria-expanded="true"]::after {
    content: "×";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #061d39;
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
  }

  /* Avoid oversized links inside the menu */
  .header .nav .mobile-nav-contact a {
    min-height: 0;
    padding: 0;
    border: 0;
  }
}

/* ==========================================
   MOBILE NAV LOGO + LICENSE: CONSOLIDATED
   Replaces three conflicting license patches.
   ========================================== */
@media (min-width: 741px) {
  .mobile-nav-brand { display: none !important; }
}

@media (max-width: 740px) {
  .header .nav {
    padding-top: 20px !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .mobile-nav-brand {
    display: flex;
    align-items: center;
    min-height: 66px;
    margin: 0 48px 15px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5edf6;
  }
  .mobile-nav-brand img {
    display: block;
    width: 175px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .header .nav .mobile-nav-license {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100%;
    min-width: 0;
    margin: 16px 0 0 !important;
    padding: 12px 9px !important;
    border: 1px solid #dce9f8;
    border-radius: 10px;
    background: #f5f9ff;
    text-align: left !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .header .nav .license-shield {
    display: grid;
    place-items: center;
    width: 30px !important;
    height: 34px !important;
    min-width: 0;
    border-radius: 8px;
    background: #e0edff;
    color: #075ed6;
  }
  .header .nav .license-shield svg {
    width: 21px;
    height: 21px;
  }

  .header .nav .license-details {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: baseline !important;
    align-content: center !important;
    gap: 2px 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .header .nav .license-details strong {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 0 3px !important;
    color: #061d39 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  /* Both IDs share one compact row; no giant iOS auto-sized MC number. */
  .header .nav .license-details > span {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #637085 !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-transform: none !important;
  }
}


/* DESKTOP HEADER GUARD — hide mobile drawer content on wide screens */
@media screen and (min-width: 741px) {
  .header .nav {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 26px !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    visibility: visible !important;
  }
  .header .nav > a {
    display: inline-flex !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 13px !important;
  }
  .header .nav .mobile-nav-brand,
  .header .nav .mobile-nav-home,
  .header .nav .mobile-nav-experience,
  .header .nav .mobile-nav-extra,
  .header .nav .mobile-nav-license,
  .header .nav .nav-icon {
    display: none !important;
  }
  .header .menu-toggle { display: none !important; }
}

/* Compact hero buttons */
.hero-buttons .btn {
    padding: 14px 24px !important;
    font-size: 16px !important;
    min-height: 52px;
    line-height: 1.3;
}

/* Smaller phone icon */
.hero-buttons .btn.ghost .nms-svg-icon,
.hero-buttons .btn.ghost .nms-svg-icon svg {
    width: 16px !important;
    height: 16px !important;
}

/* Mobile adjustments */
@media (max-width: 767px) {
    .hero-buttons .btn {
        padding: 12px 18px !important;
        font-size: 15px !important;
        min-height: 48px;
    }
}

.hero-buttons .btn.ghost .nms-svg-icon {
    margin-right: 10px !important;
}


/* Northern Moving Systems - Blue Quote Form Theme */


/* ======================================
   NMS QUOTE FORM - FINAL BLUE THEME
   ====================================== */

/* Step numbers - active and completed */
.hero-form .quote-card .step-tab.active::before,
.hero-form .quote-card .step-tab.done::before {
    background: #075ed6 !important;
    color: #ffffff !important;
}

/* Step labels */
.hero-form .quote-card .step-tab.active::after,
.hero-form .quote-card .step-tab.done::after {
    color: #075ed6 !important;
}

/* Next and Submit buttons */
.hero-form .quote-card .form-actions .next {
    background: #075ed6 !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: #075ed6 !important;
}

/* Button hover */
.hero-form .quote-card .form-actions .next:hover {
    background: #054ba8 !important;
    border-color: #054ba8 !important;
}

/* Progress indicator */
.hero-form .quote-card .quote-progress span {
    background: #075ed6 !important;
}

/* Completed step indicators */
.hero-form .quote-card .step-tab.done {
    color: #075ed6 !important;
    border-color: #075ed6 !important;
}



/* Mobile footer: keep licensing IDs on their intended lines */
@media (max-width: 740px) {
    .footer .footer-grid > div:last-child p {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
}
/* Mobile Footer - MC Number Fix */
@media (max-width: 740px) {
    .footer-grid > div:last-child {
        grid-column: 1 / -1 !important;
    }

    .footer-grid > div:last-child p {
        white-space: normal;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .footer-grid > div:last-child p span {
        display: inline-block;
        white-space: nowrap !important;
    }
}

/* ==========================================
   NMS MOBILE FLOATING CALL BUTTON
   ========================================== */

/* Hidden on desktop */
.mobile-floating-call {
    display: none !important;
}

/* Visible on mobile */
@media (max-width: 740px) {

    .mobile-floating-call {
        position: fixed;
        bottom: calc(22px + env(safe-area-inset-bottom, 0px));
        right: 20px;
        z-index: 9999;

        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 58px;
        height: 58px;
        border-radius: 50%;

        background: #075ed6;
        color: #ffffff !important;

        box-shadow: 0 5px 18px rgba(0, 40, 100, 0.35);
        border: 2px solid rgba(255,255,255,0.25);

        text-decoration: none;
        transition: transform 0.2s ease;
    }

    .mobile-floating-call svg {
        width: 26px;
        height: 26px;
        stroke: #ffffff;
    }

    .mobile-floating-call:active {
        transform: scale(0.92);
    }
}
