/* v0.27.0 — reference-led editorial layout. /price/ content only. */
.sp-page-price { --p27-navy:#10344e; --p27-gold:#ad8a58; --p27-rule:#ded3bf; --p27-paper:#f7f5ee; --p27-orange:#b85927; --p27-serif:"Yu Mincho","Hiragino Mincho ProN",serif; }
.sp-page-price #sp-main.sp-main { background:#fff; color:var(--p27-navy); }
.sp-page-price #sp-main .sp-wrap { width:100%; max-width:1380px; padding-inline:30px; margin-inline:auto; }
.sp-page-price #sp-main .p27-section { padding-block:32px; border-bottom:1px solid #eee9df; }
.sp-page-price #sp-main .sp-eyebrow { font:500 10px/1.7 Georgia,serif; color:#95703f; letter-spacing:.21em; margin:0 0 15px; }
.sp-page-price #sp-main h1,.sp-page-price #sp-main h2,.sp-page-price #sp-main h3 { color:var(--p27-navy); border:0; background:none; padding:0; }
.sp-page-price #sp-main h2 { font:500 clamp(23px,2.05vw,31px)/1.5 var(--p27-serif); letter-spacing:.025em; margin:0; text-wrap:balance; }
.sp-page-price #sp-main h3 { font-family:var(--p27-serif); }
.sp-page-price #sp-main p { line-height:1.85; }
.sp-page-price #sp-main a:focus-visible,.sp-page-price #sp-main summary:focus-visible { outline:3px solid #bb802e; outline-offset:4px; }
.sp-page-price #sp-main [id] { scroll-margin-top:130px; }
.sp-page-price #sp-main .sp-btn { display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:22px; padding:14px 22px; min-height:50px; border-radius:2px; font-size:13px; box-shadow:none; }
.sp-page-price #sp-main .sp-btn--cta { color:#fff; background:linear-gradient(#cf7e31,#b45b25); border:1px solid #c98243; }
.sp-page-price #sp-main .sp-btn--cta:hover { background:#a95023; }
.sp-page-price #sp-main .p27-text-link { display:inline-flex; gap:12px; text-decoration:none; border-bottom:1px solid #bba584; color:var(--p27-navy); font-size:12px; padding-bottom:4px; line-height:1.7; }
.sp-page-price #sp-main .p27-heading { border-left:2px solid var(--p27-gold); padding-left:23px; margin-bottom:22px; }
.sp-page-price #sp-main .p27-heading > p { font-size:12px; color:#586b77; margin:12px 0 0; }
.sp-page-price #sp-main .p27-heading .sp-eyebrow { font-size:9px; color:#95703f; margin-top:12px; }
.sp-page-price #sp-main .p27-heading--inline { display:flex; gap:28px; align-items:center; }
.sp-page-price #sp-main .p27-heading--inline h2 { flex-shrink:0; }
.sp-page-price #sp-main .p27-heading--inline > p { margin:0; }
.sp-page-price #sp-main .p27-micro { font-size:11px; color:#64727b; }
.sp-page-price #sp-main .p27-notes { font-size:11px; color:#60707b; line-height:1.8; margin-top:16px; }
.sp-page-price #sp-main .p27-notes p { margin:3px 0; }
/* The hero is a full-width photograph with the type on an ivory fade. */
.sp-page-price #sp-main .sp-price-hero { position:relative; background:#f5f3ee; isolation:isolate; border-bottom:7px solid #fff; }
.sp-page-price #sp-main .sp-price-hero__layout { min-height:440px; display:flex; align-items:center; }
.sp-page-price #sp-main .sp-price-hero__body { position:relative; z-index:2; width:48%; padding:42px 0 42px 32px; }
.sp-page-price #sp-main .sp-price-hero h1 { font:500 clamp(46px,4.5vw,68px)/1.25 var(--p27-serif); letter-spacing:.08em; margin:14px 0 22px; }
.sp-page-price #sp-main .sp-price-hero__lead { font:500 clamp(20px,1.75vw,26px)/1.8 var(--p27-serif); margin:0 0 18px; }
.sp-page-price #sp-main .sp-price-hero__text { font-size:13px; line-height:1.95; margin:0 0 22px; max-width:410px; }
.sp-page-price #sp-main .sp-price-hero__photo { position:absolute; inset:0 0 0 42%; margin:0; z-index:0; }
.sp-page-price #sp-main .sp-price-hero__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f5f3ee 0%,#f5f3ee88 12%,transparent 32%); pointer-events:none; }
.sp-page-price #sp-main .sp-price-hero__photo img,.sp-page-price #sp-main .sp-price-hero__photo .sp-ph { display:block; width:100%; height:100%; object-fit:cover; }
.sp-page-price #sp-main .sp-price-hero.no-photo .sp-price-hero__body { width:100%; }
/* Regional spread: short editorial column, true-shape map, and four price tiles. */
.sp-page-price #sp-main .p27-local { background:linear-gradient(110deg,#f5f2e9,#fffefa 72%,#f5f2e9); }
.sp-page-price #sp-main .p27-local__spread { display:grid; grid-template-columns:.72fr .86fr 1.8fr; gap:28px; align-items:center; }
.sp-page-price #sp-main .p27-local__intro { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding-left:26px; border-left:1px solid var(--p27-gold); }
.sp-page-price #sp-main .p27-serif { font:500 24px/1.8 var(--p27-serif); letter-spacing:.06em; margin:0; }
.sp-page-price #sp-main .p27-area-photo { margin:20px 0 0 -26px; height:145px; }
.sp-page-price #sp-main .p27-area-photo img,.sp-page-price #sp-main .p27-area-photo .sp-ph { width:100%; height:100%; object-fit:cover; }
.sp-page-price #sp-main .p27-map { margin:0; padding:0; background:none; border:0; }
.sp-page-price #sp-main .p27-map img { display:block; width:100%; object-fit:contain; }
.sp-page-price #sp-main .p27-map--local img { height:300px; max-width:none; }
.sp-page-price #sp-main .p27-map figcaption { font-size:9px; line-height:1.7; color:#6e7b83; margin-top:8px; text-align:center; }
.sp-page-price #sp-main .p27-map a { color:inherit; text-underline-offset:2px; }
.sp-page-price #sp-main .p27-local__body .p27-heading { padding:0; border:0; margin-bottom:18px; }
.sp-page-price #sp-main .p27-local__rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sp-page-price #sp-main .p27-local__rate { background:#ffffffb8; border:1px solid #e9e1d3; border-left:2px solid var(--p27-gold); padding:14px 20px; }
.sp-page-price #sp-main .p27-local__rate h3 { font:500 16px/1.5 var(--p27-serif); margin:0 0 7px; }
.sp-page-price #sp-main .sp-delivery-rate__price { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:baseline; gap:2px; margin:0; padding:0; color:var(--p27-navy); }
.sp-page-price #sp-main .sp-delivery-rate__price strong { font:400 37px/1.3 Georgia,serif; letter-spacing:-.04em; }
.sp-page-price #sp-main .sp-delivery-rate__price span { font-size:12px; }
.sp-page-price #sp-main .sp-delivery-rate__price small { font-size:10px; color:var(--p27-navy); }
.sp-page-price #sp-main .p27-local__body .p27-text-link { margin-top:12px; }
/* One line of six service cards, with a quiet illustration area. */
.sp-page-price #sp-main .p27-work-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.sp-page-price #sp-main .p27-work-card { border:1px solid var(--p27-rule); padding:10px 10px 15px; text-align:center; background:linear-gradient(135deg,#fff,#f9f7f1); box-shadow:0 2px 6px #65533408; }
.sp-page-price #sp-main .p27-work-art { display:grid; place-items:center; background:linear-gradient(135deg,#f2eee5,#faf9f5); height:100px; color:#6e7e83; border-bottom:1px solid #e9e2d5; }
.sp-page-price #sp-main .p27-work-card h3 { font-size:17px; font-weight:500; margin:14px 0 9px; line-height:1.5; }
.sp-page-price #sp-main .p27-work-card > p { font-size:10px; color:#64727b; margin:5px 0 0; }
.sp-page-price #sp-main .sp-pguide__amount { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:0 2px; line-height:1.5; font-size:12px; font-variant-numeric:tabular-nums; }
.sp-page-price #sp-main .sp-pguide__amount strong { font:400 29px/1.25 Georgia,serif; letter-spacing:-.035em; }
.sp-page-price #sp-main .sp-pguide__amount small { font-size:10px; font-weight:400; }
.sp-page-price #sp-main .p27-work-card .sp-pguide__amount { color:#b64b22; justify-content:center; }
.sp-page-price #sp-main .p27-work-card .sp-pguide__amount small { flex-basis:100%; color:var(--p27-navy); }
.sp-page-price #sp-main .sp-pguide__inquiry { font-size:14px; }
.sp-page-price #sp-main .sp-pguide__range { font:20px/1.5 Georgia,serif; }
.sp-page-price #sp-main .sp-price-range-part { display:inline-block; white-space:nowrap; }
.sp-page-price #sp-main .sp-pguide__range small { font:10px/1.5 sans-serif; }
.sp-page-price #sp-main .p27-supplement { margin-top:16px; border-block:1px solid #e8e1d5; padding:10px 0; }
.sp-page-price #sp-main summary { cursor:pointer; font-size:12px; color:var(--p27-navy); }
.sp-page-price #sp-main summary::marker { color:var(--p27-gold); }
.sp-page-price #sp-main .p27-detail-rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; margin:0; }
.sp-page-price #sp-main .p27-detail-rates > div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:5px 12px; padding:8px 0; border-bottom:1px solid #e9e2d8; }
.sp-page-price #sp-main .p27-detail-rates dt { font-size:11px; font-weight:400; }
.sp-page-price #sp-main .p27-detail-rates dd { margin:0; }
.sp-page-price #sp-main .p27-detail-rates .sp-pguide__amount strong { font-size:21px; }
/* The truck matrix is one table, transposed into compact regional cards on phones. */
.sp-page-price #sp-main .sp-pguide--truck { background:linear-gradient(90deg,#f5f8fa,#fff 45%,#f8fafb); }
.sp-page-price #sp-main .p27-truck { display:grid; align-items:stretch; gap:22px; }
.sp-page-price #sp-main .p27-truck.has-photo { grid-template-columns:minmax(0,.75fr) minmax(0,2.1fr); }
.sp-page-price #sp-main .p27-truck__photo { position:relative; margin:0; min-height:220px; }
.sp-page-price #sp-main .p27-truck__photo img,.sp-page-price #sp-main .p27-truck__photo .sp-ph { position:absolute; width:100%; height:100%; object-fit:cover; }
.sp-page-price #sp-main .p27-truck__photo figcaption { position:absolute; inset:auto 0 0; background:linear-gradient(transparent,#153b51d9); padding:35px 18px 15px; color:#fff; font-size:9px; letter-spacing:.12em; }
.sp-page-price #sp-main .p27-truck__photo figcaption span { display:block; font:18px/1.6 var(--p27-serif); margin-top:4px; }
.sp-page-price #sp-main .p27-truck-table { border-collapse:collapse; width:100%; table-layout:fixed; margin:0; background:#fff; }
.sp-page-price #sp-main .p27-truck-table caption { font-size:11px; text-align:left; color:#61727d; margin-bottom:6px; }
.sp-page-price #sp-main .p27-truck-table th,.sp-page-price #sp-main .p27-truck-table td { border:1px solid #d7dce0; padding:14px 10px; text-align:center; vertical-align:middle; }
.sp-page-price #sp-main .p27-truck-table thead th { background:linear-gradient(120deg,#0d2f46,#214e6a); color:#fff; font:500 15px/1.4 var(--p27-serif); padding-block:12px; }
.sp-page-price #sp-main .p27-truck-table th:first-child { width:24%; }
.sp-page-price #sp-main .p27-truck-table tbody th { font:500 14px/1.7 var(--p27-serif); background:#fff; }
.sp-page-price #sp-main .p27-truck-table tbody tr:nth-child(even) td { background:#f5f7f9; }
.sp-page-price #sp-main .p27-truck-table .sp-pguide__amount { justify-content:center; font-size:10px; gap:0; }
.sp-page-price #sp-main .p27-truck-table .sp-pguide__amount strong { font-size:25px; }
.sp-page-price #sp-main .p27-truck-extras { display:grid; grid-template-columns:1.4fr 1fr; gap:30px; margin-top:20px; }
.sp-page-price #sp-main .p27-truck-extras h3 { font:500 15px/1.6 var(--p27-serif); margin:0 0 8px; }
.sp-page-price #sp-main .p27-contest { border-left:1px solid var(--p27-rule); padding-left:25px; }
.sp-page-price #sp-main .p27-contest > p { font-size:10px; color:#657783; margin:9px 0 0; }
.sp-page-price #sp-main .p27-contest > p .sp-pguide__amount,.sp-page-price #sp-main .p27-contest > p .sp-pguide__amount strong { font-size:inherit; }
/* Rental: title, two horizontal product cards, and a small supplement panel. */
.sp-page-price #sp-main .sp-pguide--rental { background:var(--p27-paper); }
.sp-page-price #sp-main .p27-rental { display:grid; grid-template-columns:.85fr 2.8fr .65fr; align-items:center; gap:24px; }
.sp-page-price #sp-main .p27-rental > .p27-heading { margin:0; padding-left:18px; }
.sp-page-price #sp-main .p27-rental > .p27-heading h2 { font-size:27px; }
.sp-page-price #sp-main .p27-rental-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.sp-page-price #sp-main .p27-rental-card { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; border:1px solid var(--p27-rule); background:linear-gradient(135deg,#fff,#fdfbf5); min-height:192px; padding:12px; gap:12px; }
.sp-page-price #sp-main .p27-rental-photo { margin:0; height:164px; display:grid; place-items:center; }
.sp-page-price #sp-main .p27-rental-photo img,.sp-page-price #sp-main .p27-rental-photo .sp-ph { width:100%; height:100%; object-fit:contain; }
.sp-page-price #sp-main .p27-product-mark { width:100%; height:130px; color:#647278; }
.sp-page-price #sp-main .p27-rental-card .sp-eyebrow { font-size:8px; margin-bottom:7px; }
.sp-page-price #sp-main .p27-rental-card h3 { font:500 17px/1.6 var(--p27-serif); margin:0 0 10px; }
.sp-page-price #sp-main .p27-rental-card .p27-micro { font-size:10px; margin:0 0 6px; }
.sp-page-price #sp-main .p27-rental-card .sp-pguide__amount { color:#b64b22; }
.sp-page-price #sp-main .p27-rental-card .sp-pguide__amount strong { font-size:34px; }
.sp-page-price #sp-main .p27-rental-card .sp-pguide__amount small { flex-basis:100%; color:var(--p27-navy); }
.sp-page-price #sp-main .p27-rental-note { border:1px solid var(--p27-rule); padding:14px; background:#fff9; }
.sp-page-price #sp-main .p27-rental-note dl { margin:0; }
.sp-page-price #sp-main .p27-rental-note dt { font-size:11px; font-weight:500; }
.sp-page-price #sp-main .p27-rental-note dd { margin:0 0 10px; }
.sp-page-price #sp-main .p27-rental-note .sp-pguide__amount strong { font-size:22px; }
.sp-page-price #sp-main .p27-rental-note .sp-pguide__amount { color:#b64b22; }
.sp-page-price #sp-main .p27-rental-note p { font-size:9px; color:#65737d; margin:0; }
/* Nationwide: geographical map and two four-row columns in one spread. */
.sp-page-price #sp-main .sp-pguide--national { background:linear-gradient(120deg,#fff,#f9fbfc); }
.sp-page-price #sp-main .p27-national { display:grid; grid-template-columns:1fr .8fr 2.4fr; gap:20px; align-items:center; }
.sp-page-price #sp-main .p27-national > .p27-heading { margin:0; align-self:start; }
.sp-page-price #sp-main .p27-national > .p27-heading h2 { font-size:27px; }
.sp-page-price #sp-main .p27-map--national img { height:230px; }
.sp-page-price #sp-main .p27-regions { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,auto); grid-auto-flow:column; gap:0 28px; }
.sp-page-price #sp-main .p27-regions li { display:flex; align-items:baseline; gap:8px; padding:10px 0; border-bottom:1px solid #dce0e2; }
.sp-page-price #sp-main .p27-region-no { color:#8f734b; font:10px/1.4 Georgia,serif; }
.sp-page-price #sp-main .p27-regions h3 { margin:0 auto 0 0; font:500 14px/1.5 var(--p27-serif); max-width:8em; }
.sp-page-price #sp-main .p27-regions .sp-pguide__amount { flex-shrink:0; max-width:140px; font-size:10px; }
.sp-page-price #sp-main .p27-regions .sp-pguide__amount strong { font-size:27px; }
.sp-page-price #sp-main .p27-regions .sp-pguide__amount small { font-size:9px; }
.sp-page-price #sp-main .p27-national__body .p27-notes { font-size:10px; }
.sp-page-price #sp-main .p27-national__body .p27-text-link { margin-top:12px; font-size:11px; }
/* Information is a 2 x 2 group with the case panel in navy. */
.sp-page-price #sp-main .p27-information { padding-block:18px; border:0; }
.sp-page-price #sp-main .p27-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; align-items:stretch; }
.sp-page-price #sp-main .p27-info-card { display:grid; grid-template-columns:42px 1fr; gap:18px; padding:24px 28px; background:linear-gradient(120deg,#fff,#faf9f6); border:1px solid #e7e1d6; box-shadow:0 2px 6px #49381906; }
.sp-page-price #sp-main .p27-info-icon { width:38px; height:38px; color:var(--p27-navy); }
.sp-page-price #sp-main .p27-info-card h2 { font-size:21px; margin:0 0 10px; text-wrap:initial; }
.sp-page-price #sp-main .p27-info-card h3 { font-size:13px; margin:8px 0; }
.sp-page-price #sp-main .p27-info-card p,.sp-page-price #sp-main .p27-info-card li { font-size:11px; line-height:1.9; }
.sp-page-price #sp-main .p27-info-card p { margin:7px 0 0; }
.sp-page-price #sp-main .p27-info-card ul { padding-left:18px; margin:10px 0 0; }
.sp-page-price #sp-main .p27-factors { display:grid; grid-template-columns:1fr 1fr; gap:9px 18px; }
.sp-page-price #sp-main .p27-factors summary { font-size:12px; }
.sp-page-price #sp-main .p27-factors details p { padding:5px 0; }
.sp-page-price #sp-main .p27-time-fees { margin:10px 0; }
.sp-page-price #sp-main .p27-time-fees > div { display:grid; grid-template-columns:1fr 2fr; gap:12px; padding:6px 0; border-bottom:1px solid #e7e0d5; font-size:12px; }
.sp-page-price #sp-main .p27-time-fees dt { font-weight:400; }
.sp-page-price #sp-main .p27-time-fees dd { margin:0; }
.sp-page-price #sp-main .p27-time-fees dd span { display:block; color:#64727b; font-size:11px; }
.sp-page-price #sp-main .p27-info-card--case { display:block; position:relative; isolation:isolate; background:#10344e; color:#fff; overflow:hidden; }
.sp-page-price #sp-main .p27-case-photo { position:absolute; inset:0 0 0 58%; z-index:-1; margin:0; }
.sp-page-price #sp-main .p27-case-photo img,.sp-page-price #sp-main .p27-case-photo .sp-ph { width:100%; height:100%; object-fit:cover; }
.sp-page-price #sp-main .p27-case-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#10344e,transparent); }
.sp-page-price #sp-main .p27-info-card--case.has-photo .p27-case-body { width:79%; }
.sp-page-price #sp-main .p27-info-card--case h2 { color:#fff; font-size:20px; }
.sp-page-price #sp-main .p27-checklist { padding:0; margin:10px 0 0; list-style:none; }
.sp-page-price #sp-main .p27-checklist li { position:relative; padding-left:19px; margin-bottom:5px; }
.sp-page-price #sp-main .p27-checklist li::before { content:'✓'; color:#dbc08b; position:absolute; left:0; }
.sp-page-price #sp-main .p27-info-card--case p { color:#dce4e9; font-size:10px; }
/* Six steps, using the same content source as the site's existing flow page. */
.sp-page-price #sp-main .p27-flow { padding-block:24px; }
.sp-page-price #sp-main .p27-flow .p27-heading { margin-bottom:22px; padding-left:18px; }
.sp-page-price #sp-main .p27-flow h2 { font-size:24px; }
.sp-page-price #sp-main .sp-price-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); list-style:none; padding:0; margin:0; }
.sp-page-price #sp-main .sp-price-steps li { display:flex; gap:12px; position:relative; padding:0 18px; border-right:1px solid #e6dfd2; }
.sp-page-price #sp-main .sp-price-steps li:first-child { padding-left:0; }
.sp-page-price #sp-main .sp-price-steps li:last-child { border:0; padding-right:0; }
.sp-page-price #sp-main .sp-price-steps li:not(:last-child)::after { content:'›'; position:absolute; right:-4px; top:32px; color:var(--p27-gold); background:#fff; font-size:20px; }
.sp-page-price #sp-main .sp-price-steps li > span { flex:0 0 34px; height:34px; border-radius:50%; background:#b79c74; color:#fff; text-align:center; font:18px/34px Georgia,serif; }
.sp-page-price #sp-main .sp-price-steps h3 { font-size:13px; line-height:1.6; font-weight:600; margin:0 0 6px; }
.sp-page-price #sp-main .sp-price-steps p { font-size:10px; line-height:1.75; margin:0; color:#61717d; }
.sp-page-price #sp-main .p27-prepare { border-top:1px solid #e8e1d5; padding-top:14px; margin-top:20px; font-size:12px; }
.sp-page-price #sp-main .p27-prepare ul { display:flex; flex-wrap:wrap; gap:8px 30px; padding-left:20px; }
.sp-page-price #sp-main .p27-flow-link { text-align:right; margin:8px 0 0; font-size:11px; }
.sp-page-price #sp-main .p27-flow-link .sp-more { font-size:12px; }
/* Wide final CTA with real company information. */
.sp-page-price #sp-main .sp-price-contact { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#092b44; padding:40px 0; border-top:3px solid var(--p27-gold); }
.sp-page-price #sp-main .p27-contact-photo { position:absolute; inset:0; z-index:-1; opacity:.15; }
.sp-page-price #sp-main .p27-contact-photo img { height:100%; width:100%; object-fit:cover; object-position:center 65%; }
.sp-page-price #sp-main .p27-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.sp-page-price #sp-main .sp-price-contact h2 { color:#fff; font-size:32px; line-height:1.65; margin:0 0 10px; text-wrap:initial; }
.sp-page-price #sp-main .sp-price-contact p { color:#e3ebf0; font-size:12px; margin:0; }
.sp-page-price #sp-main .sp-price-contact .sp-eyebrow { color:#d7bf97; font-size:9px; margin-bottom:9px; }
.sp-page-price #sp-main .p27-contact-tel { display:grid; grid-template-columns:32px auto; justify-content:center; align-items:center; column-gap:12px; color:#fff; text-decoration:none; }
.sp-page-price #sp-main .p27-contact-tel > span[aria-hidden="true"] { font-size:32px; }
.sp-page-price #sp-main .p27-contact-tel strong { font:38px/1.2 Georgia,serif; letter-spacing:.025em; }
.sp-page-price #sp-main .p27-contact-tel small { grid-column:2; font-size:11px; margin-top:8px; }
.sp-page-price #sp-main .p27-contact-buttons { display:flex; gap:18px; justify-content:center; margin-top:24px; }
.sp-page-price #sp-main .p27-btn-outline { background:#092b4466; color:#fff; border:1px solid #8ea0af; }
/* Optional legacy custom price tables remain editable and fit narrow screens. */
.sp-page-price #sp-main .sp-section { padding-block:32px; }
.sp-page-price #sp-main .sp-table { table-layout:fixed; width:100%; min-width:0; }
.sp-page-price #sp-main .sp-table td,.sp-page-price #sp-main .sp-table th { overflow-wrap:anywhere; }
.sp-page-price #sp-main .sp-h2::after { background:var(--p27-gold); height:1px; }
@media(max-width:1199px) {
 .sp-page-price #sp-main .sp-wrap { padding-inline:24px; }
 .sp-page-price #sp-main .sp-price-hero__body { padding-left:12px; width:51%; }
 .sp-page-price #sp-main .p27-local__spread { grid-template-columns:.6fr .85fr 1.65fr; gap:18px; }
 .sp-page-price #sp-main .p27-local__intro { padding-left:15px; }
 .sp-page-price #sp-main .p27-serif { font-size:20px; }
 .sp-page-price #sp-main .p27-local__rate { padding:13px; }
 .sp-page-price #sp-main .sp-delivery-rate__price strong { font-size:32px; }
 .sp-page-price #sp-main .p27-local__body h2 { font-size:26px; }
 .sp-page-price #sp-main .p27-work-grid { gap:10px; }
 .sp-page-price #sp-main .p27-work-card { padding-inline:8px; }
 .sp-page-price #sp-main .p27-work-card h3 { font-size:15px; }
 .sp-page-price #sp-main .p27-work-card .sp-pguide__amount strong { font-size:25px; }
 .sp-page-price #sp-main .p27-truck.has-photo { grid-template-columns:1fr 2.4fr; gap:18px; }
 .sp-page-price #sp-main .p27-truck-table td,.sp-page-price #sp-main .p27-truck-table th { padding:12px 5px; }
 .sp-page-price #sp-main .p27-truck-table .sp-pguide__amount strong { font-size:22px; }
 .sp-page-price #sp-main .p27-rental { grid-template-columns:1fr 3fr; gap:20px; }
 .sp-page-price #sp-main .p27-rental-note { grid-column:2; display:flex; align-items:center; gap:20px; }
 .sp-page-price #sp-main .p27-rental-note dl { display:flex; gap:20px; flex-shrink:0; }
 .sp-page-price #sp-main .p27-rental-note dd { margin:0; }
 .sp-page-price #sp-main .p27-rental-card .sp-pguide__amount strong { font-size:30px; }
 .sp-page-price #sp-main .p27-national { grid-template-columns:.9fr .8fr 2.2fr; }
 .sp-page-price #sp-main .p27-regions { gap:0 20px; }
 .sp-page-price #sp-main .p27-regions li { flex-wrap:wrap; gap:4px; }
 .sp-page-price #sp-main .p27-regions h3 { max-width:none; }
 .sp-page-price #sp-main .p27-regions .sp-pguide__amount { flex-basis:100%; justify-content:flex-end; max-width:none; }
 .sp-page-price #sp-main .p27-info-card { padding:20px; grid-template-columns:32px 1fr; gap:13px; }
 .sp-page-price #sp-main .p27-info-icon { width:30px; }
 .sp-page-price #sp-main .p27-info-card h2 { font-size:19px; }
 .sp-page-price #sp-main .sp-price-steps li { display:block; padding:0 13px; }
 .sp-page-price #sp-main .sp-price-steps li > span { display:block; margin-bottom:10px; width:34px; }
 .sp-page-price #sp-main .p27-contact-layout { gap:30px; }
}
@media(max-width:900px) {
 .sp-page-price #sp-main .sp-price-hero__layout { min-height:400px; }
 .sp-page-price #sp-main .sp-price-hero__body { width:54%; padding-left:0; }
 .sp-page-price #sp-main .sp-price-hero__lead { font-size:19px; }
 .sp-page-price #sp-main .sp-price-hero__text { font-size:12px; }
 .sp-page-price #sp-main .p27-local__spread { grid-template-columns:.9fr 1.6fr; }
 .sp-page-price #sp-main .p27-local__intro { display:none; }
 .sp-page-price #sp-main .p27-heading--inline { display:block; }
 .sp-page-price #sp-main .p27-heading--inline > p { margin-top:10px; }
 .sp-page-price #sp-main .p27-work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
 .sp-page-price #sp-main .p27-work-card .sp-pguide__amount strong { font-size:30px; }
 .sp-page-price #sp-main .p27-truck.has-photo { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-truck__photo { min-height:220px; }
 .sp-page-price #sp-main .p27-truck__photo img { object-position:center 57%; }
 .sp-page-price #sp-main .p27-truck-table .sp-pguide__amount strong { font-size:24px; }
 .sp-page-price #sp-main .p27-truck-extras { grid-template-columns:1fr; gap:18px; }
 .sp-page-price #sp-main .p27-contest { border:0; padding:0; }
 .sp-page-price #sp-main .p27-rental { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-rental > .p27-heading { display:flex; align-items:center; gap:18px; }
 .sp-page-price #sp-main .p27-rental > .p27-heading .sp-eyebrow { display:none; }
 .sp-page-price #sp-main .p27-rental > .p27-heading p { margin:0; }
 .sp-page-price #sp-main .p27-rental-note { grid-column:1; }
 .sp-page-price #sp-main .p27-national { grid-template-columns:.7fr 1.6fr; }
 .sp-page-price #sp-main .p27-national > .p27-heading { grid-column:1/-1; }
 .sp-page-price #sp-main .p27-national > .p27-heading h2 { font-size:28px; }
 .sp-page-price #sp-main .p27-national > .p27-heading .sp-eyebrow { display:none; }
 .sp-page-price #sp-main .p27-info-grid { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-info-card { padding:24px; }
 .sp-page-price #sp-main .p27-info-card p,.sp-page-price #sp-main .p27-info-card li { font-size:12px; }
 .sp-page-price #sp-main .p27-info-card--case { min-height:240px; }
 .sp-page-price #sp-main .sp-price-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0; }
 .sp-page-price #sp-main .sp-price-steps li:nth-child(4) { padding-left:0; }
 .sp-page-price #sp-main .sp-price-steps li:nth-child(3) { border-right:0; }
 .sp-page-price #sp-main .sp-price-steps li:nth-child(3)::after { display:none; }
 .sp-page-price #sp-main .sp-price-steps p { font-size:12px; }
 .sp-page-price #sp-main .p27-contact-layout { grid-template-columns:1fr 1.2fr; gap:25px; }
 .sp-page-price #sp-main .sp-price-contact h2 { font-size:27px; }
 .sp-page-price #sp-main .p27-contact-tel strong { font-size:30px; }
 .sp-page-price #sp-main .p27-contact-buttons { gap:10px; flex-wrap:wrap; }
}
@media(max-width:600px) {
 .sp-page-price #sp-main .sp-wrap { padding-inline:20px; }
 .sp-page-price #sp-main .p27-section { padding-block:28px; }
 .sp-page-price #sp-main h2 { font-size:25px; }
 .sp-page-price #sp-main .p27-heading { padding-left:15px; margin-bottom:20px; }
 .sp-page-price #sp-main .p27-heading p { font-size:12px; }
 .sp-page-price #sp-main .sp-price-hero__layout { display:flex; flex-direction:column; padding:0; min-height:0; }
 .sp-page-price #sp-main .sp-price-hero__body { width:100%; padding:30px 24px 24px; }
 .sp-page-price #sp-main .sp-price-hero h1 { font-size:46px; margin:10px 0 18px; }
 .sp-page-price #sp-main .sp-price-hero__lead { font-size:20px; }
 .sp-page-price #sp-main .sp-price-hero__text { font-size:13px; }
 .sp-page-price #sp-main .sp-price-hero__text br { display:none; }
 .sp-page-price #sp-main .sp-price-hero__photo { position:relative; inset:auto; width:100%; height:240px; }
 .sp-page-price #sp-main .sp-price-hero__photo::after { background:linear-gradient(#f5f3ee,transparent 22%); }
 .sp-page-price #sp-main .sp-price-hero .sp-eyebrow { margin:0; }
 .sp-page-price #sp-main .p27-local__spread { grid-template-columns:1fr; gap:18px; }
 .sp-page-price #sp-main .p27-local__body { display:contents; }
 .sp-page-price #sp-main .p27-local__body .p27-heading { grid-row:1; margin:0; }
 .sp-page-price #sp-main .p27-local__body h2 { font-size:26px; }
 .sp-page-price #sp-main .p27-map--local img { height:300px; }
 .sp-page-price #sp-main .p27-local__rates { gap:12px; }
 .sp-page-price #sp-main .p27-local__rate { padding:14px 12px; }
 .sp-page-price #sp-main .p27-local__rate h3 { font-size:16px; }
 .sp-page-price #sp-main .sp-delivery-rate__price strong { font-size:31px; }
 .sp-page-price #sp-main .sp-delivery-rate__price small { flex-basis:100%; margin-top:3px; }
 .sp-page-price #sp-main .p27-local__body .p27-notes,.sp-page-price #sp-main .p27-local__body .p27-text-link { margin:0; }
 .sp-page-price #sp-main .p27-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .sp-page-price #sp-main .p27-work-art { height:90px; }
 .sp-page-price #sp-main .p27-work-card h3 { font-size:16px; }
 .sp-page-price #sp-main .p27-detail-rates { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-detail-rates dt { font-size:12px; }
 .sp-page-price #sp-main .p27-notes { font-size:11px; }
 .sp-page-price #sp-main .p27-truck-table,.sp-page-price #sp-main .p27-truck-table caption { display:block; }
 .sp-page-price #sp-main .p27-truck-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .sp-page-price #sp-main .p27-truck-table tbody { display:grid; gap:16px; }
 .sp-page-price #sp-main .p27-truck-table tbody tr { display:grid; grid-template-columns:1fr 1fr; border:1px solid #d7dce0; }
 .sp-page-price #sp-main .p27-truck-table tbody th { grid-column:1/-1; width:auto; background:#173d56; color:#fff; padding:12px 14px; text-align:left; border:0; }
 .sp-page-price #sp-main .p27-truck-table td { padding:13px 8px; border:0; border-bottom:1px solid #dce1e4; }
 .sp-page-price #sp-main .p27-truck-table td::before { content:attr(data-label); display:block; font-size:11px; color:#62727d; margin-bottom:5px; }
 .sp-page-price #sp-main .p27-truck-table .sp-pguide__amount strong { font-size:28px; }
 .sp-page-price #sp-main .p27-truck-extras h3 { font-size:17px; }
 .sp-page-price #sp-main .p27-contest .p27-detail-rates { grid-template-columns:1fr 1fr; }
 .sp-page-price #sp-main .p27-contest > p { font-size:11px; }
 .sp-page-price #sp-main .p27-rental > .p27-heading { display:block; }
 .sp-page-price #sp-main .p27-rental > .p27-heading p { margin-top:12px; }
 .sp-page-price #sp-main .p27-rental-grid { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-rental-card { min-height:190px; grid-template-columns:1fr 1.2fr; }
 .sp-page-price #sp-main .p27-rental-card h3 { font-size:18px; }
 .sp-page-price #sp-main .p27-rental-card .sp-pguide__amount strong { font-size:36px; }
 .sp-page-price #sp-main .p27-rental-note { display:block; }
 .sp-page-price #sp-main .p27-rental-note dl { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
 .sp-page-price #sp-main .p27-rental-note p { margin-top:12px; font-size:11px; }
 .sp-page-price #sp-main .p27-national { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-national > .p27-heading h2 { font-size:26px; }
 .sp-page-price #sp-main .p27-map--national img { height:320px; }
 .sp-page-price #sp-main .p27-regions { grid-template-columns:1fr; grid-template-rows:none; grid-auto-flow:row; gap:0; }
 .sp-page-price #sp-main .p27-regions li { flex-wrap:nowrap; gap:8px; padding-block:12px; }
 .sp-page-price #sp-main .p27-regions h3 { font-size:14px; max-width:9em; }
 .sp-page-price #sp-main .p27-regions .sp-pguide__amount { flex-basis:auto; max-width:130px; }
 .sp-page-price #sp-main .p27-regions .sp-pguide__amount strong { font-size:29px; }
 .sp-page-price #sp-main .p27-national__body .p27-notes { font-size:11px; }
 .sp-page-price #sp-main .p27-info-card { padding:22px 18px; gap:10px; grid-template-columns:28px 1fr; }
 .sp-page-price #sp-main .p27-info-icon { width:27px; height:30px; }
 .sp-page-price #sp-main .p27-info-card h2 { font-size:20px; }
 .sp-page-price #sp-main .p27-factors { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-info-card--case.has-photo .p27-case-body { width:100%; }
 .sp-page-price #sp-main .p27-case-photo { opacity:.25; inset:0; }
 .sp-page-price #sp-main .p27-info-card--case h2 { font-size:21px; }
 .sp-page-price #sp-main .p27-info-card--case p { font-size:11px; }
 .sp-page-price #sp-main .sp-price-steps { grid-template-columns:1fr; gap:0; }
 .sp-page-price #sp-main .sp-price-steps li,.sp-page-price #sp-main .sp-price-steps li:first-child,.sp-page-price #sp-main .sp-price-steps li:last-child { display:flex; gap:18px; padding:18px 0; border:0; border-bottom:1px solid #e7e0d5; }
 .sp-page-price #sp-main .sp-price-steps li > span { flex:0 0 38px; height:38px; line-height:38px; }
 .sp-page-price #sp-main .sp-price-steps li::after { display:none; }
 .sp-page-price #sp-main .sp-price-steps h3 { font-size:17px; }
 .sp-page-price #sp-main .sp-price-steps p { font-size:13px; }
 .sp-page-price #sp-main .p27-contact-layout { grid-template-columns:1fr; gap:28px; text-align:center; }
 .sp-page-price #sp-main .sp-price-contact { padding-block:34px; }
 .sp-page-price #sp-main .sp-price-contact h2 { font-size:30px; }
 .sp-page-price #sp-main .p27-contact-buttons { display:grid; grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-contact-tel { text-align:left; }
 .sp-page-price #sp-main .p27-contact-tel strong { font-size:33px; }
 .sp-page-price #sp-main .p27-contact-tel > span[aria-hidden="true"] { font-size:27px; }
}
@media(min-width:601px) and (max-width:900px) {
 .sp-page-price #sp-main .p27-local__intro:has(figure) { display:flex; grid-column:1/-1; flex-direction:row; align-items:center; gap:24px; border:0; padding:0; }
 .sp-page-price #sp-main .p27-local__intro:has(figure) .sp-eyebrow { display:none; }
 .sp-page-price #sp-main .p27-area-photo { width:50%; margin:0; height:150px; }
}
@media(max-width:600px) {
 .sp-page-price #sp-main .p27-local__intro:has(figure) { display:block; grid-row:2; padding:0; border:0; }
 .sp-page-price #sp-main .p27-local__intro .sp-eyebrow,.sp-page-price #sp-main .p27-local__intro .p27-serif { display:none; }
 .sp-page-price #sp-main .p27-area-photo { margin:0; height:160px; }
}
/* Desktop proportions follow the compact horizontal bands of the supplied reference. */
@media(min-width:1200px) {
 .sp-page-price #sp-main .p27-section { padding-block:22px; }
 .sp-page-price #sp-main .sp-price-hero__layout { min-height:360px; }
 .sp-page-price #sp-main .sp-price-hero__body { padding-block:26px; }
 .sp-page-price #sp-main .sp-price-hero h1 { font-size:62px; margin:12px 0 16px; }
 .sp-page-price #sp-main .sp-price-hero__lead { font-size:23px; line-height:1.65; margin-bottom:14px; }
 .sp-page-price #sp-main .sp-price-hero__text { font-size:13px; margin-bottom:0; }
 .sp-page-price #sp-main .p27-local__body .p27-heading { margin-bottom:14px; }
 .sp-page-price #sp-main .p27-local__rate { padding:10px 18px; }
 .sp-page-price #sp-main .p27-local__rate h3 { font-size:15px; margin-bottom:4px; }
 .sp-page-price #sp-main .sp-delivery-rate__price strong { font-size:35px; }
 .sp-page-price #sp-main .p27-local__rates { gap:12px; }
 .sp-page-price #sp-main .p27-local__body .p27-notes { margin-top:12px; }
 .sp-page-price #sp-main .p27-heading { margin-bottom:16px; }
 .sp-page-price #sp-main .p27-work-art { height:72px; }
 .sp-page-price #sp-main .p27-work-card h3 { font-size:16px; margin:10px 0 7px; }
 .sp-page-price #sp-main .p27-work-card > p { font-size:9px; }
 .sp-page-price #sp-main .p27-supplement { padding-block:8px; margin-top:12px; }
 .sp-page-price #sp-main .p27-truck-table th,.sp-page-price #sp-main .p27-truck-table td { padding-block:12px; }
 .sp-page-price #sp-main .p27-truck__photo { min-height:220px; }
 .sp-page-price #sp-main .p27-rental-card { min-height:170px; }
 .sp-page-price #sp-main .p27-rental-photo { height:145px; }
 .sp-page-price #sp-main .p27-national { grid-template-columns:1fr .65fr 2.7fr; }
 .sp-page-price #sp-main .p27-regions .sp-pguide__amount { flex-wrap:nowrap; max-width:none; }
 .sp-page-price #sp-main .p27-regions .sp-pguide__amount strong { font-size:26px; }
 .sp-page-price #sp-main .p27-regions li { padding-block:9px; }
 .sp-page-price #sp-main .p27-info-card { padding:20px 24px; }
 .sp-page-price #sp-main .p27-information { padding-block:14px; }
 .sp-page-price #sp-main .p27-checklist { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
 .sp-page-price #sp-main .p27-flow { padding-block:18px; }
 .sp-page-price #sp-main .sp-price-contact { padding-block:30px; }
}
/* Editing guides stay readable even in compact photographic slots. */
.sp-page-price #sp-main .p27-rental-photo .sp-ph { padding:8px; min-height:0; gap:5px; }
.sp-page-price #sp-main .p27-rental-photo .sp-ph__n { font-size:11px; }
.sp-page-price #sp-main .p27-rental-photo .sp-ph__c { font-size:9px; line-height:1.5; }
.sp-page-price #sp-main .p27-rental-photo .sp-ph__s { font-size:9px; }
.sp-page-price #sp-main .sp-price-hero__photo:has(.sp-ph)::after { display:none; }
.sp-page-price #sp-main .p27-info-card--case:has(.sp-ph) { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; }
.sp-page-price #sp-main .p27-case-photo:has(.sp-ph) { position:relative; inset:auto; grid-column:2; grid-row:1; z-index:auto; opacity:1; min-height:230px; }
.sp-page-price #sp-main .p27-case-photo:has(.sp-ph)::after { display:none; }
.sp-page-price #sp-main .p27-info-card--case:has(.sp-ph) .p27-case-body { width:100%; grid-column:1; grid-row:1; }
@media(max-width:600px) {
 .sp-page-price #sp-main .p27-info-card--case:has(.sp-ph) { grid-template-columns:1fr; }
 .sp-page-price #sp-main .p27-case-photo:has(.sp-ph) { grid-column:1; grid-row:2; }
}
.sp-page-price #sp-main .p27-heading h2 > span { display:inline-block; }
.sp-page-price #sp-main .p27-case-photo::after { background:linear-gradient(90deg,#10344e,#10344ecc 48%,transparent 100%); }
.sp-page-price #sp-main .p27-info-card p,.sp-page-price #sp-main .p27-info-card li { font-size:12px; line-height:1.8; }
.sp-page-price #sp-main .p27-info-card--case p { font-size:11px; }
@media(min-width:1200px) {
 .sp-page-price #sp-main .p27-national { grid-template-columns:1fr .85fr 2.7fr; }
 .sp-page-price #sp-main .p27-map--national img { height:270px; }
}
@media(max-width:600px) {
 .sp-page-price #sp-main .p27-truck-table tbody th:first-child { width:auto; }
}
.sp-page-price #sp-main .p27-area-photo:has(.sp-ph) { height:auto; min-height:210px; }
.sp-page-price #sp-main .p27-regions h3 > span { display:inline-block; }
/* v0.28: bundled real photography and larger geographical spreads. */
.sp-page-price #sp-main .p28-hero-actions {display:flex;align-items:center;gap:12px 18px;margin-top:22px;flex-wrap:wrap}
.sp-page-price #sp-main .p28-hero-actions .sp-btn {min-height:46px;padding:11px 18px;font-size:13px;white-space:nowrap}
.sp-page-price #sp-main .p28-hero-tel {font:17px/1.5 Georgia,serif;color:var(--p27-navy);text-decoration:none;white-space:nowrap}
.sp-page-price #sp-main .sp-price-hero__layout {min-height:430px}
.sp-page-price #sp-main .p27-local__spread {grid-template-columns:.7fr 1.3fr 1.65fr;gap:20px}
.sp-page-price #sp-main .p27-map--local img {height:460px}
.sp-page-price #sp-main .p27-area-photo {height:190px}
.sp-page-price #sp-main .p28-work-layout {display:grid;grid-template-columns: .85fr 3fr;gap:22px;align-items:stretch}
.sp-page-price #sp-main .p28-work-photo {margin:0;position:relative;min-height:250px;overflow:hidden;background:#10344e}
.sp-page-price #sp-main .p28-work-photo img {width:100%;height:100%;position:absolute;object-fit:cover}
.sp-page-price #sp-main .p28-work-photo figcaption {position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#10344eee);color:#fff;font-size:12px;padding:30px 15px 12px}
.sp-page-price #sp-main .p27-work-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sp-page-price #sp-main .p27-work-card {display:grid;grid-template-columns:52px 1fr;padding:12px;text-align:left;align-content:center;column-gap:10px}
.sp-page-price #sp-main .p27-work-art {grid-row:1/4;height:100%;display:flex;align-items:center;background:transparent;border:0}
.sp-page-price #sp-main .p27-work-art svg {width:48px}
.sp-page-price #sp-main .p27-work-card h3 {margin:0 0 8px;font-size:15px}
.sp-page-price #sp-main .p27-work-card .sp-pguide__amount {justify-content:flex-start}
.sp-page-price #sp-main .p27-work-card .sp-pguide__amount strong {font-size:29px}
.sp-page-price #sp-main .p27-truck {grid-template-columns:1fr 2.1fr;gap:24px}
.sp-page-price #sp-main .p27-truck__photo {min-height:290px}
.sp-page-price #sp-main .p27-rental {grid-template-columns:.7fr 2.7fr .65fr}
.sp-page-price #sp-main .p27-rental-card {display:block;padding:0;overflow:hidden}
.sp-page-price #sp-main .p27-rental-photo {height:220px;margin:0;width:100%}
.sp-page-price #sp-main .p27-rental-photo img {width:100%;height:100%;object-fit:cover;object-position:center 54%}
.sp-page-price #sp-main .p27-rental-card__body {padding:18px 22px}
.sp-page-price #sp-main .p27-rental-card__body .sp-eyebrow {margin-bottom:6px}
.sp-page-price #sp-main .p27-national {grid-template-columns:1.1fr 1.9fr;gap:0 35px}
.sp-page-price #sp-main .p27-national > .p27-heading {grid-column:1/-1;display:flex;align-items:center;gap:25px}
.sp-page-price #sp-main .p27-national > .p27-heading > p:last-child {max-width:400px;margin:0}
.sp-page-price #sp-main .p27-national > .p27-heading .sp-eyebrow {display:none}
.sp-page-price #sp-main .p27-map--national img {height:440px}
.sp-page-price #sp-main .p27-national__body {align-self:center}
.sp-page-price #sp-main .p27-regions li {padding-block:18px}
.sp-page-price #sp-main .p27-regions .sp-pguide__amount strong {font-size:30px}
.sp-page-price #sp-main .p27-section {padding-block:30px}
.sp-page-price #sp-main .sp-pguide--truck {background:linear-gradient(115deg,#eaf1f5,#fff)}
.sp-page-price #sp-main .p27-info-card--case {min-height:260px}
.sp-page-price #sp-main .p27-contact-photo {opacity:.3}
@media(max-width:1100px){
.sp-page-price #sp-main .p27-local__spread {grid-template-columns:.65fr 1fr 1.4fr}
.sp-page-price #sp-main .p27-map--local img {height:390px}
.sp-page-price #sp-main .p28-work-layout {grid-template-columns:1fr 2.5fr}
.sp-page-price #sp-main .p27-work-card {display:block;text-align:center}
.sp-page-price #sp-main .p27-work-art {height:55px;justify-content:center}
.sp-page-price #sp-main .p27-work-card .sp-pguide__amount {justify-content:center}
.sp-page-price #sp-main .p27-national {grid-template-columns:1fr 1.3fr}
.sp-page-price #sp-main .p27-regions {grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}
.sp-page-price #sp-main .p27-regions li {padding-block:8px}
.sp-page-price #sp-main .p27-rental {grid-template-columns:1fr 3fr}
.sp-page-price #sp-main .p27-rental-note {grid-column:1/-1}
}
@media(max-width:900px){
.sp-page-price #sp-main .p27-local__spread {grid-template-columns:1fr 1.2fr}
.sp-page-price #sp-main .p27-local__intro:has(figure) {grid-column:1/-1}
.sp-page-price #sp-main .p27-truck {grid-template-columns:1fr}
.sp-page-price #sp-main .p27-truck__photo {height:280px}
.sp-page-price #sp-main .p27-national>.p27-heading {display:block}
.sp-page-price #sp-main .p27-national>.p27-heading>p:last-child {margin-top:12px}
}
@media(max-width:600px){
.sp-page-price #sp-main .sp-price-hero__layout {min-height:0}
.sp-page-price #sp-main .p28-hero-actions {gap:16px;margin-top:20px}
.sp-page-price #sp-main .p27-local__spread {display:flex;flex-direction:column;gap:24px}
.sp-page-price #sp-main .p27-local__intro:has(figure) {width:100%;order:1}
.sp-page-price #sp-main .p27-map--local {width:100%;order:2}
.sp-page-price #sp-main .p27-map--local img {height:420px}
.sp-page-price #sp-main .p27-local__body {order:3}
.sp-page-price #sp-main .p27-area-photo {height:180px}
.sp-page-price #sp-main .p28-work-layout {display:block}
.sp-page-price #sp-main .p28-work-photo {min-height:220px;margin-bottom:20px}
.sp-page-price #sp-main .p27-work-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-page-price #sp-main .p27-work-card {padding:16px 10px}
.sp-page-price #sp-main .p27-rental {display:block}
.sp-page-price #sp-main .p27-rental-photo {height:260px}
.sp-page-price #sp-main .p27-rental-card__body {padding:20px}
.sp-page-price #sp-main .p27-rental-note {margin-top:20px}
.sp-page-price #sp-main .p27-national {display:block}
.sp-page-price #sp-main .p27-map--national img {height:390px}
.sp-page-price #sp-main .p27-national__body {margin-top:22px}
.sp-page-price #sp-main .p27-regions li {padding-block:14px}
}
.sp-page-price #sp-main.sp-main .p27-rental-photo {display:block;overflow:hidden}
.sp-page-price #sp-main.sp-main .p27-rental-photo img {display:block;width:100%;height:100%;object-fit:cover}
.sp-page-price #sp-main .p27-local__intro .p27-serif {font-size:21px;letter-spacing:0}
.sp-page-price #sp-main .p28-work-layout:not(:has(.p28-work-photo)) {grid-template-columns:1fr}
.sp-page-price #sp-main .p27-truck:not(.has-photo) {grid-template-columns:1fr}

/* v0.41.0 宮崎県内の配送料金目安：看板写真を外し、地図を大きく・4エリアを淡い4色で料金カードと対応させる */
.sp-page-price #sp-main{--pm-city:#f2d68f;--pm-north:#a9cbdd;--pm-south:#b4dccd;--pm-west:#e9c3b7}
.sp-page-price #sp-main .p27-local{background:linear-gradient(110deg,#fbf9f2,#fffefb 60%,#fbf9f2)}
.sp-page-price #sp-main .p27-local__spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"map intro" "map body";grid-template-rows:auto 1fr;gap:20px 44px;align-items:start}
.sp-page-price #sp-main .p27-local__intro{grid-area:intro;display:block;align-self:end;padding:2px 0 2px 24px;border-left:1px solid var(--p27-gold)}
.sp-page-price #sp-main .p27-local__intro .sp-eyebrow,.sp-page-price #sp-main .p27-local__intro .p27-serif{display:block}
.sp-page-price #sp-main .p27-local__intro .p27-serif{font-size:22px}
.sp-page-price #sp-main .p27-map--local{grid-area:map;align-self:center}
.sp-page-price #sp-main .p27-map--local img{width:100%;max-width:500px;height:auto;margin:0 auto}
.sp-page-price #sp-main .p27-local__body{grid-area:body;align-self:start}
.sp-page-price #sp-main .p27-local__rate{--pm:var(--p27-gold);background:#fffefb;border:1px solid #e9e1d3;border-top:5px solid var(--pm);border-left:1px solid #e9e1d3;padding:14px 18px}
.sp-page-price #sp-main .p27-local__rate--miyazaki{--pm:var(--pm-city)}
.sp-page-price #sp-main .p27-local__rate--north{--pm:var(--pm-north)}
.sp-page-price #sp-main .p27-local__rate--south{--pm:var(--pm-south)}
.sp-page-price #sp-main .p27-local__rate--west{--pm:var(--pm-west)}
.sp-page-price #sp-main .p27-local__rate h3{display:flex;align-items:center;gap:8px}
.sp-page-price #sp-main .p27-local__rate h3:before{content:"";flex:none;width:14px;height:14px;border-radius:50%;background:var(--pm);box-shadow:0 0 0 1px #35566b55}
/* v0.41.1 代表例 */
.sp-page-price #sp-main .p27-local__eg{margin:6px 0 0;font-size:12px;line-height:1.6;color:#3d5565}
@media(max-width:900px){
.sp-page-price #sp-main .p27-local__spread{display:flex;flex-direction:column;gap:22px}
.sp-page-price #sp-main .p27-local__intro{order:1;width:100%;align-self:stretch}
.sp-page-price #sp-main .p27-map--local{order:2;width:100%}
.sp-page-price #sp-main .p27-local__body{order:3;display:block;width:100%}
.sp-page-price #sp-main .p27-local__body .p27-heading{margin-bottom:18px}
.sp-page-price #sp-main .p27-map--local img{max-width:460px}
}
/* v0.41.3 地図の色分けは方面の目安（注記を読める大きさに）／768px 付近のレンタル見出しの縦積みを防ぐ */
.sp-page-price #sp-main .p27-map__note{display:block;max-width:420px;margin:0 auto 8px;font-size:12.5px;line-height:1.75;color:#3d5565}
@media(min-width:601px) and (max-width:900px){
.sp-page-price #sp-main .p27-rental{grid-template-columns:minmax(0,1fr);gap:20px}
.sp-page-price #sp-main .p27-rental > .p27-heading{display:block}
.sp-page-price #sp-main .p27-rental-note{grid-column:1}
.sp-page-price #sp-main .p27-rental > .p27-heading p{margin-top:12px}
}

/* v0.41.4 地図の出典表記を地図の直下から外し、料金コンテンツの末尾に小さく控えめに置く（出典・ライセンスのリンクは維持） */
.sp-page-price #sp-main .p27-source{margin:28px 0 0;font-size:11px;line-height:1.7;color:#6e7b83;text-align:center}
.sp-page-price #sp-main .p27-source a{color:inherit;text-underline-offset:2px}

/* v0.42.0 サービス別の料金確認・正式見積もり導線 */
.sp-page-price #sp-main .sp-price-routes{background:#f6f8fa}
.sp-page-price #sp-main .sp-price-routes__primary{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.sp-page-price #sp-main .sp-price-route{padding:22px 24px;background:#fff;border:1px solid #dce3e8;border-top:4px solid var(--p27-gold)}
.sp-page-price #sp-main .sp-price-route--transport{border-top-color:#315f7c}
.sp-page-price #sp-main .sp-price-route--tuning{border-top-color:#b85927}
.sp-page-price #sp-main .sp-price-route .sp-eyebrow{margin-bottom:5px}
.sp-page-price #sp-main .sp-price-route h3{margin:0 0 10px;font-size:22px}
.sp-page-price #sp-main .sp-price-route>p:not(.sp-eyebrow):not(.sp-price-route__note){margin:0;color:#4f626f;font-size:12px}
.sp-page-price #sp-main .sp-price-route__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sp-page-price #sp-main .sp-price-route__actions .sp-btn{flex:1 1 190px;gap:8px;text-align:center}
.sp-page-price #sp-main .sp-btn--sub{color:var(--p27-navy);background:#fff;border:1px solid #7f98a9}
.sp-page-price #sp-main .sp-btn--sub:hover{background:#eef4f7}
.sp-page-price #sp-main .sp-price-route__note{margin:10px 0 0;font-size:10.5px;color:#657783}
.sp-page-price #sp-main .sp-price-route__rates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 0}
.sp-page-price #sp-main .sp-price-route__rates>div{padding:10px 12px;background:#fbf8f2;border-left:2px solid #c5a471}
.sp-page-price #sp-main .sp-price-route__rates dt{font-size:11px;color:#586b77}
.sp-page-price #sp-main .sp-price-route__rates dd{margin:2px 0 0;font-size:12px}
.sp-page-price #sp-main .sp-price-route__rates strong{font:400 25px/1.3 Georgia,serif;color:#b64b22}
.sp-page-price #sp-main .sp-price-service-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.sp-page-price #sp-main .sp-price-service-nav a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 15px;color:var(--p27-navy);text-decoration:none;background:#fff;border:1px solid #dce3e8}
.sp-page-price #sp-main .sp-price-service-nav a:hover{border-color:#8ba0ae;background:#fafdff}
.sp-page-price #sp-main .sp-price-service-nav strong{font-size:13px}
.sp-page-price #sp-main .sp-price-service-nav span{font-size:10.5px;color:#60717d;white-space:nowrap}
.sp-page-price #sp-main .sp-price-service-nav span:after{content:" →";color:#9a7445}
.sp-page-price #sp-main .sp-price-section-action{margin:18px 0 0;text-align:right}
.sp-page-price #sp-main .sp-price-section-action--rental{grid-column:1/-1}
.sp-page-price #sp-main .sp-price-section-action .sp-btn{min-width:260px}

@media(max-width:900px){
.sp-page-price #sp-main .sp-price-service-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
.sp-page-price #sp-main .sp-price-routes__primary{grid-template-columns:1fr}
.sp-page-price #sp-main .sp-price-route{padding:22px 18px}
.sp-page-price #sp-main .sp-price-route__rates{grid-template-columns:1fr}
.sp-page-price #sp-main .sp-price-route__actions{display:grid;grid-template-columns:1fr}
.sp-page-price #sp-main .sp-price-route__actions .sp-btn{width:100%;min-width:0}
.sp-page-price #sp-main .sp-price-service-nav{grid-template-columns:1fr}
.sp-page-price #sp-main .sp-price-service-nav a{min-height:54px}
.sp-page-price #sp-main .sp-price-section-action{text-align:stretch}
.sp-page-price #sp-main .sp-price-section-action .sp-btn{width:100%;min-width:0}
}

/* v0.42.1 固定金額ではなく、対応内容と見積もり導線を案内する。 */
.sp-page-price #sp-main .p42-estimate-guide{padding:24px 26px;background:#fffefb;border:1px solid #e5dccd;border-left:4px solid var(--p27-gold)}
.sp-page-price #sp-main .p42-estimate-guide>p:first-child{margin:0;font:500 16px/2 var(--p27-serif);color:#29495d}
.sp-page-price #sp-main .p42-estimate-guide .sp-btn{margin-top:20px}
.sp-page-price #sp-main .p42-estimate-guide__note{margin:10px 0 0;font-size:10.5px;color:#657783}
.sp-page-price #sp-main .p27-work-card{grid-template-rows:auto auto;align-content:start}
.sp-page-price #sp-main .p27-work-card .p27-work-art{grid-row:1/3}
.sp-page-price #sp-main .p27-work-card>p{font-size:11px;line-height:1.7;margin:0}
.sp-page-price #sp-main .p42-work-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:8px 0 0}
.sp-page-price #sp-main .p42-work-details>div{padding:12px 0;border-bottom:1px solid #e9e2d8}
.sp-page-price #sp-main .p42-work-details dt{font:500 14px/1.6 var(--p27-serif)}
.sp-page-price #sp-main .p42-work-details dd{margin:4px 0 0;font-size:11px;line-height:1.8;color:#60707b}
.sp-page-price #sp-main .p42-truck-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sp-page-price #sp-main .p42-truck-services article{padding:22px 20px;background:#fff;border:1px solid #d7dfe4;border-top:3px solid #315f7c}
.sp-page-price #sp-main .p42-truck-services .sp-eyebrow{margin-bottom:8px}
.sp-page-price #sp-main .p42-truck-services h3{margin:0 0 10px;font-size:17px;line-height:1.6}
.sp-page-price #sp-main .p42-truck-services article>p:last-child{margin:0;font-size:11px;line-height:1.85;color:#586b77}
@media(max-width:900px){
.sp-page-price #sp-main .p42-truck-services{grid-template-columns:1fr}
}
@media(max-width:600px){
.sp-page-price #sp-main .p42-estimate-guide{padding:20px 18px}
.sp-page-price #sp-main .p42-estimate-guide>p:first-child{font-size:15px;line-height:1.9}
.sp-page-price #sp-main .p42-estimate-guide .sp-btn{width:100%}
.sp-page-price #sp-main .p42-work-details{grid-template-columns:1fr}
.sp-page-price #sp-main .p27-work-card .p27-work-art{height:58px}
.sp-page-price #sp-main .p27-work-card>p{font-size:10.5px}
}

/* v0.42.3: 個別見積もりの説明を長いサービス名の下で折り返す。 */
.sp-page-price #sp-main .sp-price-service-nav .sp-price-service-moving{flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.sp-page-price #sp-main .sp-price-service-nav .sp-price-service-moving span{white-space:normal;overflow-wrap:anywhere}
