@font-face{font-family:'DejaVu Sans';src:url('/fonts/DejaVuSans-Regular.public.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'DejaVu Sans';src:url('/fonts/DejaVuSans-Bold.public.woff2') format('woff2');font-weight:700 900;font-display:swap}
:root{--navy:#F6F2E8;--navy-light:#EDE8DC;--navy-dark:#E9E4D8;--gold:#12613B;--gold-light:#147247;--gold-dark:#104C30;--cream:#101114;--white:#101114;--text-muted:#4F554F;--cobalt:#1248CC;--brand-gold:#E9B934;--line:#CEC8BA}
*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--cream);font:14px/1.6 'DejaVu Sans',sans-serif;min-height:100dvh}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:var(--cobalt);text-underline-offset:4px}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}.container{width:min(1100px,100% - 40px);margin-inline:auto}nav{border-bottom:1px solid var(--line);background:var(--navy)}.nav-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-lockup{width:260px;display:block}.nav-actions,.nav-links{display:flex;align-items:center;gap:24px}.nav-links{list-style:none;padding:0}.nav-links a{color:var(--text-muted);text-decoration:none}.nav-login{display:inline-flex;border:1px solid var(--gold);padding:10px 14px;border-radius:6px;color:var(--gold);font-weight:700;text-decoration:none;font-size:12px}.hamburger{border:0;background:transparent;padding:10px;display:flex;flex-direction:column;gap:5px}.hamburger span{width:22px;height:2px;background:var(--gold)}.mobile-menu{position:fixed;inset:0;background:var(--navy);z-index:100;padding:90px 30px;display:none;flex-direction:column;gap:24px}.mobile-menu.open{display:flex}.mobile-menu a{font-size:20px}.mobile-close{position:absolute;right:20px;top:20px;border:1px solid var(--line);background:transparent;padding:10px;color:var(--gold)}.hero{padding:55px 0 60px}.hero-layout{max-width:760px}.hero h1{font-size:clamp(24px,4.2vw,43px);letter-spacing:-1.4px;line-height:1.2;margin:0 0 14px;white-space:nowrap}.hero-subtitle{font-size:18px;margin:0 0 16px;color:var(--gold)}.registration-badge{font-size:12px;display:flex;align-items:center;gap:10px;color:var(--gold);margin:0 0 24px}.registration-badge svg{width:24px;height:28px;flex-shrink:0}.quote-estimator{scroll-margin-top:20px}.estimator-card{padding:26px;border:1px solid var(--line);background:var(--navy-light);border-radius:10px;box-shadow:0 10px 32px #104c3008}.zip-grid,.pet-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-size:12px;font-weight:700}input,select{width:100%;padding:11px 12px;min-height:46px;margin-top:5px;background:var(--navy);color:var(--cream);border:1px solid #AFAE9E;border-radius:5px}input[type=radio],input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--gold);margin:0}fieldset{min-width:0;border:0;margin:0;padding:0}legend{font-size:12px;font-weight:700}.pet-row{padding-top:16px}.pet-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.pet-row-head legend{float:left}.text-button{border:0;padding:8px 0;background:transparent;color:var(--cobalt);font-size:12px;text-decoration:underline;text-underline-offset:3px}.service-toggle{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:1px solid var(--line);padding:4px;border-radius:6px;margin:13px 0 9px}.service-toggle label{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;padding:10px;cursor:pointer;border-radius:3px;color:var(--text-muted)}.service-toggle label:has(input:checked){background:var(--gold);color:var(--navy)}.service-toggle input{width:14px;min-height:14px;accent-color:var(--brand-gold)}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;border-radius:5px;min-height:48px;padding:12px 20px;font-weight:700;text-decoration:none;font-size:14px}.primary{border:1px solid var(--gold);background:var(--gold);color:var(--navy)}.primary:hover{background:var(--gold-dark)}.secondary{border:1px solid var(--line);background:transparent;color:var(--cobalt)}.full{width:100%}.contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.contact-buttons a{min-height:46px}.contact-buttons a:first-child{border-color:var(--cobalt)}.status{font-size:13px;color:var(--text-muted);margin:8px 0 0}.status:empty{display:none}.error{color:#9F3028}.result{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.result h2{font-size:16px;margin:0}.estimate-price{font-size:40px;font-weight:700;color:var(--gold);letter-spacing:-1.5px;margin:4px 0}.price-details{display:flex;gap:24px;padding:0;margin:4px 0 16px}.price-details div{flex:1}.price-details dt{font-size:11px;color:var(--text-muted)}.price-details dd{margin:0;font-weight:700;font-size:17px}.quote-detail{font-size:12px;padding:9px 0;border-bottom:1px solid var(--line)}.fine-print{font-size:11px;color:var(--text-muted)}.account-card{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.account-card h3{font-size:16px;margin:0 0 12px}.account-card .secondary{margin-top:10px;font-size:12px}.account-fields{display:grid;gap:12px;margin-top:16px}.auth-methods{display:flex;gap:20px;margin:16px 0}.auth-methods label{display:flex;align-items:center;gap:7px;font-size:12px}.section{padding:64px 0;border-top:1px solid var(--line)}.section h2{font-size:26px;line-height:1.25;letter-spacing:-.6px;margin:0 0 24px}.steps{display:flex;flex-direction:column;gap:14px;list-style:none;padding:0;margin:0;counter-reset:steps}.steps li{display:flex;align-items:center;gap:16px;font-size:15px}.steps li:before{counter-increment:steps;content:'0' counter(steps);font-size:12px;font-weight:700;color:var(--gold);border:1px solid var(--line);padding:8px 12px;border-radius:4px}.review-strip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;margin-bottom:12px;scrollbar-color:var(--gold) var(--navy-light)}.review-card{flex:0 0 80%;scroll-snap-align:start;border:1px solid var(--line);border-radius:8px;background:var(--navy-light);padding:24px;margin:0}.review-card p{margin:0 0 16px;font-size:14px}.review-card footer{border-top:1px solid var(--line);background:transparent;color:var(--gold);font-size:11px;padding:14px 0 0}.faq-list details{border-bottom:1px solid var(--line);padding:17px 0}.faq-list summary{font-weight:700;cursor:pointer;list-style-position:outside;margin-left:18px}.faq-list p{color:var(--text-muted);font-size:13px;padding-left:18px}.site-footer{background:#101114;color:#C8C9C2;padding:40px 0 25px}.site-footer .brand-lockup{width:260px;margin-bottom:20px}.footer-content{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-links{display:flex;gap:12px 20px;flex-wrap:wrap;max-width:430px;align-content:flex-start}.site-footer a{color:#E9B934;font-size:12px}.site-footer p{font-size:12px}.footer-bottom{margin-top:25px;padding-top:20px;border-top:1px solid #414342;font-size:11px}.loading-skeleton{height:84px;background:var(--navy-dark);border-radius:6px;animation:breathing 1.2s ease-in-out infinite}.route-intro{padding-block:25px}.route-intro h2{font-size:22px}.route-intro p{font-size:14px}.services-page section{padding:60px 0;scroll-margin-top:20px}.services-page h1{font-size:38px;letter-spacing:-1px}.section-header{max-width:750px;margin-bottom:28px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-weight:700}.section-title{font-size:28px;line-height:1.25;margin:10px 0 14px}.section-subtitle{color:var(--text-muted)}.features-grid,.services-grid,.content-grid,.pricing-flyers,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-card,.service-card,.content-grid article,.pricing-table,.contact-card{background:var(--navy-light);border:1px solid var(--line);padding:24px;border-radius:8px}.feature-card h3,.service-card h3,.content-grid h3{margin-top:0}.feature-card p,.service-card p,.content-grid p{font-size:13px;color:var(--text-muted)}.service-badge{font-size:11px;font-weight:700;color:var(--gold)}.service-features{padding-left:18px;font-size:13px}.service-features li{margin:8px 0}.rewards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.reward-tier{border-top:3px solid var(--gold);padding:18px;background:var(--navy-light)}.reward-tier h3{margin:0}.reward-points,.earning-points{color:var(--gold);font-weight:700}.reward-perk{font-size:12px}.rewards-earning{margin-top:25px}.earning-items{display:flex;gap:30px;flex-wrap:wrap}.earning-item{display:grid;font-size:12px}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.gallery-item{display:block;border-radius:6px;overflow:hidden;aspect-ratio:1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.gallery-item:hover img{transform:scale(1.04)}.pricing-table{padding:20px;overflow-x:auto}.solo-pricing-table{border-collapse:collapse;width:100%;font-size:12px}.solo-pricing-table th,.solo-pricing-table td{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}.pricing-note{font-size:13px;margin-top:25px}.service-contact{padding:35px;background:var(--gold);color:var(--navy);border-radius:8px}.service-contact a{color:var(--navy)}
.home-reviews .review-card:nth-child(n+4){display:none}
.route-landing .hero h1{white-space:normal;font-size:clamp(26px,4vw,43px)}
.route-landing .home-how,.route-landing .home-reviews,.route-landing .home-faq{display:none}
.route-landing .hero{min-height:0;padding-bottom:40px}
.services-page .gallery-item{position:relative;width:100%;padding:0;border:0;background:none;cursor:pointer}.gallery-item picture{display:block;width:100%;height:100%}
.lightbox{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:60px;background:rgba(16,17,20,.95)}
.lightbox.active{display:flex}.lightbox>img{max-width:100%;max-height:80dvh;object-fit:contain;border-radius:6px}
.lightbox-close,.lightbox-nav{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--brand-gold);border-radius:50%;background:#25272B;color:var(--navy);font-size:26px}
.lightbox-close{right:20px;top:20px}.lightbox-prev{left:8px;top:calc(50% - 22px)}.lightbox-next{right:8px;top:calc(50% - 22px)}.lightbox-status{position:absolute;bottom:10px;color:var(--navy);font-size:12px}
.faq-item{border-bottom:1px solid var(--line)}.faq-question{display:flex;justify-content:space-between;gap:20px;width:100%;padding:20px 0;text-align:left;border:0;background:transparent;color:var(--cream);font-weight:700}.faq-arrow{color:var(--gold)}.faq-answer{max-height:0;overflow:hidden;visibility:hidden}.faq-item.open .faq-answer{visibility:visible}.faq-answer p{padding:0 0 16px;margin:0;color:var(--text-muted);font-size:13px}
@keyframes breathing{50%{opacity:.4}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:900px){.review-card{flex-basis:44%}.home-how .container,.home-faq .container,.home-reviews .container{max-width:760px}}
@media(max-width:767px){.container{width:calc(100% - 32px)}.nav-inner{min-height:70px;gap:9px}.brand-lockup{width:45px}.nav-links{display:none}.nav-actions{gap:9px}.nav-login{display:inline-flex!important;padding:10px 12px;font-size:11px}.hamburger{padding:10px 3px}.hero{padding:26px 0 0;min-height:calc(100svh - 70px)}.hero h1{font-size:clamp(16px,4.55vw,28px);letter-spacing:-.65px;margin-bottom:10px}.hero-subtitle{font-size:14px;margin-bottom:12px}.registration-badge{font-size:9px;letter-spacing:-.15px;gap:6px;margin-bottom:17px;white-space:nowrap}.registration-badge svg{width:18px;height:22px}.estimator-card{padding:17px}.zip-grid,.pet-fields{gap:10px}input,select{font-size:16px;min-height:44px;padding:9px 10px}.pet-row{padding-top:12px}.service-toggle{margin-top:8px}.service-toggle label{padding:8px}.contact-buttons{margin-top:12px}.section{padding:40px 0}.section h2{font-size:23px}.review-card{flex-basis:92%;padding:20px}.steps li{font-size:12px;gap:10px}.steps li:before{font-size:10px;padding:6px 8px}.site-footer .brand-lockup{width:245px}.site-footer{padding:32px 0}.features-grid,.services-grid,.content-grid,.pricing-flyers,.contact-grid{grid-template-columns:1fr}.rewards-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.services-page section{padding:35px 0}.services-page h1{font-size:30px}}
