:root {
  --green: #24384b;
  --green-2: #1d3042;
  --green-3: #314d68;
  --navy: #24384b;
  --navy-dark: #192a3a;
  --gold: #c9783c;
  --gold-light: #e4aa72;
  --copper: #c9783c;
  --copper-dark: #a85c27;
  --ink: #1d2b38;
  --muted: #6d7580;
  --cream: #f4eee6;
  --paper: #fbf9f5;
  --line: rgba(36, 56, 75, .14);
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }

.site-header { height: 78px; background: rgba(251,250,246,.96); border-bottom: 1px solid rgba(16,45,39,.08); position: fixed; inset: 0 0 auto; z-index: 50; backdrop-filter: blur(18px); }
.nav-wrap { height: 100%; display: flex; align-items: center; gap: 54px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand img { display: block; }
.brand span { display: grid; gap: 1px; line-height: 1; }
.brand strong { font-size: 21px; letter-spacing: 2px; }
.brand small { font-size: 11px; letter-spacing: 6px; color: #60706a; }
.nav { display: flex; gap: 36px; margin-left: auto; }
.nav a { font-size: 14px; font-weight: 600; color: #34423e; position: relative; }
.nav a::after { content: ""; position: absolute; width: 0; height: 2px; left: 0; bottom: -11px; background: var(--gold); transition: .25s; }
.nav a:hover::after { width: 100%; }
.nav a.active::after { width:100%; }
.header-phone { padding-left: 27px; border-left: 1px solid var(--line); display: grid; gap: 3px; }
.header-phone span { font-size: 10px; color: var(--muted); letter-spacing: 2px; }
.header-phone strong { font-size: 16px; color: var(--green); }
.menu-btn { display: none; border: 0; background: transparent; width: 40px; height: 40px; padding: 10px; }
.menu-btn span { display: block; height: 2px; margin: 5px 0; background: var(--green); transition: .25s; }

.hero { margin-top: 78px; height: 700px; min-height: 620px; background: var(--green); position: relative; overflow: hidden; color: #fff; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,36,31,.99) 0%, rgba(12,36,31,.94) 33%, rgba(12,36,31,.25) 64%, rgba(12,36,31,.05) 100%); z-index: 1; }
.hero::after { content: ""; position: absolute; inset: auto auto -130px -120px; width: 440px; height: 440px; border: 1px solid rgba(216,181,122,.18); border-radius: 50%; z-index: 1; }
.hero-image { position: absolute; inset: 0; background-image: url("assets/hero-camera.png"); background-size: cover; background-position: center; transform: scale(1.012); }
.hero-inner { height: 100%; display: flex; align-items: center; position: relative; z-index: 2; }
.hero-copy { max-width: 640px; margin-top: -5px; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--gold-light); letter-spacing: 4px; font-size: 12px; font-weight: 700; }
.eyebrow span { width: 34px; height: 1px; background: var(--gold); }
.hero h1 { font-size: clamp(56px, 5.5vw, 82px); line-height: 1.1; letter-spacing: -3px; margin: 25px 0 22px; font-weight: 700; }
.hero h1 em { color: var(--gold-light); font-style: normal; }
.hero-copy > p { color: rgba(255,255,255,.75); font-size: 17px; line-height: 1.9; margin: 0; }
.hero-actions { display: flex; gap: 12px; margin-top: 36px; }
.btn { min-height: 52px; padding: 0 25px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 24px; cursor: pointer; transition: transform .25s, background .25s, color .25s; }
.btn:hover { transform: translateY(-2px); }
.btn-gold { background: var(--gold); color: #173029; font-weight: 700; }
.btn-gold:hover { background: var(--gold-light); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.05); }
.btn-ghost:hover { background: rgba(255,255,255,.12); }
.trust-line { display: flex; gap: 25px; margin-top: 34px; color: rgba(255,255,255,.68); font-size: 12px; }
.trust-line i { color: var(--gold-light); font-style: normal; margin-right: 5px; }
.scroll-hint { position: absolute; right: 28px; bottom: 36px; z-index: 3; color: rgba(255,255,255,.62); font-size: 9px; letter-spacing: 3px; display: grid; gap: 9px; justify-items: center; }
.scroll-hint span { display: block; width: 1px; height: 40px; background: linear-gradient(var(--gold), transparent); }

.quick-strip { background: var(--cream); border-bottom: 1px solid var(--line); }
.strip-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.strip-grid > div { min-height: 126px; display: flex; align-items: center; gap: 20px; padding: 25px 28px; border-right: 1px solid var(--line); }
.strip-grid > div:first-child { border-left: 1px solid var(--line); }
.strip-grid strong { color: var(--gold); font-size: 13px; font-family: Georgia, serif; }
.strip-grid span { font-size: 12px; line-height: 1.75; color: var(--muted); }
.strip-grid b { font-size: 14px; color: var(--ink); }

.deal-stream { background:#0b251f; color:#fff; border-top:1px solid rgba(255,255,255,.08); overflow:hidden; }
.deal-stream .container { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; min-height:86px; }
.deal-title { border-right:1px solid rgba(255,255,255,.12); padding-right:28px; }
.deal-title span { display:block; color:var(--gold); font-size:10px; letter-spacing:3px; margin-bottom:5px; }
.deal-title strong { font-size:16px; }
.deal-window { overflow:hidden; min-width:0; mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.deal-track { display:flex; width:max-content; animation:dealMarquee 34s linear infinite; }
.deal-window:hover .deal-track { animation-play-state:paused; }
.deal-group { display:flex; align-items:center; }
.deal-item { width:250px; padding:0 28px; border-right:1px solid rgba(255,255,255,.1); display:grid; grid-template-columns:auto 1fr; gap:4px 12px; align-items:center; }
.deal-item i { grid-row:span 2; width:8px; height:8px; border-radius:50%; background:#75bea4; box-shadow:0 0 0 5px rgba(117,190,164,.1); }
.deal-item b { font-size:13px; font-weight:600; white-space:nowrap; }
.deal-item small { color:rgba(255,255,255,.48); font-size:10px; }
.deal-note { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@keyframes dealMarquee { to { transform:translateX(-50%); } }

.section { padding: 112px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 55px; }
.section-heading h2, .adv-copy h2, .faq-title h2 { font-size: clamp(34px, 4vw, 50px); line-height: 1.2; letter-spacing: -2px; margin: 10px 0 0; }
.section-heading > p { max-width: 410px; margin: 0; color: var(--muted); line-height: 1.8; font-size: 14px; }
.kicker { color: #9d7a40; letter-spacing: 4px; font-size: 10px; font-weight: 700; }
.service-grid { display: grid; grid-template-columns: 1.05fr .95fr .95fr; gap: 18px; }
.service-card { position: relative; min-height: 320px; padding: 36px; background: #f0eee7; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 24px 50px rgba(24,44,38,.09); }
.service-card.large { grid-row: span 2; min-height: 658px; background: #e9e3d7; padding-top: 365px; }
.service-card.wide { grid-column: span 2; min-height: 236px; background: #d9c7a5; display: flex; align-items: end; justify-content: space-between; }
.service-card.dark { background: var(--green-2); color: #fff; }
.service-card.dark p { color: rgba(255,255,255,.58); }
.card-no { position: absolute; right: 26px; top: 23px; color: rgba(16,45,39,.27); font-size: 11px; font-weight: 700; }
.dark .card-no { color: rgba(255,255,255,.32); }
.service-card h3 { font-size: 23px; margin: 0 0 13px; }
.service-card p { color: var(--muted); font-size: 14px; line-height: 1.9; margin: 0; max-width: 440px; }
.tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px; }
.tags span { border: 1px solid rgba(16,45,39,.16); padding: 6px 10px; font-size: 10px; color: #56635f; }
.card-icon { position: absolute; opacity: .85; }
.camera-icon { top: 70px; left: 50%; width: 265px; height: 175px; transform: translateX(-50%); border: 3px solid #183a32; border-radius: 15px 15px 25px 25px; }
.camera-icon::before { content: ""; position: absolute; width: 95px; height: 48px; top: -40px; left: 76px; border: 3px solid #183a32; border-bottom: 0; border-radius: 14px 14px 0 0; }
.camera-icon::after { content: ""; position: absolute; width: 108px; height: 108px; border: 18px double #183a32; border-radius: 50%; left: 59px; top: 15px; }
.camera-icon span { position: absolute; width: 35px; height: 12px; border: 3px solid #183a32; border-radius: 8px; left: 18px; top: 18px; }
.lens-icon { right: 32px; top: 44px; width: 95px; height: 125px; border: 3px solid #24473f; border-radius: 30px 30px 20px 20px; transform: rotate(10deg); }
.lens-icon::before, .lens-icon::after { content:""; position:absolute; left: -2px; width: 93px; height: 12px; border-block: 3px solid #24473f; }
.lens-icon::before { top: 28px; }.lens-icon::after { bottom: 25px; }
.drone-icon { right: 29px; top: 52px; width: 110px; height: 70px; }
.drone-icon::before { content:""; position:absolute; inset:25px 32px; border:3px solid var(--gold); border-radius: 8px; }
.drone-icon::after { content:"×"; font-size:95px; color: var(--gold); line-height:.62; }
.round-link { width: 57px; height: 57px; flex: 0 0 auto; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size: 23px; transition: transform .25s; }
.round-link:hover { transform: rotate(45deg); }

.process { background: var(--green); color: #fff; position: relative; overflow: hidden; }
.process::before { content:""; position:absolute; width:500px; height:500px; border:1px solid rgba(216,181,122,.12); border-radius:50%; right:-180px; top:-270px; }
.section-heading.light > p { color: rgba(255,255,255,.55); }
.section-heading.light .kicker { color: var(--gold); }
.process-track { display: grid; grid-template-columns: repeat(3, 1fr); position: relative; }
.process-track::before { content: ""; position: absolute; height: 1px; left: 5%; right: 5%; top: 53px; background: linear-gradient(90deg, transparent, rgba(216,181,122,.65), transparent); }
.step { text-align: center; padding: 0 27px; position: relative; }
.step-no { position: absolute; top: 47px; right: calc(50% - 42px); color: var(--gold); font-size: 9px; }
.step-icon { position: relative; z-index: 2; width: 106px; height: 106px; border: 1px solid rgba(216,181,122,.45); border-radius: 50%; margin: 0 auto 28px; display: grid; place-items: center; color: var(--gold-light); font: 30px Georgia, serif; background: var(--green); }
.step h3 { font-size: 18px; margin: 0 0 12px; }
.step p { color: rgba(255,255,255,.52); line-height: 1.8; font-size: 13px; margin: 0; }
.process-cta { margin-top: 58px; border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; display: flex; justify-content: center; align-items: center; gap: 24px; color: rgba(255,255,255,.7); font-size: 13px; }
.process-cta button { border: 0; border-bottom: 1px solid var(--gold); padding: 4px 0; background: transparent; color: var(--gold-light); cursor: pointer; }

.advantages { background: var(--cream); }
.advantage-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.adv-copy { position: sticky; top: 130px; }
.adv-copy h2 { margin: 16px 0 26px; }
.adv-copy > p { max-width: 445px; color: var(--muted); font-size: 14px; line-height: 2; }
.text-link { display: inline-flex; gap: 34px; align-items: center; margin-top: 20px; font-weight: 700; font-size: 14px; border-bottom: 1px solid var(--green); padding-bottom: 8px; }
.adv-item { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 35px 0; border-bottom: 1px solid var(--line); }
.adv-item:first-child { border-top: 1px solid var(--line); }
.adv-item > span { color: var(--gold); font: 15px Georgia, serif; padding-top: 5px; }
.adv-item h3 { font-size: 20px; margin: 0 0 10px; }
.adv-item p { color: var(--muted); margin: 0; font-size: 13px; line-height: 1.8; }

.brands { background: #ded8ca; padding: 32px 0; }
.brands .container { display: flex; align-items: center; gap: 50px; }
.brands span { font-size: 11px; color: #737a75; flex: 0 0 auto; }
.brand-list { width: 100%; display: flex; justify-content: space-between; align-items: center; color: #53605c; filter: grayscale(1); }
.brand-list b { font: 700 17px Arial, sans-serif; letter-spacing: -1px; opacity: .72; }

.guide-preview { background:#fff; }
.guide-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.guide-card { min-height:330px; padding:30px; border:1px solid var(--line); background:var(--paper); display:flex; flex-direction:column; transition:transform .25s, border-color .25s, box-shadow .25s; }
.guide-card:hover { transform:translateY(-5px); border-color:rgba(157,122,64,.45); box-shadow:0 20px 45px rgba(16,45,39,.08); }
.guide-card .guide-type { color:#9d7a40; font-size:10px; letter-spacing:3px; }
.guide-card h3 { margin:38px 0 14px; font-size:22px; line-height:1.45; }
.guide-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.guide-card .read-more { margin-top:auto; padding-top:30px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:12px; font-weight:700; }
.all-guides { display:inline-flex; align-items:center; gap:22px; margin-top:30px; border-bottom:1px solid var(--green); padding-bottom:7px; font-size:13px; font-weight:700; }

/* Inner pages */
.sub-hero { margin-top:78px; padding:92px 0 88px; color:#fff; background:linear-gradient(125deg,#0b2721 0%,#164239 72%,#1f5246 100%); position:relative; overflow:hidden; }
.sub-hero::before { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(216,181,122,.2); border-radius:50%; right:-90px; top:-230px; }
.sub-hero::after { content:""; position:absolute; width:240px; height:240px; border:60px solid rgba(255,255,255,.025); border-radius:50%; right:15%; bottom:-160px; }
.sub-hero .container { position:relative; z-index:2; }
.breadcrumb { display:flex; gap:8px; color:rgba(255,255,255,.48); font-size:11px; margin-bottom:30px; }
.breadcrumb a:hover { color:var(--gold-light); }
.sub-hero h1 { max-width:880px; margin:0; font-size:clamp(40px,5vw,64px); line-height:1.16; letter-spacing:-2px; }
.sub-hero .sub-lede { max-width:720px; margin:24px 0 0; color:rgba(255,255,255,.64); line-height:1.9; font-size:15px; }
.sub-hero .sub-meta { display:flex; gap:20px; flex-wrap:wrap; margin-top:30px; color:var(--gold-light); font-size:11px; }
.inner-section { padding:86px 0; }
.inner-section.alt { background:var(--cream); }
.inner-heading { margin-bottom:38px; }
.inner-heading h2 { margin:8px 0 0; font-size:36px; letter-spacing:-1px; }
.inner-heading p { max-width:680px; color:var(--muted); line-height:1.8; }
.topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.topic-card { padding:30px; border:1px solid var(--line); background:#fff; min-height:230px; }
.topic-card .number { color:var(--gold); font:14px Georgia,serif; }
.topic-card h3 { margin:45px 0 12px; font-size:20px; }
.topic-card p { color:var(--muted); font-size:13px; line-height:1.8; margin:0; }
.check-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.check-intro { position:sticky; top:120px; }
.check-intro h2 { font-size:38px; margin:10px 0 18px; }
.check-intro p { color:var(--muted); line-height:1.9; font-size:14px; }
.check-list { counter-reset:checks; }
.check-row { counter-increment:checks; padding:27px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:55px 1fr; gap:18px; }
.check-row:last-child { border-bottom:1px solid var(--line); }
.check-row::before { content:counter(checks,decimal-leading-zero); color:var(--gold); font:14px Georgia,serif; }
.check-row h3 { margin:0 0 8px; font-size:18px; }
.check-row p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.info-band { background:#d9c7a5; padding:36px 0; }
.info-band .container { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.info-band h2 { margin:0; font-size:26px; }
.info-band p { margin:5px 0 0; color:#58645f; font-size:13px; }
.info-band a,.info-band button { border:0; background:var(--green); color:#fff; padding:16px 23px; cursor:pointer; white-space:nowrap; }
.service-links { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.service-link { min-height:180px; padding:30px; background:var(--green); color:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.service-link:nth-child(even) { background:#e8e1d3; color:var(--ink); }
.service-link span { color:var(--gold); font-size:10px; letter-spacing:2px; }
.service-link h3 { margin:20px 0 0; font-size:24px; }

.guide-index-layout { display:grid; grid-template-columns:280px 1fr; gap:55px; align-items:start; }
.guide-filter { position:sticky; top:110px; padding:25px; background:var(--cream); }
.guide-filter h2 { font-size:16px; margin:0 0 20px; }
.guide-filter a { display:flex; justify-content:space-between; padding:13px 0; border-top:1px solid var(--line); color:#59645f; font-size:12px; }
.guide-filter a:hover { color:var(--green); }
.article-list { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.article-list .guide-card { min-height:360px; }

.article-shell { display:grid; grid-template-columns:minmax(0,760px) 280px; justify-content:space-between; gap:70px; align-items:start; }
.article-body { font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
.article-body .article-intro { font-size:18px; line-height:1.95; color:#394641; padding:0 0 30px; border-bottom:1px solid var(--line); }
.article-body h2 { font-size:29px; margin:58px 0 18px; letter-spacing:-.5px; }
.article-body h3 { font-size:20px; margin:35px 0 13px; }
.article-body p { color:#4e5a56; font-size:15px; line-height:2; margin:0 0 18px; }
.article-body ul,.article-body ol { margin:15px 0 24px; padding-left:23px; color:#4e5a56; }
.article-body li { padding:5px 0; line-height:1.8; }
.article-body .callout { margin:34px 0; padding:24px 26px; border-left:3px solid var(--gold); background:var(--cream); }
.article-body .callout strong { display:block; margin-bottom:8px; }
.article-body .callout p { margin:0; font-size:14px; }
.article-body table { width:100%; border-collapse:collapse; margin:25px 0; font-size:13px; }
.article-body th,.article-body td { padding:14px; border:1px solid var(--line); text-align:left; }
.article-body th { background:var(--cream); }
.article-side { position:sticky; top:110px; }
.side-box { padding:24px; border:1px solid var(--line); margin-bottom:16px; }
.side-box h3 { margin:0 0 15px; font-size:16px; }
.side-box a { display:block; padding:12px 0; border-top:1px solid var(--line); color:#5c6863; font-size:12px; line-height:1.5; }
.side-box a:hover { color:#9d7a40; }
.side-contact { padding:25px; background:var(--green); color:#fff; }
.side-contact span { color:var(--gold); font-size:10px; letter-spacing:2px; }
.side-contact strong { display:block; margin:15px 0 5px; font-size:21px; }
.side-contact p { color:rgba(255,255,255,.55); font-size:11px; margin:0 0 18px; }
.side-contact button { width:100%; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; padding:12px; cursor:pointer; }
.article-footer-links { margin-top:55px; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.article-footer-links a { padding:20px; border:1px solid var(--line); font-size:12px; line-height:1.6; }
.article-footer-links span { display:block; color:#9d7a40; margin-bottom:6px; }

.faq-page-layout { display:grid; grid-template-columns:260px 1fr; gap:70px; }
.faq-nav { position:sticky; top:110px; }
.faq-nav a { display:block; padding:14px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; }
.faq-group { scroll-margin-top:100px; margin-bottom:58px; }
.faq-group h2 { font-size:28px; margin:0 0 15px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-card { padding:36px; min-height:250px; background:var(--cream); }
.contact-card.dark { background:var(--green); color:#fff; }
.contact-card span { color:var(--gold); font-size:10px; letter-spacing:3px; }
.contact-card h2 { margin:35px 0 15px; font-size:28px; }
.contact-card p { color:var(--muted); line-height:1.8; font-size:13px; }
.contact-card.dark p { color:rgba(255,255,255,.58); }
.contact-card a,.contact-card button { display:inline-block; margin-top:15px; border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; padding:0 0 6px; cursor:pointer; }

.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.faq-title h2 { margin: 14px 0 20px; }
.faq-title p { color: var(--muted); font-size: 13px; }
.faq-title a { display: inline-block; margin-top: 10px; color: var(--green); font-size: 22px; font-weight: 700; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item button { width: 100%; border: 0; background: transparent; display: flex; justify-content: space-between; align-items: center; padding: 26px 0; font-weight: 700; text-align: left; cursor: pointer; }
.faq-item button i { width: 18px; height: 18px; position: relative; flex: 0 0 auto; }
.faq-item button i::before, .faq-item button i::after { content:""; position:absolute; background: var(--green); transition:.25s; }
.faq-item button i::before { width: 14px; height: 1px; left:2px; top:8px; }
.faq-item button i::after { width:1px; height:14px; top:2px; left:8px; }
.faq-item.open button i::after { transform: rotate(90deg); opacity:0; }
.answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.answer p { overflow: hidden; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; max-width: 650px; }
.faq-item.open .answer { grid-template-rows: 1fr; }
.faq-item.open .answer p { padding-bottom: 27px; }

.final-cta { padding: 92px 0; background: linear-gradient(120deg, #183d35, #0c2822); color: #fff; position: relative; overflow: hidden; }
.final-cta::after { content:"机客汇"; position:absolute; right:-20px; bottom:-80px; color:rgba(255,255,255,.025); font-size:190px; font-weight:800; letter-spacing:-18px; }
.cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 60px; position: relative; z-index:2; }
.cta-inner > div:first-child span { color: var(--gold); letter-spacing: 4px; font-size: 9px; }
.cta-inner h2 { font-size: clamp(38px, 4.6vw, 60px); line-height:1.2; margin:13px 0 0; }
.cta-contact { width: 400px; }
.cta-contact p { color:rgba(255,255,255,.55); font-size:13px; margin-bottom:20px; }
.cta-contact a, .cta-contact button { width:100%; height:56px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; border:0; border-top:1px solid rgba(255,255,255,.2); background:transparent; color:#fff; cursor:pointer; }
.cta-contact b { color:var(--gold); font-weight:400; }

.site-footer { background:#091f1a; color:rgba(255,255,255,.5); padding:30px 0; }
.footer-inner { display:flex; align-items:center; gap:35px; font-size:11px; }
.footer-inner p:last-child { margin-left:auto; }
.footer-brand strong { color:#fff; font-size:16px; }.footer-brand small{color:rgba(255,255,255,.45); font-size:9px;}
.floating-contact { position:fixed; right:22px; bottom:26px; z-index:40; display:grid; gap:8px; }
.floating-contact a, .floating-contact button { width:80px; min-height:72px; border:0; background:#fff; box-shadow:0 10px 35px rgba(0,0,0,.13); display:grid; place-items:center; align-content:center; gap:5px; color:var(--green); cursor:pointer; }
.floating-contact span { width:26px; height:26px; border-radius:50%; background:var(--green); color:#fff; display:grid; place-items:center; font-size:12px; }
.floating-contact b { font-size:11px; }
.wechat-tooltip { position:fixed; z-index:120; left:0; top:0; min-width:158px; padding:12px 14px; border:1px solid rgba(216,181,122,.42); background:#102d27; color:#fff; box-shadow:0 14px 35px rgba(4,22,18,.28); display:grid; grid-template-columns:auto 1fr; gap:3px 10px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(5px); transition:opacity .18s ease, transform .18s ease, visibility .18s; }
.wechat-tooltip::after { content:""; position:absolute; left:var(--arrow-left, 50%); bottom:-6px; width:10px; height:10px; border-right:1px solid rgba(216,181,122,.42); border-bottom:1px solid rgba(216,181,122,.42); background:#102d27; transform:translateX(-50%) rotate(45deg); }
.wechat-tooltip[data-placement="bottom"]::after { top:-6px; bottom:auto; transform:translateX(-50%) rotate(225deg); }
.wechat-tooltip.show { opacity:1; visibility:visible; transform:none; }
.wechat-tooltip span { grid-row:span 2; align-self:center; color:rgba(255,255,255,.58); font-size:10px; }
.wechat-tooltip strong { color:var(--gold-light); font-size:15px; line-height:1.2; letter-spacing:.5px; }
.wechat-tooltip small { color:rgba(255,255,255,.68); font-size:10px; }
.wechat-tooltip.copied small { color:#b8e1d2; }
.toast { position:fixed; left:50%; bottom:30px; transform:translate(-50%, 20px); z-index:100; padding:13px 22px; background:#142c26; color:#fff; font-size:13px; box-shadow:0 12px 40px rgba(0,0,0,.2); opacity:0; pointer-events:none; transition:.3s; }
.toast.show { opacity:1; transform:translate(-50%, 0); }
.reveal { opacity:1; transform:none; }

@media (max-width: 960px) {
  .nav-wrap { gap:20px; }.nav { gap:20px; }.header-phone { display:none; }
  .hero { height:650px; }.hero::before { background:linear-gradient(90deg,rgba(12,36,31,.98),rgba(12,36,31,.82) 60%,rgba(12,36,31,.38)); }
  .strip-grid { grid-template-columns:repeat(2,1fr); }.strip-grid > div:nth-child(3){border-left:1px solid var(--line);border-top:1px solid var(--line)}.strip-grid > div:nth-child(4){border-top:1px solid var(--line)}
  .service-grid { grid-template-columns:1fr 1fr; }.service-card.large{grid-row:auto;min-height:470px;padding-top:280px}.service-card.wide{grid-column:span 2}.camera-icon{transform:translateX(-50%) scale(.8);transform-origin:top center}
  .advantage-layout,.faq-layout { gap:55px; }.brands .container{align-items:flex-start}.brand-list{flex-wrap:wrap;gap:25px 35px;justify-content:flex-start}
  .guide-grid{grid-template-columns:repeat(2,1fr)}.guide-card:last-child{grid-column:span 2}.article-shell{grid-template-columns:minmax(0,1fr) 240px;gap:40px}.guide-index-layout{grid-template-columns:220px 1fr;gap:30px}
}

@media (max-width: 720px) {
  .container { width:min(100% - 32px, var(--container)); }
  .site-header { height:68px; }.hero{margin-top:68px;min-height:660px;height:calc(100svh - 68px)}
  .menu-btn{display:block;margin-left:auto}.nav{position:fixed;top:68px;left:0;right:0;height:calc(100vh - 68px);background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:35px;transform:translateX(100%);transition:.3s}.menu-open .nav{transform:none}.nav a{font-size:20px}
  .menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-btn span:nth-child(2){opacity:0}.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero-image { background-position:64% center; opacity:.62; }.hero::before{background:linear-gradient(90deg,rgba(12,36,31,.97),rgba(12,36,31,.62));}.hero-copy{margin-top:-20px}.hero h1{font-size:54px;letter-spacing:-2px}.hero-copy > p{font-size:15px;line-height:1.8}.hero-actions{align-items:stretch;flex-direction:column;width:min(100%,320px)}.btn{width:100%}.trust-line{gap:10px;flex-wrap:wrap}.scroll-hint{display:none}
  .strip-grid{grid-template-columns:1fr 1fr}.strip-grid > div{padding:19px 13px;min-height:105px;gap:11px}.strip-grid b{font-size:12px}
  .deal-stream .container{grid-template-columns:1fr;width:100%}.deal-title{padding:15px 16px 10px;border-right:0}.deal-window{padding-bottom:15px}.deal-item{width:220px;padding:0 20px}
  .section{padding:80px 0}.section-heading{display:block;margin-bottom:34px}.section-heading > p{margin-top:18px}.section-heading h2,.adv-copy h2,.faq-title h2{font-size:36px}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card.large{min-height:300px}.service-card.large{padding-top:275px;min-height:480px}.service-card.wide{grid-column:auto;min-height:280px}.service-card{padding:30px}.camera-icon{top:55px}
  .process-track{grid-template-columns:1fr;gap:48px 0}.process-track::before{display:none}.step{padding:0 12px}.step-icon{width:88px;height:88px}.step-no{top:39px;right:calc(50% - 35px)}.process-cta{display:block;text-align:center}.process-cta button{margin-top:10px}
  .advantage-layout,.faq-layout{grid-template-columns:1fr;gap:50px}.adv-copy{position:static}.brands .container{display:block}.brands span{display:block;margin-bottom:24px}.brand-list{gap:20px 28px}.brand-list b{font-size:14px}
  .guide-grid,.topic-grid,.article-list,.service-links,.contact-grid{grid-template-columns:1fr}.guide-card:last-child{grid-column:auto}.sub-hero{margin-top:68px;padding:70px 0}.sub-hero h1{font-size:40px}.inner-section{padding:65px 0}.check-layout,.guide-index-layout,.article-shell,.faq-page-layout{grid-template-columns:1fr;gap:42px}.check-intro,.guide-filter,.article-side,.faq-nav{position:static}.article-side{display:grid;grid-template-columns:1fr 1fr;gap:15px}.article-footer-links{grid-template-columns:1fr}.info-band .container{display:block}.info-band a,.info-band button{margin-top:20px}.article-body .article-intro{font-size:16px}.article-body h2{font-size:25px;margin-top:45px}.topic-card{min-height:200px}.guide-filter{display:none}
  .cta-inner{display:block}.cta-contact{width:100%;margin-top:42px}.final-cta::after{font-size:100px;bottom:-20px}
  .footer-inner{flex-wrap:wrap;gap:17px}.footer-inner p{margin:0}.footer-inner p:last-child{width:100%;margin:0}
  .floating-contact{right:10px;bottom:12px;display:flex}.floating-contact a,.floating-contact button{width:68px;min-height:59px}.floating-contact span{display:none}.toast{bottom:84px;white-space:nowrap}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .reveal { opacity:1; transform:none; }
  .deal-track { animation:none; }
}

/* Homepage: information-first consultation flow */
.nav-wrap { gap:34px; }
.nav { gap:25px; }
.hero { height:auto; min-height:740px; padding:62px 0; }
.hero::before { background:linear-gradient(90deg,rgba(8,31,26,.99) 0%,rgba(8,31,26,.95) 41%,rgba(8,31,26,.66) 66%,rgba(8,31,26,.45) 100%); }
.hero::after { width:560px; height:560px; left:-220px; bottom:-300px; }
.hero-image { background-image:image-set(url("assets/hero-camera.webp") type("image/webp"),url("assets/hero-camera.png") type("image/png")); background-position:center; filter:saturate(.8) contrast(1.03); }
.hero-inner { min-height:616px; display:grid; grid-template-columns:minmax(0,1fr) minmax(390px, .82fr); gap:72px; align-items:center; }
.hero-copy { max-width:590px; margin:0; }
.hero h1 { font-size:clamp(55px,5.3vw,76px); }
.hero-copy > p { max-width:570px; }
.contact-fit { margin-top:22px!important; color:rgba(255,255,255,.56)!important; font-size:11px!important; letter-spacing:.2px; }
.contact-fit b { color:var(--gold-light); }
.consult-card { scroll-margin-top:100px; align-self:center; background:rgba(251,250,246,.97); color:var(--ink); padding:30px; box-shadow:0 30px 80px rgba(0,0,0,.28); border-top:3px solid var(--gold); backdrop-filter:blur(14px); }
.consult-head { display:flex; align-items:start; justify-content:space-between; gap:18px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.consult-head span { color:#9d7a40; font-size:9px; font-weight:700; letter-spacing:3px; }
.consult-head h2 { margin:8px 0 0; font-size:23px; letter-spacing:-.5px; }
.consult-head small { flex:0 0 auto; color:var(--muted); font-size:9px; line-height:1.6; text-align:right; }
.consult-form { display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; margin-top:21px; }
.consult-form label { display:grid; gap:7px; min-width:0; }
.consult-form label.wide { grid-column:1 / -1; }
.consult-form label > span { color:#55625d; font-size:10px; font-weight:700; }
.consult-form input,.consult-form select { width:100%; height:43px; min-width:0; border:1px solid rgba(16,45,39,.17); border-radius:0; background:#fff; color:var(--ink); padding:0 12px; font:12px inherit; outline:none; transition:border-color .2s,box-shadow .2s; }
.consult-form input:focus,.consult-form select:focus { border-color:#92713d; box-shadow:0 0 0 3px rgba(216,181,122,.16); }
.consult-form input::placeholder { color:#9ba29f; }
.consult-submit { grid-column:1 / -1; min-height:54px; margin-top:3px; border:0; padding:0 17px; background:var(--green); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; transition:background .2s,transform .2s; }
.consult-submit:hover { background:var(--green-3); transform:translateY(-1px); }
.consult-submit span { font-size:13px; font-weight:700; }
.consult-submit b { color:var(--gold-light); font-size:9px; font-weight:500; }
.consult-result { margin-top:14px; padding:13px 15px; background:#eeece4; border-left:2px solid var(--gold); }
.consult-result > span { display:block; color:#947441; font-size:9px; font-weight:700; letter-spacing:2px; }
.consult-result p { margin:6px 0 0; color:#626d69; font-size:10px; line-height:1.65; white-space:pre-wrap; max-height:126px; overflow:auto; }
.consult-result.success { background:#e6eee9; border-left-color:#47836e; }
.consult-result.success > span { color:#32705b; }
.info-stream .deal-item { color:#fff; }
.info-stream .deal-item:hover b { color:var(--gold-light); }
.info-stream .deal-item b { transition:color .2s; }
.card-text-link { display:inline-block; margin-top:22px; padding-bottom:5px; border-bottom:1px solid rgba(16,45,39,.24); color:var(--green); font-size:11px; font-weight:700; }
.light-link { color:var(--gold-light); border-bottom-color:rgba(216,181,122,.38); }
.inspection-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.inspection-panel { background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); padding:34px; }
.inspection-panel.accent { background:rgba(216,181,122,.08); border-color:rgba(216,181,122,.26); }
.panel-label { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:23px; border-bottom:1px solid rgba(255,255,255,.12); }
.panel-label span { color:var(--gold); font-size:9px; letter-spacing:3px; }
.panel-label b { font-size:18px; }
.inspection-panel ul { margin:0; padding:0; list-style:none; }
.inspection-panel li { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.inspection-panel li:last-child { border-bottom:0; padding-bottom:0; }
.inspection-panel li b { font-size:13px; }
.inspection-panel li span { color:rgba(255,255,255,.53); font-size:11px; line-height:1.7; }
.process-cta a { color:var(--gold-light); padding-bottom:5px; border-bottom:1px solid rgba(216,181,122,.45); font-size:12px; }
.boundary { background:var(--cream); }
.boundary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.boundary-card { min-height:310px; padding:31px; background:var(--paper); border:1px solid var(--line); display:flex; flex-direction:column; }
.boundary-card > span { color:var(--gold); font:14px Georgia,serif; }
.boundary-card h3 { margin:45px 0 14px; font-size:22px; }
.boundary-card p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.boundary-card a { margin-top:auto; padding-top:24px; border-top:1px solid var(--line); color:var(--green); font-size:11px; font-weight:700; }
.answer a { color:#8c6d3b; font-weight:700; white-space:nowrap; }
.faq-title .faq-phone { font-size:22px; }
.faq-title .compact-link { font-size:13px; margin-top:18px; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-bottom:28px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 28px; font-size:11px; }
.footer-links a:hover { color:var(--gold-light); }
.site-footer .footer-inner { border-top:1px solid rgba(255,255,255,.1); padding-top:22px; }

@media (max-width: 1060px) {
  .nav { gap:18px; }
  .nav a { font-size:13px; }
  .hero-inner { grid-template-columns:minmax(0,1fr) minmax(370px,.86fr); gap:35px; }
  .consult-card { padding:25px; }
}

@media (max-width: 840px) {
  .hero { padding:70px 0; }
  .hero::before { background:rgba(8,31,26,.88); }
  .hero-image { opacity:.5; }
  .hero-inner { grid-template-columns:1fr; gap:50px; }
  .hero-copy { max-width:650px; }
  .consult-card { width:min(100%,640px); }
  .inspection-grid { grid-template-columns:1fr; }
  .boundary-grid { grid-template-columns:1fr 1fr; }
  .boundary-card:last-child { grid-column:1 / -1; min-height:260px; }
}

@media (max-width: 720px) {
  .hero { height:auto; min-height:0; padding:52px 0 38px; }
  .hero-image { background-image:image-set(url("assets/hero-camera-mobile.webp") type("image/webp"),url("assets/hero-camera.png") type("image/png")); }
  .hero-inner { min-height:0; gap:38px; }
  .hero-copy { margin:0; }
  .hero h1 { font-size:46px; line-height:1.12; }
  .hero-copy > p { font-size:14px; }
  .contact-fit { line-height:1.8!important; }
  .consult-card { padding:21px 18px; }
  .consult-head h2 { font-size:20px; }
  .consult-head small { display:none; }
  .consult-form { grid-template-columns:1fr; }
  .consult-form label.wide,.consult-submit { grid-column:auto; }
  .consult-submit { align-items:flex-start; flex-direction:column; justify-content:center; gap:4px; }
  .inspection-panel { padding:24px 20px; }
  .inspection-panel li { grid-template-columns:1fr; gap:7px; }
  .boundary-grid { grid-template-columns:1fr; }
  .boundary-card,.boundary-card:last-child { grid-column:auto; min-height:280px; }
  .footer-main { display:block; }
  .footer-links { justify-content:flex-start; margin-top:25px; gap:14px 24px; }
}

/* v5 — warm editorial storefront */
.home-v5 {
  --navy:#24384b;
  --navy-dark:#192a3a;
  --navy-soft:#e9eef2;
  --copper:#c9783c;
  --copper-dark:#a85c27;
  --sand:#f4eee5;
  --sand-light:#fbf8f2;
  background:var(--sand-light);
  color:#1d2b38;
}
.home-v5 .container { width:min(1220px,calc(100% - 48px)); }
.home-v5 .site-header { height:80px; background:rgba(251,248,243,.97); border-bottom:1px solid rgba(36,56,75,.09); }
.home-v5 .nav-wrap { gap:24px; }
.home-v5 .brand strong { color:var(--navy); }
.home-v5 .brand small { color:#7c766e; }
.home-v5 .nav { gap:22px; margin-left:auto; }
.home-v5 .nav a { color:#354556; font-size:13px; }
.home-v5 .nav a::after { background:var(--copper); bottom:-13px; }
.header-actions { display:flex; align-items:center; gap:14px; }
.home-v5 .header-phone { border-left:1px solid rgba(36,56,75,.12); padding-left:20px; }
.home-v5 .header-phone span { color:#8b857e; }
.home-v5 .header-phone strong { color:var(--navy); }
.header-quote { height:40px; padding:0 17px; border:0; border-radius:4px; background:var(--copper); color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.header-quote:hover { background:var(--copper-dark); }

.home-hero { margin-top:80px; padding:70px 0 0; position:relative; overflow:hidden; background:linear-gradient(118deg,#f7efe4 0%,#f4eee7 49%,#e7edf1 100%); }
.home-hero::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-130px; top:-230px; background:radial-gradient(circle at 40% 40%,rgba(201,120,60,.18),rgba(36,56,75,.04) 56%,transparent 57%); }
.home-hero::after { content:""; position:absolute; width:390px; height:390px; right:23%; bottom:-260px; border:80px solid rgba(36,56,75,.045); border-radius:50%; }
.hero-orbit { position:absolute; border:1px solid rgba(36,56,75,.1); border-radius:50%; pointer-events:none; }
.orbit-one { width:370px; height:370px; left:-190px; top:120px; }
.orbit-two { width:120px; height:120px; right:34%; top:48px; border-color:rgba(201,120,60,.2); }
.home-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(430px,.88fr); gap:84px; align-items:center; min-height:590px; position:relative; z-index:2; }
.home-hero-copy { padding-bottom:50px; }
.hero-badge { display:inline-flex; align-items:center; gap:9px; color:var(--copper-dark); font-size:11px; font-weight:700; letter-spacing:3px; }
.hero-badge i { width:28px; height:2px; background:var(--copper); }
.home-hero h1 { margin:24px 0 22px; color:var(--navy); font-size:clamp(50px,5vw,68px); line-height:1.13; letter-spacing:-2.5px; }
.home-hero h1 em { display:block; margin-top:7px; color:var(--copper); font-style:normal; font-size:.67em; letter-spacing:-1px; }
.home-hero-copy > p { max-width:620px; margin:0; color:#67717b; font-size:16px; line-height:1.95; }
.home-hero-actions { display:flex; gap:12px; margin-top:34px; }
.primary-home-btn,.secondary-home-btn { min-height:52px; padding:0 23px; border-radius:4px; display:inline-flex; align-items:center; justify-content:center; gap:26px; font-size:13px; font-weight:700; transition:.2s; }
.primary-home-btn { color:#fff; background:var(--navy); box-shadow:0 13px 30px rgba(36,56,75,.18); }
.primary-home-btn:hover { background:#314d68; transform:translateY(-2px); }
.secondary-home-btn { color:var(--navy); border:1px solid rgba(36,56,75,.22); background:rgba(255,255,255,.46); }
.secondary-home-btn:hover { border-color:var(--copper); color:var(--copper-dark); }
.home-trust { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:30px; color:#69737d; font-size:11px; }
.home-trust b { display:inline-block; width:auto; height:auto; margin-right:7px; padding-right:7px; border-right:1px solid rgba(201,120,60,.42); border-radius:0; background:none; color:var(--copper-dark); font:700 10px Georgia,serif; letter-spacing:.5px; }

.quote-card { scroll-margin-top:100px; position:relative; padding:29px; border-radius:10px; border:1px solid rgba(36,56,75,.11); background:rgba(255,253,249,.96); box-shadow:0 30px 70px rgba(50,56,63,.16); }
.quote-card::before { content:""; position:absolute; height:5px; left:0; right:0; top:0; border-radius:10px 10px 0 0; background:linear-gradient(90deg,var(--copper),#e2a46f); }
.quote-card-top { display:flex; justify-content:space-between; align-items:start; gap:20px; padding-bottom:20px; border-bottom:1px solid rgba(36,56,75,.1); }
.quote-card-top span { color:var(--copper-dark); font-size:10px; font-weight:700; letter-spacing:3px; }
.quote-card-top h2 { margin:7px 0 0; color:var(--navy); font-size:23px; }
.quote-card-top small { color:#969089; font-size:9px; line-height:1.6; text-align:right; }
.home-v5 .quote-form { grid-template-columns:1fr 1fr; gap:12px; margin-top:20px; }
.home-v5 .quote-form label { gap:6px; }
.home-v5 .quote-form label > span { color:#5f6973; }
.home-v5 .quote-form input,.home-v5 .quote-form select { height:42px; border-radius:4px; border-color:rgba(36,56,75,.15); background:#fff; }
.home-v5 .quote-form input:focus,.home-v5 .quote-form select:focus { border-color:var(--copper); box-shadow:0 0 0 3px rgba(201,120,60,.12); }
.home-v5 .consult-submit { min-height:52px; border-radius:4px; background:var(--navy); }
.home-v5 .consult-submit:hover { background:#314d68; }
.home-v5 .consult-submit b { color:#efbd91; }
.home-v5 .consult-result { margin-top:12px; border-left-color:var(--copper); background:#f5efe7; }
.home-v5 .consult-result > span { color:var(--copper-dark); }
.home-v5 .consult-result.success { background:#eef1f4; border-left-color:var(--navy); }
.home-v5 .consult-result.success > span { color:var(--navy); }
.quote-contact { display:flex; justify-content:space-between; gap:15px; margin-top:13px; padding-top:13px; border-top:1px solid rgba(36,56,75,.1); color:#777f87; font-size:10px; }
.quote-contact b { color:var(--navy); }
.hero-float-card { position:absolute; z-index:3; width:160px; padding:13px 15px; border:1px solid rgba(36,56,75,.09); border-radius:7px; background:rgba(255,252,247,.94); box-shadow:0 14px 35px rgba(36,56,75,.12); display:grid; gap:4px; }
.hero-float-card strong { color:var(--navy); font-size:11px; }
.hero-float-card span { color:#8a8e91; font-size:9px; }
.float-a { right:-30px; top:18px; }
.float-b { right:-54px; bottom:92px; }
.hero-data-bar { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); padding:0!important; border-radius:8px 8px 0 0; overflow:hidden; background:var(--navy); box-shadow:0 -10px 30px rgba(36,56,75,.12); }
.hero-data-bar > div { min-height:90px; padding:22px 26px; border-right:1px solid rgba(255,255,255,.1); display:grid; align-content:center; gap:6px; }
.hero-data-bar > div:last-child { border-right:0; }
.hero-data-bar span { color:rgba(255,255,255,.48); font-size:9px; letter-spacing:2px; }
.hero-data-bar b { color:#fff; font-size:14px; }

.home-ticker { color:#fff; background:var(--navy-dark); }
.ticker-shell { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:center; min-height:84px; padding:0!important; }
.ticker-label { padding-right:28px; border-right:1px solid rgba(255,255,255,.1); }
.ticker-label span { display:block; margin-bottom:5px; color:#e4a36f; font-size:9px; letter-spacing:3px; }
.ticker-label strong { font-size:15px; }
.home-ticker .deal-window { mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.home-ticker .deal-item { color:#fff; width:245px; }
.home-ticker .deal-item i { background:#db9156; box-shadow:0 0 0 5px rgba(219,145,86,.12); }
.home-ticker .deal-item small { color:rgba(255,255,255,.45); }

.home-section { padding:96px 0; }
.home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:45px; }
.home-section-heading.centered { display:block; text-align:center; }
.home-section-heading > span,.home-section-heading > div > span,.factor-copy > span,.area-card > div > span,.home-final-inner > div > span,.home-kicker { color:var(--copper-dark); font-size:10px; font-weight:700; letter-spacing:4px; }
.home-section-heading h2,.factor-copy h2,.area-card h2,.faq-v5 .faq-title h2 { margin:10px 0 0; color:var(--navy); font-size:clamp(34px,4vw,48px); line-height:1.24; letter-spacing:-1.7px; }
.home-section-heading.centered p { margin:16px auto 0; max-width:650px; color:#747c84; line-height:1.8; font-size:13px; }
.home-section-heading > p { max-width:410px; margin:0; color:#747c84; line-height:1.8; font-size:13px; }
.home-services { background:#fffdfa; }
.recycle-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.recycle-card { position:relative; min-height:260px; padding:34px; border:1px solid rgba(36,56,75,.12); border-radius:8px; background:#f8f3ec; display:grid; grid-template-columns:120px 1fr; gap:30px; align-items:center; transition:.25s; overflow:hidden; }
.recycle-card:hover { transform:translateY(-4px); box-shadow:0 22px 46px rgba(36,56,75,.09); border-color:rgba(201,120,60,.4); }
.recycle-card.featured { color:#fff; border-color:var(--navy); background:var(--navy); }
.card-index { position:absolute; right:23px; top:20px; color:rgba(36,56,75,.28); font:12px Georgia,serif; }
.featured .card-index { color:rgba(255,255,255,.3); }
.recycle-icon { width:105px; height:105px; border-radius:50%; display:grid; place-items:center; color:var(--copper); background:#eee5d9; font-size:30px; font-weight:800; }
.featured .recycle-icon { background:rgba(255,255,255,.08); }
.camera-symbol { position:relative; }
.camera-symbol::before { content:""; width:55px; height:38px; border:3px solid currentColor; border-radius:6px; }
.camera-symbol::after { content:""; position:absolute; width:20px; height:20px; border:3px solid currentColor; border-radius:50%; }
.camera-symbol i { position:absolute; width:22px; height:8px; border:3px solid currentColor; border-bottom:0; border-radius:4px 4px 0 0; top:28px; }
.lens-symbol::before { content:""; width:35px; height:62px; border:3px solid currentColor; border-radius:13px; box-shadow:inset 0 10px 0 transparent; }
.lens-symbol i { position:absolute; width:33px; height:3px; background:currentColor; box-shadow:0 14px 0 currentColor,0 -14px 0 currentColor; }
.recycle-card h3 { margin:0 0 13px; color:var(--navy); font-size:23px; }
.featured h3 { color:#fff; }
.recycle-card p { margin:0; color:#727a82; font-size:13px; line-height:1.85; }
.featured p { color:rgba(255,255,255,.6); }
.recycle-card div > b { display:inline-block; margin-top:23px; color:var(--copper-dark); font-size:11px; }
.featured div > b { color:#e8aa77; }
.scope-link { margin-top:18px; padding:24px 28px; border-radius:7px; background:#e9eef2; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.scope-link p { margin:0; color:#687480; font-size:12px; }
.scope-link a { flex:0 0 auto; color:var(--navy); font-size:12px; font-weight:700; }

.process-v5 { background:#e9eef2; }
.flow-grid { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.flow-grid::before { content:""; position:absolute; left:10%; right:10%; top:56px; height:1px; background:linear-gradient(90deg,transparent,rgba(36,56,75,.24),transparent); }
.flow-grid article { position:relative; text-align:center; padding:0 24px; }
.flow-grid article > b { position:absolute; top:47px; left:calc(50% + 28px); z-index:2; color:var(--copper-dark); font-size:9px; }
.flow-grid article > i { position:relative; z-index:1; width:112px; height:112px; margin:0 auto 25px; border-radius:50%; background:#fffdfa; border:1px solid rgba(36,56,75,.15); box-shadow:0 12px 25px rgba(36,56,75,.06); color:var(--copper); display:grid; place-items:center; font-size:23px; font-style:normal; font-weight:800; }
.flow-grid h3 { margin:0 0 11px; color:var(--navy); font-size:18px; }
.flow-grid p { margin:0; color:#717b84; font-size:12px; line-height:1.8; }

.factor-section { background:#f5eee5; }
.factor-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:72px; align-items:center; }
.factor-copy h2 { margin:14px 0 22px; }
.factor-copy p { max-width:430px; color:#727a82; font-size:14px; line-height:1.9; }
.factor-copy a { display:inline-block; margin-top:18px; padding-bottom:6px; border-bottom:1px solid var(--copper); color:var(--navy); font-size:12px; font-weight:700; }
.factor-board { padding:30px; border-radius:9px; border:1px solid rgba(36,56,75,.11); background:#fffdfa; box-shadow:0 24px 55px rgba(36,56,75,.08); }
.factor-board-head { display:flex; justify-content:space-between; gap:25px; padding-bottom:19px; border-bottom:1px solid rgba(36,56,75,.12); }
.factor-board-head strong { color:var(--navy); font-size:17px; }
.factor-board-head span { color:#92969a; font-size:10px; }
.factor-row { display:grid; grid-template-columns:140px 1fr 90px; gap:20px; align-items:center; min-height:63px; border-bottom:1px solid rgba(36,56,75,.09); }
.factor-row b { color:var(--navy); font-size:12px; }
.factor-row span { color:#737c84; font-size:11px; }
.factor-row em { color:var(--copper-dark); font-size:10px; font-style:normal; text-align:right; }
.factor-note { margin:17px 0 0; color:#8a8d90; font-size:10px; line-height:1.7; }

.content-v5 { background:#fffdfa; }
.heading-link { padding-bottom:6px; border-bottom:1px solid var(--navy); color:var(--navy); font-size:12px; font-weight:700; }
.content-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:22px; }
.guide-v5-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:18px; }
.guide-v5-card { min-height:235px; padding:29px; border-radius:8px; border:1px solid rgba(36,56,75,.11); background:#f5eee5; display:flex; flex-direction:column; transition:.25s; }
.guide-v5-card:hover { transform:translateY(-4px); box-shadow:0 20px 42px rgba(36,56,75,.08); }
.guide-v5-card.large { grid-row:span 2; min-height:488px; position:relative; overflow:hidden; color:#fff; border-color:transparent; background:linear-gradient(rgba(25,42,58,.74),rgba(25,42,58,.94)),image-set(url("assets/hero-camera.webp") type("image/webp"),url("assets/hero-camera.png") type("image/png")) center/cover; }
.guide-v5-card > span { color:var(--copper-dark); font-size:9px; font-weight:700; letter-spacing:3px; }
.guide-v5-card.large > span { color:#efb587; }
.guide-v5-card h3 { margin:34px 0 13px; color:var(--navy); font-size:22px; line-height:1.45; }
.guide-v5-card.large h3 { margin-top:auto; color:#fff; font-size:30px; }
.guide-v5-card p { margin:0; color:#747d85; font-size:12px; line-height:1.8; }
.guide-v5-card.large p { color:rgba(255,255,255,.65); }
.guide-v5-card b { margin-top:auto; padding-top:20px; color:var(--copper-dark); font-size:11px; }
.guide-v5-card.large b { color:#efb587; }
.question-list { border-radius:8px; border:1px solid rgba(36,56,75,.12); background:#f9f5ef; padding:26px; }
.question-list-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; }
.question-list-head span { color:var(--navy); font-size:17px; font-weight:700; }
.question-list-head a { color:var(--copper-dark); font-size:10px; }
.question-list > a { min-height:77px; border-top:1px solid rgba(36,56,75,.1); display:grid; grid-template-columns:28px 1fr 20px; gap:12px; align-items:center; }
.question-list > a b { color:var(--copper); font:12px Georgia,serif; }
.question-list > a span { color:#485866; font-size:12px; line-height:1.55; }
.question-list > a i { color:var(--navy); font-style:normal; }

.service-area-v5 { padding-top:0; background:#fffdfa; }
.area-card { min-height:300px; padding:52px 60px; border-radius:10px; color:#fff; background:linear-gradient(120deg,var(--navy-dark),#314d68); display:flex; justify-content:space-between; align-items:center; gap:70px; position:relative; overflow:hidden; }
.area-card::after { content:""; position:absolute; width:340px; height:340px; right:-80px; top:-190px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.area-card > div { position:relative; z-index:1; }
.area-card > div > span { color:#e5a975; }
.area-card h2 { color:#fff; font-size:39px; }
.area-card p { max-width:650px; color:rgba(255,255,255,.58); font-size:12px; line-height:1.85; }
.area-actions { width:330px; flex:0 0 auto; display:grid; }
.area-actions a,.area-actions button { min-height:53px; padding:0 18px; border:0; border-bottom:1px solid rgba(255,255,255,.14); background:transparent; color:#fff; text-align:left; font:12px inherit; cursor:pointer; }
.area-actions .rules-link { display:flex; align-items:center; color:#e8b183; }

.faq-v5 { background:#f5eee5; }
.faq-v5 .faq-title h2 { margin:13px 0 19px; }
.faq-v5 .faq-title p { color:#747c84; line-height:1.8; }
.faq-v5 .faq-title .compact-link { color:var(--navy); border-color:var(--navy); }
.faq-v5 .faq-item { border-color:rgba(36,56,75,.14); }
.faq-v5 .faq-item button { color:var(--navy); font-size:14px; }
.faq-v5 .faq-item button i::before,.faq-v5 .faq-item button i::after { background:var(--copper); }
.faq-v5 .answer p { color:#6e7780; }
.faq-v5 .answer a { color:var(--copper-dark); }

.home-final { padding:85px 0; background:linear-gradient(120deg,#b6652d,#d78d51); color:#fff; }
.home-final-inner { display:flex; justify-content:space-between; align-items:end; gap:70px; }
.home-final-inner > div > span { color:rgba(255,255,255,.65); }
.home-final h2 { margin:12px 0 0; color:#fff; font-size:clamp(37px,4.2vw,55px); line-height:1.22; letter-spacing:-1.5px; }
.home-final-inner > div:last-child { width:390px; flex:0 0 auto; }
.home-final-inner a,.home-final-inner button { width:100%; min-height:58px; padding:0 18px; border:0; border-top:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
.home-final-inner b { font-size:15px; }

.home-v5 .site-footer { background:var(--navy-dark); }
.home-v5 .footer-links a:hover { color:#e6aa76; }
.home-v5 .floating-contact a,.home-v5 .floating-contact button { border-radius:7px; color:var(--navy); }
.home-v5 .floating-contact span { background:var(--copper); }
.home-v5 .wechat-tooltip { border-color:rgba(201,120,60,.45); background:var(--navy); }
.home-v5 .wechat-tooltip::after { border-color:rgba(201,120,60,.45); background:var(--navy); }
.home-v5 .wechat-tooltip strong { color:#efb687; }

/* Inner pages use the same blue/copper identity. */
.sub-hero { background:linear-gradient(125deg,#1c2e3f 0%,#2b4358 72%,#385971 100%); }
.sub-hero::before { border-color:rgba(201,120,60,.28); }
.sub-hero .sub-meta { color:#e7ad79; }
.kicker { color:#ae622d; }
.info-band { background:#e8d2ba; }

@media (max-width:1120px) {
  .home-v5 .nav { gap:15px; }
  .home-v5 .nav a { font-size:12px; }
  .header-quote { display:none; }
  .home-hero-grid { gap:42px; grid-template-columns:minmax(0,1fr) minmax(400px,.9fr); }
  .float-a,.float-b { display:none; }
  .content-layout { grid-template-columns:1.1fr .9fr; }
}

@media (max-width:920px) {
  .home-v5 .header-actions { display:none; }
  .home-hero-grid { grid-template-columns:1fr; min-height:0; }
  .home-hero-copy { padding:20px 0 0; max-width:700px; }
  .quote-card { width:min(100%,700px); }
  .hero-data-bar { margin-top:55px; }
  .recycle-grid { grid-template-columns:1fr; }
  .flow-grid { grid-template-columns:1fr 1fr; gap:46px 0; }
  .flow-grid::before { display:none; }
  .factor-layout { grid-template-columns:1fr; }
  .factor-copy { max-width:650px; }
  .content-layout { grid-template-columns:1fr; }
  .question-list { margin-top:0; }
}

@media (max-width:720px) {
  .home-v5 .site-header { height:68px; }
  .home-v5 .container { width:min(100% - 32px,1220px); }
  .home-v5 .nav { gap:30px; }
  .home-hero { margin-top:68px; padding-top:48px; }
  .home-hero-grid { gap:34px; }
  .home-hero-copy { padding:0; }
  .home-hero h1 { font-size:43px; letter-spacing:-1.5px; }
  .home-hero h1 em { font-size:.63em; }
  .home-hero-copy > p { font-size:14px; }
  .home-hero-actions { flex-direction:column; }
  .primary-home-btn,.secondary-home-btn { width:100%; }
  .home-trust { display:grid; }
  .quote-card { padding:22px 18px; }
  .quote-card-top small { display:none; }
  .home-v5 .quote-form { grid-template-columns:1fr; }
  .home-v5 .quote-form label.wide,.home-v5 .quote-form .consult-submit { grid-column:auto; }
  .quote-contact { display:grid; }
  .hero-data-bar { grid-template-columns:1fr 1fr; border-radius:6px 6px 0 0; }
  .hero-data-bar > div { min-height:76px; padding:16px; border-bottom:1px solid rgba(255,255,255,.1); }
  .ticker-shell { width:100%!important; grid-template-columns:1fr; }
  .ticker-label { padding:14px 16px 9px; border-right:0; }
  .home-ticker .deal-window { padding-bottom:14px; }
  .home-section { padding:72px 0; }
  .home-section-heading { display:block; margin-bottom:32px; }
  .home-section-heading > p { margin-top:16px; }
  .home-section-heading h2,.factor-copy h2,.faq-v5 .faq-title h2 { font-size:34px; }
  .recycle-card { grid-template-columns:1fr; padding:27px; }
  .recycle-icon { width:82px; height:82px; }
  .scope-link { display:block; }
  .scope-link a { display:inline-block; margin-top:16px; }
  .flow-grid { grid-template-columns:1fr; }
  .flow-grid article { padding:0 20px; }
  .factor-layout { gap:36px; }
  .factor-board { padding:19px; }
  .factor-board-head { display:block; }
  .factor-board-head span { display:block; margin-top:7px; }
  .factor-row { grid-template-columns:1fr; gap:6px; padding:15px 0; }
  .factor-row em { text-align:left; }
  .guide-v5-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .guide-v5-card.large { grid-row:auto; min-height:390px; }
  .area-card { padding:36px 25px; display:block; }
  .area-card h2 { font-size:31px; }
  .area-actions { width:100%; margin-top:32px; }
  .home-final-inner { display:block; }
  .home-final-inner > div:last-child { width:100%; margin-top:35px; }
}

/* v7 — full-category imagery and category-specific information */
.site-header .nav-wrap { gap:26px; }
.site-header .nav { gap:18px; }
.site-header .nav a { font-size:12px; white-space:nowrap; }

.hero-device-stage { position:relative; height:172px; margin:24px 0 0; border-radius:8px; overflow:hidden; border:1px solid rgba(36,56,75,.12); background:var(--navy); box-shadow:0 18px 38px rgba(36,56,75,.12); }
.hero-device-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,42,58,.08) 35%,rgba(25,42,58,.74)); pointer-events:none; }
.hero-device-stage img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 54%; }
.hero-device-stage figcaption { position:absolute; z-index:1; right:20px; bottom:17px; width:210px; display:grid; gap:5px; color:#fff; text-align:right; }
.hero-device-stage figcaption strong { font-size:12px; }
.hero-device-stage figcaption span { color:rgba(255,255,255,.65); font-size:9px; line-height:1.55; }
.category-hint { grid-column:1 / -1; padding:11px 13px; border:1px solid rgba(201,120,60,.22); border-left:3px solid var(--copper); border-radius:4px; background:#f6efe7; display:grid; gap:4px; }
.category-hint b { color:var(--navy); font-size:10px; }
.category-hint span { color:#77736f; font-size:9px; line-height:1.55; }
.full-data-bar { grid-template-columns:repeat(5,1fr); }
.full-data-bar > div { padding-inline:21px; }

.category-photo-card { grid-template-columns:210px minmax(0,1fr); min-height:286px; padding:0; align-items:stretch; }
.category-photo-card > img { width:100%; height:100%; min-height:286px; display:block; object-fit:cover; }
.category-photo-card > div { align-self:stretch; padding:35px 31px 31px; display:flex; flex-direction:column; justify-content:center; }
.category-photo-card > div > b { margin-top:20px; }
.category-photo-card.featured > img { opacity:.86; }
.category-photo-card.featured > div { background:linear-gradient(135deg,rgba(36,56,75,.95),rgba(25,42,58,1)); }
.category-photo-card .card-index { z-index:2; }
.guide-v5-card.large { background:linear-gradient(rgba(25,42,58,.66),rgba(25,42,58,.94)),url("assets/hero-digital-v6.webp") center/cover; }

/* Shared service-page photography */
.service-visual { position:relative; width:100%; min-height:250px; margin:32px 0 4px; border-radius:9px; overflow:hidden; border:1px solid rgba(36,56,75,.12); background:#1c2e3f; box-shadow:0 18px 42px rgba(36,56,75,.11); }
.service-visual-img { width:100%; height:100%; min-height:250px; position:absolute; inset:0; display:block; object-fit:cover; object-position:center; }
.service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(25,42,58,.82)); pointer-events:none; }
.service-visual-caption { position:absolute; z-index:1; left:24px; right:24px; bottom:19px; color:rgba(255,255,255,.86); font-size:11px; line-height:1.7; }
.sub-hero .service-visual-hero { max-width:880px; min-height:278px; margin-top:36px; }
.sub-hero .service-visual-hero .service-visual-img { min-height:278px; }
.check-intro .service-visual { min-height:210px; margin-top:28px; }
.check-intro .service-visual-img { min-height:210px; }

/* Full-category scope hub */
.scope-hero { padding:76px 0 70px; }
.scope-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.86fr); gap:64px; align-items:center; }
.scope-hero-copy { min-width:0; }
.scope-hero .kicker { display:block; margin-bottom:18px; color:#efb27f; }
.scope-hero h1 { font-size:clamp(42px,4.7vw,60px); }
.scope-hero .sub-lede { max-width:650px; }
.scope-hero-media { position:relative; min-width:0; margin:0; border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:#14283a; box-shadow:0 26px 65px rgba(10,25,38,.28); }
.scope-hero-image { width:100%; aspect-ratio:1.16 / 1; display:block; object-fit:cover; }
.scope-hero-note { position:absolute; left:18px; right:18px; bottom:18px; padding:15px 17px; border:1px solid rgba(255,255,255,.14); border-radius:6px; background:rgba(25,42,58,.86); backdrop-filter:blur(12px); display:grid; gap:4px; }
.scope-hero-note strong { color:#fff; font-size:12px; }
.scope-hero-note span { color:rgba(255,255,255,.62); font-size:9px; line-height:1.55; }
.scope-overview { background:#fbf8f2; }
.scope-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.scope-card { min-width:0; overflow:hidden; border:1px solid rgba(36,56,75,.13); border-radius:9px; background:#fffdfa; box-shadow:0 15px 38px rgba(36,56,75,.055); transition:transform .25s,box-shadow .25s,border-color .25s; }
.scope-card:hover { transform:translateY(-4px); border-color:rgba(201,120,60,.36); box-shadow:0 24px 50px rgba(36,56,75,.09); }
.scope-card-media { position:relative; height:225px; display:block; overflow:hidden; background:#e6ddd2; }
.scope-card-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .4s; }
.scope-card:hover .scope-card-media img { transform:scale(1.025); }
.scope-card-media > span { position:absolute; left:18px; top:18px; padding:7px 10px; border-radius:3px; background:rgba(25,42,58,.88); color:#fff; font-size:9px; font-weight:700; letter-spacing:2px; }
.scope-card-body { padding:29px 30px 31px; }
.scope-card-body h3 { margin:0 0 10px; color:#24384b; font-size:23px; }
.scope-card-body > p { margin:0 0 21px; color:#747c84; font-size:12px; line-height:1.8; }
.scope-card-list { margin:0; border-top:1px solid rgba(36,56,75,.1); }
.scope-card-list > div { display:grid; grid-template-columns:55px 1fr; gap:14px; padding:11px 0; border-bottom:1px solid rgba(36,56,75,.09); }
.scope-card-list dt { color:#a85c27; font-size:10px; font-weight:700; }
.scope-card-list dd { margin:0; color:#5f6973; font-size:10px; line-height:1.65; }
.scope-card-actions { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:22px; }
.scope-card-actions a { padding-bottom:5px; border-bottom:1px solid rgba(201,120,60,.55); color:#24384b; font-size:11px; font-weight:700; }
.scope-card--wide { grid-column:1 / -1; display:grid; grid-template-columns:.82fr 1.18fr; }
.scope-card--wide .scope-card-media { height:100%; min-height:460px; }
.scope-card--wide .scope-card-body { padding:38px 40px; }
.boundary-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.boundary-card { min-height:275px; border-radius:7px; }
.boundary-card h3 { margin:32px 0 13px; }
.boundary-card--warn { border-color:rgba(184,92,43,.34); background:#fff6ed; }
.boundary-card--warn > span { color:#b05d2d; }

@media (max-width:1180px) {
  .site-header .header-phone,.home-v5 .header-actions { display:none; }
  .site-header .nav { margin-left:auto; }
}

@media (max-width:920px) {
  .full-data-bar { grid-template-columns:repeat(3,1fr); }
  .full-data-bar > div:nth-child(4),.full-data-bar > div:nth-child(5) { border-top:1px solid rgba(255,255,255,.1); }
  .scope-hero-grid { grid-template-columns:1fr; gap:38px; }
  .scope-hero-copy { max-width:760px; }
  .scope-hero-media { width:min(100%,760px); }
  .scope-hero-image { aspect-ratio:16 / 8.5; }
  .scope-grid { grid-template-columns:1fr; }
  .scope-card--wide { grid-column:auto; grid-template-columns:1fr; }
  .scope-card--wide .scope-card-media { min-height:260px; height:260px; }
  .boundary-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:720px) {
  .hero-device-stage { height:185px; }
  .hero-device-stage::after { background:linear-gradient(180deg,transparent 30%,rgba(25,42,58,.86)); }
  .hero-device-stage figcaption { left:16px; right:16px; bottom:14px; width:auto; text-align:left; }
  .category-hint { grid-column:auto; }
  .full-data-bar { grid-template-columns:1fr 1fr; }
  .full-data-bar > div:nth-child(5) { grid-column:1 / -1; }
  .category-photo-card { grid-template-columns:1fr; min-height:0; }
  .category-photo-card > img { height:210px; min-height:210px; }
  .category-photo-card > div { min-height:245px; padding:27px 25px; }
  .service-visual,.service-visual-img { min-height:215px; }
  .sub-hero .service-visual-hero,.sub-hero .service-visual-hero .service-visual-img { min-height:220px; }
  .service-visual-caption { left:16px; right:16px; bottom:14px; }
  .scope-hero { padding:60px 0; }
  .scope-hero-grid { gap:30px; }
  .scope-hero h1 { font-size:39px; }
  .scope-hero-image { aspect-ratio:1 / .92; }
  .scope-hero-note { left:12px; right:12px; bottom:12px; }
  .scope-card-media { height:205px; }
  .scope-card-body,.scope-card--wide .scope-card-body { padding:25px 22px 27px; }
  .scope-card--wide .scope-card-media { min-height:220px; height:220px; }
  .scope-card-list > div { grid-template-columns:48px 1fr; gap:10px; }
  .boundary-grid { grid-template-columns:1fr; }
}

/* Homepage valuation conversation */
.valuation-chat { padding:26px; }
.valuation-head { align-items:center; padding-bottom:17px; }
.valuation-head h2 { font-size:21px; line-height:1.3; }
.valuation-reset { flex:0 0 auto; border:0; border-bottom:1px solid rgba(36,56,75,.3); background:transparent; color:#5c6873; padding:4px 0; font:10px inherit; cursor:pointer; }
.valuation-reset:hover { color:var(--copper-dark); border-color:var(--copper); }
.valuation-reset:disabled { opacity:.45; cursor:default; }
.valuation-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px 13px; padding:12px 0; color:#81878c; font-size:9px; border-bottom:1px solid rgba(36,56,75,.08); }
.valuation-meta span + span { padding-left:13px; border-left:1px solid rgba(36,56,75,.12); }
.valuation-online { display:inline-flex; align-items:center; gap:6px; color:#486a5d!important; font-weight:700; }
.valuation-online i { width:6px; height:6px; border-radius:50%; background:#4c8b72; box-shadow:0 0 0 3px rgba(76,139,114,.12); }
.valuation-messages { height:278px; margin:0 -5px; padding:17px 5px 12px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(36,56,75,.23) transparent; }
.valuation-message { width:fit-content; max-width:91%; margin:0 0 13px; padding:12px 14px; border:1px solid rgba(36,56,75,.1); border-radius:3px 12px 12px 12px; background:#fff; box-shadow:0 5px 16px rgba(36,56,75,.045); }
.valuation-message.user-message { margin-left:auto; border-color:var(--navy); border-radius:12px 3px 12px 12px; background:var(--navy); color:#fff; box-shadow:0 8px 20px rgba(36,56,75,.13); }
.message-label { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:7px; color:#a06032; font-size:8px; font-weight:700; letter-spacing:.5px; }
.message-label time { color:#a0a3a5; font-weight:400; letter-spacing:0; }
.user-message .message-label { color:#e8a975; }
.user-message .message-label time { color:rgba(255,255,255,.45); }
.valuation-message p { margin:0; color:#4f5d68; font-size:11px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }
.user-message p { color:rgba(255,255,255,.88); }
.copy-handoff-summary { width:100%; min-height:34px; margin-top:10px; padding:0 10px; border:1px solid rgba(36,56,75,.2); border-radius:4px; background:#f7f2eb; color:var(--navy); font:9px inherit; font-weight:700; cursor:pointer; }
.copy-handoff-summary:hover { border-color:var(--copper); color:var(--copper-dark); }
.message-images { display:flex; gap:6px; margin:0 0 9px; }
.message-images img { width:58px; height:58px; border-radius:4px; object-fit:cover; border:1px solid rgba(255,255,255,.24); }
.valuation-message.is-waiting { min-width:155px; background:#f7f2eb; box-shadow:none; }
.valuation-message.is-waiting p::after { content:""; display:inline-block; width:18px; height:4px; margin-left:7px; vertical-align:middle; background:radial-gradient(circle,#b06a37 1.5px,transparent 2px) 0 0 / 6px 4px repeat-x; animation:valuationDots 1s steps(3,end) infinite; }
@keyframes valuationDots { 0% { width:4px; } 100% { width:18px; } }
.valuation-shortcuts { display:flex; gap:6px; padding:1px 0 10px; overflow-x:auto; scrollbar-width:none; }
.valuation-shortcuts::-webkit-scrollbar { display:none; }
.valuation-shortcuts button { flex:0 0 auto; min-height:28px; padding:0 9px; border:1px solid rgba(36,56,75,.13); border-radius:3px; background:#fbf8f3; color:#5e6973; font:9px inherit; cursor:pointer; transition:border-color .2s,color .2s,background .2s; }
.valuation-shortcuts button:hover { border-color:rgba(201,120,60,.5); background:#fff7ef; color:var(--copper-dark); }
.valuation-shortcuts .handoff-shortcut { border-color:rgba(36,56,75,.28); color:var(--navy); font-weight:700; }
.valuation-shortcuts button:disabled { opacity:.5; cursor:default; }
.valuation-uploads { display:flex; gap:8px; margin:0 0 9px; padding:9px; border:1px solid rgba(36,56,75,.1); border-radius:5px; background:#f4f0ea; }
.valuation-uploads[hidden],.valuation-limit[hidden] { display:none!important; }
.valuation-uploads figure { position:relative; width:58px; height:58px; margin:0; }
.valuation-uploads img { width:100%; height:100%; display:block; border-radius:4px; object-fit:cover; }
.valuation-uploads button { position:absolute; right:-5px; top:-5px; width:19px; height:19px; padding:0; border:2px solid #f4f0ea; border-radius:50%; background:var(--navy); color:#fff; font:14px/15px Arial,sans-serif; cursor:pointer; }
.valuation-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 10px; padding:10px; border:1px solid rgba(36,56,75,.16); border-radius:6px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.valuation-form:focus-within { border-color:var(--copper); box-shadow:0 0 0 3px rgba(201,120,60,.1); }
.valuation-input-wrap { grid-column:1 / -1; display:block; }
.valuation-input-wrap textarea { width:100%; min-height:48px; max-height:112px; padding:2px 3px 5px; resize:vertical; border:0; outline:0; background:transparent; color:var(--navy); font:11px/1.65 inherit; }
.valuation-input-wrap textarea::placeholder { color:#9ca1a4; }
.valuation-input-wrap textarea:disabled { opacity:.6; cursor:not-allowed; }
.valuation-file-button { grid-column:1; grid-row:2; width:max-content; min-height:34px; display:inline-flex; align-items:center; gap:6px; padding:0 9px 0 7px; border:1px solid rgba(36,56,75,.13); border-radius:4px; background:#f8f5f0; color:#52616c; cursor:pointer; }
.valuation-file-button:hover { color:var(--copper-dark); border-color:rgba(201,120,60,.5); }
.valuation-file-button span { color:var(--copper); font-size:18px; font-weight:300; line-height:1; }
.valuation-file-button b { font-size:9px; font-weight:700; white-space:nowrap; }
.valuation-file-button input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; pointer-events:none; }
.valuation-file-button.disabled { opacity:.42; cursor:not-allowed; pointer-events:none; }
.valuation-send { grid-column:2; grid-row:2; min-width:78px; min-height:34px; padding:0 12px; border:0; border-radius:4px; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:13px; font:10px inherit; font-weight:700; cursor:pointer; }
.valuation-send:hover { background:#314d68; }
.valuation-send:disabled { opacity:.52; cursor:not-allowed; }
.valuation-send i { color:#e9a772; font-size:14px; font-style:normal; }
.valuation-feedback { min-height:18px; padding:7px 2px 0; color:#8a8d90; font-size:9px; line-height:1.5; }
.valuation-limit { margin-top:8px; padding:12px 13px; border-left:2px solid var(--copper); background:#f7ede3; }
.valuation-limit strong { display:block; color:var(--navy); font-size:11px; }
.valuation-limit p { margin:5px 0 9px; color:#6f7478; font-size:9px; line-height:1.65; }
.valuation-limit > div { display:flex; flex-wrap:wrap; gap:7px; }
.valuation-limit button,.valuation-limit a { min-height:31px; padding:0 10px; border:1px solid rgba(36,56,75,.18); border-radius:3px; background:#fff; color:var(--navy); display:inline-flex; align-items:center; font:9px inherit; cursor:pointer; }
.valuation-limit button { border-color:var(--navy); background:var(--navy); color:#fff; }
.valuation-note { align-items:start; line-height:1.45; }
.valuation-note span { max-width:230px; }
.valuation-note b { max-width:175px; text-align:right; font-weight:700; }

@media (max-width:720px) {
  .valuation-chat { padding:20px 16px; }
  .valuation-head { padding-bottom:14px; }
  .valuation-head h2 { font-size:19px; }
  .valuation-meta { gap:6px 10px; }
  .valuation-meta span + span { padding-left:10px; }
  .valuation-meta span:last-child { width:100%; padding-left:0; border-left:0; }
  .valuation-messages { height:min(310px,46vh); min-height:265px; padding-top:14px; }
  .valuation-message { max-width:94%; padding:11px 12px; }
  .valuation-shortcuts { margin-right:-16px; padding-right:16px; }
  .valuation-input-wrap textarea { min-height:51px; }
  .valuation-file-button { min-height:38px; }
  .valuation-send { min-height:38px; min-width:84px; }
  .valuation-note { display:grid; gap:5px; }
  .valuation-note span,.valuation-note b { max-width:none; text-align:left; }
}

@media (max-width:400px) {
  .valuation-chat { padding:19px 14px; }
  .valuation-head h2 { font-size:18px; }
  .valuation-reset { font-size:9px; }
  .valuation-message p { font-size:10.5px; }
  .valuation-limit > div { display:grid; grid-template-columns:1fr; }
  .valuation-limit button,.valuation-limit a { justify-content:center; }
}

@media (prefers-reduced-motion:reduce) {
  .valuation-message.is-waiting p::after { animation:none; width:18px; }
}

/* v9 — security, conversion and accessibility refinement */
.skip-link { position:fixed; z-index:300; left:16px; top:12px; padding:11px 15px; border-radius:4px; background:#fff; color:var(--navy); font-size:13px; font-weight:800; box-shadow:0 10px 30px rgba(0,0,0,.2); transform:translateY(-150%); transition:transform .18s; }
.skip-link:focus { transform:none; }
:where(a,button,input,textarea,select):focus-visible { outline:3px solid #a95724; outline-offset:3px; }
body.menu-open { overflow:hidden; }

.hero-float-card { display:none; }
.home-v5 .floating-contact { display:none; }
.hero-title-main { white-space:nowrap; }
.home-final { background:linear-gradient(120deg,#82421f,#a95627); }

.sub-hero { padding-top:78px; padding-bottom:72px; }
.sub-hero-actions,.scope-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px; }
.sub-hero-actions .primary-home-btn,.scope-hero-actions .primary-home-btn { background:#fff; color:var(--navy); box-shadow:0 12px 32px rgba(0,0,0,.15); }
.sub-hero-actions .primary-home-btn:hover,.scope-hero-actions .primary-home-btn:hover { background:#f8eee4; }
.sub-hero-actions .secondary-home-btn,.scope-hero-actions .secondary-home-btn { color:#fff; border-color:rgba(255,255,255,.38); background:rgba(255,255,255,.06); cursor:pointer; }
.sub-hero-actions .secondary-home-btn:hover,.scope-hero-actions .secondary-home-btn:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.12); }
.scope-phone-link { min-height:52px; display:inline-flex; align-items:center; padding:0 5px; color:#fff; border-bottom:1px solid rgba(255,255,255,.45); font-size:12px; font-weight:700; }

.scope-hero-media { aspect-ratio:1.16 / 1; }
.scope-hero-image { width:100%; height:100%; aspect-ratio:auto; }

.quote-card.valuation-chat { padding:24px; border-radius:16px; box-shadow:0 24px 60px rgba(50,56,63,.13); }
.quote-card.valuation-chat::before { display:none; }
.valuation-head { align-items:flex-start; padding-bottom:0; border-bottom:0; }
.valuation-title-copy h2 { margin:0; color:var(--navy); font-size:32px; line-height:1.12; letter-spacing:-.6px; }
.valuation-title-copy p { margin:7px 0 0; color:#59636d; font-size:15px; line-height:1.5; }
.valuation-reset { margin-top:5px; padding:3px 0; color:#66717a; font-size:13px; }
.valuation-reset[hidden] { display:none; }
.valuation-messages { display:none; height:278px; margin:18px 0 0; padding:4px 3px 8px; transition:height .25s ease; }
.valuation-messages.has-conversation { display:block; height:278px; }
.message-label { font-size:12px; }
.valuation-message { max-width:94%; padding:13px 15px; }
.valuation-message p { font-size:16px; line-height:1.62; }
.valuation-form { margin-top:18px; padding:12px; border-radius:10px; }
.valuation-input-wrap textarea { min-height:58px; color:var(--navy); font-size:16px; line-height:1.55; }
.valuation-input-wrap textarea::placeholder { color:#78818a; }
.valuation-file-button { min-height:48px; padding:0 14px 0 11px; border-radius:7px; }
.valuation-file-button b { font-size:14px; }
.valuation-send { min-width:126px; min-height:48px; padding:0 17px; border-radius:7px; font-size:16px; }
.valuation-send i { font-size:17px; }
.valuation-shortcuts { flex-wrap:nowrap; gap:8px; margin-top:12px; padding:0 0 3px; overflow-x:auto; scrollbar-width:thin; }
.valuation-shortcuts button { min-height:38px; padding:0 13px; border-color:transparent; border-radius:999px; background:#f4f0ea; color:#4f5d68; font-size:13px; }
.valuation-support-row { display:flex; align-items:center; gap:8px; min-height:24px; margin-top:8px; color:#68727b; font-size:12px; }
.valuation-feedback { min-height:0; padding:0; color:#68727b; font-size:12px; }
.valuation-support-row a { color:#8d491f; text-decoration:underline; text-underline-offset:2px; }
.valuation-secondary-actions { display:none; justify-content:flex-end; margin-top:8px; }
.valuation-messages.has-conversation ~ .valuation-secondary-actions { display:flex; }
.valuation-human-link { padding:3px 0; border:0; border-bottom:1px solid rgba(36,56,75,.28); background:transparent; color:#52616c; font:13px inherit; cursor:pointer; }
.valuation-human-link:hover { color:var(--copper-dark); border-color:var(--copper); }
.valuation-disclaimer { margin:12px 0 0; color:#768089; font-size:12px; line-height:1.5; }
.valuation-limit strong { font-size:13px; }
.valuation-limit p { color:#59636d; font-size:11px; }
.valuation-limit button,.valuation-limit a { min-height:36px; font-size:11px; }
.copy-handoff-summary { min-height:40px; font-size:11px; }

@media (max-width:920px) {
  .scope-hero-media { aspect-ratio:16 / 8.5; }
}

@media (max-width:860px) {
  .site-header .menu-btn { display:block; margin-left:auto; }
  .site-header .nav { position:fixed; z-index:80; inset:78px 0 auto; height:calc(100vh - 78px); height:calc(100dvh - 78px); padding:35px 24px; background:var(--paper); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(100%); transition:transform .28s ease,opacity .2s ease,visibility .28s; }
  .menu-open .site-header .nav { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .site-header .nav a { font-size:18px; }
  .menu-open .menu-btn span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  .menu-open .menu-btn span:nth-child(2) { opacity:0; }
  .menu-open .menu-btn span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .site-header .header-phone,.home-v5 .header-actions { display:none; }
}

@media (max-width:720px) {
  body:not(.home-v5) { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .site-header .nav { inset:68px 0 auto; height:calc(100vh - 68px); height:calc(100dvh - 68px); }
  .home-v5 .floating-contact { display:none; }
  body:not(.home-v5) .floating-contact { left:10px; right:10px; bottom:calc(8px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  body:not(.home-v5) .floating-contact a,body:not(.home-v5) .floating-contact button { width:auto; min-height:52px; border-radius:6px; display:flex; flex-direction:row; justify-content:center; gap:8px; }
  body:not(.home-v5) .floating-contact span { display:grid; width:24px; height:24px; }
  .toast { bottom:calc(72px + env(safe-area-inset-bottom)); }
  .sub-hero { padding-top:54px; padding-bottom:50px; }
  .sub-hero-actions,.scope-hero-actions { display:grid; grid-template-columns:1fr; }
  .sub-hero-actions .primary-home-btn,.sub-hero-actions .secondary-home-btn,.scope-hero-actions .primary-home-btn,.scope-hero-actions .secondary-home-btn { width:100%; }
  .scope-phone-link { justify-content:center; }
  .scope-hero { padding-top:54px; padding-bottom:54px; }
  .scope-hero-media { aspect-ratio:1 / .92; }
  .scope-card-media { height:180px; }
  .faq-page-layout { gap:26px; }
  .faq-nav { position:sticky; z-index:20; top:68px; display:flex; gap:8px; margin:0 -16px; padding:10px 16px; overflow-x:auto; overscroll-behavior-inline:contain; background:rgba(255,253,249,.96); box-shadow:0 8px 20px rgba(36,56,75,.06); scrollbar-width:none; }
  .faq-nav::-webkit-scrollbar { display:none; }
  .faq-nav a { flex:0 0 auto; padding:9px 12px; border:1px solid rgba(36,56,75,.14); border-radius:999px; background:#fff; color:#4f5d68; font-size:12px; }
  .quote-card.valuation-chat { padding:19px 16px; border-radius:13px; }
  .valuation-title-copy h2 { font-size:29px; }
  .valuation-title-copy p { margin-top:5px; font-size:15px; }
  .valuation-reset { font-size:12px; }
  .valuation-messages { height:min(310px,42vh); min-height:0; margin-top:16px; }
  .valuation-messages.has-conversation { height:min(310px,42vh); min-height:250px; }
  .valuation-message { max-width:96%; padding:12px 13px; }
  .valuation-form { margin-top:16px; }
  .valuation-shortcuts { margin-right:0; padding-right:0; }
  .valuation-shortcuts button { min-height:40px; }
  .valuation-file-button,.valuation-send { min-height:48px; }
}

@media (max-width:400px) {
  .home-hero h1 { font-size:clamp(34px,11vw,39px); letter-spacing:-1px; }
  .valuation-title-copy h2 { font-size:27px; }
  .valuation-message p { font-size:15px; }
  .valuation-form { gap:7px 8px; }
  .valuation-file-button { width:100%; justify-content:center; padding-right:10px; }
  .valuation-send { min-width:110px; padding:0 12px; gap:8px; }
}
