/* ASelfStorage visual system: warm backgrounds, architectural lines and clear journeys. */
:root { --storage-navy:#102f42; --storage-blue:#007fac; --storage-red:#d71920; --storage-paper:#f8f7f3; --storage-line:#e2e6e6; --brand:#00769f; --brand-dark:#005573; --brand-accent:#d71920; --ink:#102f42; --ink-muted:#586a72; --radius:1rem; }
body { font-family:'Segoe UI',Arial,sans-serif; color:var(--storage-navy); background:#fff; font-size:1rem; line-height:1.65; }
a { text-underline-offset:4px; }
.container { max-width:1240px; }
.btn { border-radius:9px; font-weight:650; padding:.78rem 1.15rem; font-size:.92rem; box-shadow:none; }
.btn span { margin-left:1.1rem; }
.btn-lg { padding:1rem 1.3rem; font-size:1rem; }
.btn-primary { --bs-btn-bg:var(--storage-red); --bs-btn-border-color:var(--storage-red); --bs-btn-hover-bg:#b51319; --bs-btn-hover-border-color:#b51319; --bs-btn-active-bg:#a81016; --bs-btn-active-border-color:#a81016; --bs-btn-color:#fff; }
.btn-light { --bs-btn-color:var(--storage-navy); --bs-btn-hover-bg:#f1f5f6; }
.btn-accent { --bs-btn-bg:var(--storage-red); --bs-btn-border-color:var(--storage-red); }
:focus-visible { outline:3px solid #007fac; outline-offset:4px; }
.storage-topbar { background:var(--storage-navy); color:#e9f1f5; font-size:.75rem; padding:.6rem 0; }
.storage-topbar a { color:#fff; text-decoration:none; }
.status-dot { display:inline-block; width:7px; height:7px; background:#00b5dc; border-radius:50%; margin-right:8px; vertical-align:middle; }
.storage-header { background:#fff; border-bottom:1px solid var(--storage-line); }
.storage-header .navbar { padding:1.1rem 0; }
.storage-brand { display:flex; flex-direction:column; text-decoration:none; line-height:1; margin:0; padding:0; }
.storage-wordmark { font-size:2rem; font-weight:850; letter-spacing:-1.8px; color:#008bb9; }
.brand-a,.brand-fullstop { color:#dc151d; }
.brand-subline { font-size:.66rem; font-weight:500; letter-spacing:.25px; color:#576873; margin-top:9px; }
.storage-logo { width:230px; height:auto; max-height:75px; object-fit:contain; }
.storage-header .nav-link { color:var(--storage-navy); font-size:.87rem; font-weight:600; padding:.7rem .35rem; }
.storage-header .nav-link.active { color:var(--storage-blue); }
.breadcrumb-bar { background:var(--storage-paper); border:0; font-size:.76rem; padding:.75rem 0; }
.eyebrow { font-size:.7rem; font-weight:750; letter-spacing:1.8px; color:var(--storage-blue); margin:0 0 1rem; }
.storage-home-hero { background:var(--storage-paper); padding:3.5rem 0 4rem; overflow:hidden; }
.storage-hero-copy h1 { font-size:clamp(3.1rem,5.2vw,4.7rem); font-weight:750; line-height:1.07; letter-spacing:-3px; margin:1.3rem 0; color:var(--storage-navy); }
.storage-hero-copy h1 span { color:var(--storage-blue); }
.hero-description { color:#536670; font-size:1.05rem; max-width:39ch; line-height:1.75; margin:1.5rem 0 1.7rem; }
.quiet-link { color:var(--storage-navy); font-weight:600; font-size:.88rem; }
.hero-note { font-size:.74rem; color:#596b73; margin:1.3rem 0 0; }
.hero-note span { color:var(--storage-blue); margin-right:.4rem; }
.storage-hero-visual { position:relative; padding-bottom:38px; }
.storage-hero-photo { width:100%; height:540px; object-fit:cover; object-position:59% 50%; border-radius:22px; }
.photo-note { position:absolute; right:15px; bottom:51px; padding:3px 8px; border-radius:5px; font-size:.6rem; color:#fff; background:#102f42bb; }
.hero-route-card { position:absolute; bottom:0; left:-24px; width:380px; background:#fff; border-radius:14px; padding:1.15rem 1.3rem; box-shadow:0 16px 45px #102f421c; }
.route-card-heading { font-size:.59rem; font-weight:700; letter-spacing:1.2px; color:#5f717c; border-bottom:1px solid var(--storage-line); padding-bottom:.65rem; }
.route-card-stops { display:flex; align-items:center; justify-content:space-between; padding-top:.8rem; }
.route-card-stops>span:not(.route-arrow) { display:flex; flex-direction:column; align-items:center; gap:.4rem; }
.route-card-stops strong { font-size:.65rem; font-weight:650; }
.route-card-stops .service-icon { width:26px; height:26px; color:var(--storage-blue); }
.route-arrow { font-size:1.3rem; color:#82969e; }
.hero-stamp { position:absolute; right:-15px; top:29px; width:112px; height:112px; background:var(--storage-red); color:#fff; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; line-height:1.25; font-size:.77rem; transform:rotate(10deg); box-shadow:0 5px 0 #fff8; }
.hero-stamp strong { font-size:1.4rem; letter-spacing:-.5px; }
.journey-section { background:var(--storage-paper); padding:0 0 2.7rem; }
.journey-panel { padding:1.8rem 2rem 1.4rem; background:#fff; border:1px solid var(--storage-line); border-radius:18px; box-shadow:0 8px 25px #102f4205; }
.journey-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.2rem; }
.journey-heading .eyebrow { margin:0; }
.journey-heading h2 { font-size:1.35rem; font-weight:700; letter-spacing:-.5px; margin:0; }
.journey-card { display:flex; align-items:center; gap:13px; border:1px solid #dfe8eb; border-radius:11px; padding:1.25rem 1rem; text-decoration:none; color:var(--storage-navy); height:100%; transition:border-color .2s,background .2s,transform .2s; }
.journey-card:hover { background:#f1f8fa; border-color:var(--storage-blue); transform:translateY(-3px); color:var(--storage-navy); }
.icon-tile { background:#eaf4f7; color:var(--storage-blue); border-radius:12px; width:54px; height:54px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.service-icon { width:33px; height:33px; }
.journey-card strong { display:block; font-size:.95rem; line-height:1.3; }
.journey-card small { display:block; font-size:.71rem; line-height:1.5; color:#637680; margin-top:6px; }
.journey-arrow { margin-left:auto; font-size:1.2rem; color:var(--storage-blue); }
.journey-footnote { font-size:.72rem; color:#637680; margin:1rem 0 0; text-align:center; }
.storage-proof-strip { border-block:1px solid var(--storage-line); font-size:.76rem; padding:1.15rem 0; background:#fff; color:#536874; }
.storage-proof-strip strong { color:var(--storage-navy); }
.storage-proof-strip span span { color:var(--storage-blue); margin-right:5px; }
.storage-section { padding:5rem 0; }
.storage-section-title { font-size:clamp(2.1rem,3vw,3rem); font-weight:700; line-height:1.15; letter-spacing:-1.6px; color:var(--storage-navy); margin:0 0 1.2rem; }
.section-description { color:#62737b; font-size:.95rem; }
.audience-card { border:1px solid var(--storage-line); border-radius:17px; padding:1.8rem; background:var(--storage-paper); height:100%; overflow:hidden; position:relative; }
.audience-card h3 { font-weight:700; letter-spacing:-.7px; line-height:1.2; font-size:1.7rem; margin:1.4rem 0 1rem; }
.audience-card p { color:#5c707b; font-size:.9rem; line-height:1.7; }
.audience-feature { min-height:475px; background:#eaf4f7; padding:2.3rem; }
.audience-feature h3 { font-size:2.2rem; max-width:80%; margin-top:2rem; }
.audience-feature p { max-width:80%; }
.audience-feature .icon-tile { background:#fff; }
.card-kicker { font-size:.65rem; letter-spacing:1.4px; color:#507483; font-weight:700; }
.text-arrow { font-size:.83rem; font-weight:700; text-decoration:none; display:inline-block; }
.text-arrow span { margin-left:1rem; }
.text-arrow:hover { text-decoration:underline; }
.compact-card { min-height:282px; padding:1.6rem; }
.compact-card h3 { font-size:1.5rem; margin-top:1rem; }
.business-card { background:#fcf3ef; }
.legacy-service-icon { display:block; height:47px; width:auto; object-fit:contain; }
.international-card { background:var(--storage-navy); color:#fff; display:flex; gap:1.25rem; padding:1.7rem; }
.international-card h3 { font-size:1.1rem; margin:0 0 .5rem; letter-spacing:-.2px; }
.international-card p { color:#c1d3dc; font-size:.82rem; margin-bottom:.7rem; }
.international-card a { color:#fff; }
.international-card .icon-tile { background:#ffffff12; color:#62c8e5; }
.drawn-boxes { position:absolute; right:-10px; bottom:-12px; width:180px; height:150px; opacity:.5; transform:rotate(-8deg); pointer-events:none; }
.drawn-boxes span { position:absolute; border:2px solid #90b7c5; border-radius:4px; background:repeating-linear-gradient(90deg,#bed9e3 0 38px,#a1c5d4 38px 42px,#bed9e3 42px 80px); width:80px; height:80px; }
.drawn-boxes span:nth-child(1) { bottom:0; left:0; }.drawn-boxes span:nth-child(2) { bottom:0; left:86px; }.drawn-boxes span:nth-child(3) { bottom:86px; left:43px; }
.storage-only-section { padding:0 0 1rem; }
.storage-only-panel { background:var(--storage-paper); border-radius:20px; overflow:hidden; }
.storage-only-copy { padding:3rem 4rem; }
.storage-only-copy p:not(.eyebrow) { color:#62737b; max-width:48ch; }
.storage-only-art { min-height:360px; background:#dfeef3; padding:3rem; display:flex; align-items:center; justify-content:center; }
.unit-door { width:250px; height:300px; background:#007aab; border:9px solid #eef8fb; border-bottom-width:0; box-shadow:18px 20px 0 #c0dce7; border-radius:8px 8px 0 0; position:relative; padding:14px 0; }
.unit-door span { display:block; height:35px; border-bottom:2px solid #085f842e; border-top:1px solid #2e9fc544; }
.unit-door b { position:absolute; top:100px; left:25px; color:#fff; font-size:1.9rem; line-height:1.15; letter-spacing:-1px; transform:rotate(-5deg); }
.process-card { border-top:1px solid #d1dfe5; padding-top:1.8rem; padding-right:1.8rem; }
.process-card>span { font-size:.8rem; background:#eaf4f7; color:var(--storage-blue); padding:9px 13px; border-radius:50%; font-weight:700; }
.process-card h3 { font-size:1.15rem; font-weight:700; margin:1.5rem 0 .8rem; letter-spacing:-.3px; }
.process-card p { font-size:.9rem; color:#62737b; }
.community-note { font-size:.84rem; margin:2rem 0 0; padding:1.2rem 1.5rem; border-radius:12px; background:var(--storage-paper); color:#62737b; }
.storage-faq { padding:4rem 0 5rem; background:var(--storage-paper); }
.faq-list { border-top:1px solid #d5dee2; }
.faq-item { border-bottom:1px solid #d5dee2; padding:1.25rem 0; }
.faq-item summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; color:var(--storage-blue); font-size:1.5rem; font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-item .faq-question { font-size:.98rem; margin:0; font-weight:650; line-height:1.5; }
.faq-item .faq-answer { margin-top:1rem; font-size:.9rem; color:#5c707b; max-width:68ch; }
.storage-closing { padding:4rem 0; background:var(--storage-blue); color:#fff; position:relative; overflow:hidden; }
.storage-closing::after { content:''; position:absolute; width:380px; height:380px; border:55px solid #ffffff09; border-radius:50%; right:12%; top:-70px; pointer-events:none; }
.storage-closing .container { position:relative; z-index:1; }
.storage-closing .eyebrow { color:#d4f0f8; }
.storage-closing h2 { color:#fff; font-size:clamp(2rem,3.5vw,3rem); font-weight:700; line-height:1.13; letter-spacing:-1px; margin:0; }
.storage-closing a:not(.btn) { color:#fff; }.storage-closing p:not(.eyebrow) { font-size:.8rem; }
.site-footer { background:var(--storage-navy); color:#c0d0d9; padding:3.3rem 0 1.2rem; }
.footer-heading { color:#fff; font-size:.85rem; margin-bottom:1.2rem; }
.footer-text { color:#c0d0d9; font-size:.8rem; }
.footer-list a { color:#c0d0d9; font-size:.8rem; }.footer-list a:hover { color:#fff; }
.footer-bottom { border-color:#ffffff20; font-size:.64rem; margin-top:2.5rem; padding-top:1.3rem; }
.footer-brand { color:#fff; font-size:1.75rem; font-weight:800; letter-spacing:-1px; margin-bottom:1rem; }
.section { padding-block:3rem; }
.page-title { color:var(--storage-navy); font-size:clamp(1.85rem,3.5vw,2.8rem); line-height:1.2; font-weight:720; letter-spacing:-1px; }
.page-intro-sm { max-width:65ch; font-size:1rem; line-height:1.8; color:#5f717d; }
.quote-switch { border:0; display:inline-flex; background:#eff4f6; border-radius:10px; padding:5px; gap:3px; }
.quote-switch-link { border:0; font-size:.8rem; padding:.65rem 1rem; border-radius:7px; color:#536f7d; background:transparent; text-decoration:none; }
.quote-switch-link.active { color:var(--storage-navy); background:#fff; box-shadow:0 2px 5px #102f4210; }
.quote-form { max-width:none; }
.form-section { border:1px solid #dde6e9; background:#fff; border-radius:16px; padding:1.75rem 2rem; margin-bottom:1.5rem; box-shadow:0 4px 15px #102f4203; }
.form-section legend { background:var(--storage-navy); color:#fff; border-radius:6px; padding:6px 13px; font-size:.87rem; font-weight:650; width:auto; float:none; margin:0 0 1.6rem; letter-spacing:0; }
.form-control,.form-select { border-radius:8px; border-color:#cbdbe2; padding:.75rem .85rem; font-size:.91rem; }
.form-select { padding-right:2.25rem; }.form-control:focus,.form-select:focus { border-color:var(--storage-blue); box-shadow:0 0 0 3px #007fac18; }
.form-label { font-weight:600; font-size:.85rem; color:var(--storage-navy); }
.form-text,.form-required-note { font-size:.75rem; color:#62737b; }.form-required-note { margin-bottom:1.7rem; }
#movingStorageQuestions { background:#edf7fa; border-color:#cbe3ec!important; border-radius:12px!important; }
#movingStorageQuestions p { font-size:.85rem; color:#527380; }
.quote-form details>summary { font-size:.85rem; color:var(--storage-blue); font-weight:600; cursor:pointer; }
.service-banner { background:var(--storage-paper); padding:2.8rem 0; }
.service-banner h1 { font-size:clamp(2.2rem,4vw,3.4rem); line-height:1.12; letter-spacing:-1.6px; font-weight:730; max-width:18ch; }
.service-banner p:not(.eyebrow) { max-width:57ch; color:#5e727d; font-size:1rem; }
.service-banner-photo { width:100%; height:280px; object-fit:cover; border-radius:18px; }
.service-article h2 { font-size:1.5rem; letter-spacing:-.4px; font-weight:700; margin:2rem 0 1rem; }
.service-article p { color:#5e727d; font-size:1rem; }
.service-sidebar { border:1px solid #dde8ed; background:var(--storage-paper); border-radius:15px; padding:1.6rem; position:sticky; top:20px; }
.service-sidebar h2 { font-size:1rem; margin-bottom:1.3rem; font-weight:700; }.service-sidebar a { font-size:.85rem; }
.service-enquiry-box { border-radius:15px; background:#edf7fa; padding:1.75rem; margin-top:2rem; }
@media(max-width:1199px) { .storage-header .navbar-nav { gap:.5rem!important; }.storage-header .nav-link { font-size:.8rem; }.hero-route-card { left:0; width:330px; }.storage-hero-copy h1 { font-size:3.65rem; }.storage-only-copy { padding:2.5rem; }.journey-card { padding:1rem .8rem; gap:8px; }.journey-card .icon-tile { width:40px; height:44px; }.journey-card .service-icon { width:27px; height:27px; } }
@media(max-width:991px) { .storage-home-hero { padding:2.5rem 0 2rem; }.storage-hero-copy h1 { font-size:3.6rem; }.hero-description { max-width:48ch; }.storage-hero-photo { height:450px; }.hero-stamp { right:15px; }.hero-route-card { left:15px; }.storage-section { padding:3.5rem 0; }.storage-only-art { min-height:300px; }.unit-door { height:250px; width:230px; }.storage-only-copy { padding:2rem; }.storage-header .navbar-collapse { padding-top:1rem; }.storage-section-title { font-size:2.35rem; }.audience-feature { min-height:360px; }.service-banner-photo { margin-top:1rem; height:250px; }.storage-proof-strip { font-size:.7rem; } }
@media(max-width:575px) { .container { padding-inline:20px; }.storage-topbar { font-size:.59rem; }.storage-topbar .container { gap:5px!important; }.storage-topbar .status-dot { display:none; }.storage-header .navbar { padding:.9rem 0; }.storage-wordmark { font-size:1.5rem; letter-spacing:-1.2px; }.brand-subline { font-size:.5rem; margin-top:6px; }.storage-header .btn-sm { padding:.55rem .65rem; font-size:.7rem; }.storage-header .btn-sm span { margin-left:5px; }.storage-header .navbar-toggler { padding:.25rem .35rem; font-size:1rem; }.storage-home-hero { padding:2rem 0 1.6rem; }.storage-hero-copy h1 { font-size:3.2rem; letter-spacing:-2px; margin-top:1rem; }.hero-description { font-size:.94rem; }.storage-hero-photo { height:335px; border-radius:15px; }.hero-route-card { width:290px; left:12px; padding:.9rem 1rem; }.hero-stamp { width:85px; height:85px; font-size:.65rem; top:15px; right:10px; }.hero-stamp strong { font-size:1.1rem; }.journey-panel { padding:1.4rem 1rem; }.journey-heading { flex-direction:column; align-items:flex-start; gap:.5rem; }.journey-heading h2 { font-size:1.15rem; }.journey-card { padding:1rem; }.journey-card small { margin-top:3px; }.journey-footnote { text-align:left; }.storage-proof-strip .container { justify-content:flex-start!important; column-gap:1.2rem!important; }.storage-proof-strip .container>span { width:calc(50% - .6rem); font-size:.64rem; }.storage-section { padding:3rem 0; }.storage-section-title { font-size:2rem; letter-spacing:-1px; }.audience-feature { padding:1.5rem; min-height:390px; }.audience-feature h3 { font-size:1.85rem; max-width:90%; }.audience-feature p { max-width:90%; }.compact-card { min-height:0; padding:1.5rem; }.compact-card h3 br { display:none; }.international-card { padding:1.5rem; gap:1rem; }.international-card .icon-tile { width:43px; height:43px; }.storage-only-copy { padding:1.75rem; }.storage-only-art { min-height:280px; }.storage-closing { padding:2.75rem 0; }.storage-faq { padding:3rem 0; }.form-section { padding:1.2rem; }.form-section legend { font-size:.8rem; }.page-title { font-size:1.85rem; }.section { padding-block:2rem; }.service-banner { padding:2rem 0; }.service-banner h1 { font-size:2.2rem; }.footer-bottom { font-size:.64rem; }.photo-note { font-size:.5rem; } }
@media(prefers-reduced-motion:reduce) { .journey-card { transition:none; }.journey-card:hover { transform:none; } }

.quote-form .form-control,.quote-form .form-select { padding:.75rem .85rem; }
.quote-form .form-select { padding-right:2.25rem; }
@media(max-width:575px) { .storage-faq .row,.service-banner .row,.section>.row { --bs-gutter-x:1.5rem; } }
/* Dedicated service journeys and the service directory. */
.service-detail-hero { padding:3.5rem 0 4rem; }
.service-detail-hero h1 { max-width:20ch; margin:0; font-size:clamp(2.3rem,3.7vw,3.5rem); }
.service-location { color:#687c85!important; font-size:.75rem!important; margin-bottom:1rem; }
.service-introduction { margin:1.5rem 0 1.75rem; max-width:61ch!important; line-height:1.8; }
.service-journey-visual { position:relative; padding-bottom:2.5rem; }
.service-photo-frame { margin:0; position:relative; }
.service-detail-hero .service-banner-photo { height:350px; border-radius:18px; object-position:65% 50%; }
.service-photo-frame figcaption { position:absolute; top:14px; right:14px; background:#102f42b8; color:#fff; font-size:.59rem; padding:4px 8px; border-radius:5px; }
.service-journey-panel { position:relative; width:88%; margin:-3rem auto 0; padding:1.4rem 1.5rem; background:#fff; border:1px solid #e1e9ec; border-radius:14px; box-shadow:0 15px 35px #102f4212; }
.service-journey-panel strong { font-size:.88rem; }
.service-journey-panel .eyebrow { font-size:.6rem; }
.service-journey-panel .icon-tile { width:43px; height:43px; border-radius:10px; }
.service-journey-panel .service-icon { width:27px; height:27px; }
.service-stops li { position:relative; display:flex; align-items:center; gap:12px; padding:.55rem 0; color:#566e7a; font-size:.77rem; line-height:1.4; }
.service-stops li+li::before { content:''; position:absolute; left:12px; top:-9px; height:18px; border-left:1px dashed #9bbac6; }
.service-stop-number { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:25px; height:25px; border-radius:50%; background:#edf6f9; color:#00789f; font-size:.65rem; font-weight:750; z-index:1; }
.service-stops li:last-child .service-stop-number { background:#d71920; color:#fff; }
.service-directory-section { background:#fff; padding-bottom:3rem; }
.service-directory-intro { max-width:67ch; color:#607783; }
.service-directory-card { padding:1.7rem; border:1px solid #dbe7ec; border-radius:16px; background:#f8fafb; }
.service-directory-card h3 { font-size:1.24rem; line-height:1.3; letter-spacing:-.4px; margin:1.3rem 0 1rem; }
.service-directory-card h3 a { color:var(--storage-navy); text-decoration:none; }
.service-directory-card h3 a:hover { color:var(--storage-blue); text-decoration:underline; }
.service-directory-card p { color:#5e7480; font-size:.86rem; line-height:1.75; margin-bottom:1.2rem; }
.service-reading-section { padding-block:3.5rem 4rem; }
.service-content-section { display:flex; gap:1.4rem; border-top:1px solid #dfE7eb; padding:1.8rem 0; }
.service-section-number { flex:0 0 35px; padding-top:5px; color:#8299a3; font-size:.75rem; font-weight:650; }
.service-content-section h2 { margin:0 0 .85rem; font-size:1.45rem; }
.service-content-section p { margin-bottom:0; line-height:1.85; }
.service-planning-card { background:#edf5f8; border:0; padding:1.75rem; }
.service-planning-tag { display:inline-block; background:#fff; border:1px solid #d5e4eb; border-radius:5px; color:#427083; font-size:.6rem; letter-spacing:1.3px; font-weight:700; padding:5px 8px; margin-bottom:1.2rem; }
.service-planning-card h2 { font-size:1.6rem; line-height:1.2; margin-bottom:.9rem; letter-spacing:-.5px; }
.service-planning-card p { font-size:.81rem; line-height:1.7; color:#58717f; }
.service-checklist { margin:1.35rem 0 1.5rem; }
.service-checklist li { display:flex; gap:11px; padding:.6rem 0; font-size:.81rem; color:#355c70; line-height:1.55; }
.service-checklist li span { color:#007da6; font-weight:700; }
.service-sidebar-alternative { border-top:1px solid #cfdee5; margin-top:1.5rem; padding-top:1.3rem; }
.service-sidebar-alternative h3 { font-size:.92rem; font-weight:700; }
.service-sidebar-alternative p { margin-bottom:.6rem; }
.service-related-section { padding:3rem 0 4rem; background:var(--storage-paper); }
.service-related-card { display:block; color:var(--storage-navy); text-decoration:none; padding:1.6rem; border:1px solid #e0e7e9; border-radius:15px; background:#fff; transition:border-color .2s; }
.service-related-card:hover { color:var(--storage-navy); border-color:#007faC; }
.service-related-card h3 { font-size:1.08rem; line-height:1.4; margin:1.3rem 0; }
.service-related-card .text-arrow { color:var(--storage-blue); }
#choose-service,#planning-your-move { scroll-margin-top:2rem; }
@media(max-width:991px) {
    .service-detail-hero { padding:2.5rem 0; }
    .service-detail-hero .service-banner-photo { height:330px; margin-top:0; }
    .service-journey-visual { padding-bottom:0; max-width:620px; }
    .service-journey-panel { max-width:420px; }
    .service-planning-card { position:static; }
}
@media(max-width:575px) {
    .service-detail-hero { padding:2rem 0; }
    .service-detail-hero h1 { font-size:2.2rem; letter-spacing:-1.2px; }
    .service-introduction { font-size:.94rem!important; }
    .service-journey-panel { padding:1.25rem; margin-top:-2rem; width:90%; }
    .service-detail-hero .service-banner-photo { height:260px; }
    .service-directory-card { padding:1.5rem; }
    .service-reading-section { padding-block:2.5rem; }
    .service-content-section { gap:.8rem; }
    .service-section-number { flex-basis:24px; }
    .service-content-section h2 { font-size:1.25rem; }
    .service-content-section p { font-size:.93rem; }
    .service-planning-card { padding:1.5rem; }
    .service-related-section { padding:2.5rem 0; }
}
/* Company information and short general enquiries. */
.company-page-hero { background:var(--storage-paper); padding:3rem 0; }
.company-page-hero h1 { font-size:clamp(2.2rem,3.8vw,3.3rem); line-height:1.15; letter-spacing:-1.3px; font-weight:730; max-width:23ch; margin:0 0 1.3rem; }
.company-page-intro { max-width:64ch; font-size:1rem; line-height:1.8; color:#5d7380; margin-bottom:1.6rem; }
.contact-start-card { background:#fff; border:1px solid #dfe8ed; border-radius:16px; padding:1.7rem; }
.contact-start-card h2 { font-size:1.25rem; margin:1.2rem 0 .7rem; letter-spacing:-.3px; }
.contact-start-card p { color:#5d7380; font-size:.85rem; line-height:1.75; margin-bottom:1.2rem; }
.contact-page-section { padding-block:3rem 4rem; }
.contact-details-card { padding:1.5rem 0; }
.contact-details-card h2,.contact-message-card h2 { font-size:1.7rem; letter-spacing:-.5px; font-weight:700; line-height:1.2; margin-bottom:1.2rem; }
.contact-detail { padding:1.1rem 0; border-bottom:1px solid #e0e8ec; }
.contact-detail h3 { color:#395e71; font-size:.76rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:.55rem; }
.contact-detail a { font-weight:600; overflow-wrap:anywhere; }
.contact-detail p { color:#607984; font-size:.8rem; line-height:1.7; margin:.55rem 0 0; max-width:43ch; }
.contact-detail address { font-style:normal; font-size:.95rem; margin-bottom:.6rem; line-height:1.8; }
.contact-company-note { font-size:.8rem; color:#607984; margin-top:1.5rem; }
.contact-message-card { border:1px solid #dce7ed; border-radius:18px; padding:2rem; box-shadow:0 6px 25px #102f4207; scroll-margin-top:2rem; }
.contact-message-card .form-required-note { margin-bottom:1.5rem; }
.contact-message-card .field-validation-error { display:block; margin-top:.3rem; }
.contact-confirmation-card { background:#edf6f9; border:1px solid #d9e9f0; border-radius:18px; padding:2.5rem; }
.contact-confirmation-card>p { max-width:65ch; color:#587382; }
.contact-reference { padding:1rem 1.2rem; border-radius:10px; background:#fff; font-size:.86rem; }
.contact-reference strong { display:block; margin-top:.35rem; overflow-wrap:anywhere; color:var(--storage-navy); }
.company-reading-section { padding-block:3rem 4rem; }
.company-article { max-width:75ch; color:#5b7380; line-height:1.85; }
.company-article h2 { font-size:1.55rem; color:var(--storage-navy); margin:2rem 0 1rem; letter-spacing:-.4px; }
.company-article p { margin-bottom:1.35rem; }
.company-article h2:first-child { margin-top:0; }
.company-information-card { background:#edf5f8; border-radius:16px; padding:1.75rem; position:sticky; top:1.5rem; }
.company-information-card h2 { font-size:1.45rem; letter-spacing:-.5px; margin-bottom:1.2rem; }
.company-navigation { margin-bottom:0; }
.company-navigation li { border-bottom:1px solid #d3e3ea; }
.company-navigation a,.company-navigation .active { display:block; padding:.85rem 0; font-size:.84rem; line-height:1.5; color:#355e73; text-decoration:none; }
.company-navigation a:hover { color:var(--storage-blue); text-decoration:underline; }
.company-navigation .active { font-weight:700; color:var(--storage-navy); }
.company-navigation a span { float:right; margin-left:10px; color:var(--storage-blue); }
.company-sidebar-enquiry { margin-top:1.5rem; }
.company-sidebar-enquiry h3 { font-size:1rem; margin-bottom:.7rem; }
.company-sidebar-enquiry p { font-size:.85rem; color:#587280; line-height:1.75; }
@media(max-width:991px) { .company-information-card { position:static; }.contact-details-card { padding-top:0; } }
@media(max-width:575px) {
    .company-page-hero { padding:2rem 0; }
    .company-page-hero h1 { font-size:2.2rem; letter-spacing:-1px; }
    .company-page-intro { font-size:.94rem; }
    .contact-start-card,.contact-message-card,.company-information-card { padding:1.4rem; }
    .contact-message-card h2,.contact-details-card h2 { font-size:1.5rem; }
    .contact-confirmation-card { padding:1.5rem; }
    .contact-confirmation-card .page-title { font-size:1.8rem; }
    .contact-page-section,.company-reading-section { padding-block:2.5rem; }
    .company-article h2 { font-size:1.4rem; }
}
@media(max-width:575px) { .storage-logo { width:160px; max-width:36vw; max-height:55px; } }

/* Preserve the reference removal questionnaire's compact sections and numbered legends. */
#quoteForm .form-section {
    border:1px solid var(--rule); border-left:4px solid var(--section-accent);
    border-radius:var(--radius); padding:1rem 1.125rem 1.125rem; margin-bottom:1rem; box-shadow:none;
}
#quoteForm .form-section-1 { background:rgba(11,79,108,.05); }
#quoteForm .form-section-2 { background:rgba(27,122,90,.05); }
#quoteForm .form-section-3 { background:rgba(63,81,163,.05); }
#quoteForm .form-section-4 { background:rgba(167,90,18,.05); }
#quoteForm .form-section-5 { background:rgba(107,74,158,.05); }
#quoteForm .form-section-6 { background:rgba(61,96,112,.05); }
#quoteForm .form-section .form-legend {
    width:auto; float:none; padding:0 .5rem; margin-bottom:.5rem; border-radius:0;
    background:transparent; color:var(--section-accent); font-size:1rem; font-weight:700;
}
#quoteForm .form-label { margin-bottom:.2rem; font-size:.875rem; font-weight:600; }
#quoteForm .form-text { margin-top:.15rem; font-size:.75rem; }
#quoteForm .form-control, #quoteForm .form-select { padding:.375rem .625rem; }
.quote-switch { display:flex; width:fit-content; max-width:100%; flex-wrap:wrap; }
.quote-switch-link { white-space:normal; }
@media (pointer:coarse) {
    #quoteForm .form-control, #quoteForm .form-select { min-height:44px; }
}
/* Optional postcode suggestions reused from BaggageLuggage; no selection is required. */
.postcode-anchor { position:relative; }
.postcode-list {
 position:absolute; z-index:1000; list-style:none; margin:0; padding:.25rem; background:#fff;
 border:1px solid var(--storage-line); border-radius:.5rem; box-shadow:0 6px 20px #102f421a;
 max-height:16rem; overflow-y:auto;
}
.postcode-list li { padding:.5rem .75rem; border-radius:.4rem; cursor:pointer; font-weight:600; color:var(--ink); }
.postcode-list li:hover, .postcode-list li.active { background:#eff7fb; color:var(--brand); }
.postcode-note { font-size:.75rem; line-height:1.5; margin-top:.35rem; color:#8a4b00; }
.postcode-note.is-found { color:#176438; }