/* Cleveland Moving Totes: useful objects, paper labels, and room to breathe. */
:root {
  --label: #fffdf2;
  --label-line: #d7d8ca;
  --soft-blue: #edf2f2;
  --muted-green: #dce5df;
}

body { background: #fafbf9; }
main, main > *, .site-header > *, .footer-grid > * { min-width: 0; }
button, input, select, textarea { font-family: var(--sans); }
button:disabled { opacity: .65; cursor: wait; }
a { text-underline-offset: .22em; }
.text-link, .inline-link { color: var(--navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; font-weight: 600; }
.text-link { display: inline-block; font-size: 16px; line-height: 1.5; }
.text-link:hover, .inline-link:hover { text-decoration-thickness: 2px; }
.site-header { min-height: 112px; }
.site-header nav { gap: 24px; font-size: 15px; }
.site-header .header-button { white-space: nowrap; }
.site-header nav .mobile-quote-link { display: none; }
.brand { flex-shrink: 0; }
.button { box-shadow: none; }
.button:hover { box-shadow: none; }
.button:active { transform: translateY(1px); }
.preview-banner { font-size: 12px; }

/* The opening image has one paper label, placed like the labels on the totes. */
.business-hero {
  display: grid;
  grid-template-columns: .96fr 1.04fr;
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: var(--deep);
  color: white;
  box-shadow: 0 18px 38px #16344714;
}
.business-hero .hero-copy { padding: clamp(34px, 4.25vw, 64px); }
.business-hero h1 { font-size: clamp(48px, 4.5vw, 68px); line-height: 1.09; letter-spacing: -.045em; margin: 8px 0 26px; }
.business-hero .hero-copy > p:not(.location-pill) { font-size: 18px; line-height: 1.75; max-width: 450px; }
.business-hero .hero-media { min-height: 603px; }
.business-hero .hero-image { object-position: 78% center; }
.business-hero .hero-actions { gap: 18px 22px; }
.business-hero .hero-actions .button { font-size: 15px; padding-inline: 22px; }
.business-hero .hero-facts { font-size: 13px; gap: 10px 22px; line-height: 1.65; }
.business-hero .hero-facts > span::before { display: none; }
.business-hero .hero-facts strong { color: #ffe283; }
.business-hero :focus-visible { outline-color: #ffe283; }
.packing-label {
  position: absolute;
  top: 35px;
  left: 30px;
  width: min(290px, calc(100% - 65px));
  padding: 20px 23px 16px;
  transform: rotate(-5deg);
  border: 1px solid #ede7d3;
  background: var(--label);
  color: var(--navy);
  box-shadow: 3px 9px 15px #223b4a26, 0 1px 1px #fff inset;
  border-radius: 2px;
}
.packing-label::before { content: ""; position: absolute; width: 78px; height: 20px; top: -10px; left: calc(50% - 39px); background: #f4df8bc9; transform: rotate(3deg); border-inline: 1px solid #cbb4672b; }
.packing-label > span { font-size: 11px; color: #687271; }
.packing-label > strong { display: block; font: 400 24px/1.4 var(--serif); letter-spacing: -.65px; padding: 6px 0 14px; border-bottom: 1px solid var(--label-line); }
.packing-label > div { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 10px; font-size: 11px; color: #546365; }
.packing-label > div > span:last-child { font-size: 19px; line-height: 1; color: var(--navy); }
.hero-bottom-note { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 12px 22px; padding: 19px 35px; border-top: 1px solid #456071; font-size: 12px; background: #19394c; color: #e1e9ec; }
.hero-bottom-note > span:first-child { color: #ffe283; font-weight: 500; }
.hero-bottom-note a { text-decoration: underline; text-underline-offset: 4px; }
.business-hero + .service-strip { font-size: 14px; padding: 28px 0; }
.business-hero + .service-strip span::before { content: "✓"; font-size: 15px; font-weight: 700; color: #536f67; }

/* One moving-day scene carries the animation and the strongest visual detail. */
.moving-story { padding-block: 82px 86px; }
.story-heading { display: flex; align-items: end; justify-content: space-between; gap: 45px; margin-bottom: 36px; }
.story-heading h2 { max-width: 775px; font-size: clamp(37px, 3.5vw, 50px); }
.story-heading > p { color: var(--slate); font-size: 17px; max-width: 265px; margin-bottom: 6px; }
.story-layout { display: grid; grid-template-columns: 1.23fr 1fr; align-items: center; gap: clamp(35px, 6vw, 84px); }
.story-scene { position: relative; min-width: 0; border-radius: 14px; background: #e8efeb; padding: 24px 17px 19px; border: 1px solid #d6e0db; }
.story-scene svg { width: 100%; height: auto; display: block; overflow: visible; }
.tote-assembly { transform-origin: 50% 78%; transition: transform .45s ease; }
.tote-lid { transition: transform .6s cubic-bezier(.2,.75,.2,1); transform: translate(-4px, -32px); }
.packed-items { transition: opacity .4s ease; }
.story-scene-1 .tote-lid { transform: translate(5px, -91px) rotate(1deg); }
.story-scene-1 .tote-assembly { transform: translateY(5px); }
.story-scene-2 .tote-lid { transform: translate(9px, -45px) rotate(2deg); }
.scene-location { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 9px 12px; margin-top: 10px; font-size: 13px; color: #3d5c55; line-height: 1.5; text-align: center; }
.scene-location > span { flex: 0 0 auto; font-size: 8px; color: #678b7d; }
.scene-caption { display: block; text-align: center; font-size: 10px; line-height: 1.5; color: #647770; padding-top: 2px; }
.story-content { min-width: 0; padding-block: 14px; }
.story-tabs { display: grid; gap: 9px; }
.story-tabs button { background: transparent; text-align: left; min-height: 62px; padding: 12px 17px; border: 1px solid #cfd8d5; border-radius: 6px; font-size: 16px; font-weight: 500; display: flex; align-items: center; gap: 15px; color: var(--slate); transition: background .15s, border-color .15s; }
.story-tabs button > span { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border: 1px solid #b5c4bd; border-radius: 50%; font-size: 12px; flex: 0 0 27px; }
.story-tabs button:hover { background: #f0f4ef; }
.story-tabs button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: white; }
.story-tabs button[aria-pressed="true"] > span { background: var(--yellow); border-color: var(--yellow); color: var(--navy); }
.story-detail { padding: 25px 0 20px; min-height: 177px; }
.story-detail h3 { font: 500 28px/1.25 var(--serif); letter-spacing: -.7px; margin-bottom: 12px; }
.story-detail p { color: var(--slate); font-size: 16px; line-height: 1.75; max-width: 470px; }
.story-content .text-link { font-size: 14px; }

/* Quantities are a comparison, not five competing promotional panels. */
.packages-section { background: #f0d86d; border-color: #d8c26c; }
.packages-section .section { padding-block: 68px 36px; }
.package-grid { gap: 14px; }
.package-card { padding: 25px 20px 22px; border-radius: 8px; border-color: #d1be77; box-shadow: 0 4px 0 #9883490e; background: #fffef7; }
.package-card::before { content: ""; width: 31px; height: 6px; background: var(--yellow); border: 1px solid #d2b037; border-radius: 1px; margin-bottom: 19px; box-shadow: 0 9px 0 -1px var(--navy), 0 13px 0 -2px var(--navy); }
.package-count { font-size: 58px; font-weight: 600; }
.package-description { font-size: 14px; margin-top: 16px; min-height: 45px; }
.package-price { margin-top: 18px; font-size: 34px; }
.package-price span { font-size: 14px; }
.package-button { display: flex; align-items: center; justify-content: center; text-align: center; font-size: 14px; min-height: 46px; margin-top: 21px; line-height: 1.4; }
.extension { font-size: 13px; margin-top: 12px; }
.package-note { font-size: 13px; max-width: 950px; }
.addon-row strong { font-size: 17px; }
.addon-row p span { font-size: 14px; }
.compact-packages .section-heading { margin-bottom: 34px; }
.rental-section { scroll-margin-top: 30px; }
.estimate-card { box-shadow: 0 10px 22px #1734490b; }
.equipment-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; margin-block: 64px 0; border-block: 1px solid #cbd6d5; padding-block: 38px; }
.equipment-strip h2 { font-size: 36px; max-width: 420px; }
.equipment-strip h3 { font: 600 23px/1.35 var(--sans); letter-spacing: -.4px; margin: 0 0 12px; }
.equipment-strip p { font-size: 16px; color: var(--slate); line-height: 1.75; margin-top: 17px; max-width: 530px; }
.equipment-strip .text-link { font-size: 14px; margin-top: 17px; }

/* Supporting chapters have open layouts and a clear reading order. */
.use-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 45px; }
.use-case-grid article { border-top: 1px solid #c6d2d0; padding-top: 25px; }
.case-icon { display: flex; align-items: center; justify-content: center; width: 45px; height: 45px; font-size: 31px; line-height: 1; color: var(--navy); margin-bottom: 19px; background: #e9eeea; border-radius: 5px; }
.use-case-grid h3 { font: 500 27px/1.25 var(--serif); letter-spacing: -.7px; margin-bottom: 14px; }
.use-case-grid p { color: var(--slate); font-size: 16px; line-height: 1.8; max-width: 380px; }
.delivery-section .button { margin-top: 26px; font-size: 15px; }
.delivery-bands strong { font-size: 16px; }
.delivery-bands b { font-size: 18px; }
.delivery-bands p span { font-size: 13px; }
.faq-intro > .text-link { margin-top: 20px; font-size: 15px; }
.closing-cta { margin-bottom: 76px; }
.closing-cta h2 { max-width: 790px; }
.closing-cta p { max-width: 690px; font-size: 16px; }
.closing-cta .button { background: var(--navy); color: white; }
.closing-cta .button:hover { background: #294d64; }
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px; }
.guide-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; position: relative; padding: 25px 25px 27px; background: #f4f5ed; border-top: 4px solid #d3b54d; border-bottom: 1px solid #d9ded2; border-radius: 2px; }
.guide-card .guide-number, .guide-card > .section-kicker { font-size: 12px; font-weight: 500; color: #607368; margin: 0 0 24px; }
.guide-card h2, .guide-card h3 { font: 500 27px/1.28 var(--serif); letter-spacing: -.7px; margin-bottom: 16px; }
.guide-card h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.guide-card p:not(.section-kicker) { font-size: 15px; line-height: 1.75; color: var(--slate); margin: 0 0 24px; }
.guide-card > .text-link { margin-top: auto; font-size: 14px; }
a.guide-card:hover { background: #edf1e8; }
a.guide-card:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.tips-teaser .section-heading > .text-link { margin-bottom: 7px; }

/* Page headings and articles retain an editorial measure, not full-screen lines. */
.page-intro { padding-block: 25px 63px; }
.breadcrumbs { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; font-size: 13px; line-height: 1.6; color: #60717a; margin-bottom: 34px; }
.breadcrumbs a { text-decoration: underline; }
.breadcrumbs > span[aria-hidden] { color: #9caeb5; }
.page-intro h1 { font-size: clamp(44px, 4.7vw, 66px); line-height: 1.1; max-width: 1030px; letter-spacing: -.045em; }
.page-intro > p { max-width: 760px; margin-top: 25px; font-size: 18px; line-height: 1.8; color: var(--slate); }
.page-intro + .moving-story { border-top: 1px solid var(--line); padding-top: 54px; }
.page-intro + .editorial { margin-top: 0; }
.page-intro + .faq-section { padding-top: 6px; }
.editorial { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(270px, .7fr); align-items: start; gap: 72px; margin-top: 68px; margin-bottom: 85px; }
.article-copy { min-width: 0; font-size: 17px; line-height: 1.85; color: #3c5664; }
.article-copy > * { max-width: 780px; }
.article-copy h2 { font-size: 35px; line-height: 1.22; color: var(--navy); margin: 43px 0 19px; letter-spacing: -.9px; }
.article-copy h2:first-child { margin-top: 0; }
.article-copy h3 { font: 600 24px/1.3 var(--sans); letter-spacing: -.5px; color: var(--navy); margin: 27px 0 13px; }
.article-copy p { margin: 0 0 20px; }
.article-copy p + p { margin-top: 0; }
.article-copy ul, .article-copy ol { padding-left: 23px; margin-block: 20px 26px; }
.article-copy li { padding-left: 6px; margin-bottom: 10px; }
.article-copy li::marker { color: #8a7328; }
.article-copy a:not(.button) { text-decoration: underline; text-underline-offset: 4px; color: var(--navy); }
.article-copy > .text-link:first-child { margin: 0 0 30px; font-size: 14px; }
.article-copy > .text-link + p { margin-top: 0; }
.article-copy > .text-link { margin-bottom: 10px; }
.editorial > .article-copy:only-child { grid-column: 1 / -1; max-width: 815px; }
.editorial > div.guide-grid { grid-column: 1 / -1; }
.editorial > div.guide-grid + .article-copy { grid-column: 1 / -1; max-width: 815px; }
.editorial > aside.guide-grid { grid-template-columns: 1fr; gap: 27px; }
.editorial > aside.guide-grid .guide-card { padding: 23px; }
.editorial > aside.guide-grid .guide-card h2 { font-size: 25px; }
.editorial > aside.guide-grid .guide-card p:not(.section-kicker) { font-size: 14px; }
.article-aside { padding: 28px 28px 30px; background: #edf2ef; border-top: 5px solid var(--yellow); position: sticky; top: 25px; border-radius: 3px; }
.article-aside h3 { font: 500 27px/1.3 var(--serif); letter-spacing: -.6px; margin-bottom: 19px; }
.article-aside ul { padding-left: 20px; margin: 0 0 24px; }
.article-aside li { font-size: 15px; color: var(--slate); line-height: 1.7; margin-bottom: 12px; padding-left: 3px; }
.article-aside .button { font-size: 14px; padding-inline: 17px; min-height: 49px; }
.article-callout { border-left: 4px solid var(--yellow); background: #edf2f2; padding: 24px 28px; margin-top: 35px; }
.article-callout h3 { font-size: 22px; margin-top: 0; }
.article-callout p { font-size: 16px; margin-bottom: 0; }
.privacy-copy { max-width: 820px; margin-top: 0; margin-bottom: 85px; }
.privacy-copy h2 { font-size: 31px; }
.privacy-copy .field-help { font-size: 13px; margin-top: 37px; }
.area-note { background: #e8efeb; border: 1px solid #c9d8cf; padding: 33px 30px 25px; border-radius: 12px; color: #35584b; position: sticky; top: 25px; }
.area-note > .map-pin { display: flex; width: 48px; height: 48px; justify-content: center; align-items: center; border: 1px solid #aac2b3; border-radius: 50%; font-size: 18px; color: #466e59; margin-bottom: 21px; box-shadow: 0 0 0 7px #dde8e0; }
.area-note > strong { display: block; color: var(--navy); font: 500 30px/1.2 var(--serif); letter-spacing: -.75px; }
.area-note > span:not(.map-pin) { display: block; font-size: 15px; margin-top: 9px; }
.route-schematic { display: grid; grid-template-columns: 1fr; padding: 25px 0; font-size: 14px; }
.route-schematic > span { position: relative; padding-left: 24px; }
.route-schematic > span::before { position: absolute; content: ""; width: 9px; height: 9px; background: #e9ca53; border: 1px solid #a88925; border-radius: 50%; top: 7px; left: 0; }
.route-schematic i { height: 24px; border-left: 1px dashed #739580; margin: 4px 0 4px 4px; }
.area-note > p { font-size: 12px; line-height: 1.65; color: #557164; border-top: 1px solid #c8d8ce; padding-top: 17px; }

/* Quote requests use familiar form controls with a paper planning note beside them. */
.quote-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .7fr); gap: 70px; align-items: start; margin-bottom: 88px; }
.quote-form { min-width: 0; }
.quote-form fieldset { padding: 0 0 34px; margin: 0 0 31px; border-bottom: 1px solid #ccd7d6; }
.quote-form legend { display: block; float: left; width: 100%; font: 500 29px/1.3 var(--serif); letter-spacing: -.65px; margin: 0 0 24px; }
.quote-form legend + * { clear: both; }
.quote-form .field-row { margin-bottom: 22px; }
.quote-form .field-row:last-child { margin-bottom: 0; }
.full-field { display: block; margin-top: 21px; }
.quote-form label, .quote-form input, .quote-form select, .quote-form textarea { font-size: 15px; }
.quote-form input, .quote-form select { min-height: 53px; border-color: #9baeb7; }
.quote-form textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 136px; resize: vertical; padding: 13px; margin-top: 9px; border: 1px solid #9baeb7; border-radius: 7px; background: white; color: var(--ink); line-height: 1.65; }
.quote-form textarea::placeholder { color: #586f7c; opacity: 1; }
.quote-form .field-help { font-size: 13px; margin-bottom: 0; }
.quote-form .checkbox-label { margin: 25px 0 28px; font-size: 13px; }
.quote-form > .button { min-width: 210px; font-size: 16px; }
.form-footnote { font-size: 13px; color: var(--slate); margin-top: 13px; }
.form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.quote-side { background: var(--label); border: 1px solid #dfdfce; padding: 35px 29px 27px; position: sticky; top: 32px; border-radius: 2px; box-shadow: 4px 7px 0 #e7e9dd; }
.paper-tab { display: inline-block; padding: 6px 12px; font-size: 12px; background: #f0d56d; color: #334849; transform: rotate(-3deg); margin-bottom: 20px; }
.quote-side h2 { font-size: 32px; line-height: 1.2; letter-spacing: -.8px; }
.quote-side ol { list-style: none; counter-reset: nextsteps; padding: 0; margin: 25px 0; }
.quote-side li { position: relative; counter-increment: nextsteps; padding: 0 0 20px 29px; font-size: 14px; border-bottom: 1px solid #dbdecf; margin-bottom: 20px; }
.quote-side li::before { content: counter(nextsteps); position: absolute; top: 2px; left: 0; color: #8c762a; font-size: 13px; }
.quote-side li strong { display: block; font-size: 15px; margin-bottom: 6px; }
.quote-side li span { display: block; color: #4d656e; font-size: 14px; line-height: 1.7; }
.quote-side > p { font-size: 14px; color: var(--slate); }
.quote-side > .text-link { font-size: 14px; margin-top: 6px; }
.quote-boundary { background: #edf1e6; padding: 17px; margin: 26px -8px 0; font-size: 13px; line-height: 1.7; }
.quote-boundary strong { display: block; margin-bottom: 7px; font-size: 13px; }
.quote-boundary p { color: var(--slate); }
.request-success { padding: 35px; background: #edf3ec; border: 1px solid #bccfbd; border-radius: 10px; }
.success-mark { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: #365e48; color: white; border-radius: 50%; margin-bottom: 23px; font-size: 23px; }
.request-success h2 { font-size: 38px; margin-bottom: 22px; }
.request-success p { font-size: 16px; line-height: 1.8; margin-bottom: 17px; overflow-wrap: anywhere; }
.request-success .button { margin-top: 15px; font-size: 15px; }
.quote-from-estimate { margin-top: 24px; }
.not-found-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 25px; margin-bottom: 110px; }

/* Footer is the last practical directory, not another promotional card. */
.business-footer { background: #eaf0ee; border-top: 1px solid #d0dbd5; padding-top: 49px; }
.footer-grid { display: grid; grid-template-columns: 1.65fr 1fr 1fr; gap: 54px; padding-bottom: 44px; }
.footer-grid .brand { display: block; font-size: 29px; line-height: 1.1; }
.footer-grid .brand small { font-size: 12px; letter-spacing: .9px; margin-top: 8px; }
.footer-grid p { color: #4b6570; font-size: 13px; line-height: 1.85; margin-top: 20px; }
.footer-grid p + p { margin-top: 15px; }
.footer-grid h2 { font: 600 16px/1.4 var(--sans); letter-spacing: 0; margin: 1px 0 19px; }
.footer-grid > div > a:not(.brand) { display: block; font-size: 14px; line-height: 1.6; color: #425d69; margin-bottom: 12px; width: fit-content; }
.footer-grid a:hover { text-decoration: underline; }
.footer-bottom { border-top: 1px solid #cad7d0; padding-block: 21px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 25px; font-size: 11px; line-height: 1.7; color: #526c77; }
.footer-bottom a { text-decoration: underline; }

@media (min-width: 1600px) {
  .business-hero .hero-media { min-height: 650px; }
  .business-hero h1 { font-size: 70px; }
}
@media (max-width: 1200px) {
  .site-header nav { gap: 18px; font-size: 14px; }
  .site-header { gap: 20px; }
  .business-hero .hero-copy { padding: 38px 33px; }
  .business-hero h1 { font-size: 56px; }
  .business-hero .hero-media { min-height: 606px; }
  .business-hero .hero-actions { gap: 17px; }
  .business-hero .hero-actions .button { padding-inline: 17px; font-size: 14px; }
  .business-hero .light-link { font-size: 14px; }
  .packing-label { width: 253px; padding: 17px 20px 14px; left: 25px; }
  .packing-label > strong { font-size: 22px; }
  .story-layout { gap: 42px; }
  .story-heading h2 { font-size: 43px; }
  .story-heading > p { max-width: 250px; font-size: 16px; }
  .package-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .package-card { padding: 22px 16px 20px; }
  .package-count { font-size: 52px; }
  .package-description { font-size: 13px; min-height: 62px; }
  .package-price { font-size: 32px; }
  .package-button { font-size: 12px; padding-inline: 8px; }
  .extension { font-size: 12px; }
  .guide-grid { gap: 20px; }
  .guide-card { padding-inline: 22px; }
  .guide-card h2, .guide-card h3 { font-size: 25px; }
  .editorial { gap: 48px; }
  .quote-layout { gap: 42px; }
  .quote-side { padding-inline: 24px; }
  .footer-grid { gap: 37px; }
}
@media (max-width: 1080px) {
  .site-header { min-height: 99px; position: relative; justify-content: space-between; }
  .site-header .header-button { display: none; }
  .site-header .menu-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 0 10px 14px; font-size: 15px; background: transparent; }
  .site-header .menu-toggle span { font-size: 20px; }
  .site-header nav { display: none; position: absolute; top: calc(100% - 6px); right: 0; left: auto; width: min(350px, 100%); background: var(--paper); border: 1px solid #ccd7d4; border-radius: 8px; padding: 14px 25px; box-shadow: 0 12px 26px #1834491a; z-index: 30; }
  .site-header nav.open { display: flex; flex-direction: column; gap: 0; }
  .site-header nav a { font-size: 16px; padding: 11px 0; }
  .site-header nav .mobile-quote-link { display: block; border-top: 1px solid #ccd7d4; margin-top: 7px; font-weight: 700; }
  .business-hero h1 { font-size: 50px; }
  .business-hero .hero-copy > p:not(.location-pill) { font-size: 17px; }
  .business-hero .hero-facts { display: flex; flex-wrap: wrap; }
  .business-hero .hero-media { min-height: 575px; }
  .hero-bottom-note { padding-inline: 28px; font-size: 11px; }
  .story-layout { gap: 32px; }
  .story-detail h3 { font-size: 26px; }
  .story-detail p { font-size: 15px; }
  .story-tabs button { min-height: 58px; font-size: 15px; padding-inline: 13px; }
  .scene-location { font-size: 12px; }
  .use-case-grid { gap: 28px; }
  .use-case-grid h3 { font-size: 25px; }
  .editorial { grid-template-columns: minmax(0, 1.5fr) minmax(250px, .75fr); gap: 38px; }
  .article-copy h2 { font-size: 31px; }
  .article-copy { font-size: 16px; }
  .quote-layout { grid-template-columns: minmax(0, 1.3fr) minmax(275px, .75fr); gap: 35px; }
  .quote-side h2 { font-size: 29px; }
  .quote-side li span { font-size: 13px; }
  .quote-form label, .quote-form input, .quote-form select, .quote-form textarea { font-size: 14px; }
}
@media (max-width: 900px) {
  .business-hero { grid-template-columns: 1fr 1fr; }
  .business-hero .hero-copy { padding: 31px 26px; }
  .business-hero h1 { font-size: 46px; }
  .business-hero .location-pill { font-size: 12px; line-height: 1.6; }
  .business-hero .hero-actions { display: flex; gap: 15px; flex-wrap: wrap; }
  .business-hero .hero-media { min-height: 625px; }
  .packing-label { top: 29px; left: 20px; width: calc(100% - 48px); padding: 15px 16px; }
  .packing-label > strong { font-size: 21px; }
  .packing-label > div { font-size: 10px; }
  .hero-bottom-note { gap: 10px 20px; }
  .business-hero + .service-strip { font-size: 12px; }
  .story-heading { align-items: start; flex-direction: column; gap: 19px; }
  .story-heading > p { max-width: 600px; }
  .story-heading h2 { font-size: 42px; }
  .story-layout { grid-template-columns: 1.05fr 1fr; gap: 27px; }
  .story-scene { padding: 20px 8px 15px; }
  .story-tabs button { font-size: 14px; min-height: 53px; gap: 10px; }
  .story-tabs button > span { width: 23px; height: 23px; flex-basis: 23px; }
  .story-detail { min-height: 204px; padding-block: 22px 18px; }
  .story-detail h3 { font-size: 24px; }
  .story-detail p { font-size: 14px; line-height: 1.75; }
  .package-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .package-description { min-height: 43px; font-size: 14px; }
  .package-price span { display: block; margin-left: 0; }
  .package-card { padding: 23px 21px 21px; }
  .package-button { font-size: 14px; }
  .equipment-strip { gap: 36px; }
  .equipment-strip h2 { font-size: 32px; }
  .equipment-strip h3 { font-size: 21px; }
  .use-case-grid { gap: 23px; }
  .use-case-grid h3 { font-size: 24px; }
  .use-case-grid p { font-size: 15px; }
  .guide-grid { gap: 17px; }
  .guide-card { padding: 22px 19px; }
  .guide-card h2, .guide-card h3 { font-size: 23px; }
  .guide-card p:not(.section-kicker) { font-size: 14px; }
  .guide-card > .text-link { font-size: 13px; }
  .page-intro h1 { font-size: 54px; }
  .page-intro > p { font-size: 17px; }
  .editorial { grid-template-columns: 1fr; gap: 38px; margin-block: 52px 67px; }
  .editorial > .article-copy { max-width: 760px; }
  .editorial > aside.guide-grid { grid-template-columns: 1fr 1fr; }
  .article-aside, .area-note { position: static; max-width: 760px; }
  .article-aside { padding: 28px; }
  .area-note { max-width: 460px; }
  .quote-layout { grid-template-columns: 1fr; gap: 46px; }
  .quote-form label, .quote-form input, .quote-form select, .quote-form textarea { font-size: 16px; }
  .quote-side { position: static; max-width: 690px; padding: 30px; }
  .quote-side h2 { font-size: 33px; }
  .quote-side li span { font-size: 14px; }
  .footer-grid { grid-template-columns: 1.35fr 1fr 1fr; gap: 26px; }
  .footer-grid > div > a:not(.brand) { font-size: 13px; }
  .footer-grid p { font-size: 12px; }
}
@media (max-width: 680px) {
  .preview-banner { font-size: 11px; padding: 8px 12px; line-height: 1.6; }
  .site-header { min-height: 94px; }
  .site-header .brand { font-size: 27px; }
  .site-header .brand small { font-size: 12px; }
  .site-header .brand-icon { width: 36px; }
  .site-header nav { width: 100%; padding: 13px 23px; }
  .business-hero { display: flex; flex-direction: column; border-radius: 14px; }
  .business-hero .hero-copy { padding: 30px 25px 27px; }
  .business-hero .location-pill { font-size: 12px; padding-bottom: 13px; }
  .business-hero h1 { font-size: clamp(41px, 10.7vw, 59px); letter-spacing: -.047em; margin: 7px 0 24px; line-height: 1.12; }
  .business-hero .hero-copy > p:not(.location-pill) { font-size: 16px; line-height: 1.75; }
  .business-hero .hero-actions { gap: 17px; margin-top: 27px; }
  .business-hero .hero-actions .button { min-height: 52px; font-size: 14px; padding-inline: 19px; }
  .business-hero .light-link { font-size: 14px; }
  .business-hero .hero-facts { margin-top: 24px; padding-top: 19px; display: flex; gap: 9px 20px; font-size: 12px; }
  .business-hero .hero-media { min-height: 350px; height: 350px; }
  .business-hero .hero-image { object-position: 77% center; }
  .packing-label { top: 23px; left: 23px; width: 218px; padding: 12px 17px; }
  .packing-label > span { font-size: 9px; }
  .packing-label > strong { font-size: 21px; padding: 4px 0 9px; }
  .packing-label > div { font-size: 9px; margin-top: 8px; }
  .packing-label > div > span:last-child { font-size: 16px; }
  .packing-label::before { width: 61px; height: 16px; top: -8px; left: calc(50% - 30px); }
  .hero-bottom-note { padding: 18px 25px 21px; display: grid; gap: 8px; font-size: 11px; }
  .hero-bottom-note a { margin-top: 3px; }
  .business-hero + .service-strip { padding: 25px 9px; grid-template-columns: 1fr; gap: 13px; font-size: 14px; }
  .business-hero + .service-strip > span { gap: 10px; }
  .moving-story { padding-block: 54px 57px; }
  .story-heading { gap: 18px; margin-bottom: 27px; }
  .story-heading h2 { font-size: 35px; line-height: 1.18; letter-spacing: -1.1px; }
  .story-heading > p { font-size: 16px; line-height: 1.7; margin-bottom: 0; }
  .story-layout { grid-template-columns: 1fr; gap: 27px; }
  .story-scene { padding: 19px 11px 15px; border-radius: 10px; }
  .scene-location { font-size: 12px; padding: 6px 10px; min-height: 34px; margin-top: 2px; }
  .scene-caption { font-size: 9px; }
  .story-content { padding: 0; }
  .story-tabs { gap: 8px; }
  .story-tabs button { font-size: 15px; min-height: 55px; padding: 11px 15px; gap: 12px; }
  .story-tabs button > span { width: 25px; height: 25px; flex-basis: 25px; }
  .story-detail { min-height: 0; padding: 25px 1px 20px; }
  .story-detail h3 { font-size: 29px; margin-bottom: 12px; }
  .story-detail p { font-size: 16px; line-height: 1.75; }
  .story-content .text-link { font-size: 14px; }
  .packages-section .section { padding-block: 47px 30px; }
  .packages-section .section-heading h2 { font-size: 36px; }
  .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .package-card { padding: 21px 16px 18px; }
  .package-card::before { margin-bottom: 20px; }
  .package-count { font-size: 51px; }
  .package-card h3 { font-size: 15px; }
  .package-description { font-size: 13px; min-height: 61px; margin-top: 15px; }
  .package-price { font-size: 31px; margin-top: 16px; }
  .package-price span { font-size: 13px; margin-top: 7px; }
  .extension { font-size: 12px; margin-top: 12px; }
  .package-button { font-size: 12px; padding: 10px 6px; min-height: 45px; margin-top: 20px; }
  .package-note { font-size: 12px; line-height: 1.75; }
  .addon-row strong { font-size: 17px; }
  .addon-row p span { font-size: 14px; }
  .equipment-strip { grid-template-columns: 1fr; gap: 29px; margin-top: 43px; padding-block: 30px; }
  .equipment-strip h2 { font-size: 33px; }
  .equipment-strip h3 { font-size: 22px; }
  .equipment-strip p { font-size: 16px; }
  .use-case-grid { grid-template-columns: 1fr; gap: 30px; }
  .use-case-grid article { padding-top: 23px; }
  .case-icon { width: 40px; height: 40px; font-size: 28px; margin-bottom: 17px; }
  .use-case-grid h3 { font-size: 28px; }
  .use-case-grid p { font-size: 16px; max-width: none; }
  .delivery-section .button { font-size: 14px; }
  .delivery-bands strong { font-size: 16px; }
  .delivery-bands b { font-size: 20px; }
  .delivery-bands p span { font-size: 14px; }
  .guide-grid { grid-template-columns: 1fr; gap: 22px; }
  .guide-card { padding: 25px 25px 27px; }
  .guide-card h2, .guide-card h3 { font-size: 29px; }
  .guide-card p:not(.section-kicker) { font-size: 16px; }
  .guide-card .guide-number, .guide-card > .section-kicker { margin-bottom: 20px; font-size: 12px; }
  .guide-card > .text-link { font-size: 14px; }
  .tips-teaser .section-heading > .text-link { margin-top: 23px; font-size: 15px; }
  .page-intro { padding-block: 18px 44px; }
  .breadcrumbs { font-size: 12px; margin-bottom: 27px; gap: 8px; }
  .page-intro h1 { font-size: clamp(38px, 10.4vw, 54px); line-height: 1.13; letter-spacing: -.045em; }
  .page-intro > p { font-size: 17px; line-height: 1.75; margin-top: 23px; }
  .page-intro + .moving-story { padding-top: 42px; }
  .editorial { gap: 37px; margin-block: 43px 57px; }
  .article-copy { font-size: 16px; line-height: 1.85; }
  .article-copy h2 { font-size: 30px; margin-top: 33px; margin-bottom: 18px; }
  .article-copy h3 { font-size: 23px; }
  .article-copy li { padding-left: 3px; margin-bottom: 13px; }
  .article-copy ul, .article-copy ol { padding-left: 21px; }
  .article-copy > .text-link:first-child { margin-bottom: 25px; }
  .editorial > aside.guide-grid { grid-template-columns: 1fr; }
  .editorial > aside.guide-grid .guide-card { padding: 25px; }
  .editorial > aside.guide-grid .guide-card h2 { font-size: 27px; }
  .editorial > aside.guide-grid .guide-card p:not(.section-kicker) { font-size: 15px; }
  .article-aside { padding: 25px; }
  .article-aside h3 { font-size: 28px; }
  .article-aside li { font-size: 15px; }
  .article-callout { padding: 21px; margin-top: 30px; }
  .article-callout h3 { font-size: 22px; }
  .article-callout p { font-size: 15px; }
  .privacy-copy { margin-bottom: 61px; }
  .privacy-copy h2 { font-size: 29px; }
  .area-note { padding: 30px 25px 25px; }
  .quote-layout { gap: 42px; margin-bottom: 64px; }
  .quote-form fieldset { padding-bottom: 29px; margin-bottom: 28px; }
  .quote-form legend { font-size: 29px; margin-bottom: 23px; }
  .quote-form .field-row { gap: 21px; margin-bottom: 21px; }
  .quote-form label, .quote-form input, .quote-form select, .quote-form textarea { font-size: 16px; }
  .quote-form .field-help { font-size: 13px; line-height: 1.75; }
  .quote-form .checkbox-label { font-size: 13px; margin-block: 25px; }
  .quote-form > .button { width: 100%; }
  .quote-side { padding: 27px 25px; box-shadow: 3px 5px 0 #e7e9dd; }
  .quote-side h2 { font-size: 31px; }
  .quote-side li { padding-left: 28px; }
  .quote-boundary { margin-inline: 0; }
  .request-success { padding: 27px 22px; }
  .request-success h2 { font-size: 33px; }
  .request-success p { font-size: 15px; }
  .request-success .button { font-size: 14px; }
  .closing-cta { margin-bottom: 56px; }
  .closing-cta h2 { font-size: 35px; }
  .closing-cta p { font-size: 16px; }
  .closing-cta .button { font-size: 15px; }
  .business-footer { padding-top: 37px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 22px; padding-bottom: 29px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-grid .brand { font-size: 29px; }
  .footer-grid p { font-size: 12px; margin-top: 19px; }
  .footer-grid h2 { font-size: 15px; margin-bottom: 18px; }
  .footer-grid > div > a:not(.brand) { font-size: 13px; margin-bottom: 13px; }
  .footer-bottom { display: grid; gap: 10px; font-size: 10px; padding-block: 22px; }
  .not-found-actions { gap: 24px; margin-bottom: 74px; }
  .not-found-actions .button, .not-found-actions .text-link { font-size: 14px; }
}
@media (max-width: 360px) {
  .site-header .brand { font-size: 25px; }
  .site-header .brand-icon { width: 32px; }
  .site-header .menu-toggle { font-size: 13px; gap: 8px; padding-left: 7px; }
  .business-hero .hero-copy { padding-inline: 21px; }
  .business-hero h1 { font-size: 39px; }
  .business-hero .hero-copy > p:not(.location-pill) { font-size: 15px; }
  .business-hero .hero-actions .button { font-size: 13px; padding-inline: 16px; }
  .business-hero .hero-media { height: 320px; min-height: 320px; }
  .packing-label { width: 203px; left: 21px; }
  .hero-bottom-note { padding-inline: 21px; }
  .story-heading h2 { font-size: 32px; }
  .package-card { padding-inline: 12px; }
  .package-count { font-size: 47px; }
  .package-description { font-size: 12px; min-height: 75px; }
  .package-price { font-size: 29px; }
  .package-button { font-size: 11px; }
  .extension { font-size: 11px; }
  .page-intro h1 { font-size: 37px; }
  .guide-card { padding-inline: 21px; }
  .guide-card h2, .guide-card h3 { font-size: 27px; }
  .footer-grid { gap: 29px 18px; }
  .footer-grid > div > a:not(.brand) { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .tote-lid, .tote-assembly, .packed-items, .story-tabs button { transition: none; }
  .button:active { transform: none; }
}
@media print {
  /* The planner dialog is now inside React's main, rather than a body child. */
  body > main { display: block !important; }
  body:has(dialog[open]) main > *:not(:has(dialog[open])),
  body:has(dialog[open]) main > div:has(dialog[open]) > *:not(dialog),
  .quote-from-estimate { display: none !important; }
  body:has(dialog[open]) main,
  body:has(dialog[open]) main > div:has(dialog[open]) { width: 100%; margin: 0; padding: 0; }
  dialog[open] { position: static; border: 0; padding: 0; margin: 0; width: 100%; max-height: none; max-width: none; }
  .article-aside, .area-note, .quote-side { position: static; box-shadow: none; }
}

/* Email checkout keeps the selected order visible and easy to copy on any device. */
#review-dialog .order-email-help { font-size: 14px; line-height: 1.75; margin: 15px 0 0; color: #435d6b; }
#review-dialog .order-email-help a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
#review-dialog .order-email-help + #review-content { margin-top: 24px; }
#review-dialog .order-actions { gap: 10px; }
#review-dialog .order-actions .button { font-size: 13px; padding-inline: 15px; min-height: 47px; }
#review-dialog .order-copy-status { font-size: 13px; line-height: 1.65; color: #315741; margin: 0 0 13px; }
#review-dialog .order-copy-status:empty { display: none; }
#review-dialog .order-text-fallback { margin-top: 12px; border: 1px solid #c8d5d6; padding: 0 16px; border-radius: 5px; }
#review-dialog .order-text-fallback summary { padding: 13px 0; font-size: 14px; }
#review-dialog .order-text-fallback summary::after { content: "+"; font-size: 21px; line-height: 1; }
#review-dialog .order-text-fallback[open] summary::after { content: "−"; }
#review-dialog .order-text-fallback label { display: block; font-size: 12px; color: #435d6b; margin: 0 0 7px; }
#review-dialog #order-details-text { display: block; width: 100%; min-width: 0; max-width: 100%; height: 240px; resize: vertical; margin: 0 0 15px; border: 1px solid #99afb9; border-radius: 4px; background: white; color: #173449; font: 13px/1.65 var(--sans); padding: 12px; }
#review-dialog .order-email-note { font-size: 12px; line-height: 1.75; color: #536c79; margin: 19px 0 12px; }
@media (max-width: 680px) {
  #review-dialog .order-actions { display: grid; grid-template-columns: 1fr; }
  #review-dialog #email-rental-order { width: 100%; }
  #review-dialog .order-email-help { font-size: 13px; }
  #review-dialog #order-details-text { font-size: 16px; }
}
@media print {
  #review-dialog .order-actions, #review-dialog .order-copy-status, #review-dialog .order-text-fallback { display: none !important; }
}

/* Five preset kits and one distinct custom option form two balanced rows. */
.package-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.package-grid .package-card { min-width: 0; }
.package-grid .package-button { margin-top: auto; }
.package-grid .extension { margin-bottom: 22px; }
.custom-package-card { background: var(--navy); border-color: var(--navy); color: #fffef7; }
.custom-package-card::before { box-shadow: 0 9px 0 -1px #fffef7, 0 13px 0 -2px #fffef7; }
.custom-package-kicker { color: #f3d46e; font-size: 12px; line-height: 1.5; margin-bottom: 9px; }
.custom-package-card h3 { font: 500 36px/1.12 var(--serif); letter-spacing: -.035em; }
.custom-package-card .package-description, .custom-package-card .extension { color: #e1eaee; }
.custom-package-estimate { font-size: 24px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; margin-top: 18px; }
.custom-package-card .package-button { color: var(--navy); background: var(--yellow); border-color: var(--yellow); }
.custom-package-card .package-button:hover { background: #ffe27d; border-color: #ffe27d; color: var(--navy); }
.custom-package-card a:focus-visible { outline-color: #fffef7; }

/* The custom quantity panel uses the same navy/yellow equipment palette. */
.package-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.package-options input[value="custom"] + span strong { font-size: 20px; }
.custom-tote-control { padding: 20px; margin: 18px 0 24px; border: 1px solid #aebfc6; border-left: 4px solid var(--yellow); border-radius: 7px; background: #f8fbfb; }
.custom-tote-control[hidden], .custom-tote-stepper[hidden], .custom-tote-help[hidden] { display: none !important; }
.custom-tote-control > label { display: block; color: var(--navy); font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.custom-tote-stepper { display: grid; grid-template-columns: 48px minmax(76px, 1fr) 48px; align-items: stretch; gap: 8px; max-width: 300px; }
.custom-tote-stepper button { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 52px; border: 1px solid #8ca3af; border-radius: 5px; background: #fff; color: var(--navy); font: 500 24px/1 var(--sans); }
.custom-tote-stepper button:hover:not(:disabled) { background: var(--navy); border-color: var(--navy); color: #fff; }
.custom-tote-stepper button:disabled { opacity: .45; cursor: not-allowed; }
.custom-tote-stepper #custom-count { min-width: 0; width: 100%; min-height: 52px; margin: 0; padding: 8px; text-align: center; color: var(--navy); background: #fff; border: 1px solid #8ca3af; border-radius: 5px; font-size: 22px; font-weight: 600; appearance: textfield; }
.custom-tote-stepper #custom-count::-webkit-inner-spin-button, .custom-tote-stepper #custom-count::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.custom-tote-help { max-width: 480px; margin-top: 12px; color: #435d6b; font-size: 13px; line-height: 1.65; }

@media (max-width: 900px) {
  .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .package-grid { grid-template-columns: 1fr; gap: 16px; }
  .package-grid .package-card { padding: 25px; }
  .package-grid .package-description { min-height: 0; font-size: 14px; }
  .package-grid .package-button { font-size: 14px; min-height: 48px; }
  .package-grid .extension { font-size: 13px; }
  .custom-package-card h3 { font-size: 35px; }
  .custom-tote-control { padding: 18px 15px; }
  .custom-tote-stepper { max-width: 100%; }
}
