:root {
  --home-ink: #202b25;
  --home-muted: #657067;
  --home-pine: #263f32;
  --home-pine-deep: #1d3027;
  --home-gold: #a98c60;
  --home-paper: #f6f4ee;
  --home-line: rgba(38, 63, 50, .14);
}

main > section[id]:not(#home) { scroll-margin-top: 96px; }
.home-premium-intro,
.home-premium-services,
.home-premium-process,
.home-premium-proof,
.home-premium-faq { position: relative; overflow: hidden; }
.home-premium-intro { padding: clamp(64px, 8vw, 112px) 0; background: var(--home-paper); }
.home-premium-intro-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(230px, .65fr); gap: clamp(36px, 9vw, 136px); align-items: end; }
.home-eyebrow { margin: 0 0 14px; color: var(--home-gold); font: 700 .69rem/1.35 var(--font-sans, Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; }
.home-premium-intro h2,
.home-section-heading h2,
.home-proof-heading h2,
.home-faq-heading h2 { margin: 0; color: var(--home-ink); font: 400 clamp(2.5rem, 5.1vw, 4.45rem)/.99 var(--font-serif, Georgia, serif); letter-spacing: -.035em; }
.home-premium-intro h2 em,
.home-proof-heading h2 em { color: var(--home-pine); font-weight: 400; }
.home-premium-intro-copy > p:not(.home-eyebrow) { max-width: 670px; margin: 24px 0 24px; color: var(--home-muted); font-size: clamp(1rem, 1.25vw, 1.13rem); line-height: 1.8; }
.home-text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--home-pine); font-weight: 700; text-decoration: none; }
.home-text-link span, .home-service-copy a span, .home-project-review-link a span { transition: transform .2s ease; }
.home-text-link:hover span, .home-service-copy a:hover span, .home-project-review-link a:hover span { transform: translate(3px, -2px); }
.home-premium-intro-aside { position: relative; padding: 32px 0 4px 28px; border-left: 1px solid var(--home-line); }
.home-aside-mark { display: block; margin-bottom: 18px; color: var(--home-gold); font: 400 2.8rem/.9 var(--font-serif, Georgia, serif); }
.home-premium-intro-aside p { max-width: 245px; margin: 0 0 18px; color: var(--home-ink); font: 400 1.23rem/1.5 var(--font-serif, Georgia, serif); }
.home-premium-intro-aside a { color: var(--home-muted); font-size: .86rem; font-weight: 700; text-decoration: none; }

.home-projects { padding: clamp(58px, 7vw, 94px) 0; background: #fff; }
.home-projects .container { max-width: 1260px; }
.home-projects .text-center { margin-bottom: 34px; }
.home-projects .section-title { color: var(--home-ink); font: 400 clamp(2.2rem, 4vw, 3.5rem)/1.05 var(--font-serif, Georgia, serif); letter-spacing: -.025em; }
.home-projects .section-subtitle { max-width: 610px; color: var(--home-muted); line-height: 1.7; }
.home-projects .gallery-card { overflow: hidden; border-radius: 5px; box-shadow: 0 16px 45px rgba(28, 45, 35, .12); }
.home-projects .gallery-card img, .home-projects .gallery-card video { transition: transform .55s cubic-bezier(.2,.65,.3,1); }
.home-projects .gallery-card:hover img, .home-projects .gallery-card:hover video { transform: scale(1.035); }
.home-projects .gallery-overlay { background: linear-gradient(180deg, transparent 34%, rgba(17, 28, 22, .78)); }
.home-project-review-link { display: flex; justify-content: center; align-items: center; gap: 8px 18px; flex-wrap: wrap; margin: 28px auto 0; color: var(--home-muted); font-size: .9rem; text-align: center; }
.home-project-review-link a { display: inline-flex; align-items: center; gap: 8px; color: var(--home-pine); font-weight: 700; text-decoration: none; }

.home-premium-services { padding: clamp(66px, 8vw, 106px) 0; background: var(--home-paper); }
.home-premium-services .container, .home-premium-process .container, .home-premium-proof .container, .home-premium-faq .container { max-width: 1200px; }
.home-anchor-marker { position: absolute; top: -96px; }
.home-section-heading { max-width: 730px; margin-bottom: 38px; }
.home-section-heading h2 { font-size: clamp(2.2rem, 4vw, 3.45rem); line-height: 1.05; }
.home-section-heading > p:last-child { max-width: 580px; margin: 17px 0 0; color: var(--home-muted); line-height: 1.7; }
.home-section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 24px; max-width: none; }
.home-section-heading-row .home-text-link { flex-shrink: 0; margin-bottom: 5px; }
.home-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.home-service-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid rgba(38, 63, 50, .09); box-shadow: 0 8px 25px rgba(33, 45, 36, .045); transition: transform .25s ease, box-shadow .25s ease; }
.home-service-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(33, 45, 36, .1); }
.home-service-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.2; background: #e8e6df; }
.home-service-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.3,1); }
.home-service-card:hover .home-service-image img { transform: scale(1.04); }
.home-service-index { position: absolute; top: 14px; left: 14px; display: grid; width: 34px; height: 34px; place-items: center; color: #fff; background: rgba(29, 48, 39, .78); border: 1px solid rgba(255,255,255,.38); border-radius: 50%; font-size: .7rem; }
.home-service-copy { padding: 22px 20px 24px; }
.home-service-copy .home-eyebrow { margin-bottom: 9px; font-size: .61rem; }
.home-service-copy h3 { margin: 0 0 10px; color: var(--home-ink); font: 400 1.42rem/1.15 var(--font-serif, Georgia, serif); }
.home-service-copy > p:not(.home-eyebrow) { min-height: 74px; margin: 0 0 18px; color: var(--home-muted); font-size: .88rem; line-height: 1.65; }
.home-service-copy > a { display: inline-flex; align-items: center; gap: 9px; color: var(--home-pine); font-size: .82rem; font-weight: 700; text-decoration: none; }

.home-premium-process { padding: clamp(66px, 8vw, 104px) 0; background: #fff; }
.home-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--home-line); }
.home-process-grid li { min-width: 0; padding: 24px 24px 8px 0; }
.home-process-grid li + li { padding-left: 24px; border-left: 1px solid var(--home-line); }
.home-process-grid li > span, .home-proof-list article > span { color: var(--home-gold); font: 400 1rem/1 var(--font-serif, Georgia, serif); }
.home-process-grid h3 { margin: 22px 0 9px; color: var(--home-ink); font: 400 1.34rem/1.2 var(--font-serif, Georgia, serif); }
.home-process-grid p { max-width: 245px; margin: 0; color: var(--home-muted); font-size: .89rem; line-height: 1.7; }

.home-premium-tool { padding: clamp(56px, 7vw, 88px) 0; background: #f3f1eb; }
.home-premium-tool .container { max-width: 1160px; }
.home-premium-tool .calc-content { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.home-premium-tool .calc-content h3 { color: var(--home-ink); font: 400 clamp(2.15rem, 3.8vw, 3.2rem)/1.08 var(--font-serif, Georgia, serif); }
.home-premium-tool .calc-content > p { max-width: 680px; margin: 15px auto 22px; color: var(--home-muted); line-height: 1.7; }
.home-premium-tool .calc-bullets-wrap { display: flex; justify-content: center; gap: 10px 22px; flex-wrap: wrap; }
.home-premium-tool .bullet-item { color: var(--home-muted); font-size: .82rem; }
.home-premium-tool .calc-content .bullet-icon { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; min-width: 24px; min-height: 24px; max-width: 24px; max-height: 24px; inline-size: 24px; block-size: 24px; min-inline-size: 24px; min-block-size: 24px; aspect-ratio: 1; border-radius: 50%; background: var(--home-pine); color: #fff; }
.home-premium-tool .calc-content .bullet-icon svg { flex: none; inline-size: 16px; block-size: 16px; }
.home-premium-tool .calc-content .bullet-item > span { min-inline-size: 0; text-align: start; }
.home-premium-tool .calc-card { width: min(100%, 840px); overflow: hidden; border: 1px solid rgba(38, 63, 50, .14); border-radius: 8px; box-shadow: 0 22px 58px rgba(32, 43, 37, .1); }
.home-premium-tool .wizard-header { background: #fff; }
.home-premium-tool .wizard-step-heading { color: var(--home-ink); font-family: var(--font-serif, Georgia, serif); font-size: clamp(1.6rem, 3vw, 2.15rem); font-weight: 400; }
.home-premium-tool .wizard-step-subheading { color: var(--home-muted); line-height: 1.65; }
.home-premium-tool .scope-live-total-banner { position: sticky; bottom: 10px; z-index: 2; border: 1px solid rgba(38, 63, 50, .14); border-radius: 6px; box-shadow: 0 6px 18px rgba(28, 45, 35, .08); }
.home-premium-tool .wizard-disclaimer-box { margin-top: 20px; border-radius: 5px; }
.home-premium-tool .result-plan-card { border-radius: 5px; }
.home-premium-tool .home-estimate-note { margin: 0 0 18px; padding: 13px 16px; color: #526157; background: #f4f3ed; border: 1px solid var(--home-line); border-radius: 5px; font-size: .86rem; line-height: 1.6; }
.home-premium-tool .home-estimate-next-step { margin: 16px 0 10px; color: var(--home-muted); font-size: .9rem; }
.home-estimate-context { padding: 12px 14px; color: var(--home-pine); background: #edf1eb; border-left: 3px solid var(--home-gold); border-radius: 3px; font-size: .88rem; line-height: 1.55; }
.home-premium-tool#design-tour { background: #fff; }
.home-premium-tool#design-tour .container > .text-center { max-width: 760px; margin: 0 auto 34px !important; }
.home-premium-tool#design-tour .section-title { color: var(--home-ink); font: 400 clamp(2.2rem, 4vw, 3.2rem)/1.05 var(--font-serif, Georgia, serif); }
.home-premium-tool#design-tour .section-subtitle { color: var(--home-muted); line-height: 1.7; }
.home-premium-tool#design-tour .floorplanner-wrapper { overflow: hidden; border: 1px solid var(--home-line); border-radius: 8px; box-shadow: 0 18px 46px rgba(32,43,37,.08); }

.home-premium-proof { padding: clamp(66px, 8vw, 108px) 0; color: #f7f5ef; background: var(--home-pine-deep); }
.home-proof-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 112px); align-items: center; }
.home-proof-heading h2 { color: #f7f5ef; font-size: clamp(2.5rem, 4.4vw, 3.85rem); }
.home-proof-heading h2 em { color: #d9c39d; }
.home-proof-heading > p:not(.home-eyebrow) { max-width: 390px; margin: 22px 0; color: rgba(247,245,239,.72); line-height: 1.75; }
.home-proof-heading .home-text-link { color: #e2cfaa; }
.home-proof-list article { display: grid; grid-template-columns: 34px 1fr; gap: 15px; padding: 21px 0; border-top: 1px solid rgba(255,255,255,.17); }
.home-proof-list article:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }
.home-proof-list h3 { margin: 0 0 7px; color: #fff; font: 400 1.36rem/1.2 var(--font-serif, Georgia, serif); }
.home-proof-list p { max-width: 520px; margin: 0; color: rgba(247,245,239,.69); font-size: .9rem; line-height: 1.65; }

.home-premium-faq { padding: clamp(66px, 8vw, 104px) 0; background: var(--home-paper); }
.home-faq-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(36px, 7vw, 96px); align-items: start; }
.home-faq-heading h2 { font-size: clamp(2.4rem, 4vw, 3.45rem); }
.home-faq-heading > p:last-child { max-width: 330px; margin: 18px 0 0; color: var(--home-muted); line-height: 1.7; }
.home-faq-list { border-top: 1px solid var(--home-line); }
.home-faq-list details { border-bottom: 1px solid var(--home-line); }
.home-faq-list summary { position: relative; padding: 20px 40px 20px 0; color: var(--home-ink); cursor: pointer; font: 400 1.18rem/1.4 var(--font-serif, Georgia, serif); list-style: none; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary::after { position: absolute; right: 4px; top: 18px; color: var(--home-gold); content: "+"; font: 400 1.5rem/1 var(--font-sans, Arial, sans-serif); }
.home-faq-list details[open] summary::after { content: "−"; }
.home-faq-list details p { max-width: 650px; margin: -4px 0 20px; color: var(--home-muted); font-size: .92rem; line-height: 1.75; }
.home-faq-list a { color: var(--home-pine); font-weight: 700; }

#enquiry { padding: clamp(60px, 7vw, 90px) 0; background: #fff; }
#enquiry .enquiry-container { max-width: 1120px; padding: clamp(22px, 4vw, 52px); background: var(--home-paper); border: 1px solid rgba(38, 63, 50, .1); border-radius: 8px; }
#enquiry .section-title { color: var(--home-ink); font: 400 clamp(2.25rem, 4vw, 3.3rem)/1.05 var(--font-serif, Georgia, serif); }
#enquiry .section-subtitle { color: var(--home-muted); line-height: 1.7; }
#enquiry .lead-form { background: #fff; border: 1px solid rgba(38, 63, 50, .1); border-radius: 6px; }
#enquiry .lead-form .btn-primary { min-height: 48px; }

@media (max-width: 1000px) {
  .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .home-service-copy > p:not(.home-eyebrow) { min-height: 0; }
}
@media (max-width: 760px) {
  main > section[id]:not(#home) { scroll-margin-top: 96px; }
  .home-premium-intro-grid, .home-proof-layout, .home-faq-layout { grid-template-columns: 1fr; }
  .home-premium-intro-grid { gap: 34px; }
  .home-premium-intro-aside { max-width: 440px; padding-top: 22px; }
  .home-section-heading-row { align-items: start; flex-direction: column; gap: 18px; }
  .home-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; }
  .home-process-grid li:nth-child(3) { padding-left: 0; border-left: 0; }
  .home-faq-layout { gap: 30px; }
  #enquiry .enquiry-container { padding: 22px 16px; }
  body { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .home-mobile-bottom-nav { box-sizing: content-box; height: 64px; }
}
@media (max-width: 520px) {
  .home-service-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-service-image { aspect-ratio: 1.38; }
  .home-service-copy { padding: 19px 18px 21px; }
  .home-process-grid { grid-template-columns: 1fr; }
  .home-process-grid li, .home-process-grid li + li { padding: 18px 0 14px; border-left: 0; border-bottom: 1px solid var(--home-line); }
  .home-process-grid h3 { margin-top: 12px; }
  .home-premium-tool .calc-bullets-wrap { align-items: start; flex-direction: column; padding-left: 10px; }
  .home-project-review-link { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .home-service-card, .home-service-image img, .home-projects .gallery-card img, .home-projects .gallery-card video { transition: none; }
}
