/* HOM-03 安心检查 — calm, ruled, almost scientific. Instrument Serif + Inter Tight. */
.tpl-hom-03{
  --gut:clamp(16px,5vw,72px);--max:1360px;
  --pad-x:max(var(--gut),calc((100% - var(--max))/2));
  --serif:"Instrument Serif","Noto Serif SC","Noto Sans SC",Georgia,serif;
  --sans:"Inter Tight","Noto Sans SC",system-ui,sans-serif;
  --rule:1px solid var(--line);
  --dock-bg:var(--accent);--dock-fg:var(--on-accent);
  font-family:var(--sans);font-size:16px;line-height:1.7;font-variant-numeric:tabular-nums;
}
.tpl-hom-03 main{overflow-x:clip}
.tpl-hom-03 main>section{padding:clamp(64px,8vw,120px) var(--pad-x)}
.tpl-hom-03 h1,.tpl-hom-03 h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.tpl-hom-03 h2{font-size:clamp(36px,4.4vw,62px);line-height:1.04}
:lang(zh-Hans) .tpl-hom-03 h2{line-height:1.22}
.tpl-hom-03 h3{font-family:var(--sans);font-weight:600;letter-spacing:-.01em}
.tpl-hom-03 ::selection{background:var(--accent);color:var(--on-accent)}

/* header */
.hc3-head{display:flex;align-items:center;gap:6px 32px;flex-wrap:wrap;padding:14px var(--pad-x);border-bottom:var(--rule)}
.hc3-brand{font-weight:700;font-size:15px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;min-height:44px;display:flex;align-items:center;gap:12px;margin-right:auto}
.hc3-brand:not(:has(img))::before{content:"";width:18px;height:18px;border:1.5px solid var(--accent);background:linear-gradient(var(--accent),var(--accent)) center/6px 6px no-repeat;flex:none}
.hc3-nav{display:flex;flex-wrap:wrap;gap:0 28px;font-size:14px;font-weight:500}
.hc3-nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;color:var(--muted);transition:color .2s}
.hc3-nav a:hover{color:var(--accent)}
.hc3-head-cta{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border:1px solid var(--accent);color:var(--accent);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.hc3-head-cta:hover{background:var(--accent);color:var(--on-accent)}

/* hero */
.tpl-hom-03 main>.hc3-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,80px);align-items:center;padding-top:clamp(40px,6vw,88px);padding-bottom:0}
.tpl-hom-03 main>.hc3-hero--text{grid-template-columns:minmax(0,860px)}
.hc3-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 26px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.hc3-eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid currentColor;flex:none}
.hc3-hero h1{font-size:clamp(50px,6.6vw,108px);line-height:.98;letter-spacing:-.02em}
:lang(zh-Hans) .hc3-hero h1{line-height:1.1}
.hc3-sub{margin-top:clamp(20px,2.4vw,30px);max-width:30em;font-size:clamp(16px,1.3vw,18px);color:var(--muted)}
.hc3-sub p:last-child{margin:0}
.hc3-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,40px)}
.hc3-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:15px;text-decoration:none;border-radius:4px;transition:background .2s}
.hc3-btn:hover{background:color-mix(in srgb,var(--accent) 82%,var(--fg))}
.hc3-btn2{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 24px;border:1px solid var(--line);border-radius:4px;color:var(--fg);font-weight:600;font-size:15px;text-decoration:none;transition:border-color .2s}
.hc3-btn2:hover{border-color:var(--accent)}
.hc3-hero-media{margin:0}
.hc3-plate{overflow:hidden;border-radius:4px;position:relative}
.hc3-plate img{width:100%;object-fit:cover}
.hc3-hero-media .hc3-plate img{aspect-ratio:4/3.2}
.hc3-hero-media figcaption,.hc3-grid figcaption{display:flex;gap:14px;align-items:baseline;padding-top:12px;margin-top:12px;border-top:var(--rule);font-size:12px;letter-spacing:.08em;color:var(--muted)}
.hc3-hero-media figcaption span,.hc3-grid figcaption span{font-weight:600;color:var(--accent);white-space:nowrap}
.hc3-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin-top:clamp(24px,4vw,56px);border-top:1px solid var(--fg);border-bottom:var(--rule)}
.hc3-strip li+li{border-left:var(--rule)}
.hc3-strip a{display:flex;align-items:baseline;gap:16px;min-height:72px;padding:22px clamp(0px,1.6vw,24px);text-decoration:none;font-weight:500;font-size:16px;transition:background .2s}
.hc3-strip li:first-child a{padding-left:0}
.hc3-strip a:hover{color:var(--accent)}
.hc3-strip span{font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.06em}

/* section heads */
.hc3-label{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hc3-label span{color:var(--accent);letter-spacing:.04em}
.hc3-sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:20px clamp(32px,6vw,96px);align-items:end;padding-bottom:clamp(28px,3vw,40px);margin-bottom:clamp(36px,4vw,56px);border-bottom:var(--rule)}
.hc3-intro{color:var(--muted);max-width:32em}
.hc3-intro p:last-child{margin:0}

/* process band */
.tpl-hom-03 main>.hc3-process{margin-top:clamp(64px,8vw,120px);background:var(--accent);color:var(--on-accent);--line:color-mix(in srgb,var(--on-accent) 22%,transparent)}
.hc3-process-head{padding-bottom:clamp(28px,3vw,44px);border-bottom:var(--rule)}
.hc3-label--inv{color:inherit;opacity:.8}
.hc3-process h2{max-width:16ch}
.hc3-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.hc3-flow li{padding:clamp(28px,3vw,44px) clamp(18px,2vw,32px) 0;border-left:var(--rule)}
.hc3-flow li:first-child{border-left:0;padding-left:0}
.hc3-flow-n{display:block;font-family:var(--serif);font-size:clamp(48px,5vw,76px);line-height:1;margin-bottom:clamp(24px,3vw,40px);font-style:italic}
.hc3-flow h3{font-size:19px;margin-bottom:8px;color:inherit}
.hc3-flow p{margin:0;font-size:15px;opacity:.86}

/* about */
.tpl-hom-03 main>.hc3-about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center}
.tpl-hom-03 main>.hc3-about--text{grid-template-columns:minmax(0,820px)}
.hc3-about-media{margin:0;padding:12px;border:var(--rule)}
.hc3-about-media img{aspect-ratio:4/4.6}
.hc3-about h2{margin-bottom:clamp(24px,3vw,36px)}
.hc3-about-body{font-size:clamp(18px,1.5vw,21px);line-height:1.75;margin-bottom:16px}
.hc3-steps{border-top:var(--rule);margin-bottom:20px}
.hc3-steps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:baseline;padding:16px 0;border-bottom:var(--rule)}
.hc3-steps span{font-size:13px;font-weight:600;color:var(--accent)}
.hc3-steps p{margin:0;font-size:17px}
.hc3-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
.hc3-link:hover{opacity:.75}

/* services: spec sheet */
.tpl-hom-03 main>.hc3-services{background:var(--soft)}
.hc3-services .hc3-sec-head{border-color:color-mix(in srgb,var(--fg) 22%,transparent)}
.hc3-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));border-top:1px solid var(--fg);border-left:var(--rule)}
.hc3-cell{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,36px);border-right:var(--rule);border-bottom:var(--rule);background:color-mix(in srgb,var(--bg) 55%,var(--soft));transition:background .25s}
.hc3-cell:hover{background:var(--bg)}
.hc3-cell-n{margin:0 0 clamp(32px,4vw,64px);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--accent)}
.hc3-cell h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,36px);line-height:1.1;margin-bottom:12px;letter-spacing:0}
.hc3-desc{color:var(--muted);font-size:15.5px}
.hc3-desc p:last-child{margin:0}
.hc3-cell-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:auto;padding-top:20px}
.hc3-price{margin:0;font-weight:600}
.hc3-ask{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:14px;color:var(--accent);text-decoration:none}
.hc3-ask:hover{text-decoration:underline}

/* gallery plates */
.hc3-grid{display:grid;gap:clamp(16px,2vw,28px);grid-template-columns:repeat(4,minmax(0,1fr))}
.hc3-grid--1{grid-template-columns:minmax(0,1fr)}
.hc3-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hc3-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hc3-grid figure{margin:0}
.hc3-grid .hc3-plate img{aspect-ratio:4/5;transition:transform .6s ease}
.hc3-grid--1 .hc3-plate img{aspect-ratio:16/9}
.hc3-grid figure:hover .hc3-plate img{transform:scale(1.03)}

/* testimonials */
.hc3-quote-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:var(--rule)}
.hc3-quote-list figure{padding:28px clamp(0px,2vw,28px) 28px 0;border-bottom:var(--rule)}
.hc3-quote-list blockquote{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.35}
.hc3-quote-list blockquote p:last-child{margin:0}
.hc3-quote-list figcaption{margin-top:14px;font-size:13px;font-weight:600;letter-spacing:.06em}
.hc3-quote-list figcaption span{color:var(--muted);font-weight:400}

/* faq */
.tpl-hom-03 main>.hc3-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start;padding-top:0}
.hc3-faq-list{counter-reset:q;border-top:1px solid var(--fg)}
.hc3-faq-list details{border-bottom:var(--rule);counter-increment:q}
.hc3-faq-list summary{display:flex;align-items:center;gap:18px;min-height:68px;padding:16px 0;font-weight:500;font-size:17px}
.hc3-faq-list summary::before{content:"Q" counter(q,decimal-leading-zero);flex:none;width:40px;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--accent)}
.hc3-faq-list summary::after{float:none;margin-left:auto;flex:none;font-size:20px;font-weight:300;color:var(--accent)}
.hc3-faq-list details p{margin:0 0 22px 58px;color:var(--muted);max-width:38em}

/* contact */
.hc3-frame{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,80px);align-items:center;padding:clamp(36px,5vw,72px);border:1px solid var(--fg);position:relative;background:var(--soft)}
.hc3-frame::before,.hc3-frame::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid var(--accent)}
.hc3-frame::before{left:-8px;top:-8px;border-right:0;border-bottom:0}
.hc3-frame::after{right:-8px;bottom:-8px;border-left:0;border-top:0}
.hc3-frame--solo{grid-template-columns:minmax(0,1fr)}
.hc3-frame--solo .hc3-contact-main{max-width:760px}
.hc3-contact h2{font-size:clamp(38px,5vw,72px)}
.hc3-contact-intro{margin-top:16px;color:var(--muted);max-width:34em}
.hc3-contact-intro p:last-child{margin:0}
.hc3-contact-list{border-top:1px solid var(--fg)}
.hc3-contact-list li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:baseline;padding:16px 0;border-bottom:var(--rule)}
.hc3-contact-list .bc-k{opacity:1;color:var(--accent);font-size:11px;font-weight:600}
.hc3-contact-list a{display:inline-flex;align-items:center;min-height:44px;margin:-10px 0;font-weight:500;text-decoration:none}
.hc3-contact-list a:hover{color:var(--accent)}
.hc3-social{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:16px}
.hc3-social a{min-height:44px;display:inline-flex;align-items:center;font-weight:600;font-size:14px;color:var(--accent);text-decoration:none}

/* footer */
.hc3-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:24px var(--pad-x) 32px;border-top:var(--rule);font-size:13px;color:var(--muted)}
.hc3-foot-brand{font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--fg)}

@media (max-width:1000px){
  .hc3-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc3-flow li:nth-child(3){border-left:0;padding-left:0}
  .hc3-flow li:nth-child(n+3){border-top:var(--rule);margin-top:clamp(28px,3vw,44px)}
  .hc3-grid,.hc3-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hc3-grid--1{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .tpl-hom-03 main>.hc3-hero,.tpl-hom-03 main>.hc3-about,.tpl-hom-03 main>.hc3-faq,.hc3-frame,.hc3-sec-head{grid-template-columns:minmax(0,1fr)}
  .hc3-sec-head{align-items:start}
}
@media (max-width:640px){
  .hc3-head{gap:0 16px;padding-top:10px;padding-bottom:4px}
  .hc3-nav{order:3;width:100%;gap:0 18px;font-size:14px}
  .hc3-head-cta{padding:6px 14px}
  .hc3-btn,.hc3-btn2{width:100%}
  .hc3-strip{grid-template-columns:minmax(0,1fr)}
  .hc3-strip li+li{border-left:0;border-top:var(--rule)}
  .hc3-strip a{min-height:56px;padding:14px 0}
  .hc3-flow{grid-template-columns:minmax(0,1fr)}
  .hc3-flow li:nth-child(n){display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:22px 0;border-left:0;margin:0;border-top:var(--rule)}
  .hc3-flow li:first-child{border-top:0}
  .hc3-flow-n{grid-row:span 2;font-size:40px;margin:0}
  .hc3-about-media{padding:8px}
  .hc3-grid{gap:14px}
  .hc3-faq-list details p{margin-left:0}
  .hc3-frame{padding:28px 20px}
  .hc3-contact-list li{grid-template-columns:minmax(0,1fr);gap:0}
}
