:root{--accent:#F5A7C8;--ink:#29252E;--soft:#FCF5F8;--slate:#66545E;--white:#fff;--line:#dce2e7;--accent-text:#29252E;--shell:min(1240px,calc(100% - 48px));--display:"Bricolage Grotesque",sans-serif;--body:"DM Sans",sans-serif;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.55 var(--body)}::selection{background:var(--accent);color:var(--accent-text)}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand>b{display:grid;place-items:center;width:44px;height:44px;background:var(--accent);color:var(--accent-text);font:800 13px var(--display)}.brand strong{display:block;font:800 15px/1 var(--display)}.site-header nav{display:flex;gap:30px}.site-header nav a{text-decoration:none;font-size:13px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:5px;background:var(--accent);color:var(--accent-text);font:700 14px var(--body);text-decoration:none;cursor:pointer;transition:transform 150ms var(--ease),filter 150ms ease}.button:hover{filter:brightness(.96)}.button:active{transform:scale(.97)}.button.small{min-height:42px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.hero-photo{height:600px;position:relative;overflow:hidden;background:var(--soft)}.hero-panel{position:absolute;inset:32px auto 32px 32px;width:min(465px,43%);padding:44px;display:flex;flex-direction:column;justify-content:center;background:var(--ink);color:var(--white)}.hero h1{margin:0;font:800 clamp(48px,4.5vw,62px)/.91 var(--display);letter-spacing:-.035em}.hero-foot{display:flex;justify-content:space-between;gap:30px;padding:23px 29px;background:var(--soft);font-size:13px}h2{margin:0;font:800 clamp(40px,5vw,67px)/.96 var(--display);letter-spacing:-.035em}h3{margin:0 0 6px;font:600 20px/1.15 var(--display)}.rates{padding:105px 0}.rates>header{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.rates header p{max-width:430px;margin:0;color:var(--slate)}.rate-choices{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.rate-choices>a{display:grid;grid-template-columns:1fr auto;align-items:end;padding:32px;text-decoration:none}.rate-choices>a+a{border-left:1px solid var(--line)}.rate-choices span{grid-column:1/-1;font-weight:600}.rate-choices strong{margin-top:12px;font:800 clamp(50px,6vw,78px)/1 var(--display)}.rate-choices em{padding-bottom:9px;color:var(--slate);font-size:12px;font-style:normal}.rate-choices b{grid-column:1/-1;margin-top:22px;color:var(--slate);font-size:12px;text-decoration:underline;text-underline-offset:5px}.rate-choices a:hover{background:var(--soft)}.rate-choices .featured{background:var(--accent);color:var(--accent-text)}.rate-choices .featured em,.rate-choices .featured b{color:var(--accent-text)}.process{padding:105px 0}.process h2{max-width:650px;margin-bottom:50px}.process ol{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.process li{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:28px 30px 0 0}.process li+li{padding-left:30px;border-left:1px solid var(--line)}.process li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--accent-text);font-weight:600}.process p{margin:0;color:var(--slate);font-size:14px}.field{display:flex;flex-direction:column}.field label,legend{margin-bottom:7px;font-size:12px;font-weight:600}input{width:100%;height:49px;padding:0 14px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);font:inherit;caret-color:var(--accent)}input::placeholder{color:#68737e}.invalid{border-color:#9b1c15}.error{min-height:17px;color:#9b1c15;font-size:11px}.faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:75px;padding:105px 0}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{position:relative;padding:21px 35px 21px 0;cursor:pointer;list-style:none;font-weight:600}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;font-size:21px}details[open] summary:after{content:"−"}.faq-list p{max-width:65ch;margin:0;padding:0 40px 21px 0;color:var(--slate);font-size:14px}footer{padding:50px 0;background:var(--ink);color:white}.footer-inner{display:flex;flex-direction:column;gap:34px}.footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px 46px}.footer-inner p{margin:0}.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 40px;padding-top:32px;border-top:1px solid #ffffff2b}.footer-col h2{margin:0;font:600 12px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#cbd4dc}.footer-col ul{display:flex;flex-direction:column;gap:11px;margin:15px 0 0;padding:0;list-style:none}.footer-col a,.footer-col span{color:var(--white);font-size:14px;text-decoration:none}.footer-col a:focus-visible{outline:3px solid var(--white);outline-offset:3px}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:24px;border-top:1px solid #ffffff2b;color:#cbd4dc;font-size:12px}
@media(max-width:900px){:root{--shell:min(100% - 30px,760px)}.site-header nav{display:none}.hero-photo{height:auto;display:flex;flex-direction:column;overflow:visible}.hero-panel{position:relative;inset:auto;width:100%;padding:40px}.hero h1{font-size:68px}.hero-foot,.rates>header{align-items:flex-start;flex-direction:column}.process ol{grid-template-columns:1fr}.process li,.process li+li{padding:25px 0;border-left:0;border-top:1px solid var(--line)}.quote-section,.faq{grid-template-columns:1fr;gap:42px}}
@media(max-width:580px){:root{--shell:calc(100% - 24px)}.site-header{height:70px}.site-header>.button{display:none}.hero-panel{padding:30px 23px}.hero h1{font-size:51px}.hero-foot{padding:19px}.rates,.process,.faq{padding-block:72px}.rate-choices{grid-template-columns:1fr}.rate-choices>a+a{border-left:0;border-top:1px solid var(--line)}.field{grid-column:1/-1}.footer-nav{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media(hover:hover){.footer-col a:hover{text-decoration:underline;text-underline-offset:4px}.site-header nav a:hover{text-decoration:underline;text-underline-offset:5px}}

/* Three-step quote journey. */
#quote{scroll-margin-top:24px}.hero-photo{height:760px}.hero-panel{inset:28px auto 28px 28px;width:min(600px,52%);padding:32px;justify-content:center}.hero h1{font-size:clamp(40px,3.4vw,52px);line-height:.98}.hero-form-card{margin-top:22px;padding:20px;background:var(--white);border-radius:18px;box-shadow:0 18px 50px #29252e1a}.form-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--line)}.progress-copy{display:flex;flex-direction:column}.progress-copy strong{font:600 15px/1.2 var(--display)}.progress-copy span{margin-top:3px;color:var(--slate);font-size:11px}.progress-track{display:flex;gap:6px}.progress-track i{width:24px;height:6px;border-radius:99px;background:var(--line);transition:background-color 240ms ease,width 300ms var(--ease)}.progress-track i.active{width:35px;background:var(--ink)}.hero-quote-form{margin-top:17px}.form-step[hidden]{display:none}.form-step h2{font:600 22px/1.15 var(--display);letter-spacing:-.025em}.step-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.contact-fields{grid-template-columns:1fr 1fr}.contact-fields .field:first-child{grid-column:1/-1}.hero-quote-form .field label{margin-bottom:5px}.hero-quote-form input,.hero-quote-form select{width:100%;height:45px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);font:400 14px var(--body)}.hero-quote-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.hero-quote-form input:focus,.hero-quote-form select:focus{border-color:var(--ink);outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.hero-quote-form .error{min-height:14px;font-size:10px}.step-next,.form-submit{min-height:45px;margin-top:6px}.form-step[data-step="1"]>.step-next{width:100%;margin-top:3px}.step-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:3px}.step-actions .button{min-width:145px}.step-back{min-height:42px;padding:0 4px;border:0;background:transparent;color:var(--ink);font:600 13px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.step-back:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.form-step.active{animation:step-arrive 380ms var(--ease) both}@keyframes step-arrive{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}

body.modal-open{overflow:hidden}.thank-you-modal[hidden]{display:none}.thank-you-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#29252ed9;cursor:pointer}.thank-you-card{position:relative;width:min(460px,100%);padding:42px 38px 36px;border-radius:26px;background:var(--white);color:var(--ink);text-align:center;box-shadow:0 30px 90px #0005;animation:modal-arrive 520ms var(--ease) both}.modal-close{position:absolute;top:13px;right:15px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font:400 25px/1 var(--body);cursor:pointer}.thank-you-logo{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 22px;border-radius:27px;background:var(--accent);color:var(--ink);transform-origin:center bottom;animation:thank-you-pop 880ms var(--ease) 100ms both,thank-you-happy 860ms ease-in-out 980ms infinite}.modal-kicker{margin:0 0 8px;color:var(--slate);font-size:13px;font-weight:600}.thank-you-card h2{font:800 42px/1 var(--display);letter-spacing:-.035em}.thank-you-card>p:not(.modal-kicker){margin:14px 0 5px}.thank-you-card>small{display:block;color:var(--slate);font-size:11px}.thank-you-card>.button{margin-top:24px;min-width:120px}@keyframes modal-arrive{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes thank-you-pop{0%{opacity:0;transform:translateY(20px) rotate(-10deg) scale(.65)}44%{opacity:1;transform:translateY(-13px) rotate(6deg) scale(1.09)}68%{transform:translateY(2px) rotate(-5deg) scaleX(1.08) scaleY(.92)}82%{transform:translateY(-4px) rotate(2deg) scale(.99)}100%{transform:translateY(0) rotate(-3deg) scale(1)}}@keyframes thank-you-happy{0%,100%{transform:translateY(0) rotate(-3deg) scale(1)}18%{transform:translateY(3px) rotate(-4deg) scaleX(1.08) scaleY(.92)}46%{transform:translateY(-14px) rotate(4deg) scaleX(.96) scaleY(1.05)}68%{transform:translateY(1px) rotate(-3deg) scaleX(1.06) scaleY(.94)}82%{transform:translateY(-4px) rotate(1deg) scale(.99)}}

@media(max-width:900px){.hero-photo{height:auto;flex-direction:column-reverse}.hero-panel{inset:auto;width:100%;padding:34px}.hero h1{font-size:56px}.hero-form-card{max-width:650px}}
@media(max-width:580px){.hero-panel{padding:25px 18px}.hero h1{font-size:41px}.hero-form-card{margin-top:18px;padding:17px}.step-fields,.contact-fields{grid-template-columns:1fr}.contact-fields .field:first-child{grid-column:auto}.progress-copy strong{font-size:14px}.progress-track i{width:18px}.progress-track i.active{width:27px}.step-actions .button{min-width:0;flex:1}.thank-you-card{padding:38px 24px 30px}.thank-you-card h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.form-step.active,.thank-you-card,.thank-you-logo{animation:none}.progress-track i{transition:none}}


/* Vehicle choice cards */
.rate-choices>a{display:block;overflow:hidden;padding:0;isolation:isolate}.rate-card-copy{padding:26px 30px 30px}.rate-card-copy>span{display:block;font:700 19px/1.2 var(--display)}.rate-price{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:10px}.rate-price strong{margin:0;font:800 clamp(50px,6vw,78px)/1 var(--display);font-variant-numeric:tabular-nums}.rate-price em{padding-bottom:9px;color:var(--slate);font-size:12px;font-style:normal}.featured .rate-price em{color:var(--accent-text)}.rate-card-copy>b{display:inline-block;margin-top:22px;color:var(--ink);font-size:14px;text-decoration:underline;text-underline-offset:5px}.rate-choices>a:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:580px){.rate-card-copy{padding:23px}.rate-price{gap:8px}.rate-price strong{font-size:52px}.rate-price em{padding-bottom:6px}.rate-choices>a{border-radius:20px}}

/* Higgsfield vehicle media */
.truck-media{position:relative;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;background:var(--soft);border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.truck-media video,.truck-media img{display:block;width:100%;height:100%;object-fit:cover}.truck-media video{position:absolute;inset:0;opacity:0;transition:opacity .25s ease}.truck-media video.is-ready{opacity:1}.truck-media img{display:block}.rate-choices>.featured .truck-media{background:var(--accent)}


@media(prefers-reduced-motion:reduce){.truck-media video{display:none;transition:none}.truck-media img{display:block}}

/* Hero art direction: the full composition stays on desktop, while stacked layouts crop to the photographed action. */
.hero-visual{position:absolute;inset:0;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:72% center}
@media(max-width:900px){.hero-visual{position:relative;inset:auto;flex:0 0 auto;width:100%;height:auto;aspect-ratio:1.35;overflow:hidden}.hero-visual img{position:absolute;right:0;bottom:0;width:146%;max-width:none;height:146%;object-fit:cover;object-position:right bottom}.hero-panel{z-index:1}}

/* Confirmed vehicle inclusions */
.vehicle-size{font-weight:800;color:var(--ink)}.move-inclusions{margin-top:24px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.move-inclusions h3{margin:0 0 13px;font:700 15px/1.2 var(--display)}.move-inclusions ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:0;padding:0;list-style:none}.move-inclusions li{position:relative;padding-left:19px;color:var(--slate);font-size:13px;line-height:1.35}.move-inclusions li:before{content:"✓";position:absolute;left:0;color:var(--ink);font-weight:800}.featured .move-inclusions li{color:var(--accent-text)}.rate-card-copy>b{margin-top:25px}.rate-price strong{font-size:clamp(48px,5.5vw,72px)}
@media(max-width:900px){.move-inclusions ul{grid-template-columns:1fr}}
@media(max-width:580px){.move-inclusions ul{grid-template-columns:1fr 1fr}.move-inclusions li{font-size:12px}.rate-price strong{font-size:50px}}

/* Vehicle card hierarchy */
.rate-choices>a{display:flex;flex-direction:column}.rate-card-copy{display:flex;flex:1;flex-direction:column}.vehicle-fit-size{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;min-height:96px;margin-top:14px}.vehicle-fit-size p{margin:0;color:var(--slate);font-size:14px;line-height:1.45}.featured .vehicle-fit-size p{color:var(--accent-text)}.vehicle-size{display:inline-flex;align-items:flex-start;font:800 42px/1 var(--display);letter-spacing:-.04em}.vehicle-size>span:first-child{font-weight:800}.vehicle-size .unit{margin:5px 0 0 4px;font:700 16px/1 var(--display);letter-spacing:0}.vehicle-size sup{position:relative;top:-.25em;font-size:.6em}.move-inclusions{margin-bottom:24px}.move-inclusions ul{align-content:start}.rate-card-copy>b{margin-top:auto;padding-top:0}.rate-price{margin-top:4px}
@media(max-width:900px){.vehicle-fit-size{grid-template-columns:1fr;gap:8px;align-content:start;min-height:146px}.move-inclusions ul{grid-template-columns:1fr}.rate-card-copy{padding:25px}}
@media(max-width:580px){.vehicle-fit-size{grid-template-columns:auto 1fr;gap:15px;min-height:0;margin-bottom:4px}.vehicle-size{font-size:38px}.vehicle-size .unit{font-size:14px}.move-inclusions{margin-bottom:22px}.move-inclusions ul{grid-template-columns:1fr 1fr;column-gap:12px}.rate-card-copy>b{padding-top:0}}

/* Capacity is supporting information; price remains the primary anchor */
.rate-card-copy .vehicle-size{font-size:32px;line-height:1}.rate-card-copy .vehicle-size .unit{margin-top:3px;font-size:14px;line-height:1}.rate-card-copy .vehicle-size sup{font-size:.6em}
@media(max-width:580px){.rate-card-copy .vehicle-size{font-size:28px}.rate-card-copy .vehicle-size .unit{font-size:14px}}

/* Tight mobile crop keeps the photographic action edge to edge */
@media(max-width:580px){.hero-panel{z-index:1}}

/* Friendly, casual direction selected by the owner. */
body{background:var(--soft)}.site-header{height:108px}.brand>b{border-radius:18px;transform:rotate(-7deg);transform-origin:center bottom;width:60px;height:60px;will-change:transform;animation:brand-bounce 4.2s var(--ease) infinite}.brand strong{font-size:34px;letter-spacing:-.035em;text-transform:none}.button{border-radius:12px;font-weight:600}.site-header>.button{background:var(--ink);color:white}
.brand-face{display:block;overflow:visible}.brand-eye,.brand-mouth-closed,.brand-mouth-open{transform-box:fill-box;transform-origin:center}.brand-eye{animation:brand-blink 4.2s ease-in-out infinite}.brand-mouth-closed{animation:brand-mouth-close 4.2s var(--ease) infinite}.brand-mouth-open{opacity:0;transform-origin:center top;transform:scaleY(.08);animation:brand-mouth-open 4.2s var(--ease) infinite}.brand:hover .brand-mouth-closed,.brand:focus-visible .brand-mouth-closed{animation:none;opacity:0;transform:scaleY(.35)}.brand:hover .brand-mouth-open,.brand:focus-visible .brand-mouth-open{animation:none;opacity:1;transform:scaleY(1)}
@keyframes brand-bounce{0%,15%,56%,100%{transform:translateY(0) rotate(-7deg) scale(1)}20%{transform:translateY(2px) rotate(-8deg) scaleX(1.05) scaleY(.94)}28%{transform:translateY(-7px) rotate(-4deg) scaleX(.97) scaleY(1.04)}36%{transform:translateY(0) rotate(-7deg) scaleX(1.04) scaleY(.96)}43%{transform:translateY(-2px) rotate(-6deg) scaleX(.99) scaleY(1.01)}49%{transform:translateY(0) rotate(-7deg) scale(1)}}
@keyframes brand-blink{0%,10%,15%,100%{transform:scaleY(1)}12%{transform:scaleY(.12)}}
@keyframes brand-mouth-open{0%,16%,76%,100%{opacity:0;transform:scaleY(.08)}28%,62%{opacity:1;transform:scaleY(1)}}
@keyframes brand-mouth-close{0%,16%,76%,100%{opacity:1;transform:scaleY(1)}28%,62%{opacity:0;transform:scaleY(.35)}}
.hero-photo{border-radius:28px;height:620px}.hero-panel{background:var(--accent);color:var(--ink);border-radius:24px;padding:35px;width:min(490px,44%);inset:28px auto 28px 28px}.hero h1{font-size:clamp(48px,4.4vw,62px);line-height:1.02;letter-spacing:-.04em}.hero-foot{background:transparent;padding:24px 8px}.hero-foot strong{font-family:var(--display);font-size:17px}
.rates{padding:80px 0}.rate-choices{gap:20px;border:0}.rate-choices>a{border:0;background:var(--white);border-radius:20px;padding:30px}.rate-choices>a+a{border:0}.rate-choices>.featured{background:var(--accent)}.rate-choices b{color:var(--ink);font-size:14px}.rate-choices>a:hover{outline:2px solid var(--ink);outline-offset:3px}
.process{padding:80px 0}.process li>span{font-family:var(--display);font-size:23px;width:42px;height:42px;border-radius:13px;transform:rotate(-5deg)}.process li{gap:20px}input,.radio-card{border-radius:9px}.faq{padding-block:80px}footer{border-radius:30px 30px 0 0}.footer-inner p{font-family:var(--display);font-size:24px}
@media(max-width:900px){.hero-photo{height:auto;overflow:hidden}.hero-panel{position:relative;inset:auto;width:100%;border-radius:0;padding:35px}.hero h1{font-size:62px}.site-header nav{display:none}}
@media(max-width:580px){.site-header{height:90px}.brand strong{font-size:28px}.brand>b{width:50px;height:50px;border-radius:15px}.brand-face{width:38px;height:38px}.hero-photo{display:flex;flex-direction:column-reverse;border-radius:22px}.hero-panel{padding:26px 22px}.hero h1{font-size:48px}.hero-foot{gap:10px}.rate-choices{gap:14px}.rate-choices>a{padding:25px}.process{padding-block:60px}.hero-foot strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.brand>b,.brand-eye,.brand-mouth-closed,.brand-mouth-open{animation:none}.brand-mouth-closed{opacity:0}.brand-mouth-open{opacity:1;transform:scaleY(1)}}

/* Final vehicle card and mobile hero overrides */
.rate-choices>a{display:block;overflow:hidden;padding:0}.rate-choices>a:hover{background:var(--white)}.rate-choices>.featured:hover{background:var(--accent)}
@media(max-width:900px){.rate-choices>a{padding:0}}
@media(max-width:580px){.rate-choices>a{padding:0}.rate-card-copy{padding:23px}.rate-price{gap:8px}.rate-price strong{font-size:52px}.rate-price em{padding-bottom:6px}}

/* Installed Higgsfield media and final mobile crop */
.truck-media{position:relative;width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;background:#fcf5f8;border-bottom:1px solid color-mix(in srgb,var(--ink) 13%,transparent)}.truck-media video,.truck-media img{display:block;width:100%;height:100%;object-fit:cover}.truck-media video{position:absolute;inset:0;opacity:0;transition:opacity .25s ease}.truck-media video.is-ready{opacity:1}.truck-media img{display:block}.rate-choices>.featured .truck-media{background:#fcf5f8}

@media(max-width:580px){.hero-panel{z-index:1}}
@media(prefers-reduced-motion:reduce){.truck-media video{display:none;transition:none}.truck-media img{display:block}}

/* Final desktop hero panel seam. */
@media(min-width:901px){.hero-panel{inset:0 auto 0 0;width:calc(45% + 1px);border-radius:0}}


/* Services: what we move. Four distinct service cards on the pink field, photo
   column spanning the card block and the closing CTA row so both columns land
   on the same baseline at every width. */
.services{padding:80px 0;background:var(--accent);color:var(--ink)}
.service-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:30px}
.service-head{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);align-items:end;gap:20px 48px}
.service-head .intro{max-width:46ch;margin:0 0 5px;color:var(--ink);font-size:18px;line-height:1.5}
.service-cards{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;padding:0;list-style:none}
.service-card{position:relative;display:flex;flex-direction:column;height:100%;padding:26px 26px 24px;border-radius:20px;background:var(--white);color:var(--ink);text-decoration:none;transition:transform 200ms var(--ease),outline-color 200ms ease;outline:2px solid transparent;outline-offset:3px}
.service-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:14px;background:var(--soft);color:var(--ink);transform:rotate(-6deg);transition:transform 220ms var(--ease),background-color 220ms ease}
.service-icon svg{display:block}
.service-card h3{margin:0 34px 7px 0;font:700 19px/1.2 var(--display);letter-spacing:-.025em}
.service-card p{margin:0;color:var(--slate);font-size:14px;line-height:1.5}
.service-go{position:absolute;top:28px;right:24px;display:grid;place-items:center;color:var(--ink);opacity:.32;transition:transform 200ms var(--ease),opacity 200ms ease}
.service-go svg{display:block}
.service-media{grid-column:2;grid-row:2/4;display:grid;grid-template-rows:1.35fr 1fr;gap:20px;min-height:0}
.photo{position:relative;min-height:0;margin:0;overflow:hidden;border-radius:20px}.photo img{position:absolute;inset:0}
.photo figcaption{position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:8px;background:var(--white);color:var(--ink);font-size:11px;font-weight:600}
.service-note{grid-column:1;grid-row:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:24px 26px;border-radius:20px;border:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.service-note p{max-width:34ch;margin:0;font:600 19px/1.3 var(--display);letter-spacing:-.02em}
.service-note .button{background:var(--ink);color:var(--white)}
@media(hover:hover){.service-card:hover{transform:translateY(-3px);outline-color:var(--ink)}.service-card:hover .service-icon{background:var(--accent);transform:rotate(0deg)}.service-card:hover .service-go{opacity:1;transform:translateX(3px)}}
.service-card:active{transform:translateY(-1px)}
@media(max-width:900px){.service-grid{grid-template-columns:1fr;gap:26px}.service-head{grid-template-columns:1fr;align-items:start;gap:14px}.service-head .intro{max-width:60ch;margin-bottom:0}.service-cards,.service-note,.service-media{grid-column:auto;grid-row:auto}.service-media{order:1;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:18px}.photo.tall,.photo.wide{height:300px}}
@media(max-width:580px){.services{padding:60px 0}.service-cards{grid-template-columns:1fr;gap:14px}.service-card{padding:22px 22px 20px}.service-go{top:24px;right:20px}.service-note{padding:22px;gap:16px}.service-note p{max-width:none;font-size:18px}.service-note .button{width:100%}.service-media{grid-template-columns:1fr;gap:14px}.photo.tall{height:260px}.photo.wide{height:220px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-icon,.service-go{transition:outline-color 200ms ease,background-color 200ms ease,opacity 200ms ease}.service-card:hover,.service-card:active{transform:none}.service-card:hover .service-icon{transform:rotate(-6deg)}.service-card:hover .service-go{transform:none}}

/* FAQ: ten items read as two columns from 900px up, single column below. */
@media(min-width:901px){
.faq-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;align-items:start}
.faq-list details{break-inside:avoid}
.faq-list details:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.faq-list p{padding-right:20px}
}

/* Legal pages (privacy.html, terms.html): single readable column, no hero. */
.legal{padding:60px 0 90px;max-width:min(72ch,100%)}
.legal h1{margin:0;font:800 clamp(38px,5vw,52px)/1.02 var(--display);letter-spacing:-.035em}
.legal .muted{margin:10px 0 26px;color:var(--slate);font-size:14px}
.legal h2{font:800 26px/1.15 var(--display);margin:34px 0 10px;letter-spacing:-.03em}
.legal p,.legal li{color:var(--slate);font-size:16px;line-height:1.6}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal li{margin:0 0 7px}
.legal a{color:var(--ink);text-underline-offset:3px}
.legal .notice{padding:16px 18px;border-radius:14px;background:var(--white);border:1px solid var(--line);font-size:14px}
mark.tbc{background:var(--accent);color:var(--ink);padding:1px 6px;border-radius:6px;font-weight:600}
@media(max-width:580px){.legal{padding:36px 0 64px}.legal h2{font-size:23px;margin-top:28px}}

/* Blog (/blog/index.html and posts built from /blog/_TEMPLATE.html): the index
   is a three-up card grid on the soft field, the post is a single 72ch column
   matching .legal, with a pink CTA block writers can repeat mid-article. */
.blog-index{padding:60px 0 90px}
.blog-index h1{margin:0;font:800 clamp(38px,5vw,54px)/1.02 var(--display);letter-spacing:-.035em}
.blog-index .blog-intro{max-width:56ch;margin:12px 0 34px;color:var(--slate);font-size:18px;line-height:1.5}
.post-list{display:grid;grid-template-columns:1fr;gap:20px;margin:0;padding:0;list-style:none}
@media(min-width:901px){.post-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.post-card{height:100%;padding:26px;border-radius:20px;background:var(--white);transition:transform 200ms var(--ease),outline-color 200ms ease;outline:2px solid transparent;outline-offset:3px}
.post-card a{display:block;height:100%;color:inherit;text-decoration:none}
.post-card h2{margin:0 0 10px;font:700 22px/1.2 var(--display);letter-spacing:-.025em}
.post-card p{margin:0 0 16px;color:var(--slate);font-size:15px;line-height:1.5}
.post-card time{display:block;color:var(--slate);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.post-card a:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:16px}
@media(hover:hover){.post-card:hover{transform:translateY(-3px);outline-color:var(--ink)}}
.post-card:active{transform:translateY(-1px)}

.post{padding:60px 0 90px;max-width:min(72ch,100%)}
.crumbs{color:var(--slate);font-size:13px}
.crumbs a{color:inherit;text-underline-offset:3px}
.post-head h1{margin:14px 0 0;font:800 clamp(36px,4.2vw,54px)/1.02 var(--display);letter-spacing:-.035em}
.post-meta{margin:12px 0 0;color:var(--slate);font-size:13px}
.post-lead{max-width:60ch;margin:16px 0 0;color:var(--ink);font-size:19px;line-height:1.5}
.post-body h2{font:800 28px/1.15 var(--display);margin:40px 0 12px;letter-spacing:-.03em}
.post-body h3{font:700 21px/1.2 var(--display);margin:28px 0 8px;letter-spacing:-.02em}
.post-body p,.post-body li{color:var(--slate);font-size:16px;line-height:1.65}
.post-body p{margin:0 0 14px}
.post-body ul,.post-body ol{margin:0 0 14px;padding-left:22px}
.post-body li{margin:0 0 7px}
.post-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.table-wrap{overflow-x:auto;margin:0 0 18px}
.post-body table{width:100%;border-collapse:collapse;font-size:14px}
.post-body th{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:700;text-align:left}
.post-body td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);color:var(--slate)}
.post-body blockquote{margin:18px 0;padding:4px 18px;border-left:4px solid var(--accent);color:var(--ink);font-style:normal}
.post-body blockquote p{color:var(--ink)}
.post-body .tip{margin:0 0 18px;padding:16px 18px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}
.post-body .tip p:last-child{margin-bottom:0}
.post-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin:36px 0;padding:26px;border-radius:20px;background:var(--accent);color:var(--ink)}
.post-cta p{max-width:36ch;margin:0;font:600 19px/1.3 var(--display);letter-spacing:-.02em}
.post-cta .button{background:var(--ink);color:var(--white)}
.post-related{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.post-related h2{font:800 26px/1.15 var(--display);letter-spacing:-.03em}
.post-related ul{margin:18px 0 0;padding:0;list-style:none}
.post-related li{margin:0 0 11px}
.post-related a{color:var(--ink);font-size:16px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:580px){.blog-index{padding:36px 0 64px}.blog-index .blog-intro{font-size:16px;margin-bottom:26px}.post-card{padding:22px}.post-card h2{font-size:20px}.post{padding:36px 0 64px}.post-head h1{margin-top:12px}.post-lead{font-size:17px}.post-body h2{font-size:24px;margin-top:32px}.post-body h3{font-size:19px}.post-cta{padding:22px}.post-cta p{font-size:18px;max-width:none}.post-cta .button{width:100%}.post-related h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.post-card{transition:outline-color 200ms ease}.post-card:hover,.post-card:active{transform:none}}

/* Blog imagery (v21): post hero, in-body figure, blog-index thumbnail.
   height:auto + class specificity overrides the global img{height:100%;} rule.
   Radius sits on the img so the figcaption stays outside the rounded box. */
.post-card picture,.post-hero picture,.post-figure picture{display:block}
.post-hero{margin:26px 0 8px}
.post-figure{margin:30px 0}
.post-hero img,.post-figure img{display:block;width:100%;height:auto;object-fit:cover;border-radius:18px}
.post-hero img{aspect-ratio:1600/893;border-radius:20px}
.post-figure img{aspect-ratio:1200/896}
.post-hero figcaption,.post-figure figcaption{padding:8px 2px 0;font-size:12px;color:var(--slate)}
.post-thumb{display:block;width:100%;height:auto;aspect-ratio:1600/893;object-fit:cover;border-radius:14px;margin-bottom:16px}
