@layer theme, base, components, utilities;
@layer theme {
  :root, :host { --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace; --spacing: 0.25rem; --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button { box-sizing: border-box; margin: 0px; padding: 0px; border: 0px solid; }
  html, :host { line-height: 1.5; text-size-adjust: 100%; tab-size: 4; font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; }
  hr { height: 0px; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
  sub { bottom: -0.25em; }
  sup { top: -0.5em; }
  table { text-indent: 0px; border-color: inherit; border-collapse: collapse; }
  progress { vertical-align: baseline; }
  summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea, ::file-selector-button { font: inherit; letter-spacing: inherit; color: inherit; border-radius: 0px; background-color: transparent; opacity: 1; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::file-selector-button { margin-inline-end: 4px; }
  ::placeholder { opacity: 1; }
  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
  ::placeholder {
  color: currentcolor;
  @supports (color: color-mix(in lab, red, red)) {
  color: color-mix(currentcolor, transparent);
}
}
}
  textarea { resize: vertical; }
  ::-webkit-search-decoration { appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-datetime-edit { display: inline-flex; }
  ::-webkit-datetime-edit-fields-wrapper { padding: 0px; }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { padding-block: 0px; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { appearance: button; }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }
}
@layer utilities {
  .visible { visibility: visible; }
  .relative { position: relative; }
  .start { inset-inline-start: var(--spacing); }
  .container {
  width: 100%;
  @media (width >= 40rem) {
  max-width: 40rem;
}
  @media (width >= 48rem) {
  max-width: 48rem;
}
  @media (width >= 64rem) {
  max-width: 64rem;
}
  @media (width >= 80rem) {
  max-width: 80rem;
}
  @media (width >= 96rem) {
  max-width: 96rem;
}
}
  .table { display: table; }
}
:root { --ivory: #f7f3ea; --paper: #fffdf8; --white: #ffffff; --ink: #171717; --muted: #6f6961; --line: #ded7cc; --gold: #e3a313; --gold-dark: #bb7d00; --charcoal: #1d1e1c; --taupe: #8f8578; --container: 1240px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0px; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: rgba(227, 163, 19, 0.52) solid 3px; outline-offset: 4px; }
.container { width: min(var(--container), calc(100% - 64px)); margin-inline: auto; }
.site-header { position: sticky; z-index: 100; top: 0px; background: rgba(255, 253, 248, 0.96); border-bottom: 1px solid rgba(23, 23, 23, 0.08); backdrop-filter: blur(16px); }
.header-inner { min-height: 88px; display: grid; grid-template-columns: 248px 1fr auto; align-items: center; gap: 40px; }
.brand { display: inline-flex; width: fit-content; }
.brand-panel { display: block; background: var(--charcoal); border-radius: 4px; padding: 10px 14px; }
.brand img { width: 205px; height: auto; }
.main-nav { display: flex; justify-content: flex-end; align-items: center; gap: 34px; }
.main-nav a { position: relative; font-size: 14px; font-weight: 700; color: rgb(56, 55, 53); }
.main-nav a::after { content: ""; position: absolute; left: 0px; right: 100%; bottom: -8px; height: 2px; background: var(--gold); transition: right 180ms; }
.main-nav a:hover::after { right: 0px; }
.header-call { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0px 20px; color: rgb(23, 18, 10); background: var(--gold); border: 1px solid var(--gold); border-radius: 4px; font-weight: 800; transition: transform 180ms, background 180ms; }
.header-call:hover { transform: translateY(-2px); background: rgb(237, 182, 46); }
.header-call svg, .button svg, .text-link svg, .area-card a svg, .mobile-action-bar svg { width: 19px; height: 19px; flex: 0 0 auto; }
.menu-button { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); background: var(--white); border-radius: 4px; cursor: pointer; }
.menu-button span { display: block; height: 2px; margin: 5px 0px; background: var(--ink); }
.hero { display: grid; grid-template-columns: minmax(0px, 0.92fr) minmax(0px, 1.08fr); min-height: calc(-88px + 100svh); max-height: 860px; background: var(--ivory); }
.hero-copy { display: flex; justify-content: center; flex-direction: column; padding: 74px max(56px, calc((100vw - var(--container)) / 2)); }
.eyebrow { margin: 0px 0px 18px; color: var(--gold-dark); font-size: 13px; line-height: 1.3; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.hero h1 { max-width: 690px; margin: 0px; font-size: clamp(56px, 5.15vw, 86px); line-height: 0.98; letter-spacing: -0.052em; font-weight: 850; }
.hero-lead { max-width: 620px; margin: 28px 0px 0px; color: rgb(77, 74, 70); font-size: clamp(18px, 1.35vw, 22px); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; border: 1px solid transparent; border-radius: 4px; padding: 0px 22px; font-size: 14px; line-height: 1.2; font-weight: 800; transition: transform 180ms, background 180ms, color 180ms, border-color 180ms; }
.button:hover { transform: translateY(-3px); }
.button-gold { background: var(--gold); color: rgb(23, 18, 10); border-color: var(--gold); }
.button-gold:hover { background: rgb(237, 182, 46); border-color: rgb(237, 182, 46); }
.button-outline { border-color: rgb(77, 74, 70); background: transparent; }
.button-outline:hover { background: var(--ink); color: var(--white); }
.button-dark { color: var(--white); background: var(--ink); }
.button-dark:hover { background: rgb(51, 51, 48); }
.button-light-outline { color: var(--white); border-color: rgba(255, 255, 255, 0.5); }
.button-light-outline:hover { color: var(--ink); background: var(--white); }
.hero-trust { display: flex; align-items: center; gap: 28px; margin-top: 46px; }
.trust-item { display: flex; align-items: center; gap: 13px; }
.trust-item strong, .trust-item small { display: block; line-height: 1.2; }
.trust-item strong { font-size: 14px; }
.trust-item small { margin-top: 4px; color: var(--muted); font-size: 13px; }
.trust-icon { display: grid; place-items: center; width: 42px; height: 42px; color: var(--gold-dark); border: 1px solid rgb(186, 168, 128); border-radius: 50%; }
.trust-icon svg { width: 22px; height: 22px; }
.building-icon { font-size: 25px; line-height: 1; }
.trust-divider { width: 1px; height: 48px; background: rgb(207, 198, 184); }
.hero-visual { position: relative; min-height: 620px; overflow: hidden; background: rgb(77, 66, 55); }
.hero-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.hero-visual::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 55%, rgba(13, 10, 7, 0.55)); pointer-events: none; }
.hero-frame { position: absolute; z-index: 2; top: 52px; right: 48px; width: 116px; height: 116px; border-top: 12px solid var(--gold); border-right: 12px solid var(--gold); }
.hero-frame::before, .hero-frame::after { content: ""; position: absolute; background: rgba(255, 255, 255, 0.72); }
.hero-frame::before { top: 38px; right: -22px; width: 172px; height: 1px; }
.hero-frame::after { top: -18px; right: 38px; width: 1px; height: 172px; }
.hero-caption { position: absolute; z-index: 3; right: 50px; bottom: 40px; padding-left: 17px; border-left: 3px solid var(--gold); color: var(--white); text-align: right; }
.hero-caption span, .hero-caption strong { display: block; }
.hero-caption span { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; }
.hero-caption strong { margin-top: 3px; font-size: 18px; }
.confidence-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.confidence-grid { min-height: 108px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch; }
.confidence-grid > div { display: flex; justify-content: center; flex-direction: column; padding: 20px 30px; border-right: 1px solid var(--line); }
.confidence-grid > div:first-child { border-left: 1px solid var(--line); }
.confidence-grid strong, .confidence-grid span { display: block; }
.confidence-grid strong { font-size: 16px; }
.confidence-grid span { margin-top: 4px; color: var(--muted); font-size: 13px; }
.section { padding: 112px 0px; }
.section-heading { margin-bottom: 48px; }
.section-heading h2, .about-copy h2, .areas-grid h2, .faq-intro h2, .contact-copy h2 { margin: 0px; font-size: clamp(38px, 4vw, 60px); line-height: 1.05; letter-spacing: -0.042em; font-weight: 820; }
.split-heading { display: grid; grid-template-columns: 1.45fr 0.55fr; gap: 80px; align-items: end; }
.split-heading > p { margin: 0px 0px 4px; color: var(--muted); line-height: 1.75; }
.services-section { background: var(--paper); }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 380px; position: relative; display: flex; flex-direction: column; padding: 34px; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: transform 180ms, box-shadow 180ms, background 180ms; }
.service-card:hover { z-index: 1; transform: translateY(-4px); background: rgb(255, 250, 240); box-shadow: rgba(42, 31, 16, 0.09) 0px 18px 40px; }
.card-number { color: var(--gold-dark); font-size: 13px; font-weight: 800; letter-spacing: 0.14em; }
.service-card h3 { margin: 32px 0px 13px; font-size: 26px; line-height: 1.1; letter-spacing: -0.025em; }
.service-card p { margin: 0px; color: var(--muted); line-height: 1.7; }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.tag-list span { padding: 5px 8px; color: rgb(110, 96, 77); background: rgb(245, 239, 228); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.text-link { display: inline-flex; align-items: center; gap: 9px; width: fit-content; margin-top: auto; padding-top: 28px; font-size: 14px; font-weight: 800; }
.text-link svg { transition: transform 180ms; }
.text-link:hover svg { transform: translateX(5px); }
.about-section { background: var(--ivory); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.about-media { position: relative; min-height: 660px; }
.about-media > img { width: calc(100% - 52px); height: 620px; object-fit: cover; object-position: 62% center; }
.about-media::before { content: ""; position: absolute; z-index: 0; inset: 46px 0px 0px 52px; border: 1px solid rgb(185, 170, 141); }
.about-media > img, .experience-card { position: relative; z-index: 1; }
.experience-card { position: absolute; right: 0px; bottom: 0px; width: 240px; padding: 28px; color: var(--white); background: var(--charcoal); border-top: 5px solid var(--gold); }
.experience-card strong, .experience-card span { display: block; }
.experience-card strong { color: var(--gold); font-size: 56px; line-height: 1; }
.experience-card span { margin-top: 12px; font-size: 14px; line-height: 1.45; }
.about-copy > p:not(.eyebrow) { color: var(--muted); }
.large-copy { margin: 26px 0px 14px; font-size: 20px; line-height: 1.65; }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 26px; margin: 30px 0px 34px; padding: 0px; list-style: none; }
.check-list li { display: flex; gap: 10px; color: rgb(72, 68, 63); font-size: 14px; line-height: 1.45; }
.check-list svg { width: 19px; height: 19px; color: var(--gold-dark); flex: 0 0 auto; }
.projects-section { color: var(--white); background: var(--charcoal); }
.eyebrow-light { color: rgb(243, 186, 57); }
.projects-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.projects-grid { display: grid; grid-template-columns: 1.3fr 0.7fr; grid-template-rows: 310px 310px; gap: 18px; }
.project-card { position: relative; min-height: 0px; overflow: hidden; background: rgb(77, 70, 61); }
.project-large { grid-row: 1 / span 2; }
.project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.project-card:hover img { transform: scale(1.035); }
.project-card::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 45%, rgba(7, 6, 5, 0.82)); }
.project-overlay { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 25px; }
.project-overlay span { color: rgb(239, 185, 54); font-size: 11px; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }
.project-overlay h3 { margin: 6px 0px 0px; font-size: 21px; line-height: 1.25; }
.project-large .project-overlay h3 { font-size: 29px; }
.project-note { margin: 18px 0px 0px; color: rgba(255, 255, 255, 0.58); font-size: 12px; }
.process-section { background: var(--paper); }
.centered-heading { max-width: 760px; margin-inline: auto; text-align: center; }
.centered-heading > p:last-child { color: var(--muted); }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); counter-reset: steps 0; }
.process-grid article { position: relative; padding: 32px 45px; text-align: center; border-right: 1px solid var(--line); }
.process-grid article:last-child { border-right: 0px; }
.process-grid span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0px auto 25px; color: var(--gold-dark); background: var(--ivory); border: 1px solid rgb(203, 182, 140); border-radius: 50%; font-weight: 850; }
.process-grid h3 { margin: 0px; font-size: 23px; }
.process-grid p { margin: 12px 0px 0px; color: var(--muted); }
.areas-section { background: rgb(238, 231, 218); overflow: hidden; }
.areas-grid { display: grid; grid-template-columns: 1fr 0.7fr; gap: 100px; align-items: center; }
.areas-grid .large-copy { max-width: 680px; color: var(--muted); }
.area-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.area-list span { padding: 8px 13px; background: rgba(255, 255, 255, 0.65); border: 1px solid rgb(209, 197, 178); color: rgb(73, 66, 58); font-size: 13px; font-weight: 700; }
.area-card { position: relative; padding: 70px 55px; color: var(--white); background: var(--charcoal); border-top: 7px solid var(--gold); box-shadow: rgba(227, 163, 19, 0.17) 36px 36px 0px; }
.map-pin { display: grid; place-items: center; width: 56px; height: 56px; color: var(--gold); border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 50%; }
.area-card p { margin: 32px 0px 4px; color: rgb(234, 177, 58); font-size: 12px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.area-card h3 { margin: 0px; font-size: 30px; line-height: 1.3; }
.area-card a { display: inline-flex; align-items: center; gap: 9px; margin-top: 28px; font-weight: 800; }
.faq-section { background: var(--white); }
.faq-grid { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: 100px; }
.faq-intro > p:not(.eyebrow) { color: var(--muted); }
.faq-intro .text-link { color: var(--gold-dark); font-size: 17px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 25px 0px; font-size: 18px; font-weight: 750; list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--gold-dark); font-size: 27px; font-weight: 300; transition: transform 180ms; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 680px; margin: -5px 0px 26px; color: var(--muted); }
.contact-section { padding: 112px 0px; color: var(--white); background: var(--charcoal); }
.contact-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 100px; align-items: start; }
.contact-copy > p:not(.eyebrow) { max-width: 520px; color: rgba(255, 255, 255, 0.68); font-size: 17px; }
.contact-details { display: grid; gap: 18px; margin-top: 42px; }
.contact-details > a, .contact-details > div { display: flex; gap: 15px; align-items: center; }
.contact-details > a > span, .contact-details > div > span { display: grid; place-items: center; width: 42px; height: 42px; color: var(--gold); border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 50%; flex: 0 0 auto; }
.contact-details svg { width: 19px; height: 19px; }
.contact-details small, .contact-details strong { display: block; }
.contact-details small { color: rgba(255, 255, 255, 0.5); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.contact-details strong { margin-top: 2px; font-size: 15px; }
.estimate-form { padding: 42px; color: var(--ink); background: var(--white); }
.form-heading h3 { margin: 0px; font-size: 28px; letter-spacing: -0.02em; }
.form-heading p { margin: 3px 0px 25px; color: var(--muted); font-size: 12px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.estimate-form label { display: grid; gap: 7px; margin-bottom: 16px; color: rgb(62, 59, 54); font-size: 12px; font-weight: 800; letter-spacing: 0.02em; }
.estimate-form input, .estimate-form select, .estimate-form textarea { width: 100%; color: var(--ink); background: rgb(250, 248, 243); border: 1px solid rgb(217, 210, 199); border-radius: 2px; padding: 13px 14px; font-size: 14px; font-weight: 400; outline: none; transition: border-color 150ms, box-shadow 150ms; }
.estimate-form input:focus, .estimate-form select:focus, .estimate-form textarea:focus { border-color: var(--gold-dark); box-shadow: rgba(227, 163, 19, 0.15) 0px 0px 0px 3px; }
.estimate-form textarea { resize: vertical; }
.form-submit { width: 100%; border: 0px; cursor: pointer; }
.form-disclaimer { margin: 12px 0px 0px; color: var(--muted); font-size: 11px; text-align: center; }
.site-footer { color: rgba(255, 255, 255, 0.72); background: rgb(18, 19, 17); border-top: 1px solid rgba(255, 255, 255, 0.1); }
.footer-main { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 60px; padding-top: 70px; padding-bottom: 60px; }
.footer-main h3 { margin: 0px 0px 17px; color: var(--white); font-size: 14px; }
.footer-main a, .footer-main > div > p { display: block; width: fit-content; margin: 8px 0px; font-size: 13px; line-height: 1.65; }
.footer-main a:hover { color: var(--gold); }
.footer-brand img { width: 230px; }
.footer-brand p { max-width: 360px; }
.footer-bottom { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: 12px; }
.mobile-action-bar { display: none; }
@media (max-width: 1180px) {
  .header-inner { grid-template-columns: 230px 1fr auto; gap: 24px; }
  .main-nav { gap: 20px; }
  .hero { grid-template-columns: 1fr 1fr; }
  .hero-copy { padding: 70px 44px; }
  .hero h1 { font-size: 62px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .about-grid, .contact-grid { gap: 64px; }
}
@media (max-width: 1020px) {
  .container { width: min(var(--container), calc(100% - 40px)); }
  .header-inner { grid-template-columns: 1fr auto auto; min-height: 78px; }
  .brand img { width: 180px; }
  .menu-button { display: block; grid-column: 3; }
  .header-call { grid-area: 1 / 2; }
  .main-nav { display: none; position: absolute; left: 0px; right: 0px; top: 78px; flex-direction: column; align-items: stretch; gap: 0px; padding: 16px 20px 24px; background: var(--paper); border-bottom: 1px solid var(--line); box-shadow: rgba(30, 20, 10, 0.1) 0px 18px 35px; }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: 12px; text-align: center; }
  .hero { min-height: auto; max-height: none; grid-template-columns: 1fr; }
  .hero-copy { padding: 76px max(32px, -380px + 50vw); }
  .hero-visual { min-height: 580px; }
  .confidence-grid { grid-template-columns: 1fr 1fr; }
  .confidence-grid > div:nth-child(2) { border-right: 0px; }
  .confidence-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .about-grid, .areas-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; }
  .about-grid { gap: 70px; }
  .about-media { max-width: 720px; }
  .areas-grid, .faq-grid, .contact-grid { gap: 55px; }
  .area-card { max-width: 680px; }
  .contact-copy { max-width: 720px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 70px; }
  body { padding-bottom: 64px; }
  .container { width: min(var(--container), calc(100% - 32px)); }
  .site-header { position: sticky; }
  .header-inner { min-height: 70px; grid-template-columns: 1fr auto; }
  .brand-panel { padding: 7px 9px; }
  .brand img { width: 150px; }
  .menu-button { grid-column: 2; }
  .header-call { display: none; }
  .main-nav { top: 70px; }
  .hero-copy { padding: 58px 20px 52px; }
  .hero h1 { font-size: clamp(47px, 14vw, 68px); }
  .hero-lead { font-size: 17px; }
  .hero-actions { margin-top: 27px; }
  .hero-trust { gap: 17px; margin-top: 35px; }
  .trust-divider { display: none; }
  .trust-item { flex: 1 1 0%; align-items: flex-start; }
  .trust-icon { width: 35px; height: 35px; }
  .hero-visual { min-height: 430px; }
  .hero-frame { top: 26px; right: 24px; width: 82px; height: 82px; border-width: 8px; }
  .hero-caption { right: 24px; bottom: 24px; }
  .confidence-grid { min-height: auto; }
  .confidence-grid > div { padding: 18px 16px; }
  .confidence-grid > div:nth-child(2n+1) { border-left: 0px; }
  .section, .contact-section { padding: 76px 0px; }
  .section-heading h2, .about-copy h2, .areas-grid h2, .faq-intro h2, .contact-copy h2 { font-size: clamp(36px, 10vw, 48px); }
  .split-heading { grid-template-columns: 1fr; gap: 23px; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 335px; padding: 28px; }
  .about-media { min-height: 480px; }
  .about-media > img { width: calc(100% - 28px); height: 450px; }
  .about-media::before { inset: 24px 0px 0px 28px; }
  .experience-card { width: 205px; padding: 22px; }
  .experience-card strong { font-size: 46px; }
  .check-list { grid-template-columns: 1fr; }
  .projects-heading { align-items: flex-start; flex-direction: column; gap: 28px; }
  .projects-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: none; }
  .project-card, .project-large { grid-row: auto; min-height: 330px; }
  .project-large { min-height: 430px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article { padding: 30px 18px; border-right: 0px; border-bottom: 1px solid var(--line); }
  .process-grid article:last-child { border-bottom: 0px; }
  .areas-grid { gap: 45px; }
  .area-card { padding: 48px 30px; box-shadow: rgba(227, 163, 19, 0.17) 14px 14px 0px; }
  .area-card h3 { font-size: 25px; }
  .estimate-form { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 40px 25px; padding-top: 55px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-main > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; padding: 20px 0px; }
  .footer-bottom p { margin: 0px; }
  .mobile-action-bar { position: fixed; z-index: 200; left: 0px; right: 0px; bottom: 0px; display: grid; grid-template-columns: 0.8fr 1.2fr; min-height: 64px; color: var(--white); box-shadow: rgba(0, 0, 0, 0.18) 0px -8px 24px; }
  .mobile-action-bar a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px; background: var(--charcoal); font-size: 14px; font-weight: 850; }
  .mobile-action-bar a:last-child { color: rgb(24, 19, 10); background: var(--gold); }
}
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
/* ===== 2026 visual refresh: real project media, video hero & WhatsApp ===== */
.brand { align-items: center; }
.brand img { width: 225px; max-height: 68px; object-fit: contain; }

.hero.hero-video {
  position: relative;
  display: block;
  min-height: min(820px, calc(100svh - 88px));
  max-height: none;
  overflow: hidden;
  color: var(--white);
  background: #151515;
}
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.hero-shade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(12,12,11,.88) 0%, rgba(12,12,11,.72) 42%, rgba(12,12,11,.35) 72%, rgba(12,12,11,.45) 100%),
              linear-gradient(0deg, rgba(12,12,11,.42), transparent 45%);
}
.hero-content {
  position: relative;
  z-index: 2;
  min-height: min(820px, calc(100svh - 88px));
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 68px;
  padding-bottom: 68px;
}
.hero-logo-large {
  width: clamp(320px, 38vw, 560px);
  height: auto;
  margin: 0 0 36px;
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.35));
}
.hero.hero-video h1 { max-width: 760px; color: var(--white); text-shadow: 0 4px 24px rgba(0,0,0,.26); }
.hero.hero-video .hero-lead { max-width: 690px; color: rgba(255,255,255,.82); }
.hero.hero-video .hero-trust { color: var(--white); }
.hero.hero-video .trust-item small { color: rgba(255,255,255,.66); }
.hero.hero-video .trust-icon { color: var(--gold); border-color: rgba(255,255,255,.34); background: rgba(0,0,0,.16); }
.hero.hero-video .trust-divider { background: rgba(255,255,255,.28); }

.services-grid { border: 0; gap: 18px; }
.service-card {
  min-height: 520px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.service-image { position: relative; height: 205px; overflow: hidden; background: #ded7cc; }
.service-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.7,.2,1); }
.service-image.custom-home-image img { object-position: center 68%; }
.service-card:hover .service-image img { transform: scale(1.045); }
.service-image .card-number {
  position: absolute;
  left: 18px;
  bottom: 16px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #17120a;
  background: var(--gold);
  border-radius: 50%;
  box-shadow: 0 7px 20px rgba(0,0,0,.18);
}
.service-body { flex: 1; display: flex; flex-direction: column; padding: 28px 30px 30px; }
.service-card h3 { margin: 0 0 13px; }
.service-card .text-link { margin-top: auto; }

.real-projects-grid {
  grid-template-columns: 1fr 1fr .9fr;
  grid-template-rows: 285px 285px 285px;
}
.real-projects-grid .project-large { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.real-projects-grid .project-card:nth-child(5) { grid-column: span 2; }
.real-projects-grid .project-card img { object-position: center; }

.video-section { background: var(--ivory); }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; align-items: stretch; }
.video-card { overflow: hidden; background: var(--white); border: 1px solid var(--line); box-shadow: 0 14px 36px rgba(36,29,20,.07); }
.video-card video { width: 100%; height: 255px; object-fit: cover; background: #171717; }
.video-card-portrait video { object-fit: contain; }
.video-card > div { padding: 22px 24px 25px; }
.video-card span { color: var(--gold-dark); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.video-card h3 { margin: 5px 0 0; font-size: 21px; line-height: 1.25; }

.whatsapp-float {
  position: fixed;
  z-index: 190;
  right: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 18px 0 14px;
  color: #fff;
  background: #25d366;
  border-radius: 999px;
  box-shadow: 0 12px 32px rgba(0,0,0,.24);
  font-size: 14px;
  font-weight: 850;
  transition: transform 180ms, box-shadow 180ms;
}
.whatsapp-float:hover { transform: translateY(-3px); box-shadow: 0 16px 38px rgba(0,0,0,.28); }
.whatsapp-float svg { width: 27px; height: 27px; }

@media (max-width: 1180px) {
  .hero.hero-video { min-height: 720px; }
  .hero-content { min-height: 720px; }
  .hero.hero-video h1 { font-size: 64px; }
  .hero.hero-video .hero-actions { flex-direction: row; align-items: initial; }
  .hero.hero-video .hero-actions .button { width: auto; }
  .video-card video { height: 225px; }
}

@media (max-width: 1020px) {
  .hero.hero-video, .hero-content { min-height: 700px; }
  .hero-content { padding-top: 62px; padding-bottom: 62px; }
  .hero-logo-large { width: min(440px, 64vw); }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .real-projects-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 310px); }
  .real-projects-grid .project-large { grid-column: 1 / -1; grid-row: auto; }
  .real-projects-grid .project-card:nth-child(5) { grid-column: auto; }
  .video-grid { grid-template-columns: 1fr 1fr; }
  .video-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .brand img { width: 174px; max-height: 54px; }
  .hero.hero-video, .hero-content { min-height: 690px; }
  .hero-media video { object-position: 58% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(10,10,10,.86), rgba(10,10,10,.53)), linear-gradient(0deg, rgba(10,10,10,.58), transparent 55%); }
  .hero-content { padding-top: 54px; padding-bottom: 54px; }
  .hero-logo-large { width: min(330px, 82vw); margin-bottom: 30px; }
  .hero.hero-video h1 { font-size: clamp(47px, 14vw, 68px); }
  .hero.hero-video .hero-actions { flex-direction: column; width: 100%; }
  .hero.hero-video .hero-actions .button { width: 100%; }
  .hero.hero-video .hero-trust { flex-wrap: wrap; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 500px; }
  .service-image { height: 220px; }
  .real-projects-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .real-projects-grid .project-card, .real-projects-grid .project-large, .real-projects-grid .project-card:nth-child(5) { grid-column: auto; grid-row: auto; min-height: 330px; }
  .real-projects-grid .project-large { min-height: 440px; }
  .video-grid { grid-template-columns: 1fr; }
  .video-card:last-child { grid-column: auto; }
  .video-card video { height: 230px; }
  .video-card-portrait video { height: 360px; }
  .whatsapp-float { right: 14px; bottom: 78px; min-height: 50px; padding-right: 15px; }
  .whatsapp-float span { display: none; }
  .whatsapp-float svg { width: 29px; height: 29px; }
}
.real-projects-grid .project-card:nth-child(5) img { object-position: center 36%; }


/* ===== Social profiles & high-resolution brand mark ===== */
.footer-brand img {
  width: min(300px, 100%);
  height: auto;
}
.footer-social {
  margin-top: 24px;
}
.footer-social-label {
  display: block;
  margin-bottom: 11px;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.footer-main .social-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-height: 38px;
  margin: 0;
  padding: 7px 11px 7px 7px;
  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  font-size: 12px;
  font-weight: 750;
  transition: transform 180ms, border-color 180ms, background 180ms, color 180ms;
}
.footer-main .social-links a:hover {
  transform: translateY(-2px);
  color: var(--white);
  border-color: rgba(227,163,19,.7);
  background: rgba(227,163,19,.10);
}
.social-mark {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #17120a;
  background: var(--gold);
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}
@media (max-width: 760px) {
  .footer-brand img { width: min(275px, 88vw); }
  .social-links { gap: 8px; }
}
