/* Service-first page layouts. Source copy remains complete in the HTML. */
.inner-page h1,.inner-page h2,.inner-page h3 { text-transform:none; letter-spacing:-.035em; line-height:1.1; }
.inner-page .breadcrumbs { padding-block:18px; font-size:.8rem; }
.inner-page .inner-hero { padding:0; background:var(--navy-900); color:white; }
.inner-page .inner-hero-shell,.inner-page .inner-hero:not(.inner-hero--media) .inner-hero-shell { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); min-height:0; border:0; box-shadow:none; gap:50px; background:none; }
.inner-page .inner-hero-copy,.inner-page .inner-hero:not(.inner-hero--media) .inner-hero-copy { padding:48px 0; background:none; order:0; min-width:0; }
.inner-page .inner-hero-copy h1 { color:white; font-size:clamp(2.2rem,3.3vw,3.65rem); max-width:24ch; margin-bottom:22px; }
.inner-page .inner-hero-copy .eyebrow { color:#ccd9ed; font-size:.8rem; }
.inner-page .inner-hero-copy .hero-lede { font-size:1rem; line-height:1.65; color:#edf2f8; max-width:65ch; }
.hero-lede p:last-child { margin-bottom:0; }
.hero-lede a { font-weight:750; }
.inner-hero-copy .hero-lede p:has(a[href^="tel:"]) { margin-top:24px; display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.inner-hero-copy .hero-lede a[href="/get-a-quote/"] { display:inline-flex; padding:12px 20px; border-radius:8px; background:var(--red-600); color:white; text-decoration:none; }
.inner-page .inner-hero-visual { margin:30px 0; min-height:320px; height:auto; border-radius:10px; background:#e3e8ed; align-self:stretch; order:1; }
.inner-page .inner-hero-visual img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.inner-hero-visual.visual-s-01 img,.inner-hero-visual.visual-g-01 img,.inner-hero-visual.visual-g-02 img,.inner-hero-visual.visual-g-05 img { object-fit:cover; object-position:center 83%; }
.inner-hero-visual::after { display:none; }
.inner-page .inner-hero-visual:has(img[src*="branded-truck"]) { aspect-ratio:1862 / 845; min-height:0; height:auto; align-self:center; width:100%; }
.inner-page .inner-hero-visual img[src*="branded-truck"] { position:static; height:auto; object-fit:contain; }
.inner-page .inner-hero:not(.inner-hero--media) .inner-hero-shell { grid-template-columns:1fr; }
.inner-page .inner-hero:not(.inner-hero--media) .inner-hero-copy { max-width:940px; padding-block:38px; }
.service-jump { background:white; border-bottom:1px solid var(--line); }
.service-jump>.shell { display:flex; align-items:center; gap:32px; min-height:70px; overflow-x:auto; }
.service-jump a { white-space:nowrap; font-size:.9rem; font-weight:750; text-decoration:none; padding:20px 0; }
.service-jump a:hover { color:var(--red-700); }
.service-jump span { font-size:.85rem; color:var(--muted); white-space:nowrap; }
.service-jump .jump-quote { margin-left:auto; color:var(--red-700); }
.copy-section { padding:64px 0; scroll-margin-top:110px; }
.copy-section--quiet { background:#f2f5f8; }
.copy-section--navy { background:var(--navy-900); color:white; }
.copy-layout { min-width:0; }
.copy-main { min-width:0; width:100%; }
.copy-description,.copy-heading { min-width:0; max-width:100%; }
.page-copy h2 { font-size:clamp(1.8rem,2.8vw,2.8rem); margin:0 0 26px; line-height:1.13; text-transform:none; }
.page-copy h3 { font-size:1.3rem; line-height:1.25; margin-bottom:16px; text-transform:none; }
.page-copy p,.page-copy li { font-size:1rem; line-height:1.75; color:#394b60; }
.page-copy p { margin-bottom:18px; }
.page-copy p:last-child { margin-bottom:0; }
.page-copy li+li { margin-top:10px; }
.page-copy ul,.page-copy ol { padding-left:22px; }
.page-copy a { color:#174e83; font-weight:650; }
.copy-section--navy p,.copy-section--navy li { color:#edf2f8; }
.copy-section--navy a { color:white; }
.copy-section--split .copy-main { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; }
.copy-section--feature .copy-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; align-items:start; }
.service-photo { margin:0; border-radius:10px; overflow:hidden; height:390px; background:#e3e8ed; }
.service-photo img { width:100%; height:100%; object-fit:cover; }
.service-photo:has(img[src*="container-service"]) { height:450px; }
.service-photo img[src*="container-service"] { object-fit:cover; object-position:center 83%; }
.home-copy-photo { width:calc(100% + 64px); max-width:none; height:240px; margin:-32px -32px 28px; object-fit:cover; }
.home-copy-photo[src*="container-service"] { object-position:center 83%; }
.home-page .copy-section:first-child .copy-item { overflow:hidden; }
.copy-section--feature .copy-children { display:block; }
.copy-section--feature .copy-item { margin-top:28px; }
.copy-children { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:30px; }
.copy-children:has(>.copy-item:nth-child(4)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.copy-item { padding-top:22px; border-top:3px solid #b8c8da; }
.copy-section--collection .copy-heading { max-width:780px; }
.copy-section--collection .copy-description { max-width:900px; }
.copy-section--answers .copy-main { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); column-gap:70px; }
.copy-section--answers .copy-heading { grid-column:1; grid-row:1; }
.copy-section--answers .copy-description { grid-column:1; grid-row:2; }
.copy-section--answers .copy-children { grid-column:2; grid-row:1 / span 3; margin:0; display:block; }
.copy-answer { border-bottom:1px solid #c5cfdb; }
.copy-answer:first-child { border-top:1px solid #c5cfdb; }
.copy-answer summary { display:flex; gap:25px; justify-content:space-between; align-items:center; cursor:pointer; padding:24px 0; list-style:none; }
.copy-answer summary::-webkit-details-marker { display:none; }
.copy-answer summary h3 { margin:0; font-size:1.1rem; }
.copy-answer summary>span { font-size:1.6rem; color:var(--red-600); }
.copy-answer[open] summary>span { transform:rotate(45deg); }
.copy-answer>div { padding:0 38px 24px 0; }
.copy-section--invitation .copy-main { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.copy-section--invitation h2 { margin:0; }
.copy-section--invitation a[href="/get-a-quote/"] { display:inline-flex; padding:12px 18px; margin:8px 8px 8px 0; color:var(--navy-900); background:white; border-radius:8px; text-decoration:none; }
.comparison-scroll { overflow-x:auto; max-width:100%; margin-block:25px; }
.comparison-scroll table { width:100%; border-collapse:collapse; font-size:.95rem; }
.comparison-scroll th { background:var(--navy-900); color:white; text-align:left; }
.comparison-scroll td,.comparison-scroll th { padding:18px; border:1px solid #d0d9e3; vertical-align:top; min-width:145px; }
.comparison-scroll tr:nth-child(even) { background:#f2f5f8; }
.copy-section--simple { padding:26px 0; background:white; }
.copy-section--simple .shell { max-width:960px; }
.copy-section--simple .copy-main { display:block; }
.copy-section--simple h2 { font-size:1.55rem; margin-bottom:18px; }
.copy-section--simple .copy-children { display:block; }
.page-legal .copy-section--simple { padding-block:22px; }
.home-page .home-hero-copy h1 { font-size:clamp(2.4rem,4.2vw,4.5rem); line-height:1.05; }
.home-page .home-hero-copy .hero-lede { max-width:620px; font-size:1rem; }
.home-page .home-hero-copy { max-width:760px; }
.home-page .home-hero { padding-bottom:36px; }
.home-page .home-hero-frame { display:grid; grid-template-columns:1fr; min-height:0; padding:36px; gap:30px; }
.home-page .home-hero-copy { position:relative; top:auto; left:auto; width:min(620px,100%); padding:36px; background:white; opacity:1; transform:none; backdrop-filter:none; }
.home-page .home-hero-copy h1 { font-size:clamp(2.3rem,3.2vw,3.25rem); }
.home-page .home-hero-copy .hero-lede { margin-bottom:20px; }
.home-page .home-hero-copy .hero-lede a[href="/get-a-quote/"] { display:inline-block; border-radius:8px; padding:12px 18px; background:var(--red-600); color:white; text-decoration:none; }
.home-page .home-hero-copy>.hero-actions { display:none; }
.home-page .project-finder { position:relative; inset:auto; margin:0; min-height:170px; opacity:1; transform:none; }
.home-page .home-truck-photo { position:absolute; width:100%; height:100%; object-fit:cover; object-position:right center; }
.home-page .copy-section:first-child .copy-main { display:block; }
.home-page .copy-section:first-child .copy-layout { display:block; }
.home-page .copy-section:first-child .copy-children { display:grid; }
.home-page .copy-section:first-child>.shell>.copy-layout>.service-photo { display:none; }
.home-page .copy-section:first-child .copy-item { padding:32px; background:var(--navy-900); border:0; border-radius:10px; color:white; }
.home-page .copy-section:first-child .copy-item p,.home-page .copy-section:first-child .copy-item a { color:white; }
.home-page .copy-section:first-child .copy-item:nth-child(2) { background:#e9eef4; color:var(--navy-900); }
.home-page .copy-section:first-child .copy-item:nth-child(2) p,.home-page .copy-section:first-child .copy-item:nth-child(2) a { color:var(--navy-900); }
.request-planner { border-top:1px solid var(--line); }
@media(min-width:1100px) { .copy-section--feature:nth-child(even) .service-photo { order:2; } }
@media(max-width:1000px) {
 .inner-page .inner-hero-shell { gap:28px; }
 .inner-page .inner-hero-copy h1 { font-size:2.3rem; }
 .copy-section { padding-block:46px; }
 .copy-section--feature .copy-layout,.copy-section--split .copy-main,.copy-section--answers .copy-main { gap:32px; }
 .copy-children { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .service-jump>.shell { gap:24px; }
 .service-jump>.shell>span { display:none; }
}
@media(max-width:700px) {
 .home-page .home-hero-frame { padding:0; gap:0; }
 .home-page .home-truck-photo { position:relative; height:230px; object-position:right center; }
 .home-page .home-hero-copy { width:100%; padding:28px 22px; border-radius:0; }
 .home-page .project-finder { margin:0; border-radius:0 0 16px 16px; }
 .inner-page .inner-hero-shell { display:flex; flex-direction:column; gap:0; }
 .inner-page .inner-hero-copy { padding:32px 0!important; order:0; }
 .inner-page .inner-hero-copy h1 { font-size:2.2rem; }
 .inner-page .inner-hero-visual { width:100%; margin:0 0 24px; height:260px; min-height:0; }
 .service-jump>.shell { gap:22px; }
 .service-jump a { padding-block:18px; font-size:.85rem; }
 .copy-section { padding-block:36px; }
 .copy-section--feature .copy-layout,.copy-section--split .copy-main,.copy-section--invitation .copy-main,.copy-section--answers .copy-main { display:flex; flex-direction:column; gap:24px; }
 .copy-section--feature .service-photo { order:1; width:100%; height:280px; }
 .copy-children,.copy-children:has(>.copy-item:nth-child(4)) { grid-template-columns:1fr; gap:20px; }
 .page-copy h2 { font-size:1.9rem; }
 .copy-section--answers .copy-children { width:100%; }
 .copy-section--simple { padding-block:20px; }
 .home-page .home-hero-copy h1 { font-size:2.3rem; }
 .home-page .copy-section:first-child .copy-item { padding:26px; }
}
/* Homepage refinements: preserve copy, improve section rhythm and link states. */
.home-page main a:not(.button):not(.explore-cta) { text-decoration:none; }
.home-page .page-copy p a:not(.button),.home-page .hero-lede a:not([href="/get-a-quote/"]) { background-image:linear-gradient(currentColor,currentColor); background-position:0 100%; background-size:0 2px; background-repeat:no-repeat; transition:background-size 180ms ease,color 180ms ease; font-weight:750; }
.home-page .page-copy p a:not(.button):hover,.home-page .page-copy p a:not(.button):focus-visible,.home-page .hero-lede a:hover { background-size:100% 2px; }
.home-page a:focus-visible { outline:3px solid #b5262d; outline-offset:4px; }
.home-page .area-panels a.button--red { color:#fff; background:#b5262d; border-color:#b5262d; }
.home-page .area-panels a.button--red:hover { color:#fff; background:#8f1d24; border-color:#8f1d24; }
.home-page #H-01-15 .copy-layout { align-items:center; gap:60px; }
.home-page #H-01-15 .service-photo { height:480px; }
.home-page #H-01-19 { background:white; }
.home-page #H-01-19 .copy-heading { max-width:820px; }
.home-page #H-01-19 .copy-children { counter-reset:home-steps; gap:24px; }
.home-page #H-01-19 .copy-item { counter-increment:home-steps; padding:30px; border:1px solid #dae3ec; border-radius:14px; background:#f2f5f8; }
.home-page #H-01-19 .copy-item::before { content:counter(home-steps,decimal-leading-zero); display:block; color:#ac252e; font-size:2.8rem; font-weight:850; margin-bottom:24px; }
.home-page #H-01-27 { background:#edf2f6; }
.home-page #H-01-27 .copy-heading { max-width:780px; }
.home-page #H-01-27 .copy-children { gap:24px; }
.home-page #H-01-27 .copy-item { padding:32px; border:0; border-radius:14px; overflow:hidden; background:white; }
.home-page #H-01-27 .home-copy-photo { height:240px; }
.home-page #H-01-34 { background:white; padding-bottom:30px; }
.home-page #H-01-34 .copy-main { gap:65px; align-items:center; }
.home-page #H-01-34 .copy-heading { border-left:5px solid #b5262d; padding-left:24px; }
.home-page #H-01-34 .copy-description { border-radius:14px; background:#edf2f6; padding:32px; }
.home-page .home-area { background:white; padding-top:30px; }
.home-page .home-area-heading h2 { font-size:clamp(2rem,3.5vw,3.4rem); }
.home-page #H-01-46 { background:#e7eef5; color:var(--navy-900); padding-block:72px; border-top:1px solid #d6e0eb; }
.home-page #H-01-46 p { color:#394b60; }
.home-page #H-01-46 a { color:#123f70; }
.home-page #H-01-46 .copy-main { gap:70px; }
.home-page #H-01-46 a[href="/get-a-quote/"] { display:table; margin:18px 0; padding:16px 24px; border-radius:8px; color:white; background:#b5262d; background-image:none; transition:background-color 160ms ease,transform 160ms ease; }
.home-page #H-01-46 a[href="/get-a-quote/"]:hover { background:#8f1d24; transform:translateY(-2px); }
@media(max-width:700px) {
 .home-page #H-01-15 .copy-layout,.home-page #H-01-34 .copy-main,.home-page #H-01-46 .copy-main { gap:28px; }
 .home-page #H-01-15 .service-photo { height:280px; }
 .home-page #H-01-19 .copy-item,.home-page #H-01-27 .copy-item { padding:26px; }
 .home-page #H-01-27 .home-copy-photo { width:calc(100% + 52px); margin:-26px -26px 24px; }
 .home-page #H-01-46 { padding-block:42px; }
}
/* Interactive service presentation, September revision. */
:root { --motion-fast:120ms; --motion-panel:240ms; --motion-enter:360ms; --motion-ease:cubic-bezier(.2,.7,.2,1); }
.services-menu-panel { width:710px; padding:12px; gap:6px; border:1px solid #dbe2ea; background:white; border-radius:18px; box-shadow:0 22px 60px #03142c29; }
.services-menu-panel a { min-height:96px; flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; border-radius:9px; text-decoration:none; transition:background-color var(--motion-fast),transform var(--motion-fast); }
.services-menu-panel a>span:not(.menu-service-number) { display:grid; gap:6px; }
.services-menu-panel small { display:block; margin:0; font-size:.875rem; line-height:1.35; }
.services-menu-panel a>.icon { width:16px; height:16px; margin-left:auto; flex-shrink:0; }
.services-menu-panel a[aria-current=page] { background:#eef3f8; box-shadow:inset 3px 0 var(--red-600); }
.menu-service-number { color:#9c2830; background:#faedef; border-radius:8px; padding:10px 8px; font-size:.85rem; }
.services-menu-panel .services-menu-all { grid-column:auto; min-height:96px; padding:18px; }
.services-menu-panel .services-menu-all:hover { background:#15365d; }
.services-menu[open] .services-menu-panel { animation:menu-appear var(--motion-panel) ease-out; }
@keyframes menu-appear { from { opacity:0; margin-top:-8px; } to { opacity:1; margin-top:0; } }
.inner-page .copy-section:not(.copy-section--simple) { padding-block:80px; }
.copy-section--explorer { background:#edf2f6; }
.copy-section--explorer .copy-main { display:grid; grid-template-columns:1fr 1.25fr; gap:20px 70px; }
.copy-section--explorer .copy-heading { max-width:520px; }
.service-explorer { grid-column:1/-1; margin-top:24px; display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,2fr); border-radius:18px; overflow:hidden; background:white; box-shadow:0 12px 40px #0b2a530a; }
.explore-tabs { background:var(--navy-900); padding:18px; display:flex; flex-direction:column; gap:8px; }
.explore-tabs button { width:100%; display:flex; align-items:center; gap:16px; text-align:left; border:0; border-radius:8px; background:transparent; color:#fff; padding:22px 16px; font-family:inherit; font-size:1rem; font-weight:700; line-height:1.4; cursor:pointer; transition:background-color var(--motion-fast),transform var(--motion-fast); }
.explore-tabs button>span:first-child { opacity:.6; font-size:.8rem; }
.explore-tabs button>span:last-child { margin-left:auto; font-size:1.4rem; }
.explore-tabs button[aria-selected=true] { background:white; color:var(--navy-900); }
.explore-tabs button:hover:not([aria-selected=true]) { background:#193b65; }
.explore-tabs button:focus-visible,.services-menu-panel a:focus-visible { outline:3px solid #e25056; outline-offset:2px; }
.explore-stage { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
.explore-stage .explore-photo { height:100%; min-height:350px; border-radius:0; }
.explore-panels { align-self:center; padding:40px; min-width:0; }
.explore-panel[hidden] { display:none; }
.explore-panel { animation:panel-enter var(--motion-panel) var(--motion-ease); }
.explore-panel h3 { font-size:1.8rem; margin-block:18px; }
.explore-count { font-size:.8rem; font-weight:800; letter-spacing:.15em; color:#a62830; }
.page-copy .explore-cta { display:inline-flex; align-items:center; gap:26px; padding:14px 18px; border-radius:8px; margin-top:24px; background:var(--red-600); color:white; text-decoration:none; }
.explore-panel+.explore-panel:not([hidden]) { margin-top:24px; }
.service-explorer[data-enhanced] .explore-panel { margin-top:0; }
@keyframes panel-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.inner-page .copy-section--collection .copy-item { padding:30px; border:1px solid #d9e1e9; border-radius:14px; background:white; box-shadow:0 5px 0 #e9eef3; transition:transform var(--motion-panel),box-shadow var(--motion-panel); }
.inner-page .copy-section--collection .copy-item:hover { transform:translateY(-5px); box-shadow:0 12px 24px #0b2a5310; }
.inner-page .copy-section--process .copy-children { counter-reset:steps; gap:18px; }
.inner-page .copy-section--process .copy-item { counter-increment:steps; position:relative; border:0; padding:28px; background:#edf2f6; border-radius:12px; }
.inner-page .copy-section--process .copy-item::before { content:counter(steps,decimal-leading-zero); display:block; font-size:2.7rem; font-weight:850; color:#9f2630; line-height:1; margin-bottom:26px; }
.inner-page .copy-section--split .copy-heading { border-left:5px solid var(--red-600); padding-left:24px; }
.inner-page .copy-section--split .copy-description { padding:32px; background:#f3f6f9; border-radius:14px; }
.inner-page .copy-section--quiet.copy-section--split .copy-description { background:white; }
.inner-page .copy-section--answers { background:#edf2f6; }
.copy-answer { background:white; margin-bottom:12px; border:1px solid #dce3eb!important; border-radius:12px; padding-inline:24px; transition:box-shadow var(--motion-panel); }
.copy-answer[open] { box-shadow:0 8px 24px #0b2a530d; border-left:4px solid var(--red-600)!important; }
.copy-answer summary>span { transition:transform var(--motion-panel); }
.copy-answer[open]>div { animation:panel-enter var(--motion-panel) ease-out; }
.inner-page .service-photo img { transition:transform var(--motion-enter) var(--motion-ease); }
@media(hover:hover) { .inner-page .service-photo:hover img { transform:scale(1.035); } }
.has-js [data-reveal] { transition:opacity var(--motion-enter) ease-out,transform var(--motion-enter) var(--motion-ease); transform:translateY(16px); }
.service-jump a[aria-current=location] { color:#a62830; box-shadow:inset 0 -3px #a62830; }
.button,.explore-cta { transition:background-color var(--motion-fast),transform var(--motion-fast); }
.button:active,.explore-cta:active { transform:scale(.98); }
@media(max-width:1100px) {
 .explore-stage { grid-template-columns:1fr; }
 .explore-stage .explore-photo { height:210px; min-height:0; }
 .copy-section--explorer .copy-main { gap:24px; }
 .services-menu-panel { width:620px; }
}
@media(max-width:1000px) {
 .services-menu-panel { width:auto; border-radius:10px; padding:8px; transform:none; box-shadow:none; }
 .services-menu-panel .services-menu-all { background:var(--navy-900); }
 .services-menu-panel .services-menu-all strong,.services-menu-panel .services-menu-all small { color:white; }
 .services-menu-panel a { min-height:76px; }
}
@media(max-width:700px) {
 .inner-page .copy-section:not(.copy-section--simple) { padding-block:42px; }
 .copy-section--explorer .copy-main,.service-explorer { display:block; }
 .explore-tabs { display:grid; grid-template-columns:1fr 1fr; padding:10px; gap:6px; }
 .explore-tabs button { padding:12px; font-size:.9rem; gap:8px; }
 .explore-tabs button>span:first-child { display:none; }
 .explore-stage .explore-photo { height:220px; }
 .explore-panels { padding:26px; }
 .explore-panel h3 { font-size:1.6rem; }
 .inner-page .copy-section--split .copy-description { padding:24px; }
 .copy-answer { padding-inline:18px; }
 .services-menu-panel a { gap:10px; }
}
/* Carry the approved homepage link and contact treatments into inner pages. */
.inner-page main a:not(.button):not(.explore-cta) { text-decoration:none; }
.inner-page .page-copy p a:not(.button):not(.explore-cta),.inner-page .page-copy li a,.inner-page .hero-lede a:not([href="/get-a-quote/"]) {
 background-image:linear-gradient(currentColor,currentColor); background-position:0 100%; background-size:0 2px; background-repeat:no-repeat;
 transition:background-size 180ms ease,color 180ms ease; font-weight:750;
}
.inner-page .page-copy p a:hover,.inner-page .page-copy p a:focus-visible,.inner-page .page-copy li a:hover,.inner-page .page-copy li a:focus-visible,.inner-page .hero-lede a:hover,.inner-page .hero-lede a:focus-visible { background-size:100% 2px; }
.inner-page a:focus-visible { outline:3px solid #b5262d; outline-offset:4px; }
.inner-page .copy-section--invitation { background:#e7eef5; color:var(--navy-900); border-top:1px solid #d6e0eb; }
.inner-page .copy-section--invitation p,.inner-page .copy-section--invitation li { color:#394b60; }
.inner-page .copy-section--invitation a { color:#123f70; }
.inner-page .copy-section--invitation a[href="/get-a-quote/"] { display:table; margin:18px 0; padding:16px 24px; border-radius:8px; background:#b5262d; background-image:none; color:white; transition:background-color 160ms ease,transform 160ms ease; }
.inner-page .copy-section--invitation a[href="/get-a-quote/"]:hover { background:#8f1d24; transform:translateY(-2px); }
.inner-page .page-copy a.button--red,.inner-page .page-copy a.explore-cta { color:white; background:#b5262d; border-color:#b5262d; background-image:none; }
.inner-page .page-copy a.button--red:hover,.inner-page .page-copy a.explore-cta:hover { color:white; background:#8f1d24; }
@media(hover:hover) and (pointer:fine) and (min-width:1001px) {
 /* Keep the pointer inside the dropdown while crossing the visual gap. */
 .services-menu-panel::before { content:""; position:absolute; left:0; right:0; top:-26px; height:26px; }
}
/* Purpose-specific delivery, location and sequential-service layouts. */
.inner-page .copy-section .copy-heading,.home-page #H-01-34 .copy-heading { border-left:0; padding-left:0; }
.material-section header { max-width:900px; margin-bottom:38px; }
.material-section h2 { max-width:24ch; }
.material-section--1 { background:#edf2f6; }
.supply-special { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:center; }
.supply-special .service-photo { height:440px; }
.delivery-brief { padding:36px; border-radius:18px; background:#edf2f6; }
.delivery-brief ul { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; list-style:none; padding:0; counter-reset:brief; }
.delivery-brief li { counter-increment:brief; margin:0!important; background:white; padding:24px; border-radius:10px; }
.delivery-brief li::before { content:counter(brief,decimal-leading-zero); display:block; color:#9f2630; font-size:1.7rem; font-weight:800; margin-bottom:16px; }
.delivery-brief>p { margin-top:26px; }
.material-section--3 { background:#f1f5f8; }
.receiving-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:start; }
.receiving-grid .service-photo { height:400px; }
.receiving-detail { background:white; border-radius:12px; margin-bottom:14px; overflow:hidden; }
.receiving-detail summary { display:flex; align-items:center; gap:18px; padding:24px; cursor:pointer; list-style:none; }
.receiving-detail summary::-webkit-details-marker { display:none; }
.receiving-detail summary>span { color:#9f2630; font-weight:800; }
.receiving-detail h3 { margin:0; font-size:1.15rem; }
.receiving-detail summary b { margin-left:auto; }
.receiving-detail[open] summary b { transform:rotate(45deg); }
.receiving-detail>div { padding:0 24px 24px; }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.audience-grid article { padding:34px; background:#edf2f6; border-radius:16px; }
.audience-grid article:nth-child(2) { background:#dfeaf3; }
.audience-label { display:block; font-size:1.3rem; font-weight:800; margin-bottom:22px; color:var(--navy-900); }
.material-section--5 { background:var(--navy-900); color:white; }
.material-section--5 header p { color:#e1eaf5; }
.supply-pair { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.supply-pair article { background:white; border-radius:16px; padding:30px; color:var(--navy-900); overflow:hidden; }
.supply-pair .service-photo { height:240px; margin:-30px -30px 28px; border-radius:0; }
.delivery-location { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.delivery-location article { border:1px solid #d5e0e9; border-radius:14px; padding:32px; }
.inner-page .journey-step { background:#f2f5f8; padding-block:24px!important; }
.journey-step>.shell { position:relative; padding-left:110px; }
.journey-number { position:absolute; left:0; top:28px; width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:var(--navy-900); color:white; font-size:1.8rem; font-weight:850; }
.journey-step>.shell::before { content:""; position:absolute; top:100px; bottom:-52px; left:35px; width:2px; background:#bccddd; }
.journey-step:nth-child(6)>.shell::before { display:none; }
.journey-step .copy-layout { display:block!important; padding:38px; background:white; border-radius:18px; }
.journey-step .copy-main { display:block!important; }
.journey-step .copy-description { background:none!important; padding:0!important; }
.journey-step .service-photo { float:right; width:32%; height:250px; margin:0 0 24px 30px; }
.journey-step .copy-layout::after { content:""; display:block; clear:both; }
.journey-step .copy-children { display:grid; }
.inner-page .location-section:first-child .copy-layout { display:block; }
.location-section:first-child .service-photo { float:right; width:28%; height:200px; margin:0 0 28px 32px; }
.location-section:first-child .copy-children { clear:both; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.location-section:first-child .copy-item { margin:0; padding:30px; border:1px solid #d5e0e9; border-radius:14px; background:white; }
.location-section:first-child .copy-item h3 { font-size:1.8rem; }
.location-section:first-child { background:#edf2f6; }
.page-areas .area-directory { display:none; }
.request-planner { background:#edf2f6; color:var(--navy-900); border-bottom:12px solid white; }
.request-planner h2,.request-planner .planner-progress,.request-planner .planner-items h3 { color:var(--navy-900); }
.request-planner-intro>p:not(.kicker),.request-planner .planner-items small { color:#465a70; }
.request-planner .kicker,.request-planner .planner-items b { color:#9f2630; }
.request-planner .planner-progress>div { background:#cdd9e4; }
.request-planner .planner-items label>span { background:white; border-color:#d2dee8; }
.request-planner .planner-items input:checked+span { background:#e0eaf3; border-color:#23476f; }
@media(max-width:800px) {
 .supply-special,.receiving-grid,.audience-grid,.supply-pair,.delivery-location { grid-template-columns:1fr; gap:24px; }
 .delivery-brief { padding:22px; }
 .delivery-brief ul { grid-template-columns:1fr 1fr; }
 .supply-special .service-photo,.receiving-grid .service-photo { height:280px; }
 .journey-step>.shell { padding-left:58px; }
 .journey-number { width:44px; height:44px; font-size:1.2rem; }
 .journey-step>.shell::before { left:21px; top:72px; }
 .journey-step .copy-layout { padding:24px; }
 .journey-step .service-photo,.location-section:first-child .service-photo { float:none; width:100%; margin:0 0 24px; height:220px; }
 .location-section:first-child .copy-children { grid-template-columns:1fr; }
}
@media(max-width:480px) { .delivery-brief ul { grid-template-columns:1fr; } .journey-step .copy-children { grid-template-columns:1fr; } }
/* Stacked section hierarchy replaces the rejected heading/prose split. */
.page-copy .copy-section--split .copy-main,.page-copy .copy-section--answers .copy-main,.page-copy .copy-section--invitation .copy-main,.page-copy .copy-section--explorer .copy-main,.home-page #H-01-34 .copy-main,.home-page #H-01-46 .copy-main { display:block; }
.page-copy .copy-section--split .copy-heading,.page-copy .copy-section--answers .copy-heading,.page-copy .copy-section--invitation .copy-heading,.page-copy .copy-section--explorer .copy-heading { max-width:950px; margin-bottom:30px; }
.inner-page .copy-section--split .copy-description,.home-page #H-01-34 .copy-description { background:none; padding:0; max-width:1050px; }
.page-copy .copy-section--answers .copy-children { margin-top:30px; }
.page-copy .copy-section--explorer .copy-description { max-width:1000px; }
.page-copy .copy-section--invitation .copy-description { max-width:900px; }
.copy-children:has(.supporting-detail) { display:block; max-width:1100px; }
.supporting-detail summary { min-height:80px; }
.supporting-detail[open]>div { animation:panel-enter 240ms ease-out; }
.page-contact .page-copy .copy-section--simple { padding:56px 0; }
.page-contact .page-copy .shell { max-width:1440px; }
.page-contact .page-copy h2 { font-size:clamp(2rem,3vw,3rem); max-width:850px; }
.page-contact .page-copy .copy-section:first-child { background:#edf2f6; }
.page-contact .page-copy .copy-section:first-child ul { list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:28px; }
.page-contact .page-copy .copy-section:first-child li { margin:0; padding:30px; background:white; border-radius:16px; font-size:1.05rem; transition:transform 180ms ease,box-shadow 180ms ease; }
.page-contact .page-copy .copy-section:first-child li:has(a):hover { transform:translateY(-4px); box-shadow:0 12px 30px #0b2a5314; }
.page-contact .page-copy .copy-section:first-child li a { display:block; font-size:clamp(1rem,2vw,1.65rem); margin-top:12px; overflow-wrap:anywhere; }
.page-contact .page-copy .copy-section:nth-child(2) .copy-description { max-width:1000px; }
.page-contact .page-copy .copy-section:last-child { background:#e7eef5; }
.page-contact .page-copy .copy-section:last-child a[href="/get-a-quote/"] { display:inline-block; padding:12px 20px; margin:8px; background:#b5262d; color:white; border-radius:8px; }
.contact-prep { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.contact-prep label { padding:16px 20px; border:1px solid #bbcddd; border-radius:10px; cursor:pointer; transition:background-color 180ms ease; }
.contact-prep label:has(input:checked) { background:#e0eaf3; border-color:#23476f; }
.contact-prep input { width:18px; height:18px; min-height:0; margin-right:10px; accent-color:#173c66; }
@media(max-width:700px) { .page-contact .page-copy .copy-section:first-child ul { grid-template-columns:1fr; } .page-contact .page-copy .copy-section--simple { padding-block:36px; } }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none!important; transition:none!important; }
 .has-js [data-reveal] { opacity:1!important; transform:none!important; }
 .inner-page .service-photo:hover img,.inner-page .copy-item:hover { transform:none!important; }
}
