/* Dedicated renovation landing. All colors and typefaces use the original Meiju theme. */
body[data-screen=landing] { background: var(--paper); }
body[data-screen=landing] .site-header { position: sticky; top: 0; z-index: 30; background: var(--paper); }
body[data-screen=landing] .site-nav-cta { white-space: nowrap; }
.renovation-container { width: min(var(--max), calc(100% - 56px)); margin-inline: auto; }
:root { --renovation-section-space: 88px; }
.renovation-section { padding-block: var(--renovation-section-space); }
.renovation-section h2 { font: 500 clamp(30px,3.2vw,43px)/1.14 "Manrope",sans-serif; letter-spacing: -.018em; margin: 0 0 18px; text-wrap: balance; }
.renovation-section h3 { font: 500 21px/1.3 "Manrope",sans-serif; letter-spacing: -.012em; margin: 0 0 10px; }
.renovation-section p { color: var(--moss); }
.renovation-section .site-kicker { color: var(--moss); font-size: 10px; margin-bottom: 15px; }
.renovation-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.renovation-icon { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.renovation-hero.site-hero { min-height: 0; display: block; }
.renovation-hero .site-hero-content { padding-block: var(--renovation-section-space); min-height: 0; }
.renovation-hero .site-hero-content h1 { font-size: clamp(40px,4.1vw,57px); max-width: 650px; line-height: 1.08; letter-spacing: -.018em; margin: 0 0 22px; }
.renovation-hero .site-hero-content .renovation-hero-copy { color: var(--white); font-size: 19px; line-height: 1.6; max-width: 670px; margin: 0 0 24px; }
.renovation-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; }
.renovation-hero-actions .site-button { gap: 20px; }
.renovation-hero-call { display: inline-flex; align-items: center; gap: 10px; color: var(--white); font-weight: 600; font-size: 14px; }
.renovation-hero-call .renovation-icon { width: 20px; height: 20px; flex-basis: 20px; }
.renovation-benefit-strip { position: relative; background: var(--paper); color: var(--ink); }
.renovation-hero-badges { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); width: min(var(--max),calc(100% - 56px)); gap: 0; padding: 0; margin: 0 auto; border-bottom: 1px solid var(--line); }
.renovation-hero-badges li { display: flex; align-items: flex-start; gap: 13px; padding: 25px 28px; min-height: 95px; }
.renovation-hero-badges li + li { border-left: 1px solid var(--line); }
.renovation-hero-badges .renovation-icon { width: 22px; height: 22px; flex-basis: 22px; color: var(--moss); }
.renovation-hero-badges strong { display: block; font-size: 14px; line-height: 1.4; font-weight: 600; }
.renovation-hero-badges li span { display: block; font-size: 12px; line-height: 1.5; color: var(--moss); margin-top: 5px; }
.renovation-section-heading { margin-bottom: 30px; max-width: 900px; }
.renovation-section-heading > p:not(.site-kicker) { font-size: 18px; margin: 0; }
.renovation-comparison { background: var(--cream); }
.renovation-comparison-frame { border: 1px solid var(--line); background: var(--paper); }
.renovation-comparison-table { border-collapse: collapse; width: 100%; table-layout: fixed; font-size: 15px; }
.renovation-comparison-table caption { text-align: left; color: var(--moss); font-size: 12px; line-height: 1.65; caption-side: bottom; padding: 15px 22px; }
.renovation-comparison-table th,.renovation-comparison-table td { text-align: left; vertical-align: middle; padding: 19px 22px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.renovation-comparison-table thead th { font-size: 13px; font-weight: 600; }
.renovation-comparison-table thead th:first-child { width: 27%; }
.renovation-comparison-table thead th:nth-child(2) { width: 31%; }
.renovation-comparison-table th[scope=row] { font-size: 14px; font-weight: 500; }
.renovation-comparison-table th[scope=row] > span { display: flex; align-items: center; gap: 12px; }
.renovation-comparison-table th .renovation-icon { width: 21px; height: 21px; flex-basis: 21px; color: var(--moss); }
.renovation-comparison-table td:not(.comparison-meiju) { color: var(--moss); }
.renovation-comparison-table .comparison-meiju { background: transparent; color: var(--ink); border-left: 2px solid var(--line); }
.renovation-comparison-table thead .comparison-meiju { padding-block: 26px; }
.renovation-comparison-table .comparison-meiju img { width: 164px; height: auto; margin: 0; }
.comparison-answer { display: flex; align-items: center; gap: 14px; font-weight: 600; line-height: 1.5; }
.comparison-answer .renovation-icon { width: 27px; height: 27px; flex-basis: 27px; color: var(--ink); stroke-width: 2.8; }
.comparison-mobile-label { display: none; }
.renovation-comparison-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; margin-top: 28px; }
.renovation-comparison-bottom .site-button { gap: 16px; }
.renovation-comparison-bottom > a:not(.site-button) { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.renovation-paygo { background: var(--paper); color: var(--ink); }
.renovation-paygo .renovation-section-heading { margin-bottom: 52px; }
.renovation-strategy-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.renovation-strategy-grid article { padding: 12px 36px 12px 0; }
.renovation-strategy-grid article + article { padding-left: 36px; border-left: 1px solid var(--line); }
.renovation-strategy-grid article > .renovation-icon { width: 34px; height: 34px; margin-bottom: 24px; color: var(--moss); }
.renovation-strategy-grid p { font-size: 16px; line-height: 1.7; margin: 0; }
.renovation-proof { background: var(--paper); color: var(--ink); }
.renovation-proof .site-kicker,.renovation-proof .renovation-qualifications,.renovation-proof .renovation-qualifications p { color: var(--moss); }
.renovation-proof .renovation-qualifications summary { color: var(--ink); }
.renovation-proof .renovation-proof-trust { border-color: var(--line); }
.renovation-proof-heading { display: flex; justify-content: space-between; align-items: end; gap: 25px; margin-bottom: 28px; }
.renovation-proof-heading h2 { max-width: 750px; margin-bottom: 0; }
.renovation-proof-heading > a { white-space: nowrap; text-decoration: underline; text-underline-offset: 5px; }
.renovation-proof-trust { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding: 25px 0; margin-top: 22px; border-block: 1px solid var(--line); }
.renovation-proof-trust > span { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; }
.renovation-proof-trust > a { font-size: 14px; align-self: center; text-decoration: underline; text-underline-offset: 5px; }
.renovation-qualifications { font-size: 12px; margin-top: 18px; color: var(--moss); }
.renovation-qualifications summary { cursor: pointer; color: var(--ink); padding-block: 6px; }
.renovation-qualifications > div { max-width: 850px; padding-top: 10px; }
.renovation-qualifications p { font-size: 12px; line-height: 1.75; margin-bottom: 12px; }
.renovation-local-copy { font-size: 14px !important; }
.renovation-conversation-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 12%; }
.renovation-conversation-intro > p:not(.site-kicker) { font-size: 17px; line-height: 1.75; max-width: 410px; }
.renovation-contact { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 23px; }
.renovation-contact strong { font-size: 14px; font-weight: 500; display: block; margin-bottom: 14px; }
.renovation-contact a { display: block; width: fit-content; text-decoration: underline; text-underline-offset: 5px; margin: 12px 0; font-size: 15px; }
.renovation-contact a span { margin-left: 8px; }
.renovation-form fieldset { border: 0; padding: 0; margin: 0 0 22px; min-width: 0; }
.renovation-form legend, .renovation-form .field { color: var(--ink); font-size: 14px; font-weight: 600; }
.renovation-form legend { margin-bottom: 12px; }
.renovation-project-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.renovation-project-choices button { background: transparent; color: var(--ink); border: 1px solid var(--line); padding: 10px 16px; min-height: 44px; font-size: 13px; }
.renovation-project-choices button:hover { border-color: var(--moss); }
.renovation-project-choices button.active { background: var(--paper); color: var(--ink); border-color: var(--ink); }
.renovation-form .field { margin: 0 0 20px; display: block; }
.renovation-form .field small { font-size: 11px; color: var(--moss); font-weight: 400; margin-left: 6px; }
.renovation-form .field :is(input, select, textarea) { margin-top: 8px; border: 1px solid var(--line); background: var(--white); color: var(--ink); padding: 12px; font-size: 16px; font-weight: 400; width: 100%; }
.renovation-form .field textarea { resize: vertical; }
.renovation-form .field :is(input, select, textarea):focus { outline: 2px solid var(--moss); outline-offset: 2px; }
.renovation-form > button[type=submit] { width: 100%; min-height: 50px; gap: 20px; }
.renovation-form .renovation-privacy { font-size: 11px; line-height: 1.7; margin: 14px 0 0; color: var(--moss); }
.renovation-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.renovation-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.v2-form-error, .v2-form-success { border: 1px solid var(--line); border-left: 3px solid var(--ink); background: var(--cream); padding: 18px; font-size: 14px; color: var(--ink) !important; margin-top: 20px; }
#options, #payments, #difference, #projects, #protection, #talk { scroll-margin-top: 110px; }
body[data-screen=landing] :is(a,button,summary):focus-visible { outline: 2px solid var(--moss); outline-offset: 4px; }
body[data-screen=landing] .site-footer-call { border: 0; text-decoration: underline; text-underline-offset: 5px; }
body[data-screen=landing] .site-footer-bottom { grid-column: 1 / -1; border-top: 1px solid color-mix(in srgb, var(--white) 16%, transparent); padding-top: 20px; }
body[data-screen=landing] .site-footer-bottom small { border: 0; padding: 0; }
.renovation-mobile-cta { display: none; }
.renovation-enquiry-dialog { width: min(660px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 48px); padding: 0; border: 0; background: var(--paper); color: var(--ink); overflow-y: auto; overscroll-behavior: contain; }
.renovation-enquiry-dialog::backdrop { background: color-mix(in srgb, var(--ink) 80%, transparent); }
.renovation-enquiry-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 24px 28px 20px; background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 1; }
.renovation-enquiry-heading h2 { font: 500 27px/1.2 "Manrope", sans-serif; margin: 0 0 7px; }
.renovation-enquiry-heading p { font-size: 14px; color: var(--moss); margin: 0; }
.renovation-enquiry-heading button { background: transparent; color: var(--ink); border: 1px solid var(--line); font-size: 27px; line-height: 1; width: 44px; height: 44px; flex-shrink: 0; }
#enquiry-dialog-host { padding: 24px 28px 28px; }
@media (min-width: 701px) {
  .renovation-enquiry-heading { padding: 20px 26px 16px; }
  #enquiry-dialog-host { padding: 20px 26px; }
  .renovation-enquiry-dialog .renovation-form fieldset { margin-bottom: 16px; }
  .renovation-enquiry-dialog .renovation-form .field { margin-bottom: 14px; }
  .renovation-enquiry-dialog .renovation-form .field :is(input,select) { padding: 10px 12px; min-height: 44px; }
  .renovation-enquiry-dialog .renovation-form .field textarea { height: 76px; }
}

@media(max-width:1000px) {
 :root { --renovation-section-space: 64px; }
 .renovation-hero-badges { gap: 0; }
 .renovation-hero-badges li { padding: 22px 16px; gap: 10px; }
 .renovation-comparison-table th,.renovation-comparison-table td { padding: 17px 15px; }
 .renovation-strategy-grid { gap: 14px; }
 .renovation-strategy-grid article { padding: 22px; }
 .renovation-proof-trust { grid-template-columns: 1fr 1fr; }
}
@media(max-width:700px) {
 .renovation-container { width: calc(100% - 40px); }
 :root { --renovation-section-space: 48px; }
 .renovation-section h2 { font-size: 32px; }
 .renovation-section-heading > p:not(.site-kicker) { font-size: 17px; }
 .renovation-hero.site-hero { min-height: 0; }
 .renovation-hero .site-hero-content { width: calc(100% - 40px); padding: var(--renovation-section-space) 0; min-height: 0; }
 .renovation-hero .site-hero-content h1 { font-size: clamp(34px,9.3vw,44px); line-height: 1.09; margin-bottom: 20px; }
 .renovation-hero .site-hero-content .renovation-hero-copy { font-size: 16px; line-height: 1.65; }
 .renovation-hero .site-kicker { font-size: 10px; }
 .renovation-hero-actions { gap: 18px; }
 .renovation-hero-badges { grid-template-columns: 1fr 1fr; width: calc(100% - 40px); margin: 0 auto; }
 .renovation-hero-badges li { padding: 14px 10px; min-height: 84px; gap: 9px; }
 .renovation-hero-badges li:nth-child(3) { border-left: 0; }
 .renovation-hero-badges li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
 .renovation-hero-badges strong { font-size: 13px; }
 .renovation-hero-badges li span { font-size: 11px; }
 .renovation-comparison-table { display: flex; flex-direction: column; }
 .renovation-comparison-table tbody { display: block; order: 0; }
 .renovation-comparison-table caption { order: 1; }
 .renovation-comparison-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 .renovation-comparison-table caption { display: block; padding: 15px; border-top: 1px solid var(--line); }
 .renovation-comparison-table tr { display: grid; grid-template-columns: 1fr 1.15fr; margin: 0; border: 0; border-bottom: 1px solid var(--line); }
 .renovation-comparison-table th[scope=row] { grid-column: 1 / -1; padding: 13px 14px; background: var(--cream); }
 .renovation-comparison-table td { padding: 15px 13px; border-bottom: 0; font-size: 14px; line-height: 1.6; }
 .comparison-mobile-label { display: block; font-size: 11px; font-weight: 600; margin-bottom: 10px; line-height: 1.4; }
 .comparison-answer { display: block; font-size: 14px; }
 .comparison-answer .renovation-icon { display: block; margin-bottom: 8px; }
 .renovation-comparison-bottom { margin-top: 24px; }
 .renovation-strategy-grid { grid-template-columns: 1fr; gap: 15px; }
 .renovation-strategy-grid article,.renovation-strategy-grid article + article { padding: 20px 0; border-left: 0; border-top: 1px solid var(--line); }
 .renovation-strategy-grid article:first-child { border-top: 0; padding-top: 0; }
 .renovation-strategy-grid article > .renovation-icon { margin-bottom: 14px; }
 .renovation-proof-heading { display: block; }
 .renovation-proof-heading > a { display: inline-block; margin-top: 18px; }
 .renovation-proof-trust { grid-template-columns: 1fr; }
 .renovation-conversation-layout { grid-template-columns: 1fr; gap: 28px; }
 .renovation-contact { margin-top: 22px; padding-top: 16px; }
 .renovation-form .fields-two { grid-template-columns: 1fr; gap: 0; }
 .renovation-mobile-cta { display: grid; grid-template-columns: 85px 1fr; gap: 10px; position: fixed; bottom: 0; left: 0; right: 0; padding: 10px 20px calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); z-index: 35; }
 .renovation-mobile-cta[hidden] { display: none; }
 .renovation-mobile-cta .site-button { width: 100%; min-height: 48px; gap: 20px; font-size: 14px; }
 .renovation-mobile-call { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line); min-height: 48px; font-size: 14px; font-weight: 600; }
 .renovation-mobile-call .renovation-icon { width: 19px; height: 19px; flex-basis: 19px; }
 body[data-screen=landing] .site-footer { padding-bottom: calc(110px + env(safe-area-inset-bottom)); }
 .renovation-enquiry-dialog { width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; }
 .renovation-enquiry-heading { padding: calc(20px + env(safe-area-inset-top)) 20px 18px; gap: 12px; }
 .renovation-enquiry-heading h2 { font-size: 24px; }
 #enquiry-dialog-host { padding: 22px 20px calc(28px + env(safe-area-inset-bottom)); }
}

.renovation-hero-layout { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); gap: 6%; align-items: center; }
.renovation-hero-enquiry { padding: 26px; background: var(--paper); color: var(--ink); }
.renovation-hero-enquiry > h2 { font: 500 25px/1.2 "Manrope",sans-serif; margin: 0 0 18px; }
.renovation-hero-enquiry .renovation-form .field { margin-bottom: 13px; }
.renovation-hero-enquiry .renovation-form .field :is(input,select,textarea) { padding: 10px 12px; margin-top: 6px; }
.renovation-hero-enquiry .renovation-form .field textarea { height: 65px; min-height: 65px; }
.renovation-hero-enquiry .renovation-form .renovation-privacy { color: var(--moss); margin-bottom: 0; }
@media(max-width:1000px) and (min-width:701px) {
 .renovation-hero-layout { gap: 4%; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .renovation-hero-enquiry { padding: 22px; }
 .renovation-hero .site-hero-content h1 { font-size: 43px; }
}
@media(max-width:700px) {
 .renovation-hero-layout { grid-template-columns: 1fr; gap: 28px; }
 .renovation-hero-enquiry { padding: 22px 20px; }
 .renovation-hero-enquiry > h2 { font-size: 24px; }
}

.renovation-portfolio-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 22px; }
.renovation-portfolio-grid figure { margin: 0; min-width: 0; }
.renovation-portfolio-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.renovation-portfolio-grid figure:first-child img { object-position: center 65%; }
.renovation-portfolio-grid figcaption { font: 500 19px/1.4 "Manrope",sans-serif; padding-top: 12px; color: var(--white); }
@media(max-width:700px) {
 .renovation-portfolio-grid { grid-template-columns: 1fr; gap: 24px; }
 .renovation-portfolio-grid img { aspect-ratio: 4/3; }
 .renovation-portfolio-grid figcaption { font-size: 18px; padding-top: 10px; }
}

.renovation-closing { background: var(--paper); }
.renovation-closing > .renovation-container { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8%; align-items: center; }
.renovation-closing h2 { max-width: 650px; margin-bottom: 17px; }
.renovation-closing p { max-width: 580px; font-size: 17px; line-height: 1.7; margin: 0; }
.renovation-closing-actions { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.renovation-closing-actions .site-button { gap: 24px; }
.renovation-closing-call { font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
@media(max-width:700px) {
 .renovation-closing > .renovation-container { grid-template-columns: 1fr; gap: 26px; }
 .renovation-closing-actions { align-items: flex-start; }
}


/* Refinement uses original theme tokens; no forest surfaces on this landing. */
body[data-screen=landing] { --renovation-section-space: 80px; }
body[data-screen=landing] .site-button-dark,
body[data-screen=landing] .site-nav-cta,
body[data-screen=landing] .site-footer { background: var(--ink); }
.renovation-hero .site-hero-content { padding-block: 96px; }
.renovation-hero-message { padding-right: 40px; }
.renovation-hero h1 { text-wrap: balance; }
.renovation-hero-enquiry { padding: 30px; }
.renovation-hero-enquiry > h2 { margin-bottom: 10px; }
.renovation-form-intro { font-size: 14px; line-height: 1.55; color: var(--moss); margin: 0 0 20px; }
.renovation-hero-enquiry .field label { font-size: 14px; }
.renovation-hero-enquiry .field :is(input,select) { min-height: 46px; }
.renovation-hero-badges li { padding: 30px 24px; gap: 17px; align-items: center; }
.renovation-hero-badges .renovation-icon { width: 30px; height: 30px; flex-basis: 30px; color: var(--ink); }
.renovation-hero-badges strong { font-size: 16px; }
.renovation-hero-badges li span { font-size: 13px; }
.renovation-paygo { padding-block: 64px; }
.renovation-paygo .renovation-section-heading { margin-bottom: 36px; }
.renovation-strategy-grid article > .renovation-icon { width: 40px; height: 40px; margin-bottom: 22px; color: var(--ink); }
.renovation-strategy-grid h3 { font-weight: 600; }
.renovation-comparison-table :is(th,td) { padding-block: 22px; }
.renovation-comparison-table .comparison-meiju { background: var(--cream); border-left: 2px solid var(--ink); }
.comparison-answer .renovation-icon { color: var(--ink); }
.renovation-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.renovation-portfolio-grid img { aspect-ratio: 3/2; height: auto; }
.renovation-portfolio-grid figcaption { color: var(--ink); font-size: 17px; }
.renovation-closing { background: var(--cream); color: var(--ink); padding-block: 64px; }
.renovation-closing > .renovation-container { display: block; text-align: center; }
.renovation-closing h2 { font-size: clamp(32px,4vw,52px); max-width: 800px; margin: 0 auto 18px; }
.renovation-closing p { margin: 0 auto; max-width: 650px; }
.renovation-closing-actions { flex-direction: row; justify-content: center; flex-wrap: wrap; margin-top: 26px; gap: 24px; }
@media(max-width:700px) {
 body[data-screen=landing] { --renovation-section-space: 48px; }
 .renovation-hero .site-hero-content { padding-block: 56px; }
 .renovation-hero-message { padding-right: 0; }
 .renovation-hero-enquiry { padding: 24px 20px; }
 .renovation-hero-badges li { padding: 22px 12px; gap: 12px; align-items: flex-start; }
 .renovation-hero-badges strong { font-size: 14px; }
 .renovation-hero-badges .renovation-icon { width: 26px; height: 26px; flex-basis: 26px; }
 .renovation-paygo,.renovation-closing { padding-block: 48px; }
 .renovation-portfolio-grid { grid-template-columns: 1fr; }
 .renovation-comparison-table :is(th,td) { padding-block: 16px; }
 .renovation-closing-actions { flex-direction: column; align-items: center; }
}

.renovation-enquiry-dialog .renovation-form .field textarea { height: 80px; min-height: 80px; }
.renovation-portfolio-grid figcaption a { text-decoration: underline; text-underline-offset: 4px; }

/* Six service examples in a compact, consistent portfolio. */
.renovation-portfolio-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 22px; }
.renovation-portfolio-grid img { aspect-ratio: 4/3; }
@media(max-width:1000px) { .renovation-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .renovation-portfolio-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Emphasize key advantages while keeping qualifications quiet. */
.comparison-answer { font-weight: 400; }
.comparison-answer strong { font-weight: 700; }
@media(max-width:700px) { .renovation-hero-actions { flex-direction: column; align-items: flex-start; gap: 20px; } }

.renovation-hero-enquiry { border-radius: 6px; }
.renovation-privacy strong { font-weight: 600; }
