/* Ozzy's Breakdown Recovery — V8. One stylesheet, no legacy overrides. */
:root {
  --red: #cf142b;
  --red-hover: #ad1023;
  --red-soft: #fff1f2;
  --black: #0b0e12;
  --ink: #171c24;
  --muted: #535d6b;
  --line: #e0e4e9;
  --paper: #f6f7f9;
  --white: #fff;
  --radius: 12px;
  --shadow: 0 8px 26px rgb(16 24 40 / 7%);
  --max: 1200px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
img { display: block; width: 100%; max-width: 100%; height: auto; }
picture { display: block; }
button, input, select, textarea { font: inherit; }
button, summary, select { cursor: pointer; }
a { color: inherit; text-decoration: none; }
a, button { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button:disabled { opacity: .48; cursor: not-allowed; }
button, a, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid #2055dc; outline-offset: 4px; }
.dark :focus-visible, .hero :focus-visible, .site-header :focus-visible { outline-color: #ffcf59; }
[hidden] { display: none !important; }
.container { width: min(var(--max), calc(100% - 48px)); margin-inline: auto; }
.icon { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icon.fill { fill: currentColor; stroke: none; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 18px; background: white; color: black; transform: translateY(-160%); border-radius: 6px; }
.skip:focus { transform: none; }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { line-height: 1.15; letter-spacing: -.032em; }
h2 { font-size: clamp(28px, 3.2vw, 40px); font-weight: 750; }
h3 { font-size: 21px; font-weight: 730; }
p + p { margin-top: 14px; }
.eyebrow { display: block; color: var(--red); font-size: 11px; font-weight: 800; line-height: 1.5; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 13px; }
.section { padding: 76px 0; }
.soft { background: var(--paper); }
.dark { background: var(--black); color: white; }
.dark .eyebrow { color: #ff7886; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; margin-bottom: 32px; }
.section-head h2 { max-width: 660px; }
.section-head p { color: var(--muted); max-width: 390px; font-size: 15px; }
.section-head.center { display: block; text-align: center; }
.section-head.center h2, .section-head.center p { margin-inline: auto; max-width: 700px; }
.section-head.center p { margin-top: 13px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 50px; padding: 12px 19px; border: 1px solid transparent; border-radius: 7px; font-weight: 720; font-size: 14px; line-height: 1.4; text-align: center; transition: background .18s, border-color .18s, transform .18s, box-shadow .18s; }
.btn:hover { transform: translateY(-2px); }
.btn-red { color: #fff; background: var(--red); border-color: #e1263d; box-shadow: 0 6px 14px rgb(160 10 35 / 18%), inset 0 1px 0 rgb(255 255 255 / 15%); }
.btn-red:hover { background: var(--red-hover); }
.btn-white { background: #fff; color: var(--ink); border-color: var(--line); }
.btn-white:hover { background: #f1f3f6; border-color: #a1a8b2; }
.btn-outline { border-color: #929aa7; background: rgb(10 13 18 / 55%); color: white; }
.btn-outline:hover { background: #232a35; border-color: white; }
.btn-line { background: white; color: var(--red); border-color: var(--red); }
.btn-line:hover { background: var(--red-soft); }
.text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--red); font-size: 14px; font-weight: 730; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; }
.text-link:hover { text-decoration-color: currentColor; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; }
/* Header */
.utility { background: #171c23; color: #dce1e8; font-size: 11px; }
.utility .container { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.utility span { display: inline-flex; align-items: center; gap: 7px; }
.utility .icon { width: 13px; height: 13px; }
.site-header { position: sticky; top: 0; z-index: 40; background: #090c10; color: white; border-bottom: 1px solid #252b34; }
.header-row { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; min-height: 48px; flex: 0 0 auto; }
.brand img { width: 220px; height: auto; }
.nav-links { display: flex; gap: 24px; align-items: center; }
.nav-links a { display: flex; align-items: center; min-height: 46px; font-weight: 650; font-size: 13px; position: relative; color: #e7ebf0; }
.nav-links a::after { content: ''; height: 2px; position: absolute; left: 0; right: 100%; bottom: 6px; background: #ef4053; transition: right .2s; }
.nav-links a:hover::after, .nav-links a.active::after { right: 0; }
.header-call { flex: 0 0 auto; gap: 12px; padding-inline: 17px; }
.header-call span { display: flex; flex-direction: column; text-align: left; line-height: 1.35; }
.header-call strong { font-size: 16px; }
.header-call small { font-size: 10px; font-weight: 600; }
.menu-toggle { display: none; background: #222833; border: 1px solid #596372; border-radius: 7px; min-width: 44px; height: 44px; align-items: center; justify-content: center; }
/* Hero: stable text beside a photo carousel, not text burned into an image. */
.hero { color: #fff; background: #0b0e12; position: relative; isolation: isolate; }
.hero-visual { position: absolute; inset: 0 0 0 43%; overflow: hidden; z-index: -1; background: #1d2734; }
.hero-visual::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,#0b0e12 0%,rgb(11 14 18 / 70%) 14%,transparent 46%),linear-gradient(0deg,rgb(5 8 12 / 46%),transparent 40%); }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity .7s; }
.hero-slide.is-active { opacity: 1; }
.hero-slide picture, .hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: 63% 50%; }
.hero-copy { padding: 69px 0 92px; width: 52%; min-height: 582px; position: relative; }
.hero .eyebrow { color: #e5e8ed; font-size: 10px; letter-spacing: .19em; }
.hero h1 { font-size: clamp(40px, 4.35vw, 60px); font-weight: 770; line-height: 1.07; max-width: 615px; letter-spacing: -.045em; }
.hero h1 em { color: #ff5a69; font-style: normal; }
.hero-lead { color: #e2e6ed; font-size: 16px; line-height: 1.65; max-width: 450px; margin: 21px 0 26px; }
.hero .actions { max-width: 535px; }
.hero-notes { margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 10px 19px; padding: 0; list-style: none; color: #ecf0f4; font-size: 12px; }
.hero-notes li { display: flex; gap: 7px; align-items: center; }
.hero-notes .icon { width: 16px; height: 16px; color: #ff7181; }
.hero-stamp { position: absolute; right: 25px; top: 24px; z-index: 2; width: 145px; padding: 12px; background: rgb(5 8 12 / 70%); border-radius: 4px; }
.carousel-controls { position: absolute; right: max(26px,calc((100vw - 1200px)/2)); bottom: 56px; z-index: 3; display: flex; gap: 6px; align-items: center; padding: 4px; border-radius: 7px; background: rgb(9 13 18 / 84%); color: white; }
.control { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: transparent; border: 1px solid #5a626e; border-radius: 5px; }
.control:hover { background: rgb(255 255 255 / 12%); }
.control .icon { width: 19px; height: 19px; }
.dots { display: flex; gap: 0; }
.dot { width: 34px; height: 44px; border: 0; background: none; padding: 0; display: grid; place-items: center; }
.dot::after { content: ''; display: block; height: 5px; width: 5px; border-radius: 10px; background: #c2cad6; transition: width .2s; }
.dot[aria-current='true']::after { width: 19px; background: #fff; }
/* Compact trust strip. This remains in document flow on mobile. */
.trust-wrap { margin-top: -29px; position: relative; z-index: 4; }
.trust-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: white; border-radius: 10px; box-shadow: 0 7px 26px rgb(20 29 46 / 11%); border: 1px solid var(--line); padding: 20px 10px; }
.trust-item { display: flex; align-items: center; gap: 12px; padding: 0 19px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: 0; }
.trust-item > .icon { color: var(--red); width: 29px; height: 29px; }
.trust-item strong { display: block; font-size: 12px; line-height: 1.45; }
.trust-item small { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
/* Services: image + readable body copy, no oversized overlays. */
.services-section { padding-top: 64px; }
.services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; align-items: start; }
.service-card { border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: var(--shadow); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.service-card:hover { border-color: #aeb6c2; box-shadow: 0 12px 30px rgb(16 24 40 / 11%); }
.service-image { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #d9e0e8; }
.service-image picture, .service-image .photo { height: 100%; width: 100%; object-fit: cover; object-position: center; }
.image-brand { position: absolute; right: 11px; top: 11px; width: 117px; padding: 8px 9px; border-radius: 3px; background: rgb(8 12 16 / 84%); }
.image-brand img { width: 100%; height: auto; }
.image-caption { position: absolute; left: 10px; bottom: 10px; padding: 3px 8px; border-radius: 3px; color: white; background: rgb(9 12 17 / 86%); font-size: 9px; letter-spacing: .03em; }
.service-body { padding: 21px 21px 8px; }
.service-body h3 { font-size: 20px; margin-bottom: 10px; }
.service-body > p { font-size: 14px; color: var(--muted); min-height: 69px; line-height: 1.62; }
.service-details { border-top: 1px solid #e7eaf0; margin-top: 18px; }
.service-details summary { list-style: none; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--red); font-size: 12px; font-weight: 760; }
.service-details summary::-webkit-details-marker { display: none; }
.service-details summary .icon { width: 18px; height: 18px; transition: transform .2s; }
.service-details[open] summary .icon { transform: rotate(90deg); }
.service-extra { padding: 4px 0 15px; }
.service-extra p { font-size: 13px; color: var(--muted); }
.service-extra .text-link { font-size: 12px; }
.service-help { min-height: 395px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; border-radius: 10px; background: linear-gradient(140deg,#151b24,#080b0f); color: white; padding: 32px; border: 1px solid #303642; }
.service-help img { width: 150px; height: auto; margin-bottom: 25px; }
.service-help h3 { font-size: 28px; line-height: 1.2; max-width: 250px; }
.service-help p { color: #d9dfe8; margin: 14px 0 24px; font-size: 14px; }
.service-help .text-link { color: white; }
/* Why choose us */
.why-section { padding: 66px 0; background: #0b0e13; color: white; }
.why-heading { display: flex; gap: 35px; justify-content: space-between; align-items: end; margin-bottom: 35px; }
.why-heading p { max-width: 380px; color: #c5cbd5; font-size: 14px; }
.why-heading h2 { max-width: 660px; }
.why-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 42px; }
.why-item { display: flex; gap: 16px; align-items: flex-start; }
.round-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 49px; height: 49px; border: 1.5px solid #f24157; border-radius: 50%; color: #fff; }
.why-item h3 { font-size: 15px; letter-spacing: -.01em; margin: 4px 0 7px; }
.why-item p { font-size: 12px; color: #c7ced8; line-height: 1.65; }
/* Featured service */
.feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: center; }
.feature-picture { position: relative; border-radius: 10px; overflow: hidden; background: #dae0e6; aspect-ratio: 4/3; }
.feature-picture picture, .feature-picture .photo { height: 100%; width: 100%; object-fit: cover; }
.feature-copy p { color: var(--muted); font-size: 15px; margin-top: 19px; }
.feature-copy .actions { margin-top: 26px; }
.check-list { margin: 20px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.check-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; }
.check-list .icon { color: var(--red); width: 18px; height: 18px; margin-top: 3px; }
/* Gallery */
.gallery-tools { display: flex; gap: 8px; margin-top: 14px; }
.gallery-tools .control { color: var(--ink); border-color: #a4acb7; }
.gallery-tools .control:hover { background: #e8ebf0; }
.gallery-track { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #aab2bf #eef0f4; padding: 2px 2px 18px; }
.gallery-item { flex: 0 0 calc((100% - 44px) / 3); scroll-snap-align: start; min-width: 0; }
.gallery-button { display: block; padding: 0; width: 100%; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; background: #fff; text-align: left; box-shadow: 0 3px 10px rgb(10 20 30 / 4%); }
.gallery-picture { display: block; position: relative; aspect-ratio: 4/3; }
.gallery-picture picture, .gallery-picture .photo { width: 100%; height: 100%; object-fit: cover; }
.gallery-caption { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 17px; font-size: 13px; font-weight: 650; }
.gallery-caption .icon { color: var(--red); width: 18px; height: 18px; }
.gallery-note { margin-top: 14px; font-size: 11px; color: #626b77; }
/* Process */
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; }
.process-item { border-top: 2px solid #d7dde5; padding-top: 22px; }
.process-item > .icon { color: var(--red); width: 28px; height: 28px; margin-bottom: 17px; }
.process-item h3 { font-size: 18px; margin-bottom: 11px; }
.process-item p { color: var(--muted); font-size: 14px; }
/* Coverage: map does not connect to Google until explicitly loaded. */
.coverage { background: #f6f7f9; }
.coverage-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 50px; align-items: center; }
.coverage-copy > p { font-size: 15px; color: var(--muted); margin-top: 18px; }
.area-list { list-style: none; padding: 0; margin: 23px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; font-size: 13px; }
.area-list li { display: flex; align-items: center; gap: 7px; }
.area-list .icon { color: var(--red); width: 15px; height: 15px; }
.road-line { font-size: 13px; font-weight: 700; border-top: 1px solid var(--line); padding-top: 15px; margin-top: 16px; }
.map-panel { background: #fff; border: 1px solid #dce1e8; border-radius: 12px; min-height: 360px; overflow: hidden; position: relative; }
.map-placeholder { min-height: 360px; padding: 38px 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: radial-gradient(ellipse at 50% 35%,#fce5e8 0 19%,#f7f8fa 19.2% 36%,white 36.2% 100%); }
.map-placeholder > .icon { color: var(--red); width: 43px; height: 43px; margin-bottom: 10px; }
.map-placeholder h3 { font-size: 25px; }
.map-placeholder p { color: var(--muted); font-size: 12px; margin: 8px 0 18px; }
.map-placeholder small { font-size: 10px; color: #656e7b; margin-top: 14px; max-width: 330px; }
.map-panel iframe { width: 100%; height: 360px; border: 0; display: block; }
.map-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
/* Reviews + FAQ */
.review-band { border: 1px solid var(--line); border-radius: 12px; padding: 35px 38px; display: grid; grid-template-columns: auto 1fr auto; gap: 35px; align-items: center; box-shadow: var(--shadow); margin-bottom: 65px; }
.review-count { border-right: 1px solid var(--line); padding-right: 35px; }
.review-count strong { display: block; color: var(--ink); font-size: 42px; font-weight: 760; line-height: 1.1; letter-spacing: -.04em; }
.review-count span { color: var(--muted); font-size: 12px; }
.review-band h2 { font-size: 25px; margin-bottom: 9px; }
.review-band p { font-size: 13px; color: var(--muted); max-width: 510px; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; }
.faq-intro p { font-size: 14px; color: var(--muted); margin-top: 16px; }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; font-size: 14px; font-weight: 680; line-height: 1.5; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .icon { width: 18px; height: 18px; color: var(--red); }
.faq-list details[open] summary .icon { transform: rotate(45deg); }
.faq-list p { font-size: 13px; color: var(--muted); margin: 0 0 20px; }
/* Final contact and footer */
.contact-section { padding: 45px 0; background: #0d1118; color: #fff; border-bottom: 1px solid #343a44; }
.contact-row { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.contact-row h2 { font-size: clamp(28px,3vw,38px); }
.contact-row p { color: #c9d0da; margin-top: 10px; font-size: 14px; }
.contact-row .btn { min-width: 238px; }
.contact-row .btn span { text-align: left; }
.contact-row .btn small { font-size: 10px; display: block; }
.contact-row .btn strong { font-size: 21px; display: block; }
.site-footer { background: #080b10; color: #fff; padding: 35px 0 30px; }
.footer-row { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.footer-brand { max-width: 330px; }
.footer-brand img { width: 203px; }
.footer-brand p { color: #bbc3cf; font-size: 11px; margin-top: 16px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 5px 22px; align-items: center; }
.footer-links a { min-height: 44px; display: flex; align-items: center; font-size: 12px; color: #e5eaf2; }
.footer-links a:hover { color: #ff7886; }
.legal { margin-top: 27px; padding-top: 20px; border-top: 1px solid #272d37; display: flex; gap: 15px; align-items: center; justify-content: space-between; font-size: 10px; color: #b0b9c7; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
/* Always bottom-right. Labels are visible, not inaccessible icon-only links. */
.quick-dock { position: fixed; right: 16px; bottom: max(16px,env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 9px; z-index: 50; }
.dock-item { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 58px; height: 58px; border-radius: 50%; border: 1px solid rgb(255 255 255 / 65%); box-shadow: 0 5px 16px rgb(0 0 0 / 20%); color: white; line-height: 1.2; gap: 4px; }
.dock-item .icon { width: 21px; height: 21px; }
.dock-item span { font-size: 8px; font-weight: 700; }
.dock-call { background: #c41329; }
.dock-whatsapp { background: #087b43; }
.dock-location { background: #2158ba; }
.dock-item:hover { filter: brightness(1.1); }
/* Native modal dialogs: focus trapping / Escape supplied by the browser. */
dialog { padding: 0; border: 1px solid #e1e5eb; border-radius: 13px; max-height: min(90dvh,880px); width: min(610px,calc(100vw - 28px)); color: var(--ink); box-shadow: 0 25px 100px rgb(0 0 0 / 35%); }
dialog::backdrop { background: rgb(4 9 17 / 72%); }
.dialog-inner { padding: 30px; }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 12px; }
.dialog-heading h2 { font-size: 27px; }
.dialog-close { width: 44px; height: 44px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d4dbe3; background: #f6f7f9; border-radius: 7px; }
.dialog-intro { font-size: 13px; color: var(--muted); margin-bottom: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 7px; font-size: 12px; font-weight: 700; }
.field.wide { grid-column: 1/-1; }
.field input, .field select, .field textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #aeb8c5; background: #fff; color: var(--ink); border-radius: 6px; font-size: 16px; font-weight: 400; line-height: 1.45; }
.field textarea { resize: vertical; min-height: 84px; }
.field small { color: var(--muted); font-size: 10px; font-weight: 400; }
.form-foot { margin-top: 20px; }
.form-foot p, .privacy-note { font-size: 11px; color: var(--muted); margin-top: 12px; }
.form-foot .btn { width: 100%; }
.message-result { border-top: 1px solid var(--line); padding-top: 20px; margin-top: 23px; }
.message-result h3 { font-size: 19px; margin-bottom: 12px; }
.message-result textarea { width: 100%; min-height: 180px; font-family: inherit; font-size: 12px; line-height: 1.7; color: var(--ink); background: #f6f7f9; border: 1px solid #c4ccd7; border-radius: 6px; padding: 12px; margin-bottom: 14px; resize: vertical; }
.location-fields { display: grid; gap: 17px; }
.location-controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.location-status { font-size: 12px; color: var(--muted); }
.location-status.error { color: #ac1126; }
.location-actions { margin-top: 22px; }
.location-actions .btn { flex: 1; }
.location-error { font-size: 12px; color: #ac1126; min-height: 19px; margin-top: 10px; }
.lightbox { width: min(970px,calc(100vw - 28px)); }
.lightbox .dialog-inner { padding: 18px; }
.lightbox h2 { font-size: 19px; }
.lightbox-image { max-height: 66dvh; object-fit: contain; background: #11161e; border-radius: 6px; }
.lightbox-note { color: var(--muted); font-size: 11px; padding-top: 10px; }
.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 35px); border: 1px solid #707c8d; color: white; background: #151d29; border-radius: 8px; padding: 13px 19px; z-index: 130; font-size: 13px; box-shadow: var(--shadow); }
.no-js-note { padding: 12px; background: #fff4d5; color: #55430a; text-align: center; font-size: 13px; }
@media (min-width: 1500px) { .hero-visual { inset-inline-start: 45%; } }
@media (max-width: 1100px) {
  .nav-links { gap: 16px; }
  .brand img { width: 188px; }
  .header-row { gap: 17px; }
  .nav-links a { font-size: 12px; }
  .header-call strong { font-size: 14px; }
  .hero h1 { font-size: 48px; }
  .hero-copy { width: 54%; }
  .trust-item { padding-inline: 12px; gap: 9px; }
  .trust-item > .icon { width: 24px; height: 24px; }
  .trust-item strong { font-size: 11px; }
  .service-body { padding-inline: 17px; }
  .service-body > p { min-height: 92px; }
  .service-help { min-height: 407px; padding: 25px; }
}
@media (max-width: 980px) {
  .menu-toggle { display: flex; }
  .header-call { margin-left: auto; }
  .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #121823; border-bottom: 1px solid #424b5a; padding: 14px 25px 23px; flex-direction: column; align-items: stretch; gap: 0; }
  .nav-links.is-open { display: flex; }
  .nav-links a { font-size: 15px; }
  .hero h1 { font-size: 44px; }
  .hero-copy { width: 57%; padding-block: 54px 83px; min-height: 553px; }
  .hero-visual { inset-inline-start: 44%; }
  .hero-lead { max-width: 390px; font-size: 15px; }
  .hero-copy .actions { max-width: 425px; gap: 10px; }
  .hero-copy .btn { padding-inline: 15px; font-size: 12px; }
  .hero-stamp { width: 115px; }
  .trust-strip { grid-template-columns: 1fr 1fr; padding: 6px 15px; }
  .trust-item { min-height: 63px; padding: 10px 13px; }
  .trust-item strong { font-size: 12px; }
  .trust-item small { font-size: 10px; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .service-body > p { min-height: 69px; }
  .service-help { grid-column: 1/-1; min-height: unset; padding: 30px; display: block; }
  .service-help h3 { max-width: none; font-size: 27px; }
  .service-help img { width: 130px; float: right; margin: 6px 0 0 30px; }
  .service-help p { max-width: 500px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .section-head { gap: 25px; }
  .feature-grid, .coverage-grid { gap: 30px; }
  .feature-copy h2 { font-size: 30px; }
  .feature-picture { aspect-ratio: 3/4; }
  .gallery-item { flex-basis: calc((100% - 22px)/2); }
  .review-band { grid-template-columns: auto 1fr; padding: 28px; gap: 22px; }
  .review-band > .btn { grid-column: 2; justify-self: start; }
  .faq-grid { gap: 34px; }
  .footer-row { align-items: flex-start; }
  .footer-links { max-width: 310px; }
}
@media (max-width: 680px) {
  html { scroll-padding-top: 84px; }
  .container { width: calc(100% - 36px); }
  .utility .container { min-height: 29px; font-size: 10px; }
  .utility .secondary { display: none; }
  .header-row { min-height: 68px; gap: 10px; }
  .brand img { width: 173px; }
  .header-call { width: 44px; min-width: 44px; min-height: 44px; padding: 0; }
  .header-call span, .header-call > .chevron { display: none; }
  .hero { display: flex; flex-direction: column; }
  .hero .container { order: 0; }
  .hero-copy { width: 100%; min-height: 0; padding: 35px 0 30px; }
  .hero .eyebrow { font-size: 9px; margin-bottom: 15px; }
  .hero h1 { font-size: clamp(33px,9vw,43px); max-width: 510px; line-height: 1.1; }
  .hero-lead { font-size: 14px; line-height: 1.7; max-width: 540px; margin: 18px 0 22px; }
  .hero-copy .actions { max-width: none; }
  .hero-copy .btn { flex: 1; min-width: 148px; font-size: 12px; min-height: 48px; padding-inline: 12px; }
  .hero-notes { gap: 7px 16px; font-size: 10px; margin-top: 17px; }
  .hero-notes .icon { width: 14px; height: 14px; }
  .hero-visual { position: relative; inset: auto; height: clamp(230px,73vw,440px); width: 100%; z-index: 0; order: 1; }
  .hero-visual::after { background: linear-gradient(0deg,rgb(0 0 0 / 39%),transparent 26%),linear-gradient(180deg,#0b0e12 0,transparent 28%); }
  .hero-slide img { object-position: 50% 52%; }
  .hero-stamp { width: 112px; top: 18px; right: 18px; padding: 9px; }
  .carousel-controls { right: 75px; bottom: 18px; padding: 3px; }
  .carousel-controls .control { width: 36px; height: 38px; }
  .carousel-controls .dot { width: 26px; height: 38px; }
  .trust-wrap { margin-top: 0; }
  .trust-wrap .container { width: 100%; }
  .trust-strip { border-radius: 0; border: 0; border-bottom: 1px solid var(--line); box-shadow: none; padding: 6px 14px; }
  .trust-item { padding-inline: 8px; gap: 9px; min-height: 70px; }
  .trust-item > .icon { width: 23px; height: 23px; }
  .trust-item strong { font-size: 10px; }
  .trust-item small { font-size: 9px; line-height: 1.4; }
  .section { padding: 49px 0; }
  .services-section { padding-top: 44px; }
  h2 { font-size: 29px; }
  .eyebrow { font-size: 10px; margin-bottom: 10px; }
  .section-head, .why-heading { display: block; margin-bottom: 25px; }
  .section-head p, .why-heading p { max-width: none; font-size: 13px; margin-top: 13px; }
  .services-grid { grid-template-columns: 1fr; gap: 20px; }
  .service-image { aspect-ratio: 16/10; }
  .service-body { padding: 19px 19px 7px; }
  .service-body h3 { font-size: 21px; }
  .service-body > p { min-height: 0; font-size: 14px; }
  .service-details { margin-top: 17px; }
  .service-details summary { font-size: 12px; min-height: 47px; }
  .service-help { padding: 26px; }
  .service-help img { float: none; margin: 0 0 23px; }
  .service-help h3 { font-size: 27px; }
  .why-section { padding: 46px 0; }
  .why-grid { grid-template-columns: 1fr 1fr; gap: 27px 21px; }
  .why-item { display: block; }
  .round-icon { width: 41px; height: 41px; margin-bottom: 12px; }
  .why-item h3 { font-size: 14px; }
  .why-item p { font-size: 11px; }
  .feature-grid, .coverage-grid, .faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .feature-picture { aspect-ratio: 4/3; }
  .feature-copy h2 { font-size: 29px; }
  .feature-copy p { font-size: 14px; margin-top: 15px; }
  .feature-copy .actions { margin-top: 21px; }
  .check-list li { font-size: 12px; }
  .gallery-item { flex-basis: 89%; }
  .gallery-track { gap: 14px; }
  .gallery-note { font-size: 10px; }
  .process-grid { grid-template-columns: 1fr; gap: 25px; }
  .process-item { border-top-width: 1px; position: relative; padding: 22px 0 0 48px; }
  .process-item > .icon { position: absolute; left: 0; top: 24px; width: 27px; height: 27px; }
  .process-item h3 { font-size: 17px; }
  .process-item p { font-size: 13px; }
  .coverage-copy > p { font-size: 14px; }
  .area-list { font-size: 12px; }
  .map-panel, .map-placeholder { min-height: 300px; }
  .map-panel iframe { height: 320px; }
  .review-band { grid-template-columns: 1fr; padding: 25px; gap: 21px; margin-bottom: 44px; }
  .review-count { border-right: 0; padding-right: 0; display: flex; align-items: center; gap: 13px; }
  .review-count strong { font-size: 38px; }
  .review-count span { max-width: 95px; line-height: 1.6; }
  .review-band > .btn { grid-column: auto; justify-self: start; }
  .review-band h2 { font-size: 24px; }
  .faq-list summary { font-size: 13px; }
  .contact-row { display: block; }
  .contact-row p { font-size: 13px; }
  .contact-row .btn { margin-top: 24px; }
  .contact-section { padding: 35px 0; }
  .footer-row { display: block; }
  .footer-brand img { width: 185px; }
  .footer-links { margin-top: 21px; gap: 2px 22px; max-width: none; }
  .legal { display: block; margin-top: 17px; font-size: 9px; padding-right: 75px; }
  .legal p + p { margin-top: 10px; }
  .site-footer { padding-bottom: 105px; }
  .quick-dock { right: 10px; bottom: max(12px,env(safe-area-inset-bottom)); gap: 7px; }
  .dock-item { width: 49px; height: 49px; gap: 2px; }
  .dock-item .icon { width: 18px; height: 18px; }
  .dock-item span { font-size: 7px; }
  .dialog-inner { padding: 22px; }
  .dialog-heading h2 { font-size: 25px; }
  .form-grid { grid-template-columns: 1fr; gap: 13px; }
  .dialog-close { width: 40px; height: 40px; }
  .toast { bottom: 20px; max-width: calc(100vw - 90px); left: 15px; transform: none; }
}
@media (max-width: 360px) {
  .brand img { width: 148px; }
  .hero-copy .btn { flex-basis: 100%; }
  .trust-item { gap: 7px; padding-inline: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .btn:hover { transform: none; }
}
@media print {
  .site-header { position: static; }
  .quick-dock, .carousel-controls, .gallery-tools, dialog, .utility, .btn, .menu-toggle { display: none !important; }
  .hero-visual { opacity: .4; }
  .section { padding-block: 25px; }
  .service-card { break-inside: avoid; }
}

/* V8.1 full-site adaptation: original photo-led layout, scoped additional components. */
.hero-location-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;font-size:13px;font-weight:650;margin-top:9px;text-decoration:underline;text-underline-offset:4px}
.hero-location-link .icon{width:18px;height:18px;color:#ff7886}
.hero.long-title h1{font-size:clamp(32px,3.4vw,49px);overflow-wrap:break-word}
.service-image>a{display:block;width:100%;height:100%}
.service-body h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.service-extra>.text-link{display:flex;min-height:44px}
.service-context .feature-grid{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.service-context .feature-copy{min-width:0;width:100%}
.service-context .feature-copy>p,.service-context .context-more p{max-width:none;width:100%;font-size:15px;line-height:1.75}
.service-context h2{margin:0;max-width:none;font-size:clamp(28px,3vw,40px);line-height:1.15}
.context-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:21px}
.context-more summary,.coverage-more>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;min-height:50px;padding:13px 0;font-size:14px;font-weight:700;cursor:pointer}
.context-more summary::-webkit-details-marker,.coverage-more>summary::-webkit-details-marker{display:none}
.context-more summary .icon,.coverage-more>summary .icon{width:20px;height:20px;color:var(--red)}
.context-more[open]>summary .icon,.coverage-more[open]>summary .icon{transform:rotate(90deg)}
.context-more>div{padding-bottom:19px}
.feature-browse{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:10px 13px;background:#fff;border:1px solid #bac2cd;border-radius:7px;box-shadow:0 5px 17px rgb(0 0 0 / 16%);font-size:12px;font-weight:750;color:#171c24}
.feature-browse .icon{color:var(--red)}
.feature-browse:hover{background:#fff1f2}
.process-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}
.gallery-stage{position:relative}
.gallery-edge{position:absolute;top:42%;z-index:3;display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #fff;border-radius:50%;color:white;background:var(--red);box-shadow:0 4px 16px rgb(0 0 0 / 23%);transform:translateY(-50%)}
.gallery-edge .icon{width:22px;height:22px;stroke-width:2.4}
.gallery-edge-prev{left:-16px}.gallery-edge-next{right:-16px}
.gallery-edge:hover:not(:disabled){background:var(--red-hover)}
.gallery-edge:disabled{opacity:.58;background:#4c5665}
.gallery-tools .control{min-width:46px;min-height:46px}
.lightbox-browse{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-top:14px}
.lightbox-browse .btn{font-size:12px;min-height:44px;padding:10px 14px}
#lightbox-count{white-space:nowrap;font-size:13px;font-weight:700}
.anchor-target{display:block;scroll-margin-top:95px}
.coverage .container>.coverage-grid{align-items:start}
.coverage-copy h2{font-size:clamp(28px,3.2vw,40px)}
.area-list a{text-decoration:underline;text-decoration-color:#b8c0cb;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:30px}
.coverage-note{font-size:12px;color:var(--muted);margin-top:18px}
.coverage-note p:first-child{font-weight:700}
.coverage-more{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.coverage-link-group{margin:9px 0 20px}
.coverage-link-group h3{font-size:15px;letter-spacing:0;line-height:1.5;margin-bottom:10px}
.coverage-links{display:flex;flex-wrap:wrap;gap:7px 15px;padding:5px 0 16px}
.coverage-links>a,.coverage-links>span{display:inline-flex;align-items:center;min-height:38px;line-height:1.45;font-size:12px;max-width:100%;overflow-wrap:anywhere}
.coverage-links>a{color:#8f1021;text-decoration:underline;text-underline-offset:4px}
.local-links-section{padding-block:0 35px}
.local-links-section .coverage-more{margin-top:0}
.original-map-frame{position:relative;height:360px;isolation:isolate}
.original-map-frame iframe{display:block;width:100%;height:360px;border:0}
.ozzys-map-area-focus{position:absolute;pointer-events:none;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:68%;height:62%;border:3px dashed #d91f32;border-radius:47% 53% 55% 45%;background:rgb(217 31 50 / 7%);display:grid;place-items:center}
.ozzys-map-area-focus>span{display:inline-block;background:#fff;padding:5px 10px;border-radius:4px;font-size:12px;font-weight:700;color:#9f1025}
.live-reviews-actions{display:flex;justify-content:flex-end;margin-top:8px}
.live-reviews-actions button{border:0;background:none;padding:9px 0}
.live-reviews{padding:18px 0;min-height:100px}
.review-loading{font-size:13px;color:var(--muted)}
/* Existing public company, legal, directory and partnership content. */
.source-special>section{padding:55px 0}
.source-special .wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto;min-width:0}
.source-special h2{margin:0 0 20px}
.source-special h3{margin:24px 0 12px;font-size:21px;line-height:1.25}
.source-special p{color:var(--muted);font-size:15px;line-height:1.75}
.source-special ul{padding-left:22px}
.source-special a:not(.btn){color:#a71024;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.source-special .brand-content-grid,.source-special .commercial-overview-grid,.source-special .commercial-coverage-grid,.source-special .commercial-form-layout,.source-special .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;align-items:start}
.source-special .brand-panel{min-width:0}
.source-special .brand-panel>h3:first-child{margin-top:0}
.source-special .brand-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}
.source-special .brand-links a{display:block;min-height:52px;padding:15px;border:1px solid var(--line);border-radius:8px}
.source-special .num,.source-special .service-call-display{display:none}
.source-special .service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.source-special .service-row{display:block;padding:20px;border:1px solid var(--line);border-radius:9px}
.source-special .service-row h3{font-size:18px;margin:0 0 12px}
.source-special .service-row .arrow{display:block;text-align:right;color:var(--red);font-size:24px}
.source-special .directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.source-special .directory-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff}
.source-special .directory-card h2,.source-special .directory-card h3{font-size:17px;margin:0 0 10px}
.source-special .directory-card a{display:flex;align-items:center;min-height:36px;font-size:13px;text-decoration:none;line-height:1.5}
.source-special .directory-search{display:block;width:100%;margin:20px 0 26px;padding:13px 16px;font-size:16px;border:1px solid #aeb8c5;border-radius:6px}
.source-special .business-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}
.source-special .business-type,.source-special .commercial-side-row,.source-special .coverage-line{padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}
.source-special .business-type strong,.source-special .commercial-side-row strong,.source-special .coverage-line strong{display:block;margin-bottom:6px}
.source-special .commercial-side-row span,.source-special .coverage-line span{display:block;font-size:13px;color:var(--muted)}
.source-special .commercial-form-section{background:var(--paper)}
.source-special .commercial-form-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.source-special .commercial-form-card{padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff}
.source-special .commercial-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.source-special .commercial-field{display:grid;gap:7px;font-size:13px;font-weight:700;min-width:0}
.source-special .commercial-field input,.source-special .commercial-field textarea,.source-special .commercial-field select{width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #aeb8c5;border-radius:6px;padding:10px 12px;font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:#fff}
.source-special .commercial-field textarea{min-height:105px;resize:vertical}
.source-special .commercial-field.full,.source-special .commercial-choice,.source-special .commercial-consent,.source-special .commercial-message,.source-special .commercial-submit{grid-column:1/-1}
.source-special .commercial-choice>strong{display:block;margin-bottom:12px;font-size:13px}
.source-special .commercial-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.source-special .commercial-check,.source-special .commercial-consent{display:flex;gap:9px;align-items:flex-start;min-height:36px;font-size:13px;line-height:1.55}
.source-special input[type=checkbox]{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--red)}
.source-special .commercial-submit{min-height:50px;border:0;border-radius:7px;padding:12px 18px;background:var(--red);color:#fff;font-weight:700}
.source-special .commercial-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;visibility:hidden}
.source-special .commercial-message{display:none;font-size:14px;line-height:1.5;padding:15px;border:1px solid #749484;background:#f2fcf4;color:#215534}
.source-special .commercial-message.error{border-color:#c8858e;color:#93162b;background:#fff3f5}
.source-special .business-only-note,.source-special .form-help{margin-top:16px;font-size:12px;color:var(--muted)}
.source-special .customer-article{max-width:950px}
.footer-social{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12px}
.footer-social a{display:inline-flex;min-height:44px;align-items:center;color:#e5eaf2}
@media(max-width:980px){
 .process-four{grid-template-columns:repeat(2,minmax(0,1fr))}
 .source-special .commercial-form-layout{grid-template-columns:1fr}
 .source-special .directory-grid,.source-special .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .hero.long-title h1{font-size:clamp(30px,8.7vw,40px)}
 .hero-location-link{font-size:12px;margin-top:10px}
 .service-context .feature-grid{grid-template-columns:1fr;gap:27px}
 .service-context .feature-copy>p,.service-context .context-more p{font-size:14px}
 .service-context .feature-picture{aspect-ratio:4/3;order:1}
 .gallery-edge{width:44px;height:44px;top:40%}
 .gallery-edge-prev{left:-9px}.gallery-edge-next{right:-9px}
 .lightbox-browse{flex-wrap:wrap;gap:8px}
 .lightbox-browse .btn{padding:10px;font-size:11px}
 #lightbox-count{font-size:11px}
 .process-four{grid-template-columns:1fr}
 .original-map-frame,.original-map-frame iframe{height:325px}
 .coverage-note{font-size:11px}
 .source-special>section{padding:40px 0}
 .source-special .wrap{width:calc(100% - 36px)}
 .source-special .brand-content-grid,.source-special .commercial-overview-grid,.source-special .commercial-coverage-grid,.source-special .detail-grid,.source-special .directory-grid,.source-special .service-list{grid-template-columns:1fr;gap:23px}
 .source-special p{font-size:14px}
 .source-special .brand-links,.source-special .commercial-form,.source-special .commercial-checks{grid-template-columns:1fr}
 .source-special .commercial-form-card{padding:20px 16px}
 .source-special .business-types{grid-template-columns:1fr}
}

/* Company pages and customer information — same approved V8.1 design. */
.header-row{gap:20px}.nav-links{gap:17px}.nav-links a{white-space:nowrap}
.utility a{text-decoration:underline;text-underline-offset:3px}
.footer-business-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.1fr);gap:30px;align-items:start}
.footer-business-grid>*{min-width:0}.footer-column h2{font-size:13px;letter-spacing:.025em;margin:0 0 13px;line-height:1.4;color:#fff}
.footer-column nav{display:grid}.footer-column a,.footer-preferences{display:flex;align-items:center;min-height:37px;color:#e5eaf2;font-size:12px;line-height:1.5;overflow-wrap:anywhere;text-align:left}
.footer-column a:hover,.footer-preferences:hover{color:#ff8997}.footer-column a:focus-visible,.footer-preferences:focus-visible{outline-color:#ffd576}
.footer-contact>.footer-phone{font-size:18px;font-weight:750;color:#fff}.footer-contact p{font-size:11px;color:#c3cbd7;margin-top:11px}
.footer-preferences{padding:5px 0;border:0;background:none;font:inherit;font-size:12px;cursor:pointer}.footer-brand .registered-company{font-size:11px;line-height:1.8;color:#d4dce7}
.form-policy-note{font-size:12px;color:var(--muted);line-height:1.7;margin:15px 0}.form-policy-note a{color:#a71024;text-decoration:underline;text-underline-offset:3px}
.company-strip{padding:23px 26px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:8px;background:#fff;margin:28px 0 0;display:grid;gap:9px;font-size:14px;overflow-wrap:anywhere}.company-strip strong{line-height:1.5}.company-strip a{color:#a71024;text-decoration:underline;text-underline-offset:3px}.company-strip span{display:block}
.business-contact .company-strip{margin-top:0}.source-special>section.business-contact{padding-top:0}
.information-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.source-special a.information-card{display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}.source-special .information-card h3{font-size:21px;margin:0 0 13px}.information-card p{margin:0 0 16px!important}.information-card>span{color:#a71024;margin-top:auto;font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.information-card b{font-size:28px}.information-card:hover{border-color:#aeb8c5}
.document-hero .hero-visual,.document-hero .carousel-controls,.document-hero .hero-notes,.document-hero .hero-location-link{display:none}
.document-hero .hero-copy{width:100%;min-height:0!important;max-width:860px;padding:52px 0 48px!important}.document-hero h1{font-size:clamp(32px,4vw,50px)!important;max-width:900px}.document-hero .hero-lead{max-width:750px;margin:18px 0 22px}.document-hero .hero-copy .actions{max-width:none}
.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:65px;align-items:start}.source-special .document-copy{min-width:0;max-width:830px}.document-updated{font-size:12px!important;margin:0 0 20px!important;color:var(--muted)}
.source-special .document-copy section{margin-bottom:32px;scroll-margin-top:110px}.source-special .document-copy h2{font-size:26px;line-height:1.25;margin:0 0 14px;letter-spacing:-.02em}.source-special .document-copy p{margin:0 0 14px;line-height:1.75}.source-special .document-copy h3{font-size:20px}
.document-sidebar{border:1px solid var(--line);padding:23px;border-radius:10px;background:var(--paper);min-width:0}.source-special .document-sidebar h2{font-size:17px;margin:0 0 14px;letter-spacing:0}.document-sidebar nav{display:grid;gap:5px}.document-sidebar nav a{display:flex;align-items:center;min-height:41px;font-size:13px}.document-help{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:grid;gap:9px;font-size:13px;overflow-wrap:anywhere}.document-help p{font-size:12px!important;margin:0!important}
.policy-facts{margin:18px 0}.policy-facts dt{font-weight:750;margin:18px 0 6px;font-size:15px}.policy-facts dd{margin:0;color:var(--muted);font-size:15px;line-height:1.7}.notice-template{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px;margin:18px 0;overflow-wrap:anywhere}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.blog-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);background:#fff}.source-special .blog-card>a{display:block;text-decoration:none;color:var(--ink)}.blog-photo{position:relative;aspect-ratio:16/10}.blog-photo>img{width:100%;height:100%;object-fit:cover}.blog-card-copy{padding:23px}.source-special .blog-card-copy h3{font-size:22px;margin:8px 0 15px}.source-special .blog-card-copy p{font-size:14px}.blog-card-copy .text-link{margin-top:13px}.blog-card:hover{border-color:#aeb8c5}
.gallery-caption-arrow{margin-left:auto;padding-left:14px;font-size:28px;font-weight:750;line-height:1}.gallery-empty{padding:18px;font-size:14px;color:var(--muted)}
.cookie-banner{position:fixed;z-index:55;left:18px;bottom:18px;width:min(470px,calc(100% - 36px));border:1px solid #c9d2de;border-radius:11px;background:#fff;box-shadow:0 12px 55px rgb(10 18 35 / 24%);padding:21px;color:var(--ink);max-height:55vh;overflow:auto}.cookie-banner h2{font-size:18px;line-height:1.3;letter-spacing:-.01em;margin:0 0 9px}.cookie-banner p{font-size:13px;line-height:1.6;margin:0 0 14px}.cookie-actions{display:flex;gap:10px;margin-bottom:12px}.cookie-actions .btn{flex:1;min-height:44px;font-size:13px;padding:10px 13px;border-color:#6b7584}.cookie-banner>a{color:#9b1022;font-size:12px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1120px) and (min-width:981px){.header-row{gap:12px}.brand img{width:183px}.nav-links{gap:12px}.nav-links a{font-size:12px}.header-call{padding-inline:12px}.header-call strong{font-size:14px}.header-call .chevron{display:none}}
@media(max-width:980px){.nav-links{gap:0}.footer-business-grid{grid-template-columns:1fr 1fr;gap:35px}.document-layout{gap:32px;grid-template-columns:minmax(0,1fr) 235px}.blog-grid,.information-cards{grid-template-columns:1fr 1fr}.document-hero .hero-copy{width:100%}}
@media(max-width:680px){.footer-business-grid{grid-template-columns:1fr;gap:27px}.footer-column nav{grid-template-columns:1fr 1fr;gap:2px 18px}.footer-column a,.footer-preferences{min-height:44px}.footer-contact>a{min-height:38px}.footer-brand{max-width:none}.document-layout{grid-template-columns:1fr;gap:25px}.document-sidebar nav{grid-template-columns:1fr 1fr;gap:6px 18px}.source-special .document-copy h2{font-size:23px}.policy-facts dd,.policy-facts dt{font-size:14px}.document-hero .hero-copy{padding:37px 0!important}.blog-grid,.information-cards{grid-template-columns:1fr}.company-strip{padding:20px 17px;font-size:13px}.cookie-banner{left:12px;bottom:88px;width:calc(100% - 24px);padding:17px}.cookie-actions{gap:8px}.cookie-banner h2{font-size:17px}.cookie-banner p{font-size:12px}.source-special .blog-card-copy h3{font-size:21px}}
@media print{.cookie-banner,.document-sidebar,.footer-preferences{display:none!important}.document-layout{display:block}.document-copy{max-width:none!important}.document-hero{background:#fff;color:#000}.document-hero .hero-copy{padding:20px 0!important}.document-hero .hero-lead{color:#333}}
