@font-face{font-family:'Qingchi Songti Complete';font-style:normal;font-weight:400 600;font-display:swap;src:url('songti-complete-v1.woff2') format('woff2')}
:root{--pine:#2c4a3e;--pine-deep:#1e352c;--paper:#f6f2ea;--ink:#1e2420;--line:#d9d2c2;--accent:#b8895a;--serif:'Qingchi Songti Complete','Songti SC','STSong','SimSun',serif;--sans:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #b8895a;outline-offset:5px}button{cursor:pointer}button:disabled{cursor:wait}
.nav{position:fixed;inset:0 0 auto;z-index:100;background:rgba(246,242,234,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);color:var(--ink);transition:box-shadow .3s}
.nav.is-scrolled{box-shadow:0 3px 22px #1e352c0a}.nav-inner{max-width:1280px;margin:auto;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.logo-mark{width:38px;height:38px;background:var(--pine);color:var(--paper);display:grid;place-items:center;font-family:var(--serif);font-size:18px;font-weight:600;border-radius:4px}.logo-text{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:2px;line-height:1.7}.logo-sub{font-size:10px;color:#7a827c;letter-spacing:1px;line-height:1.5}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{font-size:13px;white-space:nowrap;color:#4a534e;text-decoration:none;padding:8px 0}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--pine)}.nav-links a[aria-current=page]{border-bottom:1px solid var(--accent)}.nav-actions{display:flex;align-items:center;gap:12px}.nav-cta{display:inline-block;background:var(--pine);color:var(--paper);padding:11px 20px;font-size:13px;border-radius:2px;white-space:nowrap;text-decoration:none;letter-spacing:1px}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:18px;height:1px;background:var(--pine)}
.hero{min-height:800px;min-height:max(800px,100svh);padding-bottom:190px;isolation:isolate;overflow:hidden;background:none}.hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#141c188c,#141c1859 50%,#141c18a6),url('hero.jpg') center/cover no-repeat;animation:hero-settle 1.8s ease-out both}.hero-inner{position:relative}.hero h1{font-family:var(--serif)}.hero-stats{z-index:1}.mode-action button{display:inline-block;padding:10px 22px;border:1px solid var(--pine);color:var(--pine);font-size:13px;letter-spacing:1px;background:transparent;transition:.2s}.mode-action button:hover{background:var(--pine);color:var(--paper)}
.reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.65,.3,1)}.reveal.is-waiting{opacity:0;transform:translateY(24px)}.mode-item,.pain-cell,.metric-cell{transition:background-color .3s}.mode-item:hover,.metric-cell:hover{background:#2c4a3e04}.questions-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.questions-list details{padding:24px 0;border-top:1px solid var(--line)}.questions-list summary{cursor:pointer;font-family:var(--serif);font-size:18px;line-height:1.7}.questions-list p{margin-top:14px;font-size:14px;color:#4a534e;line-height:1.9}
.form-help{font-size:12px;color:#7a827c;line-height:1.8;margin-top:16px}.cta-form input{min-width:0}.contact-dialog[hidden],.dialog-copy-summary[hidden]{display:none}.contact-dialog{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px}.dialog-backdrop{position:absolute;inset:0;background:#11251ee0;backdrop-filter:blur(6px);border:0}.dialog-panel{position:relative;width:min(540px,100%);max-height:calc(100dvh - 48px);overflow:auto;background:var(--paper);padding:48px 36px 32px;border:1px solid var(--line);color:var(--ink);overscroll-behavior:contain}.dialog-close{position:absolute;right:12px;top:12px;border:1px solid var(--line);height:40px;width:40px;font-size:24px;background:transparent}.dialog-kicker{font-size:11px;letter-spacing:2px;color:var(--accent);margin:0 0 18px}.dialog-panel h2{font-family:var(--serif);font-size:28px;line-height:1.5;font-weight:500;margin:0 0 16px}.dialog-desc{font-size:15px;line-height:1.9;color:#4a534e;white-space:pre-line}.dialog-phone{font-family:Georgia,serif;font-size:34px;line-height:1.4;margin:24px 0 12px;user-select:text}.dialog-copy,.dialog-copy-summary{display:block;width:100%;padding:15px;border:1px solid var(--pine);background:var(--pine);color:var(--paper);font-size:14px;margin-top:12px;min-height:48px}.dialog-copy-summary{background:transparent;color:var(--pine)}.dialog-note,.dialog-state{font-size:12px;line-height:1.8;color:#6b746b;margin:16px 0 0}.dialog-state:empty{display:none}.mobile-contact{display:none}.animate-marquee:focus-within{animation-play-state:paused}.marquee-controls{display:flex;justify-content:flex-end;margin:16px 0}.marquee-pause{border:1px solid #d9d2c2;color:#4a534e;padding:8px 16px;font-size:12px;min-height:44px;background:transparent}.animate-marquee.is-paused{animation-play-state:paused}
@keyframes hero-settle{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(min-width:961px) and (max-width:1150px){.nav-inner{padding:0 24px;gap:16px}.nav-links{gap:16px}.nav-cta{padding:10px 14px}.logo-sub{font-size:9px}}
@media(max-width:960px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.nav-inner{padding:0 20px;height:68px;gap:12px}.logo{gap:8px}.logo-sub{font-size:8px;letter-spacing:.6px}.logo-text{font-size:18px}.logo-mark{width:32px;height:36px}.menu-toggle{display:flex}.nav-cta{font-size:11px;padding:10px 12px;letter-spacing:0}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:12px 24px 24px;box-shadow:0 12px 18px #1e352c14;border-bottom:1px solid var(--line);max-height:calc(100dvh - 140px);overflow:auto}.nav-links.is-open{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}.nav-links a{font-size:14px;padding:14px 0;border-bottom:1px solid var(--line)}
 .hero{min-height:0;padding:120px 24px 0;display:block}.hero h1{font-size:clamp(30px,5.2vw,48px);line-height:1.45;letter-spacing:0}.hero-eyebrow{font-size:11px;letter-spacing:1px;gap:10px;margin-bottom:24px}.hero-eyebrow::before{width:20px}.hero-desc{font-size:15px;margin-top:24px;line-height:1.9}.hero-actions{margin:30px 0 40px;gap:12px}.btn-primary,.btn-ghost{padding:14px 20px;font-size:13px;letter-spacing:1px;text-align:center}.hero-stats{position:relative;width:calc(100% + 48px);margin-left:-24px}.hero-stats-inner{padding:24px;gap:20px}.hstat{padding-left:14px}.hstat-num{font-size:26px}.hstat-label{font-size:11px;letter-spacing:0}
 .section{padding:64px 24px}.section-head{margin-bottom:36px}.section-head h2{font-size:28px;line-height:1.5}.section-head p{font-size:15px}.about-grid{gap:28px}.about-quote{font-size:22px}.about-body{font-size:15px}.about-values{margin-top:32px;padding-top:28px}.av-item .av-text{font-size:15px}.pain-cell{padding:28px 24px}.mode-item{padding:28px 0;gap:12px}.mode-name{font-size:24px}.metric-cell{padding:30px 24px}.metric-num{font-size:38px}.adv-grid{gap:28px}.adv-item h3{font-size:20px}.promise-list{gap:0}.questions-list{grid-template-columns:1fr}.cta{padding:64px 24px}.cta h2{font-size:28px;letter-spacing:0}.cta p{font-size:15px}.cta-form{margin-top:30px}.cta-form input{font-size:16px;padding:16px}.cta-form button{padding:16px 24px}footer{padding:48px 24px 28px}.foot-grid{gap:28px}.foot-brand{grid-column:1/-1}.foot-bottom{margin-top:32px}.foot-col a{padding:6px 0}
 .mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:1fr 1.4fr;gap:12px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:rgba(246,242,234,.97);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-contact a{display:grid;place-items:center;padding:12px 6px;font-size:13px;min-height:46px;text-decoration:none;color:var(--pine);border:1px solid var(--line)}.mobile-contact a:last-child{background:var(--pine);color:var(--paper);border-color:var(--pine)}
 .renovation-page .container-custom{padding-left:24px;padding-right:24px}.renovation-page section{padding-top:64px;padding-bottom:64px}.renovation-page section:first-of-type{padding-top:112px}.renovation-page h1{font-size:34px;line-height:1.45}.renovation-page input,.renovation-page select{font-size:16px}.renovation-page .animate-marquee{animation-duration:55s}.contact-dialog{align-items:end;padding:0}.dialog-panel{width:100%;max-height:calc(100dvh - 24px);padding:42px 24px calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.dialog-panel h2{font-size:25px}.dialog-phone{font-size:30px}
}
@media(max-width:380px){.nav-inner{padding:0 14px}.nav-cta{padding:10px 8px;font-size:10px}.nav-actions{gap:8px}.logo-sub{font-size:7px}.hero-actions{display:grid;grid-template-columns:1fr}.hero h1{font-size:28px}.hero-eyebrow{font-size:10px}.hero-eyebrow::before{width:12px}.foot-grid{grid-template-columns:1fr}.about-values{gap:20px 12px}.renovation-page h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-waiting{opacity:1;transform:none}.animate-marquee{overflow:auto;max-width:100%;transform:none!important}}

.mobile-title-break{display:none}@media(max-width:560px){.mobile-title-break{display:block}.hero h1{font-size:clamp(25px,7.4vw,32px);line-height:1.5}}

.animate-marquee{width:max-content}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}
@media(prefers-reduced-motion:reduce){.marquee-viewport{overflow:auto}.animate-marquee{max-width:none;overflow:visible}.animate-marquee>[aria-hidden=true]{display:none}.marquee-controls{display:none}}
/* Keep field focus inside the control so joined forms retain a clean outer edge. */
.cta-form input:focus,
.renovation-page form input:focus,
.renovation-page form select:focus{
  outline:2px solid var(--pine);
  outline-offset:-2px;
  background-color:#f5f8f5;
}

.phone-contact{margin:32px auto 0;padding:30px 24px;border:1px solid var(--line);max-width:680px;text-align:center;background:var(--paper);color:var(--pine)}.phone-contact-label{font-size:14px;letter-spacing:3px}.phone-contact .phone-contact-number{font-family:var(--serif);font-size:clamp(26px,6vw,42px);line-height:1.5;letter-spacing:1px;margin:12px 0;color:var(--pine);overflow-wrap:anywhere;user-select:text}.phone-contact .phone-contact-note{font-size:14px;line-height:1.8;margin:0;color:var(--pine)}

.phone-contact-number a{color:inherit;text-decoration:none;display:inline-block;min-height:44px}.phone-contact-number a:hover{text-decoration:underline;text-underline-offset:6px}

.official-logo{display:block;width:52px;height:56px;flex-shrink:0}.footer-official-logo{width:84px;height:90px;margin-bottom:18px}@media(max-width:960px){.nav .official-logo{width:48px;height:52px}}
