:root {
    --hds-red: #b40000;
    --hds-red-dark: #8f0000;
    --hds-ink: #111111;
    --hds-muted: #5e6267;
    --hds-paper: #f2f0ec;
    --hds-line: #ddd9d2;
    --hds-white: #ffffff;
    --hds-width: 1180px;
    --hds-shadow: 0 22px 55px rgba(20, 20, 20, .13);
}

html { scroll-behavior: smooth; }
body.hds-modern { margin: 0; background: var(--hds-white); color: var(--hds-ink); font-family: Arial, Helvetica, sans-serif; font-size: 17px; line-height: 1.65; }
body.hds-modern *, body.hds-modern *::before, body.hds-modern *::after { box-sizing: border-box; }
body.hds-modern img { display: block; max-width: 100%; }
body.hds-modern picture { display: block; }
body.hds-modern a { color: inherit; text-decoration: none; }
body.hds-modern .DisplayNone { display: none !important; }
body.hds-modern p { margin: 0 0 1.25rem; }
body.hds-modern h1, body.hds-modern h2, body.hds-modern h3 { color: inherit; font-family: Arial, Helvetica, sans-serif; font-weight: 800; letter-spacing: -.035em; margin: 0; overflow-wrap: anywhere; text-transform: none; }
body.hds-modern h1 { font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; max-width: 900px; }
body.hds-modern h2 { font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.18; max-width: 800px; }
body.hds-modern h3 { font-size: 1.25rem; line-height: 1.2; }
body.hds-modern :focus-visible { outline: 3px solid #f4bf30; outline-offset: 4px; }
.hds-container { margin-inline: auto; max-width: var(--hds-width); padding-inline: 28px; width: 100%; }
.hds-section { padding: clamp(76px, 9vw, 132px) 0; }
.hds-section--paper { background: var(--hds-paper); }
.hds-section--dark { background: var(--hds-ink); color: var(--hds-white); }
.hds-kicker { color: var(--hds-red); font-size: .76rem; font-weight: 800; letter-spacing: .16em; margin-bottom: 18px !important; text-transform: uppercase; }
.hds-section--dark .hds-kicker, .hds-contact-band .hds-kicker, .hds-feature .hds-kicker { color: var(--hds-white); }
.hds-lead { color: #272a2e; font-size: clamp(1.12rem, 1.8vw, 1.42rem); line-height: 1.55; }

.hds-skip-link { background: var(--hds-white); color: var(--hds-ink); left: 16px; padding: 12px 18px; position: fixed; top: -100px; z-index: 10000; }
.hds-skip-link:focus { top: 16px; }
.hds-header { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(0,0,0,.08); position: sticky; top: 0; z-index: 1000; }
.admin-bar .hds-header { top: 32px; }
.hds-header__inner { align-items: center; display: flex; height: 86px; justify-content: space-between; }
.hds-logo-link { display: inline-block; width: 230px; }
.hds-logo-link img { height: auto; width: 100%; }
.hds-navigation { align-items: center; display: flex; gap: 22px; }
.hds-menu { align-items: center; display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.hds-menu li { margin: 0; position: relative; }
.hds-navigation a { font-size: .92rem; font-weight: 700; position: relative; }
.hds-menu > li > a { display: block; padding-block: 30px; }
.hds-menu > li > a::after { background: var(--hds-red); bottom: 20px; content: ''; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; width: 100%; }
.hds-menu > li > a:hover::after, .hds-menu > li > a:focus-visible::after, .hds-menu > .current-menu-item > a::after, .hds-menu > .current-menu-ancestor > a::after { transform: scaleX(1); }
.hds-menu .sub-menu { background: var(--hds-white); border-top: 3px solid var(--hds-red); box-shadow: var(--hds-shadow); display: none; left: -18px; list-style: none; margin: 0; min-width: 270px; padding: 10px 0; position: absolute; top: calc(100% - 3px); z-index: 1001; }
.hds-menu .sub-menu .sub-menu { left: 100%; top: -10px; }
.hds-menu li:hover > .sub-menu, .hds-menu li:focus-within > .sub-menu { display: block; }
.hds-menu .sub-menu a { color: var(--hds-ink); display: block; font-size: .86rem; line-height: 1.35; padding: 11px 20px; white-space: nowrap; }
.hds-menu .sub-menu a:hover, .hds-menu .sub-menu a:focus-visible { background: var(--hds-paper); color: var(--hds-red); }
.hds-nav-phone { background: var(--hds-red); color: var(--hds-white) !important; padding: 12px 17px; }
.hds-nav-phone:hover { background: var(--hds-red-dark); }
.hds-menu-toggle { align-items: center; background: transparent; border: 0; color: var(--hds-ink); display: none; font: inherit; font-weight: 800; gap: 10px; padding: 10px; }
.hds-menu-toggle__icon, .hds-menu-toggle__icon::before, .hds-menu-toggle__icon::after { background: currentColor; display: block; height: 2px; position: relative; transition: transform .2s ease; width: 23px; }
.hds-menu-toggle__icon::before, .hds-menu-toggle__icon::after { content: ''; left: 0; position: absolute; }
.hds-menu-toggle__icon::before { top: -7px; }.hds-menu-toggle__icon::after { top: 7px; }
.hds-menu-toggle[aria-expanded="true"] .hds-menu-toggle__icon { background: transparent; }
.hds-menu-toggle[aria-expanded="true"] .hds-menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
.hds-menu-toggle[aria-expanded="true"] .hds-menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }

.hds-hero { align-items: end; background-color: #272727; background-image: var(--hds-hero-image); background-position: center; background-size: cover; color: var(--hds-white); display: flex; min-height: min(780px, calc(100vh - 86px)); overflow: hidden; position: relative; }
.hds-hero__shade { background: linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.62) 46%, rgba(0,0,0,.1) 80%), linear-gradient(0deg, rgba(0,0,0,.55), transparent 50%); inset: 0; position: absolute; }
.hds-hero__content { padding-bottom: clamp(64px, 10vw, 116px); padding-top: 80px; position: relative; z-index: 1; }
.hds-hero h1 { text-shadow: 0 5px 30px rgba(0,0,0,.3); }
.hds-hero__lead { font-size: clamp(1.12rem, 2vw, 1.45rem); line-height: 1.55; margin-top: 30px !important; max-width: 730px; }
.hds-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hds-button { align-items: center; border: 2px solid transparent; display: inline-flex; font-size: .92rem; font-weight: 800; justify-content: center; min-height: 52px; padding: 13px 22px; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.hds-button:hover { transform: translateY(-2px); }
.hds-button--primary { background: var(--hds-red); color: var(--hds-white) !important; }
.hds-button--primary:hover { background: var(--hds-red-dark); }
.hds-button--light { background: var(--hds-white); color: var(--hds-ink) !important; }
.hds-button--light:hover { background: #eee; }
.hds-button--dark { background: var(--hds-ink); color: var(--hds-white) !important; }
.hds-button--ghost { border-color: currentColor; color: inherit !important; }
.hds-button--ghost:hover { background: var(--hds-ink); color: var(--hds-white) !important; }
.hds-hero .hds-button--ghost { background: rgba(0,0,0,.2); }
.hds-hero__facts, .hds-checkline { display: flex; flex-wrap: wrap; gap: 14px 30px; list-style: none; margin: 40px 0 0; padding: 0; }
.hds-hero__facts li, .hds-checkline li { font-size: .88rem; font-weight: 700; }
.hds-hero__facts li::before, .hds-checkline li::before { color: #ff5b5b; content: '✓'; margin-right: 8px; }

.hds-intro__grid, .hds-copy-grid { display: grid; gap: 60px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.hds-services { border-top: 1px solid #c9c5bd; margin-top: 48px; }
.hds-service-card { align-items: center; border-bottom: 1px solid #c9c5bd; display: grid; gap: 24px; grid-template-columns: 56px 1fr 50px; min-height: 126px; padding: 22px 10px; transition: background .2s, padding .2s; }
.hds-service-card:hover { background: var(--hds-white); padding-inline: 24px; }
.hds-service-card__number { color: var(--hds-red); font-size: .78rem; font-weight: 800; }
.hds-service-card strong { display: block; font-size: clamp(1.15rem, 1.8vw, 1.55rem); line-height: 1.2; }
.hds-service-card small { color: var(--hds-muted); display: block; font-size: .95rem; font-weight: 400; letter-spacing: 0; margin-top: 8px; max-width: 760px; }
.hds-service-card__arrow { font-size: 1.8rem; text-align: right; }

.hds-feature { background: var(--hds-ink); color: var(--hds-white); display: grid; grid-template-columns: 1fr 1fr; }
.hds-feature__image { min-height: 590px; }
.hds-feature__image picture, .hds-projects picture { height: 100%; }
.hds-feature__image img { height: 100%; object-fit: cover; width: 100%; }
.hds-feature__copy { align-self: center; max-width: 680px; padding: clamp(65px, 8vw, 120px); }
.hds-feature__copy blockquote { border-left: 4px solid var(--hds-red); color: #e9e9e9; font-size: 1.22rem; margin: 28px 0; padding: 10px 0 10px 24px; }
.hds-text-link { border-bottom: 2px solid var(--hds-red); display: inline-flex; font-weight: 800; gap: 15px; padding-bottom: 5px; }
.hds-text-link span { color: var(--hds-red); }
.hds-values { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); margin-top: 55px; }
.hds-values article { background: var(--hds-paper); min-height: 260px; padding: 34px; }
.hds-values b { color: var(--hds-red); display: block; font-size: 2rem; margin-bottom: 35px; }
.hds-values p { color: var(--hds-muted); font-size: .95rem; margin-top: 12px; }
.hds-google-reviews { background: #fff; border-top: 1px solid var(--hds-line); }
.hds-google-reviews__heading { align-items: end; display: flex; gap: 40px; justify-content: space-between; }
.hds-google-rating { align-items: center; background: var(--hds-paper); border: 1px solid var(--hds-line); display: inline-flex; flex-wrap: wrap; gap: 7px 10px; padding: 13px 17px; transition: border-color .2s, transform .2s; }
.hds-google-rating:hover { border-color: var(--hds-red); transform: translateY(-2px); }
.hds-google-rating__source { font-weight: 800; }
.hds-google-rating__stars, .hds-review-card__stars { color: #f6b900; font-size: 1.05rem; letter-spacing: .08em; line-height: 1; }
.hds-google-rating > span:not(.hds-google-rating__source):not(.hds-google-rating__stars) { color: var(--hds-muted); font-size: .82rem; }
.hds-google-reviews__grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; }
.hds-review-card { border: 1px solid var(--hds-line); display: flex; flex-direction: column; min-height: 285px; padding: 30px; }
.hds-review-card blockquote { border: 0; flex: 1; margin: 25px 0; padding: 0; }
.hds-review-card blockquote p { font-size: 1.02rem; line-height: 1.65; margin: 0; }
.hds-review-card footer { border-top: 1px solid var(--hds-line); padding-top: 18px; }
.hds-review-card footer strong, .hds-review-card footer span { display: block; }
.hds-review-card footer span { color: var(--hds-muted); font-size: .78rem; margin-top: 3px; }
.hds-google-reviews__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; margin-top: 34px; }
.hds-google-reviews__actions .hds-button--ghost { border-color: var(--hds-ink); }
.hds-projects { display: grid; gap: 18px; grid-template-columns: 1.25fr 1fr 1fr; margin-top: 50px; }
.hds-projects figure { margin: 0; min-height: 390px; overflow: hidden; position: relative; }
.hds-projects img { height: 100%; object-fit: cover; transition: transform .4s ease; width: 100%; }
.hds-projects figure:hover img { transform: scale(1.035); }
.hds-projects figure::after { background: linear-gradient(transparent, rgba(0,0,0,.9)); content: ''; inset: 35% 0 0; position: absolute; }
.hds-projects figcaption { bottom: 24px; left: 24px; position: absolute; right: 24px; z-index: 1; }
.hds-projects small { color: #ff9d9d; display: block; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hds-projects strong { display: block; font-size: 1.25rem; margin-top: 5px; }
.hds-location-layout { align-items: stretch; display: grid; gap: clamp(45px, 7vw, 90px); grid-template-columns: 1fr 1fr; }
.hds-location-layout__visual { background-image: linear-gradient(rgba(180,0,0,.1), rgba(0,0,0,.15)), var(--hds-location-image); background-position: center; background-size: cover; min-height: 520px; }
.hds-locations { border-top: 1px solid var(--hds-line); display: grid; gap: 28px; grid-template-columns: 1fr 1fr; margin-top: 34px; padding-top: 25px; }
.hds-locations address { font-style: normal; }
.hds-locations strong { display: block; margin-bottom: 10px; }
.hds-locations a { color: var(--hds-red); font-weight: 800; }
.hds-section-heading { align-items: end; display: flex; justify-content: space-between; }
.hds-posts { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); margin-top: 50px; }
.hds-post-card { background: var(--hds-white); box-shadow: 0 1px 0 rgba(0,0,0,.07); }
.hds-post-card > a { display: block; height: 220px; overflow: hidden; }
.hds-post-card img { height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.hds-post-card:hover img { transform: scale(1.04); }
.hds-post-card > div { padding: 27px; }
.hds-post-card time { color: var(--hds-red); font-size: .75rem; font-weight: 800; }
.hds-post-card h3 { margin-top: 10px; }
.hds-post-card p { color: var(--hds-muted); font-size: .92rem; margin: 12px 0 0; }
.hds-faq-layout { display: grid; gap: 70px; grid-template-columns: .72fr 1.28fr; }
.hds-faq { border-top: 1px solid var(--hds-line); }
.hds-faq details { border-bottom: 1px solid var(--hds-line); }
.hds-faq summary { cursor: pointer; font-size: 1.08rem; font-weight: 800; list-style: none; padding: 24px 44px 24px 0; position: relative; }
.hds-faq summary::-webkit-details-marker { display: none; }
.hds-faq summary::after { color: var(--hds-red); content: '+'; font-size: 1.6rem; position: absolute; right: 8px; top: 17px; }
.hds-faq details[open] summary::after { content: '−'; }
.hds-faq details p { color: var(--hds-muted); padding: 0 45px 20px 0; }
.hds-contact-band { background: var(--hds-red); color: var(--hds-white); padding: 70px 0; }
.hds-contact-band > .hds-container { align-items: center; display: flex; gap: 40px; justify-content: space-between; }
.hds-contact-band h2 { font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.hds-contact-band p:not(.hds-kicker) { margin: 12px 0 0; }
.hds-contact-band .hds-actions { flex: 0 0 auto; margin: 0; }
.hds-footer { background: #090909; color: #c6c6c6; padding: 72px 0 25px; }
.hds-footer__grid { align-items: start; display: grid; gap: clamp(32px, 4vw, 54px); grid-template-columns: minmax(250px, 1.6fr) repeat(3, minmax(140px, 1fr)); }
.hds-footer__grid > div { min-width: 0; }
body.hds-modern .hds-footer h2 { color: var(--hds-white); font-size: 1.1rem; letter-spacing: 0; line-height: 1.25; margin-bottom: 14px; overflow-wrap: normal; white-space: nowrap; }
.hds-footer p { font-size: .94rem; line-height: 1.75; margin-bottom: 0 !important; }
.hds-footer a:hover { color: var(--hds-white); }
.hds-footer__logo { background: var(--hds-white); height: auto; margin-bottom: 18px; max-width: 235px; padding: 8px; }
.hds-footer__fine { border-top: 1px solid #2b2b2b; font-size: .78rem; margin-top: 42px; padding-top: 20px; }

.hds-breadcrumb { background: var(--hds-paper); border-bottom: 1px solid var(--hds-line); font-size: .78rem; padding: 11px 0; }
.hds-breadcrumb .hds-container { display: flex; gap: 9px; }
.hds-breadcrumb a { color: var(--hds-red); font-weight: 700; }
.hds-funnel-hero { overflow: hidden; padding: clamp(60px, 8vw, 110px) 0; }
.hds-funnel-hero__grid { align-items: center; display: grid; gap: clamp(45px, 7vw, 90px); grid-template-columns: 1.12fr .88fr; }
.hds-funnel-hero h1 { font-size: clamp(2rem, 2.8vw, 2.8rem); max-width: 680px; }
.hds-funnel-hero figure { box-shadow: var(--hds-shadow); margin: 0; position: relative; }
.hds-funnel-hero figure::before { background: var(--hds-red); content: ''; height: 72%; left: -18px; position: absolute; top: -18px; width: 35%; z-index: -1; }
.hds-funnel-hero figure img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.hds-funnel-hero__media--contain img { background: linear-gradient(145deg, #f4f1eb, #ded9d0); object-fit: contain; padding: clamp(24px, 4vw, 55px); }
.hds-funnel-hero__media--wide img { aspect-ratio: 4/3; }
.hds-funnel-callout { background: var(--hds-red); bottom: 24px; color: var(--hds-white); min-width: 235px; padding: 15px 20px 17px; position: absolute; right: -22px; }
.hds-funnel-callout span { display: block; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hds-funnel-callout a { display: block; font-size: 1.25rem; font-weight: 800; line-height: 1.2; margin-top: 5px; }
.hds-funnel-callout a:hover { text-decoration: underline; text-underline-offset: 4px; }
.hds-checkline { color: var(--hds-muted); margin-top: 28px; }
.hds-funnel-hero .hds-google-rating { margin-top: 24px; }
.hds-benefits { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); margin-top: 48px; }
.hds-benefits article { background: var(--hds-white); padding: 34px; }
.hds-benefits article > span { color: var(--hds-red); display: block; font-size: 1.6rem; margin-bottom: 28px; }
.hds-benefits p { color: var(--hds-muted); font-size: .95rem; margin: 14px 0 0; }
.hds-scope { align-items: start; display: grid; gap: clamp(45px, 8vw, 110px); grid-template-columns: 1.1fr .9fr; }
.hds-check-list { list-style: none; margin: 35px 0 0; padding: 0; }
.hds-check-list li { border-bottom: 1px solid var(--hds-line); padding: 15px 10px 15px 35px; position: relative; }
.hds-check-list li::before { color: var(--hds-red); content: '✓'; font-weight: 800; left: 7px; position: absolute; }
.hds-scope aside { background: var(--hds-ink); color: var(--hds-white); padding: 38px; }
.hds-scope aside h3 { color: #ff9d9d; margin-bottom: 18px; }
.hds-scope aside p { margin: 0; }
.hds-process { counter-reset: process; display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 50px 0 0; padding: 0; }
.hds-process li { border-top: 1px solid #424242; min-height: 190px; padding: 25px 20px; }
.hds-process span { color: #ff9d9d; font-size: .78rem; font-weight: 800; }
.hds-process p { font-weight: 700; margin-top: 38px; }
.hds-trust-panel { align-items: start; display: grid; gap: clamp(40px, 8vw, 110px); grid-template-columns: 1.2fr .8fr; }
.hds-trust-panel__facts { border-top: 1px solid var(--hds-line); }
.hds-trust-panel__facts p { border-bottom: 1px solid var(--hds-line); padding: 18px 0; }
.hds-trust-panel__facts strong, .hds-trust-panel__facts span { display: block; }
.hds-trust-panel__facts span { color: var(--hds-muted); font-size: .9rem; }
.hds-related { padding: 55px 0; }
.hds-related .hds-container > div { display: flex; flex-wrap: wrap; gap: 12px; }
.hds-related a { border: 1px solid var(--hds-line); display: flex; font-weight: 800; gap: 25px; justify-content: space-between; padding: 15px 18px; }
.hds-related a:hover { border-color: var(--hds-red); color: var(--hds-red); }
.hds-status-page { margin: 12vh auto; max-width: 760px; padding: 30px; }
.hds-status-page .hds-logo-link { margin-bottom: 70px; width: 300px; }
.hds-status-page h1 { font-size: clamp(1.9rem, 3.4vw, 3.25rem); margin-bottom: 25px; }

.hds-page-hero { background: var(--hds-paper); border-bottom: 1px solid var(--hds-line); padding: clamp(58px, 8vw, 105px) 0; }
.hds-page-hero h1 { max-width: 780px; }
.hds-page-hero .hds-lead { margin-top: 24px; max-width: 780px; }
.hds-reading-width { max-width: 1040px; }
.hds-prose { font-size: 1.02rem; line-height: 1.75; }
.hds-prose > :first-child { margin-top: 0; }
.hds-prose h2 { margin: 52px 0 18px; }
.hds-prose h3 { margin: 36px 0 12px; }
.hds-prose ul, .hds-prose ol { padding-left: 1.3em; }
.hds-prose li { margin: 8px 0; }
.hds-prose img { height: auto; max-width: 100%; }
.hds-standard-page table { border-collapse: collapse; display: block; max-width: 100%; overflow-x: auto; width: 100%; }
.hds-standard-page td, .hds-standard-page th { border-bottom: 1px solid var(--hds-line); padding: 12px; vertical-align: top; }
.hds-standard-page .alignleft { float: left; margin: 5px 26px 18px 0; }
.hds-prose .avia-button { background: var(--hds-red); color: #fff; display: inline-flex; font-weight: 800; margin-top: 16px; padding: 13px 20px; }
.hds-prose > p > a:last-child { text-decoration-thickness: 2px; text-underline-offset: 4px; }
.hds-contact-cards { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; margin: 45px 0; }
.hds-contact-cards article { background: var(--hds-paper); border-top: 4px solid var(--hds-red); padding: 30px; }
.hds-contact-cards h2 { font-size: 1.45rem; }
.hds-contact-cards a { color: var(--hds-red); font-weight: 800; }
.hds-form-panel { border: 1px solid var(--hds-line); margin-top: 45px; padding: clamp(24px, 5vw, 55px); }
.hds-form-panel h2 { margin-bottom: 25px; }
.hds-form-panel input:not([type=submit]), .hds-form-panel textarea, .hds-form-panel select { background: #fff; border: 1px solid #bbb; border-radius: 0; font: inherit; padding: 12px; width: 100%; }
.hds-form-panel input[type=submit] { background: var(--hds-red); border: 0; color: #fff; cursor: pointer; font-weight: 800; padding: 14px 22px; }
.hds-project-gallery { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-top: 45px; }
.hds-project-gallery img { aspect-ratio: 4/3; height: 100%; object-fit: cover; width: 100%; }
.hds-blog-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.hds-blog-card { background: #fff; border: 1px solid var(--hds-line); display: flex; flex-direction: column; min-width: 0; }
.hds-blog-card__image { background: #222; display: block; overflow: hidden; }
.hds-blog-card__image img { aspect-ratio: 16/10; height: auto; object-fit: cover; transition: transform .25s; width: 100%; }
.hds-blog-card__image > span { align-items: center; aspect-ratio: 16/10; color: #fff; display: flex; font-size: 1.6rem; font-weight: 800; justify-content: center; }
.hds-blog-card:hover .hds-blog-card__image img { transform: scale(1.025); }
.hds-blog-card__body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.hds-blog-card time, .hds-article time { color: var(--hds-red); font-size: .78rem; font-weight: 800; }
.hds-blog-card h2 { font-size: 1.25rem; hyphens: auto; letter-spacing: -.02em; margin: 10px 0 12px; overflow-wrap: break-word; }
.hds-blog-card p { color: var(--hds-muted); font-size: .92rem; }
.hds-blog-card .hds-text-link { margin-top: auto; padding-top: 14px; }
.navigation.pagination { margin-top: 45px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.nav-links .page-numbers { border: 1px solid var(--hds-line); padding: 9px 13px; }
.nav-links .current { background: var(--hds-red); border-color: var(--hds-red); color: #fff; }
.hds-article__header { background: var(--hds-paper); padding: clamp(55px, 7vw, 90px) 0 48px; }
.hds-article__header time { display: block; margin-top: 22px; }
.hds-article-width { max-width: 900px; }
.hds-article__image { margin-top: 42px; }
.hds-article__image img { aspect-ratio: 16/9; display: block; height: auto; margin-inline: auto; max-width: 100%; object-fit: cover; width: auto; }
.hds-article > .hds-prose { padding-bottom: clamp(70px, 9vw, 120px); padding-top: 48px; }
.hds-article .hds-article-lead { font-size: 1.2rem; line-height: 1.65; }
.hds-article-sources { font-size: .94rem; }

@media (max-width: 980px) {
    .admin-bar .hds-header { top: 46px; }
    .hds-menu-toggle { display: inline-flex; }
    .hds-navigation { align-items: stretch; background: var(--hds-white); border-bottom: 1px solid var(--hds-line); box-shadow: var(--hds-shadow); display: none; flex-direction: column; gap: 0; left: 0; max-height: calc(100vh - 85px); overflow-y: auto; padding: 12px 28px 24px; position: absolute; right: 0; top: 85px; }
    .hds-navigation.is-open { display: flex; }
    .hds-menu { align-items: stretch; display: block; }
    .hds-menu > li > a { border-bottom: 1px solid var(--hds-line); padding: 14px 4px; }
    .hds-menu > li > a::after { display: none; }
    .hds-menu .sub-menu, .hds-menu .sub-menu .sub-menu { background: transparent; border: 0; box-shadow: none; display: block; left: auto; min-width: 0; padding: 2px 0 7px 16px; position: static; }
    .hds-menu .sub-menu a { border-bottom: 1px solid #ece8e2; font-size: .84rem; padding: 10px 4px; white-space: normal; }
    .hds-nav-phone { margin-top: 12px; text-align: center; }
    .hds-intro__grid, .hds-copy-grid, .hds-faq-layout, .hds-location-layout, .hds-funnel-hero__grid, .hds-scope, .hds-trust-panel { grid-template-columns: 1fr; }
    .hds-values { grid-template-columns: 1fr 1fr; }
    .hds-google-reviews__grid { grid-template-columns: 1fr 1fr; }
    .hds-feature { grid-template-columns: 1fr; }
    .hds-feature__image { min-height: 420px; }
    .hds-feature__copy { max-width: none; }
    .hds-projects { grid-template-columns: 1fr 1fr; }
    .hds-projects figure:first-child { grid-column: 1 / -1; }
    .hds-posts, .hds-benefits { grid-template-columns: 1fr 1fr; }
    .hds-blog-grid { grid-template-columns: 1fr 1fr; }
    .hds-post-card:last-child, .hds-benefits article:last-child { grid-column: 1 / -1; }
    .hds-process { grid-template-columns: 1fr 1fr; }
    .hds-footer__grid { grid-template-columns: minmax(0, 1.3fr) minmax(180px, 1fr); }
    .hds-footer__grid > div:last-child { grid-column: auto; }
}

@media (max-width: 640px) {
    body.hds-modern { font-size: 16px; }
    .hds-container { padding-inline: 20px; }
    .hds-header__inner { height: 76px; }
    .hds-logo-link { width: 180px; }
    .hds-navigation { top: 75px; }
    .hds-hero { min-height: 720px; }
    .hds-hero__shade { background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.55)); }
    .hds-actions { align-items: stretch; flex-direction: column; }
    .hds-button { width: 100%; }
    .hds-hero__facts, .hds-checkline { align-items: flex-start; flex-direction: column; gap: 9px; }
    .hds-service-card { gap: 14px; grid-template-columns: 34px 1fr 25px; min-height: 122px; padding-inline: 0; }
    .hds-service-card:hover { padding-inline: 8px; }
    .hds-service-card small { font-size: .86rem; }
    .hds-feature__image { min-height: 300px; }
    .hds-feature__copy { padding: 60px 20px; }
    .hds-values, .hds-projects, .hds-posts, .hds-benefits, .hds-process, .hds-footer__grid, .hds-locations, .hds-google-reviews__grid { grid-template-columns: 1fr; }
    .hds-blog-grid, .hds-contact-cards, .hds-project-gallery { grid-template-columns: 1fr; }
    .hds-projects figure, .hds-projects figure:first-child { grid-column: auto; min-height: 330px; }
    .hds-post-card:last-child, .hds-benefits article:last-child, .hds-footer__grid > div:last-child { grid-column: auto; }
    .hds-section-heading, .hds-contact-band > .hds-container, .hds-google-reviews__heading { align-items: flex-start; flex-direction: column; }
    .hds-google-rating { width: 100%; }
    .hds-section-heading .hds-text-link { margin-top: 25px; }
    .hds-location-layout__visual { min-height: 340px; }
    .hds-funnel-hero figure { order: -1; }
    .hds-funnel-hero figure img { aspect-ratio: 16/10; }
    .hds-funnel-callout { bottom: 14px; min-width: 0; right: 14px; }
    .hds-process li { min-height: 140px; }
    .hds-contact-band .hds-actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
