/* Local homepage visual proposal. This stylesheet is not loaded by any case page. */
:root { --paper:#f3f1eb; --mat:#e7e4db; --ink:#272a24; --muted:#565b50; --accent:#5c6653; --line:#cecec3; --serif:Georgia,"Palatino Linotype",serif; color:var(--ink); font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif; font-size:16px; line-height:1.6; scroll-behavior:smooth; scroll-padding-top:28px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); }
button,input,select,textarea { font:inherit; color:inherit; }
a { color:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
[hidden] { display:none!important; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
img { display:block; max-width:100%; }
figure,p { margin:0; }
.wrap { width:min(1248px,calc(100% - 112px)); margin-inline:auto; }
.skip { position:absolute; top:-100px; left:24px; padding:12px; background:var(--paper); z-index:5; }
.skip:focus { top:12px; }
.site-header { min-height:102px; display:grid; grid-template-columns:1fr auto auto; gap:36px; align-items:center; border-bottom:1px solid var(--line); }
.wordmark { font-family:var(--serif); font-size:34px; letter-spacing:-.055em; line-height:1; text-decoration:none; }
.wordmark span { color:var(--accent); }
.site-nav { display:flex; align-items:center; gap:30px; font-size:16px; }
.site-nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.site-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.language-switch { min-width:48px; min-height:44px; padding:8px 0 8px 12px; border:0; border-left:1px solid var(--line); background:transparent; font-size:13px; white-space:nowrap; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.14em; }
.intro { padding-top:88px; }
.intro-grid { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); gap:60px; align-items:end; margin-top:31px; }
h1 { margin:0; font-family:var(--serif); font-size:clamp(54px,5.55vw,80px); line-height:1.06; font-weight:400; letter-spacing:-.055em; }
h1>span, .contact h2>span { display:block; }
.serif-italic { font-style:italic; }
.intro-copy>p { font-size:16px; line-height:1.75; color:var(--muted); max-width:35ch; }
.intro-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:28px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:11px 19px; border:1px solid var(--ink); border-radius:1px; text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; background:transparent; transition:background-color .15s,color .15s; }
.button.primary { background:var(--ink); color:var(--paper); }
.button:hover { background:var(--accent); color:var(--paper); border-color:var(--accent); }
.text-link { display:inline-flex; align-items:center; min-height:40px; width:fit-content; gap:8px; font-size:14px; line-height:1.5; font-weight:600; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.text-link:hover { color:var(--accent); }
.intro-foot { margin-top:76px; border-top:1px solid var(--line); padding-top:19px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font-size:12px; }
.work { margin-top:92px; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:42px; margin-bottom:38px; }
h2 { font-family:var(--serif); font-size:44px; font-weight:400; line-height:1.15; letter-spacing:-.045em; margin:15px 0 0; }
.section-note { max-width:30ch; font-size:16px; line-height:1.75; color:var(--muted); }
.project-image-frame { display:block; padding:40px; background:var(--mat); text-decoration:none; }
.project-image-frame img { width:100%; height:auto; aspect-ratio:8/5; object-fit:contain; }
.project-caption { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-top:23px; }
.project-type { color:var(--accent); font-size:12px; font-weight:600; letter-spacing:.1em; line-height:1.7; }
.project h3 { font-family:var(--serif); font-size:38px; line-height:1.2; font-weight:400; letter-spacing:-.035em; margin:8px 0 0; }
.project-disclosure { color:var(--muted); font-size:12px; line-height:1.7; margin-top:11px; }
.project-summary>p:first-child { color:var(--muted); font-size:16px; line-height:1.75; max-width:52ch; }
.project-summary>.text-link { margin-top:8px; }
.project-pair { display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:70px; }
.project-pair .project-image-frame { padding:24px; }
.project-pair .project-caption { display:block; padding-top:22px; }
.project-pair .project-summary { margin-top:12px; }
.project-pair h3 { font-size:34px; }
.project-pair .project-summary>p:first-child { max-width:48ch; }
.project-repair { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:64px; align-items:center; margin-top:76px; }
.repair-frame { padding:30px 36px; background:var(--mat); }
.repair-comparison { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:560px; margin:auto; }
.repair-comparison figcaption { color:var(--accent); font-size:12px; letter-spacing:.07em; font-weight:600; line-height:1.6; min-height:32px; margin-bottom:7px; }
.repair-comparison img { width:100%; height:auto; aspect-ratio:39/70; object-fit:contain; border:1px solid var(--line); }
.repair-copy>p:not(.project-type):not(.project-disclosure) { font-size:16px; color:var(--muted); line-height:1.8; margin-top:20px; }
.repair-copy>.text-link { margin-top:17px; }
.section-divider { position:relative; border-top:1px solid var(--line); margin-top:98px; padding-top:48px; }
.anchor-target { position:absolute; top:0; }
.packages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin-top:43px; }
.package { display:flex; flex-direction:column; padding-top:23px; border-top:1px solid var(--line); min-width:0; }
.package-type { font-size:12px; font-weight:600; line-height:1.6; letter-spacing:.08em; color:var(--accent); min-height:32px; }
.package h3 { font-family:var(--serif); font-size:38px; font-weight:400; letter-spacing:-.055em; line-height:1.2; margin:9px 0 16px; }
.package h3 small { font-family:"Segoe UI",sans-serif; letter-spacing:normal; font-size:12px; font-weight:400; color:var(--muted); white-space:nowrap; margin-left:5px; }
.package>p:not(.package-type):not(.package-note) { font-size:16px; line-height:1.75; color:var(--muted); }
.package ul { padding:0; margin:18px 0 25px; list-style:none; flex:1; }
.package li { padding:6px 0 6px 17px; position:relative; font-size:16px; line-height:1.7; }
.package li:before { content:'—'; position:absolute; left:0; color:var(--accent); }
.package .button { align-self:start; }
.package-note { font-size:12px; color:var(--muted); margin-top:12px; }
.service-tax { font-size:12px; color:var(--muted); margin-top:37px; }
.pricing-note { font-size:12px; line-height:1.8; color:var(--muted); max-width:118ch; margin-top:10px; }
.process ol { counter-reset:steps; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; padding:0; margin:48px 0 0; list-style:none; }
.process li { counter-increment:steps; border-top:1px solid var(--line); padding-top:20px; }
.process li:before { content:'0' counter(steps); display:block; font-size:12px; color:var(--accent); margin-bottom:18px; }
.process strong { font-size:16px; font-weight:500; }
.process li p { font-size:16px; color:var(--muted); line-height:1.8; margin-top:12px; }
.contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px; margin-bottom:92px; }
.contact h2 { font-size:54px; line-height:1.14; margin-top:25px; }
.contact-intro>p:not(.eyebrow) { color:var(--muted); max-width:42ch; font-size:16px; line-height:1.8; margin-top:28px; }
.email-link { display:inline-flex; align-items:center; flex-wrap:wrap; gap:15px; font-family:var(--serif); font-size:25px; line-height:1.6; text-decoration:none; border-bottom:1px solid var(--ink); margin-top:26px; max-width:100%; overflow-wrap:anywhere; }
.contact-intro>.privacy { font-size:12px!important; line-height:1.8; margin-top:24px!important; }
.contact-form { padding-top:8px; }
.contact-form label { display:block; font-size:16px; line-height:1.65; margin-bottom:6px; }
.contact-form input,.contact-form select,.contact-form textarea { display:block; width:100%; min-height:46px; padding:10px 0; background:transparent; border:0; border-bottom:1px solid #aaaFA0; border-radius:0; font-size:16px; margin:0 0 24px; }
.contact-form textarea { border:1px solid #aaaFA0; min-height:115px; padding:12px; resize:vertical; }
.contact-form input::placeholder { color:var(--muted); }
.contact-form select option { background:var(--paper); color:var(--ink); }
.form-note { margin-top:15px; font-size:12px; color:var(--muted); line-height:1.8; }
#draft-result { border-top:1px solid var(--line); padding-top:24px; margin-top:24px; }
#draft-result h3 { font-size:18px; font-weight:500; }
#draft-text { font:14px/1.8 "Segoe UI",sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; }
.draft-actions { display:flex; flex-wrap:wrap; gap:14px; }
#copy-status { font-size:13px; margin-top:14px; }
.footer { display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid var(--line); padding-block:27px 34px; }
.footer .wordmark { font-size:28px; }
.footer p { font-size:12px; line-height:1.7; color:var(--muted); }
.footer .text-link { font-size:14px; }
html[lang=zh-Hans] h1,html[lang=zh-Hans] h2 { font-family:"Microsoft YaHei","Segoe UI",sans-serif; letter-spacing:-.03em; }
html[lang=zh-Hans] h1 { font-size:70px; line-height:1.25; }
html[lang=zh-Hans] .serif-italic { font-style:normal; }
@media(max-width:1050px) {
 .wrap { width:calc(100% - 64px); }
 .intro-grid { grid-template-columns:1.6fr 1fr; gap:32px; }
 h1 { font-size:59px; }
 .intro-copy>p { font-size:16px; }
 .intro-actions { gap:12px; }
 .project-caption { gap:35px; }
 .project-repair { gap:36px; }
 .project-image-frame { padding:28px; }
 .repair-frame { padding:22px; }
 .packages,.process ol { gap:28px; }
 .contact { gap:55px; }
 .contact h2 { font-size:45px; }
 .email-link { font-size:22px; }
}
@media(max-width:760px) {
 .site-header { min-height:92px; gap:20px; }
 .site-nav { gap:20px; font-size:16px; }
 .wordmark { font-size:31px; }
 .intro { padding-top:65px; }
 .intro-grid { display:block; margin-top:24px; }
 h1 { font-size:66px; }
 .intro-copy { margin-top:28px; }
 .intro-copy>p { max-width:53ch; font-size:16px; }
 .intro-actions { gap:24px; margin-top:22px; }
 .intro-foot { margin-top:48px; }
 .work { margin-top:65px; }
 .section-head { align-items:start; gap:22px; }
 h2 { font-size:36px; }
 .section-note { max-width:28ch; font-size:16px; }
 .project-repair { grid-template-columns:1.5fr 1fr; gap:28px; }
 .repair-comparison { gap:12px; }
 .repair-comparison figcaption { font-size:12px; }
 .repair-copy h3 { font-size:34px; }
 .repair-copy>p:not(.project-type):not(.project-disclosure) { font-size:16px; }
 .project-pair { gap:26px; }
 .project-pair .project-image-frame { padding:16px; }
 .project-pair h3 { font-size:30px; }
 .packages { gap:24px; }
 .package h3 { font-size:32px; }
 .package li { font-size:16px; }
 .package>p:not(.package-type):not(.package-note) { font-size:16px; }
 .contact { gap:36px; }
 .contact h2 { font-size:39px; }
 .email-link { font-size:20px; }
 .footer p { max-width:28ch; }
}
@media(max-width:600px) {
 .wrap { width:calc(100% - 48px); }
 .site-header { grid-template-columns:1fr auto; padding-top:24px; padding-bottom:12px; gap:15px; }
 .wordmark { font-size:32px; }
 .language-switch { grid-column:2; grid-row:1; min-width:44px; }
 .site-nav { grid-column:1/-1; grid-row:2; justify-content:space-between; gap:12px; font-size:16px; }
 .intro { padding-top:48px; }
 .eyebrow { font-size:12px; letter-spacing:.1em; }
 h1 { font-size:clamp(41px,12.5vw,58px); line-height:1.08; letter-spacing:-.055em; }
 .intro-copy { margin-top:26px; }
 .intro-copy>p { font-size:16px; line-height:1.7; }
 .intro-actions { align-items:start; gap:12px 20px; margin-top:22px; }
 .button { min-height:48px; padding-inline:16px; font-size:14px; }
 .text-link { min-height:44px; font-size:14px; }
 .intro-foot { display:block; margin-top:38px; padding-top:16px; font-size:12px; line-height:1.7; }
 .intro-foot span { display:block; }
 .work { margin-top:54px; }
 .section-head { display:block; margin-bottom:26px; }
 h2 { font-size:34px; margin-top:12px; line-height:1.2; }
 .section-note { max-width:40ch; margin-top:17px; font-size:16px; line-height:1.8; }
 .project-image-frame { padding:16px; }
 .project-caption { display:block; padding-top:20px; }
 .project h3 { font-size:32px; }
 .project-type { font-size:12px; letter-spacing:.07em; }
 .project-disclosure { font-size:12px; margin-top:9px; }
 .project-summary { margin-top:16px; }
 .project-summary>p:first-child { font-size:16px; line-height:1.7; }
 .project-pair { grid-template-columns:1fr; gap:43px; margin-top:44px; }
 .project-pair .project-caption { padding-top:18px; }
 .project-pair h3 { font-size:32px; }
 .project-pair .project-summary { margin-top:13px; }
 .project-repair { display:flex; flex-direction:column; align-items:stretch; gap:22px; margin-top:44px; }
 .repair-frame { padding:18px; }
 .repair-comparison { gap:12px; }
 .repair-comparison figcaption { font-size:12px; min-height:30px; letter-spacing:.03em; }
 .repair-copy h3 { font-size:32px; }
 .repair-copy>p:not(.project-type):not(.project-disclosure) { font-size:16px; margin-top:15px; }
 .repair-copy>.text-link { margin-top:9px; }
 .section-divider { margin-top:60px; padding-top:34px; }
 .packages { grid-template-columns:1fr; gap:34px; margin-top:28px; }
 .package { padding-top:18px; }
 .package-type { min-height:0; font-size:12px; }
 .package h3 { font-size:34px; margin-top:10px; }
 .package>p:not(.package-type):not(.package-note) { font-size:16px; }
 .package li { font-size:16px; padding-block:5px; }
 .package ul { margin-bottom:19px; }
 .package-note { font-size:12px; }
 .service-tax { font-size:12px; margin-top:30px; }
 .pricing-note { font-size:12px; line-height:1.7; }
 .process ol { grid-template-columns:1fr; gap:29px; margin-top:29px; }
 .process li { padding-top:16px; }
 .process li:before { margin-bottom:9px; }
 .process strong { font-size:16px; }
 .process li p { font-size:16px; margin-top:9px; line-height:1.7; }
 .contact { grid-template-columns:1fr; gap:34px; margin-bottom:45px; }
 .contact h2 { font-size:40px; line-height:1.17; margin-top:18px; }
 .contact-intro>p:not(.eyebrow) { font-size:16px; margin-top:19px; line-height:1.7; }
 .email-link { font-size:23px; gap:12px; margin-top:22px; }
 .contact-intro>.privacy { font-size:12px!important; margin-top:19px!important; }
 .contact-form { padding-top:0; }
 .contact-form label { font-size:16px; }
 .contact-form input,.contact-form select,.contact-form textarea { font-size:16px; margin-bottom:22px; }
 .form-note { font-size:12px; line-height:1.7; }
 .footer { flex-wrap:wrap; gap:14px; padding-block:23px 28px; }
 .footer .wordmark { font-size:27px; }
 .footer p { order:3; width:100%; max-width:none; font-size:12px; }
 .footer .text-link { font-size:14px; }
 html[lang=zh-Hans] h1 { font-size:44px; }
}
@media(prefers-reduced-motion:reduce) { :root { scroll-behavior:auto; } .button { transition:none; } }

/* Home 02: final readability and contact refinements; case pages do not load this file. */
.package li { line-height:1.55; }
.package ul { margin-top:12px; }
.contact-form label { font-size:16px; }
.email-actions { margin-top:15px; }
#email-copy-status { font-size:16px; line-height:1.6; margin-top:10px; max-width:42ch; }
#email-copy-status:empty { display:none; }
#copy-status,#draft-handoff-status { font-size:16px; line-height:1.65; margin-top:14px; }
#draft-handoff-status { margin-top:0; }
#draft-text { font-size:16px; line-height:1.65; }
#draft-result h3 { font-size:20px; margin:18px 0 10px; }
.privacy { color:var(--muted); }
@media(max-width:600px) {
 .services.section-divider { margin-top:52px; padding-top:30px; }
 .services .section-head,.process .section-head { margin-bottom:18px; }
 .services .section-note,.process .section-note { margin-top:12px; }
 .packages { gap:24px; margin-top:20px; }
 .package { padding-top:15px; }
 .package h3 { margin-block:9px 12px; }
 .package ul { margin-block:8px 15px; }
 .package li { padding-block:4px; line-height:1.55; }
 .service-tax { margin-top:24px; }
 .pricing-note { font-size:12px; line-height:1.65; }
 .process.section-divider { margin-top:44px; padding-top:28px; }
 .process ol { gap:20px; margin-top:20px; }
 .process li { padding-top:12px; }
 .process li:before { margin-bottom:6px; }
 .process li p { line-height:1.65; margin-top:7px; }
 .contact.section-divider { margin-top:44px; padding-top:28px; }
 .contact { gap:25px; margin-bottom:32px; }
 .contact-intro>p:not(.eyebrow) { margin-top:15px; }
 .contact-intro>.privacy { font-size:12px!important; margin-top:15px!important; }
 .email-link { margin-top:16px; }
 .contact-form input,.contact-form select,.contact-form textarea { margin-bottom:18px; }
 .form-note { font-size:12px; line-height:1.65; }
 .footer { padding-block:20px 24px; }
}
