:root {
  --ink: #18201e;
  --muted: #67706c;
  --paper: #f6f3ec;
  --white: #fffdf9;
  --forest: #173a32;
  --forest-2: #234d43;
  --accent: #dc754f;
  --accent-hover: #c96340;
  --sand: #e9e1d3;
  --line: rgba(24, 32, 30, .13);
  --shadow: 0 0 0 1px oklch(0 0 0 / .06), 0 1px 2px -1px oklch(0 0 0 / .06), 0 8px 24px -12px oklch(0 0 0 / .12);
  --shadow-hover: 0 0 0 1px oklch(0 0 0 / .08), 0 2px 4px -1px oklch(0 0 0 / .08), 0 14px 30px -12px oklch(0 0 0 / .18);
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.55; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 112px 0; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 12px 16px; background: var(--white); border-radius: 10px; transform: translateY(-150%); transition: transform 150ms ease-out; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; color: white; border-bottom: 1px solid rgba(255,255,255,.18); transition-property: background-color, color, box-shadow; transition-duration: 180ms; transition-timing-function: ease-out; }
.site-header.is-scrolled { color: var(--ink); background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(24,32,30,.1); }
.header-inner { height: 82px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 11px; width: max-content; }
.brand > span:last-child { display: grid; }
.brand b { font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.05; font-weight: 600; letter-spacing: -.02em; }
.brand small { margin-top: 4px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.brand-mark { position: relative; width: 35px; height: 35px; border: 1.5px solid currentColor; border-radius: 50% 50% 46% 54%; transform: rotate(-8deg); }
.brand-mark::before, .brand-mark::after, .brand-mark span { content: ""; position: absolute; left: 8px; right: 8px; height: 1.5px; background: currentColor; border-radius: 999px; }
.brand-mark::before { top: 10px; transform: rotate(12deg); }.brand-mark::after { top: 20px; transform: rotate(-9deg); }.brand-mark span { top: 15px; left: 6px; right: 6px; transform: rotate(4deg); }
.desktop-nav { display: flex; gap: 30px; font-size: 13px; font-weight: 600; }
.desktop-nav a { opacity: .78; transition: opacity 150ms ease-out; }.desktop-nav a:hover { opacity: 1; }
.header-cta { justify-self: end; min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px 0 16px; font-size: 13px; font-weight: 700; border: 1px solid currentColor; border-radius: 999px; transition-property: background-color, color, scale; transition-duration: 150ms; transition-timing-function: ease-out; }
.header-cta:hover { color: var(--forest); background: white; }.site-header.is-scrolled .header-cta:hover { color: white; background: var(--forest); }
.header-cta:active, .button:active, .work-filters button:active { scale: .96; }
.header-cta svg, .button svg, .text-link svg { width: 18px; height: 18px; }
.menu-button, .mobile-menu { display: none; }

.hero { position: relative; min-height: 820px; height: min(94vh, 920px); color: white; display: flex; align-items: center; overflow: hidden; background: #222; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; outline: 1px solid oklch(1 0 0 / .1); outline-offset: -1px; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,18,16,.9) 0%, rgba(9,18,16,.68) 40%, rgba(9,18,16,.1) 75%), linear-gradient(0deg, rgba(9,18,16,.34), transparent 45%); }
.hero-content { position: relative; z-index: 1; padding-top: 74px; }
.hero-content > * { animation: hero-enter 650ms cubic-bezier(.2,0,0,1) both; }.hero-content > :nth-child(2) { animation-delay: 90ms; }.hero-content > :nth-child(3) { animation-delay: 180ms; }.hero-content > :nth-child(4) { animation-delay: 270ms; }.hero-content > :nth-child(5) { animation-delay: 360ms; }
@keyframes hero-enter { from { opacity: 0; transform: translateY(12px); filter: blur(4px); } }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 23px; font-size: 11px; line-height: 1; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; color: var(--forest); }
.eyebrow > span { width: 24px; height: 1px; background: currentColor; }
.hero-eyebrow, .eyebrow.light { color: #f3c0a8; }
.hero h1 { max-width: 740px; margin-bottom: 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(56px, 6.2vw, 92px); line-height: .95; font-weight: 400; letter-spacing: -.055em; }
.hero h1 em { color: #f09a74; font-weight: 400; }
.hero-content > p { max-width: 600px; margin-bottom: 34px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 18px 0 21px; border: 0; border-radius: var(--radius-sm); font-size: 14px; font-weight: 750; cursor: pointer; transition-property: background-color, color, box-shadow, scale; transition-duration: 150ms; transition-timing-function: ease-out; }
.button-primary { color: var(--forest); background: var(--white); box-shadow: var(--shadow); }.button-primary:hover { background: #f2e9dd; box-shadow: var(--shadow-hover); }
.button-ghost { color: white; background: rgba(255,255,255,.08); box-shadow: 0 0 0 1px rgba(255,255,255,.32); }.button-ghost:hover { background: rgba(255,255,255,.15); }
.trust-list { display: flex; flex-wrap: wrap; gap: 26px; padding: 0; margin: 42px 0 0; list-style: none; color: rgba(255,255,255,.75); font-size: 12px; }
.trust-list li { display: flex; align-items: center; gap: 7px; }.trust-list svg { width: 16px; height: 16px; color: #f09a74; }
.hero-note { position: absolute; z-index: 2; right: max(32px, calc((100% - var(--container)) / 2)); bottom: 34px; display: flex; gap: 13px; align-items: flex-start; color: rgba(255,255,255,.72); font-size: 12px; }.hero-note span { color: #f09a74; font-variant-numeric: tabular-nums; }.hero-note p { margin: 0; }

.signal-bar { background: var(--white); border-bottom: 1px solid var(--line); }
.signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-grid > div { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 20px 28px; border-right: 1px solid var(--line); }.signal-grid > div:first-child { padding-left: 0; }.signal-grid > div:last-child { border-right: 0; }
.signal-grid strong { margin-bottom: 4px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; color: var(--forest); font-variant-numeric: tabular-nums; }.signal-grid span { color: var(--muted); font-size: 12px; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 54px; }
.section-head h2, .price-copy h2, .estimate-copy h2, .faq-layout h2 { margin-bottom: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 68px); line-height: 1.02; font-weight: 400; letter-spacing: -.045em; }
.section-head > p { max-width: 430px; margin-bottom: 4px; color: var(--muted); }
.service-grid { display: grid; grid-template-columns: 1.12fr 1fr 1fr; gap: 16px; }
.service-card { min-height: 400px; display: flex; flex-direction: column; padding: 28px; background: var(--white); border-radius: var(--radius-md); box-shadow: var(--shadow); transition-property: transform, box-shadow; transition-duration: 180ms; transition-timing-function: ease-out; }
.service-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.service-featured { color: white; background: var(--forest); }
.service-index { color: var(--muted); font: 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }.service-featured .service-index { color: rgba(255,255,255,.52); }
.service-icon { width: 56px; height: 56px; display: grid; place-items: center; margin: 50px 0 25px; color: var(--forest); background: var(--sand); border-radius: 16px; }.service-featured .service-icon { color: #f5bea5; background: rgba(255,255,255,.1); }.service-icon svg { width: 28px; height: 28px; stroke-width: 1.5; }
.service-card h3 { margin-bottom: 12px; font: 500 27px/1.1 Georgia, "Times New Roman", serif; }.service-card p { color: var(--muted); font-size: 14px; }.service-featured p { color: rgba(255,255,255,.67); }
.service-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); font-size: 12px; }.service-featured .service-meta { border-color: rgba(255,255,255,.14); }.service-meta b { font-size: 15px; font-variant-numeric: tabular-nums; }.service-meta span { color: var(--muted); }.service-featured .service-meta span { color: rgba(255,255,255,.54); }

.price-section { color: white; background: var(--forest); }
.price-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 100px; align-items: start; }
.price-copy { position: sticky; top: 120px; }.price-copy h2 { margin-bottom: 28px; }.price-copy p { max-width: 460px; color: rgba(255,255,255,.66); }.text-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.36); font-size: 14px; font-weight: 700; }.text-link svg { margin-right: -2px; transition: transform 150ms ease-out; }.text-link:hover svg { transform: translateX(3px); }
.price-list { border-top: 1px solid rgba(255,255,255,.22); }.price-list > div { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.14); }.price-list span { display: grid; gap: 4px; }.price-list b { font-size: 16px; }.price-list small { color: rgba(255,255,255,.52); }.price-list strong { flex: none; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; color: #f3c0a8; font-variant-numeric: tabular-nums; }.price-footnote { margin: 22px 0 0; color: rgba(255,255,255,.42); font-size: 11px; }

.works { background: var(--white); }.works-head { align-items: end; }
.work-filters { display: flex; flex-wrap: wrap; gap: 7px; }.work-filters button { min-height: 44px; padding: 0 16px; border: 0; color: var(--muted); background: var(--paper); border-radius: 999px; cursor: pointer; transition-property: color, background-color, scale; transition-duration: 150ms; transition-timing-function: ease-out; }.work-filters button:hover, .work-filters button.is-active { color: white; background: var(--forest); }
.portfolio-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; align-items: start; }
.portfolio-card { grid-column: span 4; transition-property: opacity, transform; transition-duration: 180ms; transition-timing-function: ease-out; }.portfolio-card.is-hidden { display: none; }.portfolio-image { height: 430px; margin-bottom: 20px; overflow: hidden; border-radius: var(--radius-md); background: var(--sand); box-shadow: var(--shadow); }.portfolio-image img { width: 100%; height: 100%; object-fit: cover; outline: 1px solid oklch(0 0 0 / .1); outline-offset: -1px; transition: transform 400ms ease-out; }.portfolio-card:hover img { transform: scale(1.025); }.portfolio-chair img { object-position: left; }.portfolio-sofa { padding-top: 58px; }.portfolio-sofa img { object-position: center; }.portfolio-dining img { object-position: right; }
.portfolio-card span { color: var(--accent-hover); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }.portfolio-card h3 { margin: 6px 0 5px; font: 500 22px/1.2 Georgia, "Times New Roman", serif; }.portfolio-card p { color: var(--muted); font-size: 13px; }

.process-list { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.process-list li { position: relative; padding: 30px 28px 0 0; }.process-list li::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 5px var(--paper); }.process-list li > span { color: var(--accent-hover); font: 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }.process-list h3 { margin: 52px 0 12px; font: 500 21px/1.2 Georgia, "Times New Roman", serif; }.process-list p { max-width: 255px; color: var(--muted); font-size: 13px; }

.estimate { padding-block: 42px; background: var(--paper); }.estimate-shell { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; padding: 76px; color: white; background: var(--forest); border-radius: var(--radius-lg); }
.estimate-copy h2 { margin-bottom: 22px; }.estimate-copy > p { max-width: 480px; color: rgba(255,255,255,.65); }.privacy-note { display: flex; gap: 10px; align-items: center; margin-top: 52px; color: rgba(255,255,255,.52); font-size: 11px; }.privacy-note svg { width: 20px; height: 20px; color: #f3c0a8; stroke-width: 1.5; }
.estimate-form { padding: 30px; color: var(--ink); background: var(--white); border-radius: 22px; box-shadow: 0 18px 60px rgba(0,0,0,.16); }
.estimate-form fieldset { padding: 0; margin: 0 0 24px; border: 0; }.estimate-form legend { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 750; }.choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }.choice-grid label { position: relative; }.choice-grid input { position: absolute; opacity: 0; pointer-events: none; }.choice-grid span { min-height: 44px; display: grid; place-items: center; color: var(--muted); background: var(--paper); border-radius: 10px; cursor: pointer; box-shadow: 0 0 0 1px transparent; transition-property: color, background-color, box-shadow; transition-duration: 150ms; transition-timing-function: ease-out; font-size: 12px; font-weight: 650; }.choice-grid input:checked + span { color: var(--forest); background: #e3eee9; box-shadow: 0 0 0 1px rgba(23,58,50,.28); }.choice-grid input:focus-visible + span { outline: 3px solid rgba(220,117,79,.35); outline-offset: 2px; }
.field { position: relative; display: block; }.field input { width: 100%; height: 58px; padding: 22px 15px 6px; border: 1px solid rgba(24,32,30,.18); border-radius: var(--radius-sm); color: var(--ink); background: white; outline: none; transition-property: border-color, box-shadow; transition-duration: 150ms; transition-timing-function: ease-out; font-variant-numeric: tabular-nums; }.field > span { position: absolute; top: 50%; left: 15px; color: var(--muted); font-size: 14px; font-weight: 600; line-height: 1; pointer-events: none; transform: translateY(-50%); transform-origin: left top; transition-property: top, color, font-size, transform; transition-duration: 150ms; transition-timing-function: ease-out; }.field input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(220,117,79,.15); }.field input:focus + span, .field input:not(:placeholder-shown) + span { top: 10px; color: var(--accent-hover); font-size: 11px; transform: translateY(0); }.field input[aria-invalid="true"] { border-color: #b94836; box-shadow: 0 0 0 3px rgba(185,72,54,.12); }.field-error { display: block; margin: 7px 2px 0; color: #a13f31; font-size: 12px; }.field-error[hidden] { display: none; }.estimate-form .button { width: 100%; margin-top: 14px; }.button-accent { color: white; background: var(--accent); }.button-accent:hover { background: var(--accent-hover); }.legal-copy { margin: 12px 2px 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.legal-copy a { color: var(--forest); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }.legal-copy a:hover { color: var(--accent-hover); }.form-success { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; padding: 14px; color: var(--forest); background: #e3eee9; border-radius: var(--radius-sm); }.form-success svg { width: 22px; height: 22px; flex: none; }.form-success div { display: grid; }.form-success span { color: var(--muted); font-size: 11px; }

.faq { background: var(--white); }.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 110px; }.faq-layout > div:first-child > p { max-width: 380px; margin-top: 24px; color: var(--muted); }
.accordion { border-top: 1px solid var(--line); }.accordion details { border-bottom: 1px solid var(--line); }.accordion summary { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 650; }.accordion summary::-webkit-details-marker { display: none; }.accordion summary span { position: relative; width: 18px; height: 18px; flex: none; }.accordion summary span::before, .accordion summary span::after { content: ""; position: absolute; inset: 8px 1px auto; height: 1.5px; background: var(--ink); transition: transform 180ms ease-out; }.accordion summary span::after { transform: rotate(90deg); }.accordion details[open] summary span::after { transform: rotate(0); }.accordion details p { max-width: 650px; padding: 0 52px 24px 0; margin: -4px 0 0; color: var(--muted); font-size: 14px; }

.footer { padding: 76px 0 24px; color: rgba(255,255,255,.72); background: #102a25; }.footer-grid { display: grid; grid-template-columns: 1.5fr .8fr 1fr 1fr; gap: 60px; }.brand-light { color: white; }.footer-grid > div:first-child > p { max-width: 320px; margin-top: 22px; font-size: 13px; }.footer h3 { margin-bottom: 17px; color: white; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: 12px; }.footer a:not(.brand) { transition: color 150ms ease-out; }.footer a:not(.brand):hover { color: white; }.contact-placeholder { margin: 0; color: #f3c0a8; font: 19px/1.35 Georgia, "Times New Roman", serif; }.footer-action { margin-top: 6px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-weight: 700; }.footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 66px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; color: rgba(255,255,255,.4); }
.legal-page { min-height: 100vh; padding: 72px 0 96px; background: var(--paper); }.legal-top { margin-bottom: 64px; }.legal-back { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: var(--forest); font-size: 13px; font-weight: 700; }.legal-back svg { width: 18px; height: 18px; }.legal-content { max-width: 760px; }.legal-content h1 { margin-bottom: 24px; font: 400 clamp(42px, 7vw, 72px)/1 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }.legal-content .legal-updated { margin-bottom: 48px; color: var(--muted); font-size: 12px; }.legal-content h2 { margin: 38px 0 12px; font: 500 24px/1.2 Georgia, "Times New Roman", serif; }.legal-content p, .legal-content li { color: var(--muted); }.legal-content ul { padding-left: 20px; }

:focus-visible { outline: 3px solid rgba(220,117,79,.6); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

@media (max-width: 980px) {
  .section { padding: 88px 0; }.desktop-nav, .header-cta { display: none; }.header-inner { grid-template-columns: 1fr auto; }.menu-button { justify-self: end; width: 44px; height: 44px; display: grid; place-content: center; gap: 6px; padding: 0; border: 0; color: currentColor; background: transparent; cursor: pointer; }.menu-button span { width: 22px; height: 1.5px; background: currentColor; transition: transform 180ms ease-out; }.menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 49; inset: 82px 0 auto; display: grid; padding: 18px 24px 24px; color: var(--ink); background: var(--paper); box-shadow: 0 14px 26px rgba(0,0,0,.15); transform: translateY(-120%); opacity: 0; pointer-events: none; transition-property: transform, opacity; transition-duration: 200ms; transition-timing-function: ease-out; }.mobile-menu.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }.mobile-menu a { min-height: 50px; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-weight: 650; }
  .hero { min-height: 760px; }.signal-grid { grid-template-columns: repeat(2, 1fr); }.signal-grid > div:nth-child(2) { border-right: 0; }.signal-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.signal-grid > div:nth-child(3) { padding-left: 0; }
  .service-grid { grid-template-columns: 1fr 1fr; }.service-card:last-child { grid-column: 1 / -1; min-height: 330px; }.price-layout, .estimate-shell, .faq-layout { grid-template-columns: 1fr; gap: 54px; }.price-copy { position: static; }.portfolio-card { grid-column: span 6; }.portfolio-card:last-child { grid-column: 4 / span 6; }.process-list { grid-template-columns: 1fr 1fr; gap: 46px 0; }.estimate-shell { padding: 54px; }.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }.footer-grid > div:last-child { grid-column: 2 / -1; }
}

@media (max-width: 680px) {
  .container { width: min(calc(100% - 32px), var(--container)); }.section { padding: 72px 0; }.header-inner { height: 70px; }.brand small { display: none; }.mobile-menu { inset-block-start: 70px; }
  .hero { min-height: 700px; height: 90svh; align-items: flex-end; padding-bottom: 76px; }.hero-image { object-position: 60% center; }.hero-overlay { background: linear-gradient(0deg, rgba(9,18,16,.94) 0%, rgba(9,18,16,.67) 62%, rgba(9,18,16,.22) 100%); }.hero-content { padding-top: 100px; }.hero h1 { font-size: clamp(48px, 15vw, 70px); }.hero-content > p { font-size: 15px; }.hero-actions { display: grid; grid-template-columns: 1fr; }.button { width: 100%; }.trust-list { gap: 10px 18px; margin-top: 28px; }.hero-note { display: none; }
  .signal-grid { grid-template-columns: 1fr 1fr; }.signal-grid > div { min-height: 106px; padding: 18px 14px; }.signal-grid > div:nth-child(odd) { padding-left: 0; }.signal-grid strong { font-size: 21px; }
  .section-head { align-items: flex-start; flex-direction: column; gap: 25px; margin-bottom: 38px; }.section-head h2, .price-copy h2, .estimate-copy h2, .faq-layout h2 { font-size: 43px; }.service-grid { grid-template-columns: 1fr; }.service-card, .service-card:last-child { grid-column: auto; min-height: 350px; }.service-icon { margin-top: 38px; }
  .price-layout { gap: 45px; }.price-list > div { align-items: flex-start; flex-direction: column; gap: 12px; }.price-list strong { font-size: 21px; }
  .work-filters { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding: 3px; margin: -3px; }.work-filters button { flex: none; }.portfolio-grid { display: block; }.portfolio-card, .portfolio-card:last-child { margin-bottom: 42px; padding-top: 0; }.portfolio-image { height: 390px; }
  .process-list { grid-template-columns: 1fr; gap: 30px; border-top: 0; }.process-list li { display: grid; grid-template-columns: 44px 1fr; padding: 22px 0; border-top: 1px solid var(--line); }.process-list li::before { top: -4px; }.process-list h3 { margin: 0 0 8px; }
  .estimate { padding-block: 16px; }.estimate-shell { width: calc(100% - 16px); gap: 38px; padding: 46px 20px 20px; border-radius: 22px; }.privacy-note { margin-top: 28px; }.estimate-form { padding: 20px; border-radius: 16px; }.choice-grid { grid-template-columns: 1fr 1fr; }
  .faq-layout { gap: 38px; }.accordion summary { min-height: 72px; font-size: 14px; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 44px 28px; }.footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }.footer-grid > div:last-child { align-items: flex-start; }.footer-bottom { align-items: flex-start; flex-direction: column; }
  .legal-page { padding-top: 42px; }.legal-top { margin-bottom: 42px; }.legal-content h1 { font-size: 38px; hyphens: manual; }.legal-content p, .legal-content li { font-size: 15px; }
}
