/* Local review: ABC voice and interior hierarchy. No homepage overrides. */
html body.abc-interior { --abc-navy:#0b1628; --abc-gold:#dec38f; --abc-line:#dcdedc; }
html body.abc-interior main :is(h1,h2,h3,h4) { font-weight:500; }
html body.abc-interior main h1 { font-weight:500; letter-spacing:-.045em; }
html body.abc-interior .abc-initial { color:var(--abc-gold); font-style:normal; }
html body.abc-interior .abc-service-hero { padding-block:76px 80px; gap:8%; grid-template-columns:1.4fr .8fr; }
html body.abc-interior .abc-service-hero h1 { font-size:clamp(42px,4.7vw,70px); line-height:1.14; }
html body.abc-interior .abc-service-hero>div>p:not(.eyebrow) { max-width:590px; }
html body.abc-interior .abc-service-hero .v2-service-portrait { height:340px; }
html body.abc-interior .abc-service-hero .v2-service-aside strong { font-family:Poppins,Noto,Arial,sans-serif; font-weight:500; }
html body.abc-interior .abc-jump { display:flex; align-items:center; gap:20px; width:fit-content; padding-block:16px; margin-top:10px; font-size:14px; color:#47515d; }
html body.abc-interior .abc-jump:hover { color:#0b1628; text-decoration:underline; text-underline-offset:5px; }
html body.abc-interior .abc-principles { background:var(--abc-navy); color:white; padding-block:70px 78px; }
html body.abc-interior .abc-principles h2 { color:white; font-size:clamp(28px,3vw,42px)!important; max-width:780px; margin:0; }
html body.abc-interior .abc-principles .eyebrow { color:#dec38f; margin-bottom:20px; }
html body.abc-interior .abc-principle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; margin-top:48px; }
html body.abc-interior .abc-principle-grid article { border-top:1px solid #ffffff40; padding-top:26px; }
html body.abc-interior .abc-principle-grid h3 { color:white; font-size:clamp(28px,2.8vw,38px)!important; line-height:1.3!important; font-weight:600; letter-spacing:-.03em; margin:0 0 8px; }
html body.abc-interior .abc-principle-grid h4 { font-family:Poppins,Noto,Arial,sans-serif; color:#fff; font-size:16px; line-height:1.6; letter-spacing:0; margin:0 0 18px; }
html body.abc-interior .abc-principle-grid .abc-qualifier { display:block; color:#fff; font-size:16px; font-weight:500; line-height:1.6; letter-spacing:0; margin-block:8px 18px; }
html body.abc-interior .abc-principle-grid p { color:#d4d9df; font-size:16px; line-height:1.85; margin:0; }
html body.abc-interior .abc-process { padding-block:80px; }
html body.abc-interior .abc-process .v2-steps li { grid-template-columns:45px .95fr 1.25fr; gap:28px; padding-block:28px; }
html body.abc-interior .abc-process .v2-steps h3 { font-size:25px!important; margin:0; }
html body.abc-interior .abc-process .v2-steps p { margin:0; }
html body.abc-interior .abc-next-link { margin-top:22px; }
html body.abc-interior .abc-page-links { display:flex; gap:28px; margin-top:28px; flex-wrap:wrap; }
html body.abc-interior .abc-page-links a { font-size:14px; padding-block:12px; border-bottom:1px solid transparent; }
html body.abc-interior .abc-page-links a[aria-current] { border-color:#b49a65; font-weight:500; }
html body.abc-interior .v2-moving-callout { padding-block:70px; }
html body.abc-interior .v2-case { padding-block:78px; }
html body.abc-interior .v2-faq { padding-block:70px; }
html body.abc-interior .abc-close { background:var(--abc-navy); color:white; padding-block:70px; }
html body.abc-interior .abc-close-inner { display:flex; justify-content:space-between; align-items:center; gap:50px; }
html body.abc-interior .abc-close h2 { color:white; margin:22px 0; font-size:clamp(32px,3.8vw,52px)!important; }
html body.abc-interior .abc-close p:not(.abc-signoff) { color:#d4d9df; max-width:620px; font-size:16px; }
html body.abc-interior .abc-close .button { flex-shrink:0; border-color:#dec38f; background:transparent; color:white; }
html body.abc-interior .abc-close .button:hover { background:#dec38f; color:#0b1628; }
html body.abc-interior .abc-signoff { font-size:14px; line-height:1.8; font-weight:500; letter-spacing:0; margin:0; }
html body.abc-interior .abc-signoff>span[aria-hidden] { color:#b49a65; margin-inline:6px; }
html body.abc-interior .abc-about-opening { padding-block:65px; grid-template-columns:1.2fr .8fr; gap:10%; }
html body.abc-interior .abc-about-opening h1 { font-size:clamp(44px,5vw,74px); line-height:1.18; }
html body.abc-interior .abc-about-opening .portrait-stage { height:490px; }
html body.abc-interior .abc-about-opening .portrait-stage img { filter:none; }
html body.abc-interior .abc-about-opening .portrait-name { font-family:Poppins,Noto,Arial,sans-serif; font-weight:600; }
html body.abc-interior .abc-about-opening .portrait-name small { font-weight:600; }
html body.abc-interior .abc-facts { display:grid; grid-template-columns:.7fr 1fr 1.15fr; gap:40px; padding-block:55px; border-bottom:1px solid var(--abc-line); }
html body.abc-interior .abc-facts div { display:flex; flex-direction:column; gap:10px; }
html body.abc-interior .abc-facts strong { font-size:clamp(22px,2.5vw,34px); font-weight:500; letter-spacing:-.025em; }
html body.abc-interior .abc-facts span { font-size:14px; color:#626b75; }
html body.abc-interior .abc-paths { display:grid; grid-template-columns:1fr 1.1fr; gap:80px; padding-block:80px; }
html body.abc-interior .abc-paths a { display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid var(--abc-line); padding-block:24px; }
html body.abc-interior .abc-paths a:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
html body.abc-interior .abc-paths h3 { margin:0 0 8px; }
html body.abc-interior .abc-paths p { margin:0; color:#626b75; font-size:15px; }
html body.abc-interior .abc-paths>div>.eyebrow { margin-bottom:22px; }
html body.abc-interior .abc-page-intro { padding-block:76px 72px; }
html body.abc-interior .abc-page-intro h1 { font-size:clamp(44px,5.2vw,76px); line-height:1.16; }
html body.abc-interior .abc-page-intro .page-lead { max-width:720px; }
html body.abc-interior .abc-review-list { padding-block:65px 80px; }
html body.abc-interior .abc-review { display:grid; grid-template-columns:.9fr 1.25fr; gap:10px 80px; border-top:1px solid var(--abc-line); padding-block:38px; }
html body.abc-interior .abc-review h2 { grid-row:span 2; font-size:clamp(28px,3vw,40px)!important; margin:0; }
html body.abc-interior .abc-review>p { margin:0; font-size:18px; }
html body.abc-interior .abc-review footer { margin-top:12px; font-size:14px; }
html body.abc-interior .abc-review footer span { display:block; color:#626b75; font-size:12px; margin-top:5px; }
html body.abc-interior .consultation-intro h1 { font-size:clamp(42px,4.7vw,66px); font-weight:500; }
html body.abc-interior .contact-expectation .abc-signoff { margin-top:22px; color:#0b1628; font-size:13px; }
html body.abc-interior .contact-expectation .abc-initial { color:#846b36; }
html[lang^=zh] body.abc-interior main h1 { letter-spacing:.01em; line-height:1.4; }
@media(max-width:1000px) {
 html body.abc-interior .abc-principle-grid { gap:28px; }
 html body.abc-interior .abc-close-inner { align-items:flex-start; flex-direction:column; gap:25px; }
 html body.abc-interior .abc-about-opening { gap:6%; }
 html body.abc-interior .abc-about-opening .portrait-stage { height:420px; }
}
@media(max-width:760px) {
 html body.abc-interior :is(.abc-service-hero,.abc-about-opening) { display:grid; grid-template-columns:1fr; gap:34px; padding-block:48px; }
 html body.abc-interior main :is(.abc-service-hero,.abc-about-opening,.abc-page-intro,.consultation) h1 { font-size:clamp(32px,7.2vw,44px)!important; line-height:1.25!important; }
 html[lang^=zh] body.abc-interior main :is(.abc-service-hero,.abc-about-opening,.abc-page-intro,.consultation) h1 { font-size:clamp(30px,7vw,42px)!important; line-height:1.5!important; }
 html body.abc-interior .abc-service-hero .v2-service-aside { display:grid; grid-template-columns:150px 1fr; gap:24px; border-left:0; border-top:1px solid var(--abc-line); padding:25px 0 0; align-items:center; }
 html body.abc-interior .abc-service-hero .v2-service-portrait { height:190px; }
 html body.abc-interior .abc-service-hero .v2-service-aside>div:last-child { padding:0; }
 html body.abc-interior .abc-service-hero .v2-service-aside strong { font-size:20px; }
 html body.abc-interior .abc-service-hero .v2-service-aside .eyebrow { font-size:11px!important; }
 html body.abc-interior .abc-principles { padding-block:46px 50px; }
 html body.abc-interior .abc-principle-grid { grid-template-columns:1fr; gap:30px; margin-top:32px; }
 html body.abc-interior .abc-principle-grid article { padding-top:22px; }
 html body.abc-interior .abc-principle-grid h3 { font-size:32px!important; }
 html body.abc-interior .abc-principle-grid h4 { margin-bottom:10px; }
 html body.abc-interior :is(.abc-process,.v2-moving-callout,.v2-case,.v2-faq,.abc-close,.abc-review-list) { padding-block:50px; }
 html body.abc-interior .abc-process .v2-steps li { grid-template-columns:28px 1fr; gap:10px 18px; padding-block:24px; }
 html body.abc-interior .abc-process .v2-steps p { grid-column:2; }
 html body.abc-interior .abc-process .v2-steps h3 { font-size:23px!important; }
 html body.abc-interior .abc-about-opening .portrait-stage { height:430px; max-width:440px; width:100%; margin-inline:auto; }
 html body.abc-interior .abc-facts { grid-template-columns:1fr; padding-block:36px; gap:25px; }
 html body.abc-interior .abc-facts div { gap:4px; }
 html body.abc-interior .abc-paths { grid-template-columns:1fr; padding-block:50px; gap:30px; }
 html body.abc-interior .abc-page-intro { padding-block:48px; }
 html body.abc-interior .abc-review { grid-template-columns:1fr; gap:16px; padding-block:28px; }
 html body.abc-interior .abc-review h2 { grid-row:auto; font-size:29px!important; }
 html body.abc-interior .abc-review>p { font-size:16px; }
 html body.abc-interior .abc-review footer { margin-top:0; }
}
@media(max-width:420px) {
 html body.abc-interior .abc-service-hero .v2-service-aside { grid-template-columns:110px 1fr; gap:20px; }
 html body.abc-interior .abc-service-hero .v2-service-portrait { height:160px; }
 html body.abc-interior .abc-service-hero .v2-service-aside strong { font-size:18px; }
}
