:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  padding: 0; /* ACSS gives body > header the gutter; the bars are full width */
}
.site-header__bar {
  background-color: var(--secondary); padding: var(--space-xs) var(--gutter);
}
.site-header__inner {
  flex-direction: row; align-items: center; justify-content: center; gap: var(--space-l);
  @media (width < 768px) { flex-direction: column; gap: var(--space-l); padding-block: var(--space-xs); }
}
.site-header__cta {
  flex-shrink: 0; &.btn--primary { line-height: 1.2; } @media (width < 768px) { &.btn--primary { font-size: var(--text-s); } }
}
.site-header__logo-link {
  display: block; inline-size: min(100%, 35.8125rem); /* acss-ok: logo is 573px wide on live */
}
.site-nav {
  display: flex; flex-direction: column; align-items: center; background-color: var(--tertiary); padding: 0.5em var(--gutter); /* acss-ok: live 8.5px at 17px */ position: relative;
}
.site-nav__toggle {
  display: none; padding: 0; color: var(--neutral); cursor: pointer; inline-size: 1.5rem; block-size: 1.5rem; /* acss-ok: 24px icon */
  @media (width < 768px) { display: block; }
}
.site-nav__icon {
  display: block; inline-size: 100%; block-size: 100%;
}
.site-nav__list {
  display: flex; justify-content: center; gap: 0.5em; /* acss-ok: live 8.5px */ margin: 0; padding: 0; list-style: none;
  @media (width < 768px) { display: none; flex-direction: column; align-items: center; gap: var(--space-xs); padding-block: var(--space-xs); &.is-open { display: flex; } }
}
.site-nav__link {
  color: var(--neutral); text-decoration: none; font-size: var(--text-m); line-height: 1.25; &:hover { color: var(--neutral-dark); text-decoration: underline; }
}
.site-footer {
  background-color: var(--secondary); color: var(--primary); padding: var(--space-xl) var(--gutter) var(--space-s); --link-color: var(--primary); --link-color-hover: var(--tertiary);
}
.site-footer__inner {
  align-items: center; gap: var(--space-m);
}
.site-footer__row {
  display: flex; align-items: flex-start; flex-wrap: wrap; column-gap: var(--space-xl); row-gap: var(--space-l); inline-size: 100%;
  @media (width < 768px) { flex-direction: column; align-items: center; text-align: center; }
}
.site-footer__address {
  margin: 0; min-inline-size: 15.625rem; /* acss-ok: live column 250px */ @media (width < 768px) { min-inline-size: 0; }
}
.site-footer__contact {
  display: flex; flex-direction: column; gap: var(--space-s); margin: 0; padding: 0; list-style: none;
}
.site-footer__contact-item {
  display: flex; align-items: center; gap: 0.5em; /* acss-ok: live icon gap 9px */ @media (width < 768px) { justify-content: center; }
}
.site-footer__contact-icon {
  inline-size: 1em; block-size: 1em; flex-shrink: 0;
}
.site-footer__link {
  color: inherit; text-decoration: none; &:hover { color: var(--tertiary); }
}
.site-footer__social {
  display: flex; align-items: center; gap: var(--space-m); align-self: center;
}
.site-footer__social-link {
  display: block; color: var(--primary); &:hover { color: var(--tertiary); }
}
.site-footer__social-icon {
  display: block; inline-size: 1.75rem; block-size: 1.75rem; /* acss-ok: live icons 26–30px */
}
.site-footer__badge {
  inline-size: 10.375rem; /* acss-ok: SDF badge 166px on live */ align-self: center;
}
.site-footer__legal {
  margin: 0; font-size: var(--text-s); text-align: center; line-height: 1.36;
}
.home-hero {
  position: relative; overflow: hidden; background-color: var(--neutral); color: var(--white); text-align: center;
  padding-block: calc(var(--section-space-l) * 1.25);
  &::before { content: ''; position: absolute; inset: 0; background-image: url('../assets/hero-living-room.webp'); background-size: cover; background-position: center; opacity: 0.5; pointer-events: none; }
}
.home-hero__inner {
  position: relative; z-index: 1; align-items: center; gap: var(--space-l);
}
.home-hero__title {
  margin: 0; color: var(--white); font-size: var(--h1); line-height: 1.08; text-wrap: balance;
}
.home-hero__intro {
  margin: 0; max-inline-size: var(--width-60); font-weight: 700; letter-spacing: 0.02em; line-height: 1.27; /* acss-ok: live 21.65px at 17px */
}
.home-hero__cta {
  &.btn--primary { padding-block: calc(var(--btn-padding-block) * 0.53); padding-inline: calc(var(--btn-padding-inline) * 2.5); line-height: 1.3; }
  &.btn--primary:hover, &.btn--primary:focus-visible { background-color: var(--neutral-dark); color: var(--white); }
}
.home-about {
  padding-block: var(--space-m) var(--space-xl);
}
.home-about__inner {
  align-items: center; gap: var(--space-m);
}
.home-about__title {
  margin: 0; font-size: var(--h2); line-height: 1.1;
}
.home-about__text {
  display: flex; flex-direction: column; gap: 1em; max-inline-size: calc(var(--content-width) * 0.75); /* acss-ok: live 866px */ line-height: 1.25;
}
.home-services {
  background-color: var(--neutral-ultra-light); padding-block: var(--section-space-s); text-align: center;
  @media (width < 768px) { padding-inline: calc(var(--gutter) + var(--space-s)); }
}
.home-services__inner {
  align-items: center; gap: var(--space-l);
}
.home-services__title {
  margin: 0; font-size: var(--h2); line-height: 1.1;
}
.home-services__text {
  margin: 0; max-inline-size: var(--width-60); line-height: 1.25;
}
.home-services__types {
  display: flex; justify-content: center; gap: var(--space-l); margin: 0; padding: 0; list-style: none;
  @media (width < 768px) { inline-size: 100%; justify-content: space-between; }
}
.home-services__type {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-xs);
}
.home-services__icon {
  inline-size: 3rem; block-size: 3rem; /* acss-ok: live icon 48px */ color: var(--secondary);
  @media (width < 768px) { inline-size: 2.125rem; block-size: 2.125rem; /* acss-ok: live icon 34px */ }
}
.home-services__type-title {
  margin: 0; font-size: var(--h3); line-height: 1.17;
}
.home-quote {
  background-color: var(--secondary); color: var(--white); padding-block: var(--space-xl); text-align: center;
  @media (width < 768px) { padding-inline: calc(var(--gutter) + var(--space-s)); }
}
.home-quote__inner {
  align-items: center;
}
.home-quote__text {
  margin: 0; max-inline-size: var(--width-80); font-family: var(--heading-font-family); font-size: var(--h3); line-height: 1.17;
}
.home-estimate {
  background-color: var(--neutral); background-image: url('../assets/estimate-library-room.webp'); background-size: cover; background-position: center; color: var(--white); padding-block: var(--section-space-s) var(--space-xl);
  @media (width < 768px) { padding-inline: calc(var(--gutter) + var(--space-s)); }
}
.home-estimate__inner {
  align-items: center; gap: var(--space-xl);
}
.home-estimate__title {
  margin: 0; color: var(--white); font-size: var(--h2); line-height: 1.1; text-align: center;
}
.estimate-form {
  display: flex; flex-direction: column; gap: var(--space-m); inline-size: 100%; max-inline-size: var(--width-60); color: var(--neutral);
}
.estimate-form__row {
  display: grid; grid-template-columns: var(--grid-2); gap: var(--space-s); @media (width < 768px) { grid-template-columns: var(--grid-1); gap: var(--space-m); }
}
.estimate-form__field {
  display: flex; flex-direction: column;
}
.estimate-form__input {
  inline-size: 100%; min-block-size: 3.125rem; /* acss-ok: live fields 50px */ padding: 0.5em 1em; /* acss-ok: live 9px 18px */
  background: var(--white); color: var(--neutral); border: 1px solid var(--border-color-dark); border-radius: var(--radius); font: inherit; font-size: var(--text-m); line-height: 1.2;
  &::placeholder { color: color-mix(in oklch, var(--neutral) 65%, transparent); }
  &:focus-visible { outline: 2px solid var(--tertiary); outline-offset: 2px; }
}
.estimate-form__textarea {
  min-block-size: 5.75rem; /* acss-ok: live 92px */ resize: vertical;
}
.estimate-form__trap {
  position: absolute; inline-size: 1px; /* acss-ok: visually hidden pattern */ block-size: 1px; /* acss-ok: visually hidden pattern */ overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.estimate-form__turnstile {
  &:empty { display: none; }
}
.estimate-form__status {
  margin: 0; color: var(--white); font-weight: 700; text-align: end; &:empty { display: none; }
}
.estimate-form__submit {
  align-self: flex-end; min-block-size: 3.125rem; /* acss-ok: live 50px */ padding-inline: 1.15em; /* acss-ok: live 20px at 17px */
  background-color: var(--tertiary); color: var(--black); border-radius: calc(var(--radius) * 4); font-family: var(--btn-font-family); font-size: var(--text-m); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer;
  &:hover, &:focus-visible { background-color: var(--primary); }
  &:disabled { opacity: 0.6; cursor: wait; }
}
.site-header__logo {
  display: block; inline-size: 100%; block-size: auto;
}
.site-footer__badge-img {
  display: block; inline-size: 100%; block-size: auto;
}