:root{
  --nash-red:#B3182D;
  --nash-deep-red:#8F1022;
  --nash-pine:#173F2F;
  --nash-deep-pine:#0F3024;
  --nash-cream:#FFF6ED;
  --nash-paper:#FFFAF5;
  --nash-ink:#231817;
  --nash-muted:#6A4C49;
  --nash-line:rgba(115,30,35,.16);
}
.nash-header-shell,.nash-hero,.nash-story,.nash-skip,.nash-how,.nash-included,.nash-gallery,.nash-availability,.nash-faq,.nash-quote,.nash-footer{font-family:"Bricolage Grotesque",sans-serif;box-sizing:border-box;border-radius:0!important}
.nash-header-shell *,.nash-hero *,.nash-story *,.nash-skip *,.nash-how *,.nash-included *,.nash-gallery *,.nash-availability *,.nash-faq *,.nash-quote *,.nash-footer *{box-sizing:border-box;border-radius:0!important}
.nash-fullbleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.nash-eyebrow{margin:0 0 15px;font-size:.72rem;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;font-weight:800}
.nash-hero h1,.nash-story h2,.nash-skip h2,.nash-how h2,.nash-included h2,.nash-gallery h2,.nash-availability h2,.nash-faq h2,.nash-quote h2,.nash-story blockquote,.nash-step-no,.nash-step-copy h3,.nash-marquee-track b,.nash-footer h3,.nash-header-brand{font-family:"Libre Baskerville",serif}
.nash-firework-cta{position:relative;isolation:isolate;overflow:visible!important}
.nash-firework-cta::before,.nash-firework-cta::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%!important;pointer-events:none;opacity:0;z-index:-1}
.nash-firework-cta::before{box-shadow:-34px -8px 0 #ffd56b,-22px -30px 0 #fff3c2,2px -37px 0 #ffb9c6,30px -22px 0 #fff3c2,38px 5px 0 #ffd56b,28px 29px 0 #fff3c2,2px 39px 0 #ffb9c6,-29px 27px 0 #fff3c2}
.nash-firework-cta::after{box-shadow:-46px -21px 0 #fff,-17px -46px 0 #ffd56b,18px -45px 0 #fff,47px -15px 0 #ffb9c6,44px 22px 0 #fff,16px 47px 0 #ffd56b,-20px 45px 0 #fff,-47px 15px 0 #ffb9c6}
.nash-firework-cta:hover::before{animation:nashCtaBurst .72s ease-out both}.nash-firework-cta:hover::after{animation:nashCtaBurst2 .86s .05s ease-out both}
@keyframes nashCtaBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}
@keyframes nashCtaBurst2{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(0)}35%{opacity:.95}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65) rotate(16deg)}}


/* Gravity Forms submit spark effect. The wrapper is used so the effect works for both input and button submits. */
.nash-gravity-firework-wrap{position:relative!important;overflow:visible!important;isolation:isolate!important}
.nash-gravity-firework-wrap::before,.nash-gravity-firework-wrap::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%!important;pointer-events:none;opacity:0;z-index:1}
.nash-gravity-firework-wrap::before{box-shadow:-34px -8px 0 #ffd56b,-22px -30px 0 #fff3c2,2px -37px 0 #ffb9c6,30px -22px 0 #fff3c2,38px 5px 0 #ffd56b,28px 29px 0 #fff3c2,2px 39px 0 #ffb9c6,-29px 27px 0 #fff3c2}
.nash-gravity-firework-wrap::after{box-shadow:-46px -21px 0 #fff,-17px -46px 0 #ffd56b,18px -45px 0 #fff,47px -15px 0 #ffb9c6,44px 22px 0 #fff,16px 47px 0 #ffd56b,-20px 45px 0 #fff,-47px 15px 0 #ffb9c6}
.nash-gravity-firework-wrap:hover::before{animation:nashCtaBurst .72s ease-out both}
.nash-gravity-firework-wrap:hover::after{animation:nashCtaBurst2 .86s .05s ease-out both}
.nash-gravity-firework-wrap .gform_button,.nash-gravity-firework-wrap input[type=submit],.nash-gravity-firework-wrap button[type=submit]{position:relative!important;z-index:2!important}

/* Back to top */
.nash-back-to-top{position:fixed;z-index:9998;display:grid;place-items:center;width:54px;height:54px;bottom:26px;border:1px solid var(--nash-cream)!important;background:var(--nash-pine);color:#fff;font-size:1.35rem;font-weight:800;line-height:1;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease,background-color .25s ease,color .25s ease;box-shadow:0 12px 34px rgba(15,48,36,.22)}
.nash-back-to-top.is-right{right:26px}.nash-back-to-top.is-left{left:26px}
.nash-back-to-top.is-visible,.elementor-editor-active .nash-back-to-top{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.nash-back-to-top:hover{background:var(--nash-red)}
.nash-back-to-top span{display:block;transform:translateY(-1px)}

/* Header — exact V2 structure */
.nash-header-shell{position:relative;z-index:999}
.nash-header-shell.is-sticky{position:sticky;top:0}
.nash-announcement{background:var(--nash-pine);color:#fff;text-align:center;padding:11px 18px;font-size:.76rem;line-height:1.5;letter-spacing:.18em;font-weight:800}
.nash-header-main{background:rgba(255,246,237,.96);backdrop-filter:blur(10px);border-bottom:1px solid #eadbd2;min-height:78px}
.nash-header-inner{width:100%;min-height:inherit;padding:17px 34px;display:grid;grid-template-columns:220px minmax(0,1fr) 220px;gap:28px;align-items:center}
.nash-header-brand{justify-self:start;font-size:1.75rem;line-height:1.2;color:var(--nash-deep-red);font-weight:700;text-decoration:none;display:inline-flex;align-items:center;min-width:0}.nash-header-logo-image{display:block;height:54px;width:auto;max-width:220px;object-fit:contain;object-position:left center}
.nash-header-nav{justify-self:center;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.nash-header-nav a,.nash-header-phone{font-size:.91rem;font-weight:700;color:#563a38;text-decoration:none;white-space:nowrap}
.nash-header-phone,.nash-header-cta,.nash-hero-phone,.nash-quote a[href^="tel:"]{font-family:"Bricolage Grotesque",Arial,sans-serif;font-style:normal;letter-spacing:0}
.nash-header-nav a:hover,.nash-header-phone:hover{color:var(--nash-red)}
.nash-header-actions{justify-self:end;min-width:220px;display:flex;justify-content:flex-end;gap:15px;align-items:center;font-weight:700}
.nash-header-cta{min-width:136px;background:var(--nash-red);color:#fff;padding:12px 16px;text-align:center;text-decoration:none;font-weight:800}
.nash-menu-toggle{display:none;background:transparent;color:var(--nash-deep-red);border:1px solid var(--nash-line);width:44px;height:44px;font-size:22px}

/* Hero — exact V2 structure */
.nash-hero{--nash-hero-left:43%;--nash-hero-height:740px;display:grid;grid-template-columns:var(--nash-hero-left) calc(100% - var(--nash-hero-left));min-height:var(--nash-hero-height);position:relative;border-bottom:14px solid var(--nash-pine);background:var(--nash-cream)}
.nash-hero-left{background:linear-gradient(160deg,#C51C36 0%,var(--nash-red) 50%,var(--nash-deep-red) 100%);color:#fff;padding:46px 44px 68px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:var(--nash-hero-height)}
.nash-hero-snowflake-mark{position:absolute;width:min(42vw,520px);height:auto;right:-150px;top:8%;color:rgba(255,255,255,.11);transform:rotate(8deg);pointer-events:none}
.nash-hero-copy{position:relative;z-index:2}
.nash-hero h1{font-size:clamp(3rem,5.25vw,5.65rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em;max-width:620px;font-weight:700;color:#fff}
.nash-hero h1 em{display:block;color:#ffd9df;font-weight:400;font-style:italic}
.nash-hero-lede{font-size:1rem;line-height:1.78;color:rgba(255,248,244,.93);max-width:570px;margin:0}
.nash-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:27px}
.nash-btn-cream{display:inline-flex;align-items:center;justify-content:center;background:var(--nash-cream);color:var(--nash-deep-red);padding:15px 20px;font-weight:800;text-decoration:none}
.nash-hero-phone{font-weight:800;color:#fff;text-decoration:none}
.nash-hero-trust{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25);margin-top:28px}
.nash-hero-trust span{padding:14px 16px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.9)}
.nash-hero-trust b{display:block;color:#fff}
.nash-hero-right{position:relative;overflow:hidden;min-height:var(--nash-hero-height)}
.nash-hero-decor-image{
  position:absolute;
  z-index:8;
  left:18px;
  bottom:52px;
  width:180px;
  max-width:none;
  height:auto;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 14px 24px rgba(20,4,8,.24));
  transform-origin:center bottom;
}
.nash-hero-decor-image.is-floating{animation:nashHeroDecorFloat 4.8s ease-in-out infinite}
@keyframes nashHeroDecorFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}

.nash-hero-slider,.nash-hero-slide,.nash-hero-image-shade{position:absolute;inset:0}
.nash-hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease,transform 7s ease;transform:scale(1.045)}
.nash-hero-slide.is-active{opacity:1;transform:scale(1)}
.nash-hero-image-shade{background:linear-gradient(180deg,rgba(20,9,10,.04),rgba(20,9,10,.24));pointer-events:none}
.nash-snow{position:absolute;inset:0;z-index:2;pointer-events:none;width:100%;height:100%}
.nash-hero-slide-meta{position:absolute;z-index:4;left:30px;bottom:82px;color:#fff;border-left:5px solid var(--nash-red);padding:10px 0 10px 16px;text-shadow:0 4px 18px rgba(0,0,0,.35)}
.nash-hero-slide-meta strong,.nash-hero-slide-meta span{display:block}.nash-hero-slide-meta strong{font-size:1.18rem;margin-bottom:4px}.nash-hero-slide-meta span{font-size:1rem}
.nash-hero-slide-meta.no-accent{border-left:0!important;padding-left:0!important}
.nash-hero-dots{position:absolute;z-index:4;right:28px;bottom:36px;display:flex;gap:8px}.nash-dot{width:10px;height:10px;background:rgba(255,255,255,.42);border:0;padding:0}.nash-dot.is-active{background:#fff}
.nash-hero-green-ribbon{position:absolute;z-index:5;left:0;right:0;bottom:0;background:var(--nash-pine);color:#fff;padding:11px 24px;text-align:center;font-size:.8rem;line-height:1.35;letter-spacing:.17em;font-weight:800}

/* Story */
.nash-story{padding:110px 5vw 120px;background:var(--nash-cream);color:var(--nash-ink)}
.nash-story-title{max-width:960px;margin:0 auto 42px;text-align:center}
.nash-story h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}
.nash-story .nash-eyebrow{color:var(--nash-red)}
.nash-story-layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.3fr .75fr .7fr;gap:0;align-items:center}
.nash-story-image-large img,.nash-story-image-small img{width:100%;height:560px;object-fit:cover}.nash-story-image-small img{height:400px}
.nash-story-copy{padding:0 42px}.nash-story-copy p{line-height:1.8;color:var(--nash-muted)}
.nash-story blockquote{font-size:1.35rem;line-height:1.55;margin:28px 0 0;padding:22px 0;border-top:4px solid var(--nash-red);border-bottom:1px solid var(--nash-line);color:var(--nash-deep-red)}

/* Skip */
.nash-skip{--nash-skip-left:42%;background:var(--nash-red);color:#fff;display:grid;grid-template-columns:var(--nash-skip-left) calc(100% - var(--nash-skip-left));min-height:720px}
.nash-skip-head{padding:70px 5vw;background:var(--nash-pine);display:flex;flex-direction:column;justify-content:center}
.nash-skip h2{font-size:clamp(2.7rem,4.8vw,5.2rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}
.nash-skip-head p:last-child{color:rgba(255,255,255,.84);line-height:1.8}
.nash-skip-list{display:grid;grid-template-columns:1fr 1fr;background:var(--nash-red)}
.nash-skip-list article{display:grid;grid-template-columns:90px 1fr;align-items:center;border-left:1px solid rgba(255,255,255,.27);border-bottom:1px solid rgba(255,255,255,.27);min-height:200px}
.nash-skip-list b{font-family:"Libre Baskerville",serif;font-size:2.2rem;text-align:center;color:#ffc4cd}.nash-skip-list span{padding:24px 30px;line-height:1.6;color:#fff}

/* How */
.nash-how{padding:0;background:var(--nash-paper);color:var(--nash-ink)}
.nash-how-layout{--nash-how-left:58%;display:grid;grid-template-columns:var(--nash-how-left) calc(100% - var(--nash-how-left));min-height:880px}
.nash-how-content{padding:92px 5vw}
.nash-how-head{max-width:820px;margin-bottom:34px}.nash-how h2{font-size:clamp(2.55rem,4.25vw,4.5rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-how .nash-eyebrow{color:var(--nash-red)}.nash-how-head>p:last-child{max-width:620px;line-height:1.8;color:var(--nash-muted)}
.nash-steps{max-width:900px;border-top:1px solid var(--nash-line)}
.nash-steps article{display:grid;grid-template-columns:120px 1fr;padding:28px 0;border-bottom:1px solid var(--nash-line)}
.nash-step-no{font-size:3.75rem;line-height:1;color:#d2beb1}.nash-step-copy small{letter-spacing:.16em;font-weight:800;color:var(--nash-red)}.nash-step-copy h3{font-size:2rem;line-height:1.15;margin:6px 0 8px}.nash-step-copy p{max-width:760px;line-height:1.75;color:var(--nash-muted);margin:0}
.nash-how-visual{position:relative;min-height:880px;background:var(--nash-pine);overflow:hidden}.nash-how-slider,.nash-how-slide,.nash-how-image-shade{position:absolute;inset:0}.nash-how-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.045);transition:opacity 1.1s ease,transform 7s ease}.nash-how-slide.is-active{opacity:1;transform:scale(1)}.nash-how-image-shade{background:linear-gradient(180deg,rgba(15,48,36,.02),rgba(15,48,36,.46))}
.nash-how-caption{position:absolute;left:30px;right:30px;bottom:34px;color:#fff;border-left:5px solid var(--nash-red);padding:12px 0 12px 16px;text-shadow:0 4px 18px rgba(0,0,0,.35);z-index:3}.nash-how-caption span{display:block;font-size:.72rem;letter-spacing:.18em;font-weight:800;color:#ffd8df;margin-bottom:6px}.nash-how-caption strong{display:block;font-family:"Libre Baskerville",serif;font-size:1.28rem;line-height:1.4;max-width:420px}
.nash-candy-cane{position:absolute;width:88px;height:auto;right:24px;top:28px;z-index:4;filter:drop-shadow(0 12px 15px rgba(0,0,0,.18));transform:rotate(10deg)}

/* Included */
.nash-included{--nash-included-photos:52%;display:grid;grid-template-columns:var(--nash-included-photos) calc(100% - var(--nash-included-photos));background:var(--nash-pine);color:#fff;min-height:900px}
.nash-included-photos{display:grid;grid-template-columns:1.35fr .65fr;align-items:stretch}.nash-included-photos img{width:100%;height:100%;object-fit:cover;min-height:inherit}.nash-included-copy{padding:70px 5vw}.nash-included h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-included-copy>p{line-height:1.8;color:rgba(255,255,255,.86)}.nash-included-lines{margin-top:30px}.nash-included-lines>div{display:grid;grid-template-columns:54px 1fr;gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.22)}.nash-included-lines b{color:#ffabb9}.nash-included-lines strong{display:block;color:#fff;margin-bottom:5px}.nash-included-lines span{color:rgba(255,255,255,.78);line-height:1.55}

/* Gallery */
.nash-gallery{padding:100px 0 110px;background:var(--nash-cream);overflow:hidden}.nash-gallery-head{padding:0 5vw 34px}.nash-gallery h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-gallery .nash-eyebrow{color:var(--nash-red)}.nash-gallery-head p:last-child{color:var(--nash-muted)}
.nash-marquee-wrap{display:flex;gap:18px;overflow:hidden}.nash-marquee-track{display:flex;gap:18px;min-width:max-content;animation:nashGalleryMove var(--nash-gallery-duration,36s) linear infinite}.nash-marquee-wrap.pause-hover:hover .nash-marquee-track{animation-play-state:paused}@keyframes nashGalleryMove{from{transform:translateX(0)}to{transform:translateX(calc(-100% - 18px))}}
.nash-marquee-track a{width:420px;height:520px;position:relative;overflow:hidden;flex:0 0 auto}.nash-marquee-track img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.nash-marquee-track a:hover img{transform:scale(1.05)}.nash-marquee-track a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.78))}.nash-marquee-track span{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff;display:grid;gap:5px}.nash-marquee-track b{font-size:1.65rem}

/* Availability */
.nash-availability{--nash-availability-left:40%;display:grid;grid-template-columns:var(--nash-availability-left) calc(100% - var(--nash-availability-left));background:var(--nash-red);color:#fff}.nash-availability-title{padding:70px 5vw;background:var(--nash-deep-red)}.nash-availability h2{font-size:clamp(2.8rem,4.8vw,5rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-route-list{display:grid;grid-template-columns:1fr 1fr;background:var(--nash-red)}.nash-route-list>div{padding:36px;border-left:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);display:grid;gap:8px;align-content:center;min-height:190px}.nash-route-list span{font-size:.74rem;letter-spacing:.18em;color:#ffcbd3;font-weight:800}.nash-route-list strong{font-size:1.3rem}.nash-route-list em{font-style:normal;color:rgba(255,255,255,.78)}

/* FAQ */
.nash-faq{--nash-faq-left:38%;padding:100px 5vw;display:grid;grid-template-columns:var(--nash-faq-left) calc(100% - var(--nash-faq-left));gap:70px;background:var(--nash-paper);color:var(--nash-ink)}.nash-faq-title{align-self:start;position:sticky;top:120px}.nash-faq h2{font-size:clamp(2.8rem,4.5vw,4.9rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-faq-list{border-top:1px solid var(--nash-line)}.nash-faq-item{border-bottom:1px solid var(--nash-line)}.nash-faq-q{width:100%;padding:24px 0;background:transparent;display:flex;justify-content:space-between;gap:20px;text-align:left;font-size:1.06rem;font-weight:800;color:var(--nash-ink);border:0}.nash-faq-q span{color:var(--nash-red);font-size:1.5rem}.nash-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;color:var(--nash-muted)}.nash-faq-item.is-open .nash-faq-a{grid-template-rows:1fr}.nash-faq-a>div{overflow:hidden;line-height:1.75}.nash-faq-item.is-open .nash-faq-a>div{padding:0 0 24px}

/* Quote */
.nash-quote{--nash-quote-image:56%;display:grid;grid-template-columns:var(--nash-quote-image) calc(100% - var(--nash-quote-image));min-height:740px;background:var(--nash-red);color:#fff}.nash-quote-image{position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;overflow:hidden}.nash-quote-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,7,7,.05),rgba(20,7,7,.55));z-index:1}.nash-quote-image-title{position:relative;z-index:3;padding:48px 5vw;max-width:720px}.nash-quote h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.97;margin:0 0 18px;letter-spacing:-.035em}.nash-quote-image-title p{color:rgba(255,255,255,.88)}.nash-quote-image-title a{text-decoration:underline}.nash-quote-form{padding:70px 5vw;background:var(--nash-red);display:flex;flex-direction:column;justify-content:center}.nash-quote-form>p{line-height:1.8;color:rgba(255,255,255,.88)}.nash-quote-form form{display:grid;gap:0;margin-top:18px;border-top:1px solid rgba(255,255,255,.28)}.nash-two{display:grid;grid-template-columns:1fr 1fr}.nash-quote-form input,.nash-quote-form textarea{width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28);padding:18px 14px;outline:none}.nash-quote-form input::placeholder,.nash-quote-form textarea::placeholder{color:rgba(255,255,255,.65)}.nash-quote-form textarea{min-height:140px;resize:vertical}.nash-quote-form button{background:var(--nash-pine);color:#fff;padding:18px;font-weight:800;letter-spacing:.08em;border:0}.nash-quote-form small{padding-top:14px;color:rgba(255,255,255,.68)}.nash-hp{position:absolute!important;left:-9999px!important}.nash-form-status{margin-top:12px;font-weight:700}.nash-form-status.is-success{color:#d6ffd9}.nash-form-status.is-error{color:#ffd2d8}

.nash-quote-form-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin:0 0 18px;
  position:relative;
  z-index:3;
}
.nash-quote-form-callout strong{
  display:block;
  color:#fff;
  font-family:"Libre Baskerville",serif;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.12;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.nash-quote-arrow-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  pointer-events:none;
}
.nash-quote-arrow-wrap.is-animated{animation:nashQuoteArrowPoint 1.35s ease-in-out infinite}
.nash-quote-arrow{
  display:block;
  width:122px;
  max-width:100%;
  height:auto;
  transform:rotate(88deg);
  transform-origin:center;
  filter:drop-shadow(0 10px 16px rgba(95,0,14,.24));
}
@keyframes nashQuoteArrowPoint{0%,100%{translate:0 0}50%{translate:0 8px}}


/* Footer */
.nash-footer{background:var(--nash-deep-pine);color:#fff;display:grid;grid-template-columns:1.1fr 1.8fr 1fr .8fr;gap:34px;padding:58px 5vw}.nash-footer h3{font-size:2rem;margin:0 0 10px}.nash-footer b{font-size:.75rem;letter-spacing:.17em}.nash-footer p{line-height:1.7;color:rgba(255,255,255,.76)}.nash-footer a{color:inherit}

/* Lightbox */
.nash-lightbox{position:fixed;inset:0;background:rgba(6,6,6,.93);z-index:99999;display:none;align-items:center;justify-content:center;padding:30px}.nash-lightbox.is-open{display:flex}.nash-lightbox figure{margin:0;max-width:min(92vw,1200px)}.nash-lightbox img{max-height:80vh}.nash-lightbox figcaption{color:#fff;text-align:center;margin-top:14px}.nash-lb-close,.nash-lb-prev,.nash-lb-next{position:absolute;width:52px;height:52px;background:#fff;color:var(--nash-deep-red);font-size:2rem;border:0}.nash-lb-close{top:22px;right:22px}.nash-lb-prev{left:22px}.nash-lb-next{right:22px}

/* Elementor editor: do not hide interactive preview */
.elementor-editor-active .nash-hero-slide,.elementor-editor-active .nash-how-slide{will-change:opacity,transform}

@media(max-width:1180px){
  .nash-header-inner{grid-template-columns:1fr;justify-items:center;padding:15px 22px}.nash-header-brand,.nash-header-nav,.nash-header-actions{justify-self:center}.nash-header-actions{min-width:0}.nash-menu-toggle{display:none}
  .nash-hero{grid-template-columns:1fr;min-height:auto}.nash-hero-left,.nash-hero-right{min-height:660px}.nash-hero-green-ribbon{position:relative;grid-column:1}.nash-hero-right{min-height:620px}
  .nash-story-layout{grid-template-columns:1fr 1fr}.nash-story-copy{order:3;grid-column:1/-1;padding:36px 0 0}
  .nash-skip,.nash-included,.nash-availability,.nash-quote,.nash-faq{grid-template-columns:1fr}.nash-faq-title{position:relative;top:auto}.nash-included{min-height:auto}.nash-included-photos{min-height:600px}.nash-quote-image{min-height:620px}
  .nash-how-layout{grid-template-columns:1fr}.nash-how-visual{min-height:620px}.nash-how-content{padding:80px 5vw}
  .nash-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nash-fullbleed{width:100vw;max-width:100vw}
  .nash-announcement{font-size:.68rem;line-height:1.5}.nash-header-inner{padding:14px 15px}.nash-header-nav{gap:12px;font-size:.86rem}.nash-header-actions{flex-wrap:wrap;justify-content:center}
  .nash-hero-left{min-height:660px;padding:38px 22px 64px}.nash-hero-right{min-height:500px}.nash-hero-snowflake-mark{width:500px;right:-260px;top:15%}.nash-hero h1{font-size:clamp(2.75rem,13vw,4.4rem)}.nash-hero-trust{grid-template-columns:1fr}.nash-hero-slide-meta{left:20px;bottom:78px}.nash-hero-green-ribbon{padding:11px 16px;font-size:.68rem}
  .nash-story{padding:78px 20px}.nash-story-layout{grid-template-columns:1fr}.nash-story-image-large img,.nash-story-image-small img{height:auto}.nash-story-copy{grid-column:auto;padding:30px 0}
  .nash-skip-list{grid-template-columns:1fr}.nash-skip-head{padding:58px 22px}.nash-skip-list article{grid-template-columns:70px 1fr;min-height:150px}
  .nash-how-content{padding:68px 22px}.nash-steps article{grid-template-columns:74px 1fr}.nash-step-no{font-size:2.8rem}.nash-how-visual{min-height:500px}.nash-candy-cane{width:66px;right:16px;top:18px}.nash-how-caption{left:20px;right:20px;bottom:24px}
  .nash-included-photos{grid-template-columns:1fr;min-height:auto}.nash-included-photos img{height:420px}.nash-included-copy{padding:58px 22px}
  .nash-marquee-track a{width:78vw;height:420px}.nash-gallery-head{padding:0 22px 30px}
  .nash-availability-title{padding:56px 22px}.nash-route-list{grid-template-columns:1fr}
  .nash-faq{padding:78px 22px;gap:34px}.nash-quote-image{min-height:560px}.nash-quote-image-title,.nash-quote-form{padding:48px 22px}.nash-two{grid-template-columns:1fr}
  .nash-footer{grid-template-columns:1fr;padding:48px 22px}.nash-lb-prev,.nash-lb-next{width:44px;height:44px;left:8px}.nash-lb-next{left:auto;right:8px}.nash-lb-close{top:10px;right:10px}
}


/* =========================================================
   Nash Lights 2.1 — responsive, FAQ, mobile header, GF fixes
   ========================================================= */

/* Never allow a Nash widget to create page-level horizontal scroll. */
html,
body{
  overflow-x:clip;
}
.elementor-widget-nash-header,
.elementor-widget-nash-hero,
.elementor-widget-nash-story,
.elementor-widget-nash-skip,
.elementor-widget-nash-how,
.elementor-widget-nash-included,
.elementor-widget-nash-gallery,
.elementor-widget-nash-availability,
.elementor-widget-nash-faq,
.elementor-widget-nash-quote,
.elementor-widget-nash-footer{
  min-width:0!important;
  max-width:100%!important;
}
.nash-header-shell,
.nash-hero,
.nash-story,
.nash-skip,
.nash-how,
.nash-included,
.nash-gallery,
.nash-availability,
.nash-faq,
.nash-quote,
.nash-footer{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
.nash-fullbleed{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.nash-header-inner>*,
.nash-hero>*,
.nash-story>*,
.nash-skip>*,
.nash-how>*,
.nash-included>*,
.nash-availability>*,
.nash-faq>*,
.nash-quote>*{
  min-width:0;
}

/* FAQ: clean editorial accordion, protected from theme/global button CSS. */
.nash-faq{
  overflow:hidden;
}
.nash-faq-title,
.nash-faq-list{
  min-width:0;
  max-width:100%;
}
.nash-faq h2{
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
.nash-faq-q,
.nash-faq-q:hover,
.nash-faq-q:focus{
  appearance:none!important;
  -webkit-appearance:none!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--nash-ink);
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
}
.nash-faq-q span{
  flex:0 0 auto;
  transition:transform .25s ease;
}
.nash-faq-item.is-open .nash-faq-q span{
  transform:rotate(180deg);
}
.nash-faq-a,
.nash-faq-a>div{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Gravity Forms inside Nash Quote */
.nash-gravity-wrap{
  width:100%;
  max-width:100%;
  margin-top:22px;
  color:#fff;
}
.nash-gravity-wrap .gform_wrapper,
.nash-gravity-wrap .gform_wrapper form{
  margin:0!important;
  max-width:100%!important;
}
.nash-gravity-wrap .gform_fields{
  display:grid;
  row-gap:14px;
  column-gap:14px;
}
.nash-gravity-wrap .gfield{
  min-width:0;
  margin:0!important;
}
.nash-gravity-wrap .gfield_label,
.nash-gravity-wrap .gform-field-label{
  color:#fff;
  display:block;
  margin:0 0 8px!important;
  font-weight:700;
}
.nash-gravity-wrap input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),
.nash-gravity-wrap textarea,
.nash-gravity-wrap select{
  width:100%!important;
  max-width:100%!important;
  min-height:52px;
  background:rgba(255,255,255,.06);
  color:#fff;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.34)!important;
  padding:14px 10px!important;
  outline:none!important;
  box-shadow:none!important;
  border-radius:0!important;
}
.nash-gravity-wrap textarea{
  min-height:130px;
  resize:vertical;
}
.nash-gravity-wrap input::placeholder,
.nash-gravity-wrap textarea::placeholder{
  color:rgba(255,255,255,.64)!important;
  opacity:1;
}
.nash-gravity-wrap select option{
  color:#231817;
}
.nash-gravity-wrap .gform_footer,
.nash-gravity-wrap .gform_page_footer{
  margin:18px 0 0!important;
  padding:0!important;
}
.nash-gravity-wrap .gform_button,
.nash-gravity-wrap input[type=submit],
.nash-gravity-wrap button[type=submit]{
  width:auto!important;
  min-width:190px;
  background:var(--nash-pine);
  color:#fff;
  border:0!important;
  padding:17px 22px!important;
  font-weight:800;
  letter-spacing:.06em;
  border-radius:0!important;
  box-shadow:none!important;
  cursor:pointer;
}
.nash-gravity-wrap .gform_button:hover,
.nash-gravity-wrap input[type=submit]:hover,
.nash-gravity-wrap button[type=submit]:hover{
  background:var(--nash-deep-pine);
  color:#fff;
}
.nash-gravity-wrap .gform_validation_errors{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#ffe0e4!important;
  padding:14px!important;
  margin:0 0 18px!important;
  box-shadow:none!important;
}
.nash-gravity-wrap .validation_message,
.nash-gravity-wrap .gfield_validation_message{
  color:#ffe0e4!important;
}
.nash-gravity-placeholder{
  border-top:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
  padding:22px 0;
  display:grid;
  gap:6px;
  color:#fff;
}
.nash-gravity-placeholder span{
  color:rgba(255,255,255,.75);
}

/* Laptop: keep the full desktop-style header instead of stacking it. */
@media (min-width:901px) and (max-width:1180px){
  .nash-header-inner{
    grid-template-columns:180px minmax(0,1fr) 180px!important;
    justify-items:stretch!important;
    gap:14px!important;
    padding:14px 18px!important;
  }
  .nash-header-brand{justify-self:start!important}
  .nash-header-nav{
    justify-self:center!important;
    display:flex!important;
    gap:14px!important;
    flex-wrap:nowrap!important;
  }
  .nash-header-actions{
    justify-self:end!important;
    min-width:0!important;
    display:flex!important;
  }
  .nash-header-nav a,
  .nash-header-phone{font-size:.83rem!important}
  .nash-header-phone{display:none}
  .nash-header-cta{min-width:118px}
  .nash-menu-toggle{display:none!important}
}

/* Mobile/tablet navigation = hamburger dropdown. */
@media (max-width:900px){
  .nash-header-main{
    min-height:auto!important;
  }
  .nash-header-inner{
    grid-template-columns:minmax(0,1fr) 44px!important;
    gap:12px!important;
    align-items:center!important;
    justify-items:stretch!important;
    padding:13px 16px!important;
  }
  .nash-header-brand{
    justify-self:start!important;
    font-size:1.45rem;
  }
  .nash-menu-toggle{
    display:flex!important;
    align-items:center;
    justify-content:center;
    justify-self:end;
    grid-column:2;
    grid-row:1;
    width:44px;
    height:44px;
    padding:0;
    background:transparent!important;
    border:1px solid rgba(115,30,35,.18)!important;
    color:var(--nash-deep-red)!important;
    font-size:22px;
    line-height:1;
  }
  .nash-header-nav,
  .nash-header-actions{
    display:none!important;
    grid-column:1/-1;
    width:100%;
  }
  .nash-header-shell.menu-open .nash-header-nav{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:0!important;
    margin-top:8px;
    border-top:1px solid #eadbd2;
  }
  .nash-header-shell.menu-open .nash-header-nav a{
    padding:14px 10px;
    border-bottom:1px solid #eadbd2;
    text-align:left;
    white-space:normal;
  }
  .nash-header-shell.menu-open .nash-header-nav a:nth-child(odd){
    border-right:1px solid #eadbd2;
  }
  .nash-header-shell.menu-open .nash-header-actions{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:14px;
  }
  .nash-header-shell.menu-open .nash-header-phone{
    display:block;
  }
  .nash-header-shell.menu-open .nash-header-cta{
    min-width:132px;
  }
}

/* More compact, safer mobile spacing. */
@media (max-width:760px){
  .nash-announcement{
    padding:9px 14px!important;
    font-size:.64rem!important;
    letter-spacing:.12em!important;
  }

  .nash-hero-left{
    min-height:auto!important;
    padding:32px 18px 50px!important;
  }
  .nash-hero-right{
    min-height:450px!important;
  }
  .nash-hero-actions{
    gap:12px!important;
  }
  .nash-hero-trust span{
    padding:11px 12px!important;
  }

  .nash-story{
    padding:58px 18px!important;
  }
  .nash-story-copy{
    padding:24px 0!important;
  }

  .nash-skip-head{
    padding:48px 18px!important;
  }
  .nash-skip-list article{
    padding:22px 18px!important;
    min-height:125px!important;
  }

  .nash-how-content{
    padding:52px 18px!important;
  }
  .nash-steps article{
    grid-template-columns:62px minmax(0,1fr)!important;
    gap:12px!important;
    padding:20px 0!important;
  }
  .nash-how-visual{
    min-height:440px!important;
  }

  /* The two Included images now stay side-by-side on phones. */
  .nash-included-photos{
    display:grid!important;
    grid-template-columns:1.15fr .85fr!important;
    min-height:0!important;
    height:320px!important;
    overflow:hidden!important;
  }
  .nash-included-photos img,
  .nash-included-photos .nash-inc-main,
  .nash-included-photos .nash-inc-side{
    width:100%!important;
    height:320px!important;
    min-height:0!important;
    object-fit:cover!important;
  }
  .nash-included-copy{
    padding:46px 18px!important;
  }
  .nash-included-lines>div{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:10px!important;
    padding:13px 0!important;
  }

  .nash-gallery{
    padding:64px 0 72px!important;
  }
  .nash-gallery-head{
    padding:0 18px 24px!important;
  }
  .nash-marquee-track a{
    width:76vw!important;
    height:360px!important;
  }

  .nash-availability-title{
    padding:42px 18px!important;
  }
  .nash-route-list>div{
    padding:22px 18px!important;
    min-height:118px!important;
  }

  .nash-faq{
    display:block!important;
    padding:54px 18px!important;
    gap:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .nash-faq-title{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 28px!important;
  }
  .nash-faq h2{
    font-size:clamp(2.35rem,12vw,3.6rem)!important;
    line-height:.98!important;
    max-width:100%!important;
  }
  .nash-faq-list{
    width:100%!important;
    max-width:100%!important;
  }
  .nash-faq-q{
    width:100%!important;
    padding:17px 0!important;
    gap:12px!important;
    font-size:1rem!important;
    line-height:1.35!important;
  }
  .nash-faq-a>div{
    font-size:.96rem!important;
    line-height:1.68!important;
  }
  .nash-faq-item.is-open .nash-faq-a>div{
    padding:0 0 18px!important;
  }

  .nash-quote{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .nash-quote-image{
    min-height:480px!important;
  }
  .nash-quote-image-title{
    padding:36px 18px!important;
  }
  .nash-quote-form{
    padding:40px 18px 44px!important;
  }
  .nash-gravity-wrap .gform_fields{
    grid-template-columns:1fr!important;
  }
  .nash-gravity-wrap .gform_button,
  .nash-gravity-wrap input[type=submit],
  .nash-gravity-wrap button[type=submit]{
    width:100%!important;
  }

  .nash-footer{
    padding:42px 18px!important;
  }
}

/* Elementor responsive-preview iframe should never get the ugly bottom scrollbar. */
.elementor-editor-active,
.elementor-editor-active body,
.elementor-editor-preview,
.elementor-editor-preview body{
  overflow-x:clip!important;
}
@supports not (overflow:clip){
  html,body{overflow-x:hidden!important}
  .nash-header-shell,.nash-hero,.nash-story,.nash-skip,.nash-how,.nash-included,.nash-gallery,.nash-availability,.nash-faq,.nash-quote,.nash-footer{overflow-x:hidden}
}


/* =========================================================
   Nash Lights 2.2 — final polish requested from live preview
   ========================================================= */

/* Hero: no pagination dots. Keep the route line perfectly centered. */
.nash-hero-dots,
.nash-dot{
  display:none!important;
}
.nash-hero-green-ribbon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  text-align:center!important;
  border:0!important;
  text-decoration:none!important;
  margin:0!important;
}

/* Included: one strong photo on the left, green editorial copy on the right. */
.nash-included{
  align-items:stretch!important;
}
.nash-included-photos{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  background:#0f3024;
}
.nash-included-photos .nash-inc-main{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center;
}
.nash-included-copy{
  min-width:0!important;
  align-self:stretch!important;
}

/* FAQ: clean two-column editorial layout with no theme button bleed. */
.nash-faq{
  grid-template-columns:minmax(280px,var(--nash-faq-left)) minmax(0,1fr)!important;
  gap:clamp(44px,5vw,92px)!important;
  align-items:start!important;
}
.nash-faq-title{
  min-width:0!important;
  max-width:620px!important;
}
.nash-faq-list{
  min-width:0!important;
  width:100%!important;
  border-top:1px solid var(--nash-line)!important;
  border-left:0!important;
  border-right:0!important;
}
.nash-faq-item{
  min-width:0!important;
  width:100%!important;
  border-left:0!important;
  border-right:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nash-faq-q,
.nash-faq-q:hover,
.nash-faq-q:focus,
.nash-faq-q:active{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  padding:20px 0!important;
  margin:0!important;
  background:none!important;
  background-color:transparent!important;
  color:var(--nash-ink)!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  text-align:left!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  line-height:1.45!important;
}
.nash-faq-q span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  color:var(--nash-red)!important;
  line-height:1!important;
  text-align:center!important;
}
.nash-faq-a{
  width:100%!important;
  min-width:0!important;
  color:var(--nash-muted)!important;
}
.nash-faq-a>div{
  width:100%!important;
  min-width:0!important;
  max-width:880px!important;
  overflow:hidden!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.nash-faq-a p{
  max-width:100%!important;
  margin:0!important;
}
.nash-faq-item.is-open .nash-faq-a>div{
  padding:0 0 22px!important;
}

/* Mobile header: logo + visible Quote CTA + hamburger. Menu opens below. */
@media (max-width:900px){
  .nash-header-inner{
    grid-template-columns:minmax(0,1fr) auto 44px!important;
    gap:10px!important;
    align-items:center!important;
    padding:12px 14px!important;
  }
  .nash-header-brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    min-width:0!important;
  }
  .nash-header-actions{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .nash-header-phone{
    display:none!important;
  }
  .nash-header-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:104px!important;
    padding:11px 13px!important;
    white-space:nowrap!important;
    font-size:.78rem!important;
  }
  .nash-menu-toggle{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:end!important;
  }
  .nash-header-nav{
    display:none!important;
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
  }
  .nash-header-shell.menu-open .nash-header-nav{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    margin-top:8px!important;
    border-top:1px solid #eadbd2!important;
  }
  /* CTA remains visible when dropdown opens; only nav expands. */
  .nash-header-shell.menu-open .nash-header-actions{
    display:flex!important;
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    padding:0!important;
  }
}

/* Phone: Story's two photos stay 50/50 with a clear white separation. */
@media (max-width:760px){
  .nash-story-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .nash-story-image-large,
  .nash-story-image-small{
    min-width:0!important;
    width:100%!important;
    background:#fff!important;
  }
  .nash-story-image-large img,
  .nash-story-image-small img{
    width:100%!important;
    height:260px!important;
    object-fit:cover!important;
  }
  .nash-story-copy{
    grid-column:1/-1!important;
    order:3!important;
    padding:24px 0 0!important;
  }

  /* Included now has a single image, then the green content area. */
  .nash-included{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .nash-included-photos{
    height:360px!important;
    min-height:360px!important;
  }
  .nash-included-photos .nash-inc-main{
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
  }
  .nash-included-copy{
    padding:42px 18px 48px!important;
  }

  /* FAQ mobile: compact, no horizontal overflow, readable headline. */
  .nash-faq{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    padding:48px 18px!important;
    overflow:hidden!important;
  }
  .nash-faq-title{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 24px!important;
  }
  .nash-faq h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(2.15rem,10.8vw,3.2rem)!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
  }
  .nash-faq-q{
    grid-template-columns:minmax(0,1fr) 24px!important;
    gap:12px!important;
    padding:16px 0!important;
    font-size:.98rem!important;
    line-height:1.4!important;
  }
  .nash-faq-q span{
    width:24px!important;
    min-width:24px!important;
    height:24px!important;
    font-size:1.25rem!important;
  }
  .nash-faq-a>div{
    max-width:100%!important;
    font-size:.95rem!important;
    line-height:1.68!important;
  }
  .nash-faq-item.is-open .nash-faq-a>div{
    padding:0 0 18px!important;
  }
}


/* Nash Lights 2.3 — optional Gravity Forms panel inside Hero slider */
.nash-hero-media{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.nash-hero-right.has-form .nash-hero-image-shade{
  background:linear-gradient(90deg,rgba(20,9,10,.04),rgba(20,9,10,.16) 46%,rgba(20,9,10,.34));
}
.nash-hero-form-overlay{
  position:absolute;
  z-index:7;
  top:50%;
  right:28px;
  transform:translateY(-50%);
  width:420px;
  max-width:calc(100% - 56px);
  max-height:calc(100% - 86px);
  overflow:auto;
  padding:26px;
  background:rgba(255,246,237,.96);
  color:#231817;
  box-shadow:0 24px 70px rgba(25,5,9,.24);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  scrollbar-width:thin;
}
.nash-hero-form-eyebrow{
  margin:0 0 8px;
  color:var(--nash-red);
  font-size:.72rem;
  line-height:1.35;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nash-hero-form-overlay h3{
  margin:0 0 10px;
  color:#231817;
  font-family:"Libre Baskerville",serif;
  font-size:clamp(1.55rem,2.1vw,2.2rem);
  line-height:1.06;
  letter-spacing:-.025em;
}
.nash-hero-form-intro{
  margin:0 0 18px;
  color:#6A4C49;
  font-size:.92rem;
  line-height:1.6;
}
.nash-hero-form-overlay .nash-gravity-wrap{
  color:#231817;
}
.nash-hero-form-overlay .gform_wrapper,
.nash-hero-form-overlay .gform_wrapper form{
  margin:0!important;
}
.nash-hero-form-overlay .gform_fields{
  display:grid!important;
  row-gap:12px!important;
}
.nash-hero-form-overlay .gfield{
  margin:0!important;
}
.nash-hero-form-overlay .gfield_label,
.nash-hero-form-overlay .gform-field-label{
  color:#231817;
  font-size:.78rem;
  font-weight:700;
  margin:0 0 5px!important;
}
.nash-hero-form-overlay input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),
.nash-hero-form-overlay textarea,
.nash-hero-form-overlay select{
  width:100%!important;
  min-height:44px;
  padding:11px 12px!important;
  background:#fff;
  color:#231817;
  border:1px solid rgba(115,30,35,.22)!important;
  outline:none!important;
  box-shadow:none!important;
}
.nash-hero-form-overlay textarea{
  min-height:88px;
  resize:vertical;
}
.nash-hero-form-overlay input::placeholder,
.nash-hero-form-overlay textarea::placeholder{
  color:rgba(35,24,23,.48)!important;
}
.nash-hero-form-overlay .gform_footer,
.nash-hero-form-overlay .gform_page_footer{
  margin:14px 0 0!important;
  padding:0!important;
}
.nash-hero-form-overlay .gform_button,
.nash-hero-form-overlay input[type=submit],
.nash-hero-form-overlay button[type=submit]{
  width:100%!important;
  min-height:48px;
  margin:0!important;
  padding:13px 16px!important;
  background:var(--nash-pine);
  color:#fff;
  border:0!important;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  transition:transform .2s ease,filter .2s ease;
}
.nash-hero-form-overlay .gform_button:hover,
.nash-hero-form-overlay input[type=submit]:hover,
.nash-hero-form-overlay button[type=submit]:hover{
  transform:translateY(-1px);
  filter:brightness(1.08);
}
.nash-hero-form-overlay .gform_validation_errors{
  margin:0 0 12px!important;
}

@media (max-width:1024px){
  .nash-hero-right.has-form{
    display:flex;
    flex-direction:column;
    min-height:0!important;
    overflow:visible;
    background:#FFF6ED;
  }
  .nash-hero-right.has-form .nash-hero-media{
    position:relative;
    inset:auto;
    flex:0 0 auto;
    min-height:560px;
  }
  .nash-hero-right.has-form .nash-hero-form-overlay{
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    width:100%;
    max-width:none;
    max-height:none;
    overflow:visible;
    box-shadow:none;
    border-top:1px solid rgba(115,30,35,.12);
  }
}

@media (max-width:767px){
  .nash-hero-right.has-form .nash-hero-media{
    min-height:460px;
  }
  .nash-hero-form-overlay{
    padding:24px 18px 26px;
  }
  .nash-hero-form-overlay h3{
    font-size:1.8rem;
  }
  .nash-hero-form-intro{
    font-size:.9rem;
  }
}

/* Nash Lights 2.3.1 — Gravity Forms authority layer.
   Intentionally uses !important so Gravity Forms / theme presets cannot repaint the Nash form.
   Elementor Nash widget color controls also emit !important and remain editable. */
.nash-hero-form-overlay{
  background:rgba(255,246,237,.96) !important;
  color:#231817 !important;
}
.nash-hero-form-overlay .nash-hero-form-eyebrow{color:var(--nash-red) !important;}
.nash-hero-form-overlay h3{color:#231817 !important;}
.nash-hero-form-overlay .nash-hero-form-intro{color:#6A4C49 !important;}

.nash-hero-form-overlay .gform_wrapper,
.nash-hero-form-overlay .gform_wrapper form,
.nash-hero-form-overlay .gform-theme,
.nash-hero-form-overlay .gform-theme--foundation,
.nash-hero-form-overlay .gform-theme--framework{
  background:transparent !important;
  color:#231817 !important;
  --gf-color-primary:var(--nash-pine) !important;
  --gf-color-primary-darker:var(--nash-deep-pine) !important;
  --gf-ctrl-bg-color:#fff !important;
  --gf-ctrl-color:#231817 !important;
  --gf-ctrl-border-color:rgba(115,30,35,.22) !important;
  --gf-form-gap-y:12px !important;
}
.nash-hero-form-overlay .gfield,
.nash-hero-form-overlay .gfield--type-name,
.nash-hero-form-overlay .gfield--type-email,
.nash-hero-form-overlay .gfield--type-phone,
.nash-hero-form-overlay .gfield--type-address{
  background:transparent !important;
  color:#231817 !important;
}
.nash-hero-form-overlay .gfield_label,
.nash-hero-form-overlay .gform-field-label,
.nash-hero-form-overlay .ginput_complex label,
.nash-hero-form-overlay .gfield_description{
  color:#231817 !important;
}
.nash-hero-form-overlay .gfield_required,
.nash-hero-form-overlay .gfield_required_text,
.nash-hero-form-overlay .gfield_required_asterisk{
  color:var(--nash-red) !important;
}
.nash-hero-form-overlay input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),
.nash-hero-form-overlay textarea,
.nash-hero-form-overlay select{
  width:100% !important;
  max-width:100% !important;
  min-height:44px !important;
  padding:11px 12px !important;
  background:#fff !important;
  background-color:#fff !important;
  color:#231817 !important;
  border:1px solid rgba(115,30,35,.22) !important;
  border-radius:0 !important;
  outline:none !important;
  box-shadow:none !important;
  -webkit-text-fill-color:#231817 !important;
}
.nash-hero-form-overlay textarea{min-height:88px !important;}
.nash-hero-form-overlay input::placeholder,
.nash-hero-form-overlay textarea::placeholder{
  color:rgba(35,24,23,.48) !important;
  -webkit-text-fill-color:rgba(35,24,23,.48) !important;
  opacity:1 !important;
}
.nash-hero-form-overlay .gform_button,
.nash-hero-form-overlay input[type=submit],
.nash-hero-form-overlay button[type=submit]{
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:13px 16px !important;
  background:var(--nash-pine) !important;
  background-color:var(--nash-pine) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-weight:800 !important;
  letter-spacing:.05em !important;
}
.nash-hero-form-overlay .gform_button:hover,
.nash-hero-form-overlay input[type=submit]:hover,
.nash-hero-form-overlay button[type=submit]:hover{
  background:var(--nash-deep-pine) !important;
  background-color:var(--nash-deep-pine) !important;
  color:#fff !important;
}

/* Quote widget Gravity Form: keep the red-panel design authoritative too. */
.nash-quote-form .nash-gravity-wrap .gfield_label,
.nash-quote-form .nash-gravity-wrap .gform-field-label,
.nash-quote-form .nash-gravity-wrap .ginput_complex label{
  color:#fff !important;
}
.nash-quote-form .nash-gravity-wrap input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),
.nash-quote-form .nash-gravity-wrap textarea,
.nash-quote-form .nash-gravity-wrap select{
  background:rgba(255,255,255,.06) !important;
  background-color:rgba(255,255,255,.06) !important;
  color:#fff !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.34) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  -webkit-text-fill-color:#fff !important;
}
.nash-quote-form .nash-gravity-wrap input::placeholder,
.nash-quote-form .nash-gravity-wrap textarea::placeholder{
  color:rgba(255,255,255,.64) !important;
  -webkit-text-fill-color:rgba(255,255,255,.64) !important;
  opacity:1 !important;
}
.nash-quote-form .nash-gravity-wrap .gform_button,
.nash-quote-form .nash-gravity-wrap input[type=submit],
.nash-quote-form .nash-gravity-wrap button[type=submit]{
  background:var(--nash-pine) !important;
  background-color:var(--nash-pine) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* =========================================================
   Nash Lights 2.4.1 — Gravity validation + compact desktop/tablet
   Keep the approved desktop composition through laptop/tablet,
   only switching to the stacked mobile composition below 768px.
   ========================================================= */

/* Gravity Forms — Quote panel validation must stay readable on red. */
.nash-quote-form .nash-gravity-wrap .gform_wrapper,
.nash-quote-form .nash-gravity-wrap .gform-theme,
.nash-quote-form .nash-gravity-wrap .gform-theme--foundation,
.nash-quote-form .nash-gravity-wrap .gform-theme--framework{
  --gf-color-danger:#fff1f3 !important;
  --gf-color-danger-rgb:255,241,243 !important;
  --gf-color-primary:var(--nash-pine) !important;
}
.nash-quote-form .nash-gravity-wrap .gfield_required,
.nash-quote-form .nash-gravity-wrap .gfield_required_text,
.nash-quote-form .nash-gravity-wrap .gfield_required_asterisk,
.nash-quote-form .nash-gravity-wrap .validation_message,
.nash-quote-form .nash-gravity-wrap .gfield_validation_message,
.nash-quote-form .nash-gravity-wrap .gfield_description.validation_message{
  color:#fff1f3 !important;
  -webkit-text-fill-color:#fff1f3 !important;
  opacity:1 !important;
  font-weight:700 !important;
}
.nash-quote-form .nash-gravity-wrap .gform_validation_errors{
  background:rgba(74,7,18,.20) !important;
  border:1px solid rgba(255,230,234,.72) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.nash-quote-form .nash-gravity-wrap .gform_validation_errors,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors h2,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors .gform_submission_error,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors .gform-icon,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors ul,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors li,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors a,
.nash-quote-form .nash-gravity-wrap .gform_validation_errors span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.nash-quote-form .nash-gravity-wrap .gform_validation_errors a{
  text-decoration:underline !important;
  text-decoration-color:rgba(255,255,255,.65) !important;
}
.nash-quote-form .nash-gravity-wrap .gfield_error input:not([type=submit]):not([type=button]):not([type=hidden]):not([type=checkbox]):not([type=radio]),
.nash-quote-form .nash-gravity-wrap .gfield_error textarea,
.nash-quote-form .nash-gravity-wrap .gfield_error select{
  border-bottom-color:#ffdce2 !important;
}

/* Gravity Forms — Hero cream panel validation uses the dark Nash red. */
.nash-hero-form-overlay .gform_wrapper,
.nash-hero-form-overlay .gform-theme,
.nash-hero-form-overlay .gform-theme--foundation,
.nash-hero-form-overlay .gform-theme--framework{
  --gf-color-danger:var(--nash-deep-red) !important;
}
.nash-hero-form-overlay .validation_message,
.nash-hero-form-overlay .gfield_validation_message,
.nash-hero-form-overlay .gfield_description.validation_message,
.nash-hero-form-overlay .gform_validation_errors,
.nash-hero-form-overlay .gform_validation_errors h2,
.nash-hero-form-overlay .gform_validation_errors .gform_submission_error,
.nash-hero-form-overlay .gform_validation_errors li,
.nash-hero-form-overlay .gform_validation_errors a{
  color:var(--nash-deep-red) !important;
  -webkit-text-fill-color:var(--nash-deep-red) !important;
  opacity:1 !important;
}
.nash-hero-form-overlay .gform_validation_errors{
  background:#fff0f2 !important;
  border:1px solid rgba(143,16,34,.28) !important;
  padding:12px 14px !important;
  box-shadow:none !important;
}

/* Keep the approved desktop structure on laptop + tablet, just scale it down. */
@media (min-width:768px) and (max-width:1366px){
  /* Header — same desktop structure, tighter. */
  .nash-header-inner{
    grid-template-columns:minmax(140px,185px) minmax(0,1fr) minmax(145px,185px) !important;
    justify-items:stretch !important;
    gap:14px !important;
    padding:13px 20px !important;
  }
  .nash-header-brand{justify-self:start !important;}
  .nash-header-logo-image{height:44px;max-width:175px;}
  .nash-header-nav{
    display:flex !important;
    grid-column:auto !important;
    grid-row:auto !important;
    justify-self:center !important;
    width:auto !important;
    gap:clamp(10px,1.35vw,20px) !important;
    flex-wrap:nowrap !important;
    margin:0 !important;
    border:0 !important;
  }
  .nash-header-nav a{font-size:clamp(.74rem,1.05vw,.88rem) !important;}
  .nash-header-actions{
    display:flex !important;
    grid-column:auto !important;
    grid-row:auto !important;
    justify-self:end !important;
    width:auto !important;
    min-width:0 !important;
    padding:0 !important;
    margin:0 !important;
  }
  .nash-header-phone{font-size:.78rem !important;}
  .nash-header-cta{min-width:112px !important;padding:11px 13px !important;font-size:.78rem !important;}
  .nash-menu-toggle{display:none !important;}

  /* Hero — stay left red / right image, never stack at laptop/tablet. */
  .nash-hero{
    display:grid !important;
    grid-template-columns:var(--nash-hero-left) calc(100% - var(--nash-hero-left)) !important;
    min-height:var(--nash-hero-height) !important;
  }
  .nash-hero-left,
  .nash-hero-right{
    min-height:var(--nash-hero-height) !important;
  }
  .nash-hero-left{padding:clamp(30px,3vw,42px) clamp(24px,3vw,36px) 58px !important;}
  .nash-hero h1{font-size:clamp(2.55rem,5.15vw,4.8rem);max-width:100%;}
  .nash-hero-lede{font-size:.93rem;line-height:1.72;}
  .nash-hero-actions{gap:12px;margin-top:20px;}
  .nash-hero-trust{grid-template-columns:1fr 1fr !important;margin-top:22px;}
  .nash-hero-trust span{padding:11px 12px;font-size:.78rem;}
  .nash-hero-slide-meta{left:22px;bottom:72px;}
  .nash-hero-green-ribbon{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    grid-column:auto !important;
  }

  /* Hero Gravity Form stays as an overlay on the image at tablet/laptop. */
  .nash-hero-right.has-form{
    display:block !important;
    min-height:var(--nash-hero-height) !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .nash-hero-right.has-form .nash-hero-media{
    position:absolute !important;
    inset:0 !important;
    min-height:0 !important;
  }
  .nash-hero-right.has-form .nash-hero-form-overlay{
    position:absolute !important;
    top:50% !important;
    right:18px !important;
    transform:translateY(-50%) !important;
    max-width:calc(100% - 36px) !important;
    max-height:calc(100% - 82px) !important;
    overflow:auto !important;
    box-shadow:0 20px 56px rgba(25,5,9,.22) !important;
  }

  /* Story — keep original 3-column editorial composition. */
  .nash-story{padding:76px 4vw 86px;}
  .nash-story-title{margin-bottom:30px;}
  .nash-story h2{font-size:clamp(2.4rem,4.6vw,4.35rem);}
  .nash-story-layout{
    grid-template-columns:minmax(0,1.22fr) minmax(250px,.78fr) minmax(0,.72fr) !important;
    gap:0 !important;
    align-items:center !important;
  }
  .nash-story-copy{
    order:initial !important;
    grid-column:auto !important;
    padding:0 clamp(22px,3vw,38px) !important;
  }
  .nash-story-copy p{font-size:.92rem;line-height:1.72;}

  /* Skip — preserve two-part desktop composition. */
  .nash-skip{
    grid-template-columns:var(--nash-skip-left) calc(100% - var(--nash-skip-left)) !important;
    min-height:620px !important;
  }
  .nash-skip-head{padding:54px 4vw !important;}
  .nash-skip h2{font-size:clamp(2.3rem,4.5vw,4.35rem);}
  .nash-skip-list{grid-template-columns:1fr 1fr !important;}
  .nash-skip-list article{grid-template-columns:68px 1fr !important;min-height:160px !important;}
  .nash-skip-list span{padding:18px 20px !important;font-size:.9rem;}

  /* How it works — keep text left + rotating image right. */
  .nash-how-layout{
    grid-template-columns:var(--nash-how-left) calc(100% - var(--nash-how-left)) !important;
  }
  .nash-how-content{padding:58px 4vw !important;}
  .nash-how h2{font-size:clamp(2.25rem,4.15vw,4rem);}
  .nash-steps article{grid-template-columns:88px 1fr;padding:20px 0;}
  .nash-step-no{font-size:2.75rem;}
  .nash-step-copy h3{font-size:1.5rem;}
  .nash-step-copy p{font-size:.9rem;line-height:1.66;}
  .nash-how-visual{min-height:inherit;}

  /* Included — one strong image left, green copy right, same as desktop. */
  .nash-included{
    grid-template-columns:var(--nash-included-photos) calc(100% - var(--nash-included-photos)) !important;
    min-height:720px;
  }
  .nash-included-photos{min-height:0 !important;height:auto !important;}
  .nash-included-photos .nash-inc-main{height:100% !important;min-height:100% !important;}
  .nash-included-copy{padding:54px 4vw !important;}
  .nash-included h2{font-size:clamp(2.35rem,4.55vw,4.25rem);}
  .nash-included-lines>div{padding:12px 0;}

  /* Availability — keep title left / 2x2 route grid right. */
  .nash-availability{
    grid-template-columns:var(--nash-availability-left) calc(100% - var(--nash-availability-left)) !important;
  }
  .nash-availability-title{padding:54px 4vw !important;}
  .nash-availability h2{font-size:clamp(2.35rem,4.45vw,4.2rem);}
  .nash-route-list{grid-template-columns:1fr 1fr !important;}
  .nash-route-list>div{min-height:150px;padding:24px !important;}

  /* FAQ — keep editorial two-column layout. */
  .nash-faq{
    display:grid !important;
    grid-template-columns:minmax(250px,var(--nash-faq-left)) minmax(0,1fr) !important;
    gap:clamp(30px,4vw,58px) !important;
    padding:72px 4vw !important;
  }
  .nash-faq-title{position:sticky !important;top:110px !important;}
  .nash-faq h2{font-size:clamp(2.35rem,4.3vw,4.15rem);}
  .nash-faq-q{padding:16px 0 !important;font-size:.96rem !important;}

  /* Quote — image left / Gravity form right. */
  .nash-quote{
    grid-template-columns:var(--nash-quote-image) calc(100% - var(--nash-quote-image)) !important;
    min-height:650px;
  }
  .nash-quote-image{min-height:0 !important;}
  .nash-quote-image-title{padding:38px 4vw !important;}
  .nash-quote-form{padding:46px 4vw !important;}
  .nash-quote h2{font-size:clamp(2.35rem,4.55vw,4.25rem);}

  /* Footer remains a compact desktop footer. */
  .nash-footer{
    grid-template-columns:1.1fr 1.8fr 1fr .8fr !important;
    gap:22px !important;
    padding:44px 4vw !important;
  }
}

/* Only phones switch to the vertically stacked composition. */
@media (max-width:767px){
  .nash-hero{grid-template-columns:1fr !important;min-height:auto !important;}
  .nash-hero-left{min-height:660px !important;}
  .nash-hero-right{min-height:500px !important;}
  .nash-hero-green-ribbon{position:relative !important;grid-column:1 !important;}

  .nash-how-layout{grid-template-columns:1fr !important;}
  .nash-skip,
  .nash-included,
  .nash-availability,
  .nash-quote,
  .nash-faq{grid-template-columns:1fr !important;}

  .nash-header-inner{
    grid-template-columns:minmax(0,1fr) auto 44px !important;
  }
  .nash-menu-toggle{display:flex !important;}
  .nash-header-nav{display:none !important;}
  .nash-header-shell.menu-open .nash-header-nav{display:grid !important;}
}


/* Nash Lights 2.5 — hero artwork + quote callout arrow */
@media (min-width:768px) and (max-width:1366px){
  .nash-hero-decor-image{max-width:34%;}
  .nash-quote-form-callout strong{font-size:clamp(1.15rem,1.75vw,1.55rem);}
}
@media (max-width:767px){
  .nash-hero-decor-image{
    max-width:38%;
    z-index:8;
  }
  .nash-quote-form-callout{
    align-items:center;
    margin-bottom:14px;
  }
  .nash-quote-form-callout strong{
    font-size:1.25rem;
    line-height:1.12;
  }
  .nash-quote-arrow-wrap.is-animated{animation-duration:1.55s;}
}
@media (prefers-reduced-motion:reduce){
  .nash-hero-decor-image.is-floating,
  .nash-quote-arrow-wrap.is-animated{animation:none!important;}
}


/* Nash Lights 2.6 — mobile-safe hero artwork + candy site effects */
.nash-hero-media .nash-hero-decor-image{
  position:absolute;
  z-index:8;
  pointer-events:none;
}
.nash-back-to-top img{
  display:block;
  width:82%;
  height:82%;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 4px 8px rgba(40,4,8,.22));
}
.nash-site-effects{
  position:absolute!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:0!important;
}

/* Candy-cane browser scrollbar. Firefox gets a solid fallback; WebKit gets the stripe. */
html.nash-candy-scrollbar{
  scrollbar-width:auto;
  scrollbar-color:var(--nash-scroll-red,#B3182D) var(--nash-scroll-white,#FFF6ED);
}
html.nash-candy-scrollbar::-webkit-scrollbar{
  width:var(--nash-scrollbar-width,14px);
  height:var(--nash-scrollbar-width,14px);
}
html.nash-candy-scrollbar::-webkit-scrollbar-track{
  background:var(--nash-scroll-white,#FFF6ED);
}
html.nash-candy-scrollbar::-webkit-scrollbar-thumb{
  background:
    repeating-linear-gradient(
      135deg,
      var(--nash-scroll-red,#B3182D) 0 9px,
      var(--nash-scroll-white,#FFF6ED) 9px 18px
    );
  border:2px solid var(--nash-scroll-white,#FFF6ED);
  border-radius:999px;
  min-height:48px;
}
html.nash-candy-scrollbar::-webkit-scrollbar-thumb:hover{
  filter:brightness(.97);
}
html.nash-candy-scrollbar::-webkit-scrollbar-corner{
  background:var(--nash-scroll-white,#FFF6ED);
}

/* Desktop lollipop cursor. Never enabled in Elementor editor or on touch devices. */
html.nash-candy-cursor-active,
html.nash-candy-cursor-active body,
html.nash-candy-cursor-active body *{
  cursor:none!important;
}
.nash-candy-cursor{
  position:fixed;
  z-index:2147483647;
  left:0;
  top:0;
  width:48px;
  height:48px;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-18%,-18%,0) scale(1);
  transform-origin:28% 28%;
  transition:opacity .16s ease, scale .16s ease, rotate .16s ease;
  will-change:left,top,transform;
}
.nash-candy-cursor.is-visible{opacity:1}
.nash-candy-cursor.is-hovering{
  scale:1.16;
  rotate:-8deg;
}
.nash-candy-cursor img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 5px 8px rgba(55,4,10,.24));
}

@media (max-width:767px), (hover:none), (pointer:coarse){
  .nash-candy-cursor{display:none!important}
  html.nash-candy-cursor-active,
  html.nash-candy-cursor-active body,
  html.nash-candy-cursor-active body *{
    cursor:auto!important;
  }
  .nash-hero-media .nash-hero-decor-image{
    z-index:8;
    max-width:none;
  }
}

/* Let Elementor responsive width controls fully own the decorative artwork width. */
.nash-hero-media .nash-hero-decor-image{max-width:none!important;}

/* =========================================================
   Nash Lights 2.6.1 — final candy CTA + lollipop Back to Top
   ========================================================= */

/* 5px red / white candy-cane frame around Gravity Forms submit buttons.
   The frame lives on the Gravity footer wrapper so it works with both
   <input type="submit"> and <button type="submit">. */
.nash-gravity-wrap .nash-gravity-firework-wrap{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  padding:5px!important;
  margin-top:18px!important;
  background:
    repeating-linear-gradient(
      135deg,
      #B3182D 0 8px,
      #B3182D 8px 10px,
      #FFF6ED 10px 18px,
      #FFF6ED 18px 20px
    )!important;
  border:0!important;
  box-shadow:0 10px 24px rgba(95,10,22,.12)!important;
  box-sizing:border-box!important;
}

.nash-gravity-wrap .nash-gravity-firework-wrap .gform_button,
.nash-gravity-wrap .nash-gravity-firework-wrap input[type=submit],
.nash-gravity-wrap .nash-gravity-firework-wrap button[type=submit]{
  margin:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Hero form uses a full-width submit, while the lower quote form keeps
   the candy CTA compact unless Gravity itself requests full width. */
.nash-hero-form-overlay .nash-gravity-firework-wrap{
  display:flex!important;
  width:100%!important;
}
.nash-hero-form-overlay .nash-gravity-firework-wrap .gform_button,
.nash-hero-form-overlay .nash-gravity-firework-wrap input[type=submit],
.nash-hero-form-overlay .nash-gravity-firework-wrap button[type=submit]{
  width:100%!important;
}

/* Back to Top defaults to the lollipop artwork itself — no generic square box. */
.nash-back-to-top.is-image{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.nash-back-to-top.is-image:hover{
  background:transparent!important;
}
.nash-back-to-top.is-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 7px 12px rgba(63,5,13,.28));
  transition:transform .24s ease,filter .24s ease;
}
.nash-back-to-top.is-image:hover img{
  transform:translateY(-3px) rotate(-5deg) scale(1.05);
  filter:drop-shadow(0 10px 16px rgba(63,5,13,.34));
}

@media (max-width:767px){
  .nash-gravity-wrap .nash-gravity-firework-wrap{
    width:100%!important;
    display:flex!important;
  }
  .nash-gravity-wrap .nash-gravity-firework-wrap .gform_button,
  .nash-gravity-wrap .nash-gravity-firework-wrap input[type=submit],
  .nash-gravity-wrap .nash-gravity-firework-wrap button[type=submit]{
    width:100%!important;
    min-width:0!important;
  }
}


/* =========================================================
   Nash Lights 2.6.2 — lower Gravity form polish + Back to Top fix
   ========================================================= */

/* The candy stripe belongs around the LOWER quote form box — never around
   a Gravity submit button. Reset the old 2.6.1 submit wrapper completely. */
.nash-gravity-wrap .nash-gravity-firework-wrap{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:18px 0 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Hero Gravity form stays clean/cream with no candy frame around the form. */
.nash-hero-form-overlay .nash-gravity-wrap{
  border:0!important;
  padding:0!important;
}

/* Lower Quote Gravity form: 5px red/white candy-cane frame around the FORM BOX. */
.nash-quote-form > .nash-gravity-wrap{
  border:5px solid transparent!important;
  border-image:repeating-linear-gradient(
    135deg,
    #B3182D 0 8px,
    #B3182D 8px 10px,
    #FFF6ED 10px 18px,
    #FFF6ED 18px 20px
  ) 5!important;
  padding:18px!important;
  margin-top:18px!important;
  box-sizing:border-box!important;
}

/* Lower/footer-style Quote submit is full width and its label is centered. */
.nash-quote-form .nash-gravity-wrap .gform_footer,
.nash-quote-form .nash-gravity-wrap .gform_page_footer,
.nash-quote-form .nash-gravity-wrap .nash-gravity-firework-wrap{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.nash-quote-form .nash-gravity-wrap .gform_button,
.nash-quote-form .nash-gravity-wrap input[type=submit],
.nash-quote-form .nash-gravity-wrap button[type=submit],
.nash-quote-form .nash-gravity-wrap .nash-gravity-firework-wrap .gform_button,
.nash-quote-form .nash-gravity-wrap .nash-gravity-firework-wrap input[type=submit],
.nash-quote-form .nash-gravity-wrap .nash-gravity-firework-wrap button[type=submit]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  text-align:center!important;
  justify-content:center!important;
  border:0!important;
  box-shadow:none!important;
}

/* Elementor containers must not clip the fixed Back to Top control. */
.elementor-widget-nash-back-to-top,
.elementor-widget-nash-back-to-top > .elementor-widget-container{
  position:static!important;
  overflow:visible!important;
  transform:none!important;
  z-index:999999!important;
}
.nash-back-to-top{
  position:fixed!important;
  z-index:999999!important;
  display:grid!important;
}

/* If an older saved widget is still set to Image, keep the artwork but add a
   clear arrow badge so the Back to Top action is unmistakable. */
.nash-back-to-top.is-image::after{
  content:"↑";
  position:absolute;
  top:-5px;
  right:-5px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--nash-red);
  color:#fff;
  border:2px solid var(--nash-cream);
  font-family:Arial,sans-serif;
  font-size:15px;
  font-weight:800;
  line-height:1;
  box-shadow:0 5px 12px rgba(80,7,16,.22);
  pointer-events:none;
}

/* Text/arrow mode gets a clean, obvious Nash control. */
.nash-back-to-top:not(.is-image){
  background:var(--nash-red)!important;
  color:#fff!important;
  border:2px solid var(--nash-cream)!important;
  box-shadow:0 12px 28px rgba(80,7,16,.20)!important;
}
.nash-back-to-top:not(.is-image):hover{
  background:var(--nash-pine)!important;
}
.nash-back-to-top:not(.is-image) span{
  font-family:Arial,sans-serif!important;
  font-size:1.25em!important;
  line-height:1!important;
  transform:none!important;
}

@media (max-width:767px){
  .nash-quote-form > .nash-gravity-wrap{
    padding:12px!important;
    border-width:4px!important;
  }
  .nash-back-to-top.is-image::after{
    width:21px;
    height:21px;
    font-size:13px;
  }
}


/* Nash Lights 2.6.3 — final mobile hero CTA + 2x2 trust grid */
@media (max-width:767px){
  .nash-hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
  }
  .nash-hero-actions .nash-btn-cream{
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    justify-content:center !important;
    text-align:center !important;
    padding:15px 18px !important;
  }
  .nash-hero-phone{
    width:100% !important;
    text-align:center !important;
    display:block !important;
  }
  .nash-hero-trust{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
  }
  .nash-hero-trust span{
    min-width:0 !important;
    padding:12px 10px !important;
    font-size:.8rem !important;
    line-height:1.4 !important;
  }
  .nash-hero-trust b{
    display:block !important;
  }
}


/* =========================================================
   Nash Lights 2.6.4 — client mobile fixes
   - Mobile hero can omit the large house image (default OFF in Elementor).
   - Hero order on phones is copy -> form -> centered route ribbon.
   - Story house photos show the complete lighting jobs instead of portrait crops.
   - Extra-small phones receive safer type/spacing without changing desktop/tablet.
   ========================================================= */

/* Keep the route message visually centered even when it wraps to two lines. */
.nash-hero-green-ribbon{
  box-sizing:border-box!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  text-wrap:balance;
}

@media (max-width:767px){
  /* HERO: the requested mobile composition is text first, then the form.
     The large background house is intentionally hidden by default. */
  .nash-hero{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
    border-bottom-width:10px!important;
  }
  .nash-hero-left{
    min-height:0!important;
    height:auto!important;
    padding:30px 18px 34px!important;
    justify-content:flex-start!important;
  }
  .nash-hero-copy{
    width:100%!important;
  }
  .nash-hero h1{
    font-size:clamp(2.55rem,11.8vw,3.8rem)!important;
    line-height:.98!important;
    margin-bottom:16px!important;
  }
  .nash-hero-lede{
    font-size:.95rem!important;
    line-height:1.68!important;
  }
  .nash-hero-actions{
    margin-top:22px!important;
  }
  .nash-hero-trust{
    margin-top:22px!important;
  }

  .nash-hero.mobile-media-off .nash-hero-media{
    display:none!important;
  }
  .nash-hero.mobile-media-off .nash-hero-right:not(.has-form){
    display:none!important;
    min-height:0!important;
  }
  .nash-hero.mobile-media-off .nash-hero-right.has-form{
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    background:var(--nash-cream)!important;
  }
  .nash-hero.mobile-media-off .nash-hero-right.has-form .nash-hero-form-overlay{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:28px 18px 30px!important;
    box-shadow:none!important;
    border:0!important;
  }

  /* If the editor deliberately turns the mobile house image back on,
     keep the existing image + form behavior instead of hiding it. */
  .nash-hero.mobile-media-on .nash-hero-right.has-form{
    min-height:0!important;
  }
  .nash-hero.mobile-media-on .nash-hero-right.has-form .nash-hero-media{
    display:block!important;
    min-height:clamp(330px,92vw,460px)!important;
  }

  .nash-hero-green-ribbon{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:72px!important;
    padding:15px 24px!important;
    margin:0!important;
    text-align:center!important;
    font-size:.68rem!important;
    line-height:1.55!important;
    letter-spacing:.14em!important;
  }

  /* STORY: show each full 4:3 home instead of cropping both into tall slices. */
  .nash-story{
    padding:56px 18px 60px!important;
  }
  .nash-story-title{
    margin-bottom:28px!important;
  }
  .nash-story h2{
    font-size:clamp(2.45rem,11.2vw,3.55rem)!important;
    line-height:1!important;
  }
  .nash-story-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }
  .nash-story-image-large,
  .nash-story-image-small{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .nash-story-image-large{order:1!important;}
  .nash-story-image-small{order:2!important;}
  .nash-story-copy{order:3!important;grid-column:1!important;padding:24px 0 0!important;}
  .nash-story-image-large img,
  .nash-story-image-small img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  /* Do not let Gravity/theme presets create narrow mobile controls. */
  .nash-hero-form-overlay .gform_wrapper,
  .nash-hero-form-overlay .gform_wrapper form,
  .nash-hero-form-overlay .gform_fields,
  .nash-hero-form-overlay .gfield,
  .nash-hero-form-overlay .ginput_complex,
  .nash-hero-form-overlay input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  .nash-hero-form-overlay select,
  .nash-hero-form-overlay textarea{
    max-width:100%!important;
  }
}

@media (max-width:420px){
  .nash-header-inner{padding-left:12px!important;padding-right:12px!important;gap:8px!important;}
  .nash-header-cta{min-width:0!important;padding:10px 11px!important;font-size:.72rem!important;}
  .nash-hero-left{padding-left:16px!important;padding-right:16px!important;}
  .nash-hero.mobile-media-off .nash-hero-right.has-form .nash-hero-form-overlay{padding-left:16px!important;padding-right:16px!important;}
  .nash-hero-green-ribbon{padding-left:18px!important;padding-right:18px!important;letter-spacing:.12em!important;}
  .nash-story{padding-left:16px!important;padding-right:16px!important;}
}
