body.shd-front-page {
    margin: 0;
    padding: 0;
    background: var(--shd-surface);
    color: var(--shd-ink);
    font: 400 var(--shd-body)/1.65 var(--shd-font-body);
    -webkit-font-smoothing: antialiased;
}
body.shd-front-page .shd-home,
body.shd-front-page .shd-home * { box-sizing: border-box; }
body.shd-front-page .shd-home [hidden] { display: none; }
body.shd-front-page .shd-home-wrap { width: min(100% - 2 * var(--shd-gutter), var(--shd-container)); margin-inline: auto; }
body.shd-front-page .shd-home h1,
body.shd-front-page .shd-home h2 { font-family: var(--shd-font-display); color: inherit; text-transform: none; }
body.shd-front-page :where(.shd-home) a { color: inherit; text-decoration: none; transition: color var(--shd-transition), background-color var(--shd-transition); }
body.shd-front-page .shd-home a:focus-visible,
body.shd-front-page .shd-home button:focus-visible { outline: 3px solid currentColor !important; outline-offset: 5px; }
body.shd-front-page .shd-home section { scroll-margin-top: calc(var(--shd-header-height) + 3rem); }
body.shd-front-page .shd-home-skip { position: fixed; top: -10rem; left: 1rem; z-index: 100001; padding: 0.75rem 1rem; color: var(--shd-ink); background: white; }
body.shd-front-page .shd-home-skip:focus { top: 3rem; }
body.shd-front-page .shd-home-hero { position: relative; isolation: isolate; min-height: min(55rem, calc(100svh - var(--shd-header-height))); display: flex; align-items: center; color: var(--shd-on-dark); background: var(--shd-surface-dark); }
body.shd-front-page .shd-home-hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
body.shd-front-page .shd-home-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,19,27,.87), rgba(12,19,27,.62) 40%, rgba(12,19,27,.08) 80%), linear-gradient(0deg, rgba(12,19,27,.38), transparent 60%); pointer-events: none; }
body.shd-front-page .shd-home-hero__media picture { display: block; width: 100%; height: 100%; }
body.shd-front-page .shd-home-hero__media img,
body.shd-front-page .shd-home-hero__video { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 65% 50%; }
body.shd-front-page .shd-home-hero__video { opacity: 0; transition: opacity var(--shd-media-transition); }
body.shd-front-page .shd-home-hero__video.is-playing { opacity: 1; }
body.shd-front-page .shd-home-hero__content { padding-block: clamp(5rem, 9vw, 9rem); }
body.shd-front-page .shd-home-hero h1 { margin: 0 0 var(--shd-space-5); max-width: 12ch; font-size: var(--shd-display); font-weight: 500; letter-spacing: -0.055em; line-height: 1.09; }
body.shd-front-page .shd-home-hero h1 span { color: #d6c2a7; }
body.shd-front-page .shd-home-hero__summary { max-width: 40ch; margin: 0 0 var(--shd-space-6); font: 400 var(--shd-body)/1.7 var(--shd-font-body); color: var(--shd-on-dark); }
body.shd-front-page .shd-home-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; max-width: 45rem; }
body.shd-front-page .shd-home-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 52px; padding: 0.9rem 1.3rem; border: 1px solid transparent; border-radius: var(--shd-radius); background: var(--shd-surface); color: var(--shd-ink); font: 600 0.875rem/1.5 var(--shd-font-body); }
body.shd-front-page .shd-home-button:hover { background: #e3d5c3; color: var(--shd-ink); }
body.shd-front-page .shd-home-link { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 48px; font-size: 0.875rem; text-decoration: underline; text-decoration-color: #8e949a; text-underline-offset: 0.4em; }
body.shd-front-page .shd-home-link:hover { color: #e3d5c3; }
body.shd-front-page .shd-home-setup { font-size: var(--shd-small); }
body.shd-front-page .shd-home-setup a { text-decoration: underline; }
body.shd-front-page .shd-home-media-toggle { position: absolute; right: var(--shd-gutter); bottom: 1.5rem; z-index: 1; min-height: 44px; padding: 0.5rem 1rem; border: 1px solid #a4a9af; border-radius: var(--shd-radius); color: white; background: #17191c; font: 400 0.875rem/1.5 var(--shd-font-body); cursor: pointer; }
body.shd-front-page .shd-home-protected { padding-block: var(--shd-section-space); }
/* The inherited cookie notice stays readable without script-based dismissal. */
body.shd-front-page.shd-home-no-js .shd-home-cookie #bwp-cookies-info { position: static; width: auto; max-width: var(--shd-container); margin: 2rem var(--shd-gutter); opacity: 1; visibility: visible; transform: none; }
body.shd-front-page.shd-home-no-js .shd-home-cookie button { display: none; }
/* Reusable section foundation. */
body.shd-front-page .shd-home-section { padding-block: var(--shd-section-space); }
body.shd-front-page .shd-home-security,
body.shd-front-page .shd-home-environments { --shd-section-space: clamp(3.75rem, 7vw, 8rem); --shd-editorial-space: clamp(2.75rem, 5.25vw, 5rem); }
body.shd-front-page .shd-home-surface-dark { background: var(--shd-surface-dark); color: var(--shd-on-dark); }
body.shd-front-page .shd-home-surface-light { background: var(--shd-surface-light); color: var(--shd-ink); }
/* Szemlélet and Okosotthon: text-led sections, isolated from the hero and Halva. */
body.shd-front-page .shd-home-editorial__label { margin: 0 0 var(--shd-space-6); font: 500 var(--shd-small)/1.5 var(--shd-font-display); letter-spacing: 0.08em; }
body.shd-front-page .shd-home-philosophy .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-editorial__grid { display: grid; gap: var(--shd-space-6); }
body.shd-front-page .shd-home-editorial__grid > * { min-width: 0; }
body.shd-front-page .shd-home .shd-home-editorial__heading { margin: 0; max-width: 17ch; font-size: var(--shd-heading); font-weight: 500; line-height: 1.14; letter-spacing: -0.045em; text-wrap: balance; }
body.shd-front-page .shd-home-editorial__copy { max-width: var(--shd-measure); }
body.shd-front-page .shd-home-editorial__copy p { margin: 0 0 var(--shd-space-4); font: 400 var(--shd-body)/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-editorial__copy p:last-child { margin-bottom: 0; }
body.shd-front-page .shd-home-editorial__copy strong { font-weight: 600; }
body.shd-front-page .shd-home-editorial__statement { margin: 0; max-width: 28ch; font: 500 clamp(1.35rem, 2.3vw, 2rem)/1.4 var(--shd-font-display); letter-spacing: -0.025em; }
body.shd-front-page .shd-home-philosophy__closing { margin-top: var(--shd-editorial-space); padding-top: var(--shd-space-6); border-top: 1px solid var(--shd-line); }
body.shd-front-page .shd-home-philosophy__note { margin: 0; max-width: var(--shd-measure); color: var(--shd-muted); font: 400 1rem/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-smart-home .shd-home-editorial__label { color: #d6c2a7; }
body.shd-front-page .shd-home-smart-home__image { display: block; margin-block: var(--shd-editorial-space); }
body.shd-front-page .shd-home-smart-home__image img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
body.shd-front-page .shd-home-smart-home__closing { align-items: center; }
body.shd-front-page .shd-home-smart-home__capabilities { margin: var(--shd-space-6) 0 0; padding-top: var(--shd-space-5); border-top: 1px solid #45474a; color: #d6c2a7; font: 400 var(--shd-small)/2 var(--shd-font-body); }
@media (min-width: 960px) {
    body.shd-front-page .shd-home-editorial__grid { grid-template-columns: 1.1fr 1fr; column-gap: clamp(3rem, 6vw, 6rem); }
}
/* Network infrastructure and security's connected event sequence. */
body.shd-front-page .shd-home-network .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-network .shd-home-editorial__heading { max-width: 25ch; }
body.shd-front-page .shd-home-network__body { margin-top: var(--shd-editorial-space); align-items: center; }
body.shd-front-page .shd-home-network__image { display: block; }
body.shd-front-page .shd-home-network__image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 75% 50%; }
body.shd-front-page .shd-home-network__closing { margin-top: var(--shd-space-6); padding-top: var(--shd-space-6); border-top: 1px solid var(--shd-line); align-items: center; }
body.shd-front-page .shd-home-network__capabilities { margin: 0; color: var(--shd-muted); font: 400 1rem/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-security .shd-home-editorial__label { color: #d6c2a7; }
body.shd-front-page .shd-home-security__image { display: block; margin-block: var(--shd-editorial-space); }
body.shd-front-page .shd-home-security__image img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
body.shd-front-page .shd-home-security__flow { display: grid; gap: 2.5rem; margin: 0; padding: var(--shd-space-6) 0 0; border-top: 1px solid #45474a; list-style: none; }
body.shd-front-page .shd-home-security__flow li { position: relative; display: grid; grid-template-columns: 2rem 1fr; gap: var(--shd-space-3); margin: 0; padding: 0; min-width: 0; font: 500 clamp(1rem, 1.4vw, 1.2rem)/1.5 var(--shd-font-display); }
body.shd-front-page .shd-home-security__step { color: #d6c2a7; font: 400 var(--shd-small)/1.7 var(--shd-font-body); }
body.shd-front-page .shd-home-security__flow li:not(:last-child)::after { content: '↓'; position: absolute; left: 0.3rem; bottom: -2rem; color: #d6c2a7; font-weight: 400; }
body.shd-front-page .shd-home-security__closing { margin-top: var(--shd-editorial-space); max-width: none; }
@media (min-width: 960px) {
    body.shd-front-page .shd-home-security__flow { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem; }
    body.shd-front-page .shd-home-security__flow li { display: block; }
    body.shd-front-page .shd-home-security__step { display: block; margin-bottom: var(--shd-space-3); }
    body.shd-front-page .shd-home-security__flow li:not(:last-child)::after { content: '→'; top: 0; right: -2rem; bottom: auto; left: auto; }
}
/* Existing buildings and their energy systems; no changes to earlier sections. */
body.shd-front-page .shd-home-retrofit { padding-bottom: 0; }
body.shd-front-page .shd-home-retrofit .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-retrofit__intro { margin-bottom: var(--shd-space-6); }
body.shd-front-page .shd-home-retrofit__visual { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(30rem, 55vw, 48rem); margin-top: var(--shd-editorial-space); background: var(--shd-surface-dark); color: var(--shd-on-dark); }
body.shd-front-page .shd-home-retrofit__visual picture { position: absolute; inset: 0; z-index: -1; }
body.shd-front-page .shd-home-retrofit__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
body.shd-front-page .shd-home-retrofit__visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,19,27,.78), rgba(12,19,27,.42) 55%, rgba(12,19,27,.08)), linear-gradient(0deg, rgba(12,19,27,.45), transparent 70%); }
body.shd-front-page .shd-home-retrofit__statement { margin: 0; padding-block: clamp(3rem, 7vw, 7rem); font: 500 clamp(2rem, 7.4vw, 6.5rem)/1.12 var(--shd-font-display); letter-spacing: -0.05em; }
body.shd-front-page .shd-home-retrofit__statement span { color: #d6c2a7; }
body.shd-front-page .shd-home-energy .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-energy__image { display: block; margin-block: var(--shd-editorial-space); }
body.shd-front-page .shd-home-energy__image img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
body.shd-front-page .shd-home-energy__closing { padding-top: var(--shd-space-6); border-top: 1px solid var(--shd-line); align-items: center; }
body.shd-front-page .shd-home-energy__capabilities { margin: 0; max-width: var(--shd-measure); color: var(--shd-muted); font: 400 1rem/1.8 var(--shd-font-body); }
@media (max-width: 767px) {
    body.shd-front-page .shd-home-retrofit__statement { font-size: clamp(2rem, 9vw, 4rem); }
}
/* Custom engineering, technology and environments retain the editorial rhythm. */
body.shd-front-page .shd-home-development .shd-home-editorial__label,
body.shd-front-page .shd-home-environments .shd-home-editorial__label { color: #d6c2a7; }
body.shd-front-page .shd-home-development__image { display: block; margin-block: var(--shd-editorial-space); }
body.shd-front-page .shd-home-development__image img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
body.shd-front-page .shd-home-development__details p { margin: 0; max-width: var(--shd-measure); color: var(--shd-on-dark); font: 400 1rem/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-development__closing { margin-top: var(--shd-space-6); padding-top: var(--shd-space-6); border-top: 1px solid #45474a; max-width: none; }
body.shd-front-page .shd-home-technology .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-technology__line { margin-block: var(--shd-editorial-space); padding-block: var(--shd-space-6); border-block: 1px solid var(--shd-line); color: var(--shd-accent); font: 500 clamp(1.125rem, 2.15vw, 1.75rem)/1.8 var(--shd-font-display); letter-spacing: -0.02em; text-wrap: balance; }
body.shd-front-page .shd-home-technology__closing { align-items: center; }
body.shd-front-page .shd-home-technology__note { margin: 0; max-width: var(--shd-measure); color: var(--shd-muted); font: 400 1rem/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-environments__visual { position: relative; isolation: isolate; display: flex; align-items: center; width: 100%; aspect-ratio: 16 / 7; min-height: 20rem; margin-top: var(--shd-editorial-space); padding: clamp(1.25rem, 4vw, 3.5rem); background: var(--shd-surface-dark); color: var(--shd-on-dark); }
body.shd-front-page .shd-home-environments__visual picture { position: absolute; inset: 0; z-index: -1; }
body.shd-front-page .shd-home-environments__visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 65% 55%; }
body.shd-front-page .shd-home-environments__visual::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,19,27,.65), rgba(12,19,27,.18)); }
body.shd-front-page .shd-home-environments__statement { margin: 0; font: 500 clamp(2.25rem, 7.4vw, 6.5rem)/1.15 var(--shd-font-display); letter-spacing: -0.05em; }
body.shd-front-page .shd-home-environments__statement span:last-child { color: #d6c2a7; }
@media (max-width: 767px) {
    body.shd-front-page .shd-home-environments__visual { aspect-ratio: auto; align-items: flex-end; }
    body.shd-front-page .shd-home-environments__visual img { object-position: 73% 55%; }
    body.shd-front-page .shd-home-environments__statement { font-size: clamp(1.5rem, 7.2vw, 3rem); }
}
/* Native Projects and Blog previews: responsive columns, separate from Halva's cards. */
body.shd-front-page .shd-home-projects { --shd-post-muted: #d4d1ca; --shd-post-line: #45474a; }
body.shd-front-page .shd-home-journal { --shd-post-muted: var(--shd-muted); --shd-post-line: var(--shd-line); }
body.shd-front-page .shd-home-projects .shd-home-editorial__label { color: #d6c2a7; }
body.shd-front-page .shd-home-journal .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-post-list { margin-top: var(--shd-editorial-space); }
body.shd-front-page .shd-home-post-preview { display: grid; gap: var(--shd-space-6); padding-block: clamp(2rem, 4vw, 4rem); margin: 0; border-top: 1px solid var(--shd-post-line); }
body.shd-front-page .shd-home-post-preview > * { min-width: 0; }
body.shd-front-page .shd-home-post-preview__image { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
body.shd-front-page .shd-home-post-preview__body { align-self: center; }
body.shd-front-page .shd-home .shd-home-post-preview__title { margin: 0; color: inherit; font: 500 clamp(1.5rem, 2.7vw, 2.75rem)/1.25 var(--shd-font-display); letter-spacing: -0.035em; text-transform: none; overflow-wrap: anywhere; }
body.shd-front-page .shd-home-post-preview__title a { display: inline-block; min-height: 44px; padding-block: 0.25rem; }
body.shd-front-page .shd-home-post-preview__title a:hover { text-decoration: underline; text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
body.shd-front-page .shd-home-post-preview__arrow { white-space: nowrap; font-size: 0.65em; }
body.shd-front-page .shd-home-post-preview__summary { margin: var(--shd-space-4) 0 0; max-width: var(--shd-measure); color: var(--shd-post-muted); font: 400 1rem/1.8 var(--shd-font-body); overflow-wrap: anywhere; }
body.shd-front-page .shd-home-posts-link { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 48px; margin-top: var(--shd-space-5); font-size: 1rem; text-decoration: underline; text-underline-offset: 0.4em; }
body.shd-front-page .shd-home-posts-link:hover { text-decoration-thickness: 2px; }
/* Homepage Blog columns. */
body.shd-front-page .shd-home-journal .shd-home-post-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem clamp(2rem, 3vw, 3rem); align-items: start; }
body.shd-front-page .shd-home-journal .shd-home-post-preview { display: block; min-width: 0; padding: 0; border: 0; }
body.shd-front-page .shd-home-journal .shd-home-post-preview__media { margin-bottom: var(--shd-space-4); }
/* Reuse Halva's archive media radius, zoom, overlay and icon transitions. */
body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-media-link { display: block; }
/* Draw the archive-style focus ring outside the media's clipping boundary. */
body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-media:has(> a:focus-visible) { outline: 2px solid currentColor; outline-offset: 3px; }
/* Match Halva's narrowest archive media corners without its content panels. */
@media (max-width: 319px) {
    body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-media,
    body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-media-overlay { border-radius: 6px 6px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-media img,
    body.shd-front-page :is(.shd-home-journal, .shd-home-projects) .bwp-post-hover-icon { transition: none; transform: none; }
}
body.shd-front-page .shd-home-journal .shd-home-post-preview__image { aspect-ratio: 4 / 3; object-fit: cover; }
body.shd-front-page .shd-home-journal .shd-home-post-preview__title { font-size: clamp(1.35rem, 2.2vw, 2rem); }
body.shd-front-page .shd-home-journal .shd-home-post-preview__summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; max-height: 7.2em; overflow: hidden; }
@media (min-width: 768px) {
    body.shd-front-page .shd-home-journal .shd-home-post-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    body.shd-front-page .shd-home-post-preview--text .shd-home-post-preview__body { max-width: 54rem; }
    body.shd-front-page .shd-home-journal .shd-home-post-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Dark case-study columns, isolated from the light Blog preview. */
body.shd-front-page .shd-home-projects .shd-home-post-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem clamp(2rem, 3vw, 3rem); align-items: start; }
body.shd-front-page .shd-home-projects .shd-home-post-preview { display: block; min-width: 0; padding: 0; border: 0; }
body.shd-front-page .shd-home-projects .shd-home-post-preview__media { margin-bottom: var(--shd-space-5); }
body.shd-front-page .shd-home-projects .shd-home-post-preview__image { aspect-ratio: 16 / 9; object-fit: cover; }
body.shd-front-page .shd-home-projects .shd-home-post-preview__title { font-size: clamp(1.5rem, 2.4vw, 2.125rem); }
body.shd-front-page .shd-home-projects .shd-home-post-preview__arrow { color: #d6c2a7; }
body.shd-front-page .shd-home-projects .shd-home-post-preview__summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; max-height: 7.2em; overflow: hidden; }
@media (min-width: 768px) {
    body.shd-front-page .shd-home-projects .shd-home-post-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    body.shd-front-page .shd-home-projects .shd-home-post-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Shared focus reveal: five statements, static without enhancement. */
body.shd-front-page {
    --shd-reveal-opacity: .2;
    --shd-reveal-translate-x: -22px;
    --shd-reveal-blur: 3px;
    --shd-reveal-duration: 1500ms;
    --shd-reveal-delay: 100ms;
    --shd-reveal-easing: cubic-bezier(.16, 1, .3, 1);
}
body.shd-front-page .shd-home-motion-line { display: inline-block; }
body.shd-front-page .shd-home-motion {
    transform: none;
    filter: none;
    opacity: 1;
    transition: none;
}
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
    body.shd-front-page .shd-home-motion {
        transform: translateX(var(--shd-reveal-translate-x));
        filter: blur(var(--shd-reveal-blur));
        opacity: var(--shd-reveal-opacity);
    }
    body.shd-front-page .shd-home-motion.is-visible {
        transform: translateX(0);
        filter: blur(0);
        opacity: 1;
        transition-property: transform, filter, opacity;
        transition-duration: var(--shd-reveal-duration);
        transition-delay: var(--shd-reveal-delay);
        transition-timing-function: var(--shd-reveal-easing);
    }
}
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
    body.shd-front-page :where(#shd-home-title, #shd-heading-megoldasok, #shd-heading-biztonsag, .shd-home-retrofit__statement, .shd-home-environments__statement) {
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
        transition: none !important;
    }
}
/* Final structural sections; plugin form markup remains WordPress-managed. */
body.shd-front-page .shd-home-process .shd-home-editorial__label { color: var(--shd-accent); }
body.shd-front-page .shd-home-process__steps { display: grid; gap: var(--shd-space-6); list-style: none; padding: 0; margin: var(--shd-editorial-space) 0; }
body.shd-front-page .shd-home-process__steps li { min-width: 0; margin: 0; padding-top: var(--shd-space-5); border-top: 1px solid var(--shd-line); }
body.shd-front-page .shd-home-process__steps span { color: var(--shd-accent); font: 400 var(--shd-small)/1.5 var(--shd-font-body); }
body.shd-front-page .shd-home-process__steps h3 { margin: var(--shd-space-4) 0; color: inherit; font: 500 clamp(1.35rem, 2vw, 1.75rem)/1.3 var(--shd-font-display); letter-spacing: -0.03em; }
body.shd-front-page .shd-home-process__steps p { margin: 0; color: var(--shd-muted); font: 400 1rem/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-process__closing { max-width: 40ch; }
body.shd-front-page .shd-home-contact .shd-home-editorial__label { color: #d6c2a7; }
body.shd-front-page .shd-home-contact .shd-home-editorial__heading { max-width: 24ch; }
body.shd-front-page .shd-home-contact__grid { margin-top: var(--shd-editorial-space); }
body.shd-front-page .shd-home-contact-links { list-style: none; padding: 0; margin: var(--shd-space-5) 0; }
body.shd-front-page .shd-home-contact-links li { margin: 0; padding: 0; }
body.shd-front-page .shd-home-contact-links a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 0.25em; }
body.shd-front-page .shd-home-contact__area { color: #d4d1ca; }
body.shd-front-page .shd-home-contact__form { min-width: 0; font: 400 1rem/1.65 var(--shd-font-body); }
body.shd-front-page .shd-home-contact__form form p { margin: 0 0 var(--shd-space-5); }
body.shd-front-page .shd-home-contact__form label { display: block; color: var(--shd-on-dark); font: inherit; }
body.shd-front-page .shd-home-contact__form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select) { width: 100%; max-width: 100%; min-height: 48px; margin-top: 0.5rem; padding: 0.75rem; border: 1px solid #72767b; border-radius: var(--shd-radius); background: #23262a; color: #f8f7f4; font: inherit; box-shadow: none; }
body.shd-front-page .shd-home-contact__form textarea { height: 10rem; resize: vertical; }
/* Halva suppresses form outlines with !important; restore them only here. */
body.shd-front-page .shd-home-contact__form :is(input:not(.wpcf7-submit), textarea, select):focus-visible { outline: 3px solid #d6c2a7 !important; outline-offset: 3px; }
body.shd-front-page .shd-home-contact__form .wpcf7-not-valid-tip { color: #ffb8af; }
body.shd-front-page .shd-home-contact__form .wpcf7-response-output { margin: 1.5rem 0; padding: 1rem; color: inherit; }
body.shd-front-page .shd-home-footer { padding-block: clamp(3rem, 6vw, 5rem) var(--shd-space-5); color: var(--shd-ink); background: var(--shd-surface); font: 400 var(--shd-small)/1.8 var(--shd-font-body); }
body.shd-front-page .shd-home-footer, body.shd-front-page .shd-home-footer * { box-sizing: border-box; }
body.shd-front-page .shd-home-footer a { color: inherit; text-decoration: none; }
body.shd-front-page .shd-home-footer a:hover { text-decoration: underline; text-underline-offset: 0.25em; }
body.shd-front-page .shd-home-footer a:focus-visible { outline: 3px solid currentColor !important; outline-offset: 4px; }
body.shd-front-page .shd-home-footer__main { display: grid; gap: var(--shd-space-5); }
body.shd-front-page .shd-home-footer__main > * { min-width: 0; }
body.shd-front-page .shd-home-footer__main p { margin: 0.5rem 0; }
body.shd-front-page .shd-home-footer__brand { display: inline-flex; align-items: center; min-height: 44px; font: 500 clamp(1.25rem, 2vw, 1.75rem)/1.4 var(--shd-font-display); letter-spacing: -0.035em; }
body.shd-front-page .shd-home-footer .shd-home-contact-links { margin: 0; }
body.shd-front-page .shd-home-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; margin-top: var(--shd-space-6); padding-top: var(--shd-space-5); border-top: 1px solid var(--shd-line); }
body.shd-front-page .shd-home-footer__bottom p { margin: 0; }
body.shd-front-page .shd-home-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
body.shd-front-page .shd-home-footer__bottom a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 768px) {
    body.shd-front-page .shd-home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.shd-front-page .shd-home-footer__main { grid-template-columns: 1.1fr 1fr; gap: clamp(3rem, 6vw, 6rem); }
}
@media (min-width: 960px) {
    body.shd-front-page .shd-home-process__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    body.shd-front-page .shd-home-hero { min-height: 46rem; align-items: flex-start; }
    body.shd-front-page .shd-home-hero__content { padding-block: 4rem 7rem; }
    body.shd-front-page .shd-home-hero h1 { font-size: clamp(2.75rem, 10.8vw, 5rem); }
    body.shd-front-page .shd-home-hero__media::after { background: linear-gradient(180deg, rgba(12,19,27,.87), rgba(12,19,27,.70) 55%, rgba(12,19,27,.12)); }
    body.shd-front-page .shd-home-hero__summary { max-width: 35ch; margin-bottom: 2rem; }
    body.shd-front-page .shd-home-actions { align-items: flex-start; flex-direction: column; gap: 0.75rem; }
}
@media (prefers-reduced-motion: reduce) {
    body.shd-front-page .shd-home * { transition: none; scroll-behavior: auto; }
}
