/* 2026-09-21 discussion version. Orange is provisional; Han's wide scene is the layout reference. */
.city-hero { position:relative; min-height:660px; height:min(850px,94svh); overflow:hidden; background:#eef2f6; }
.city-hero__art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.city-hero__copy { position:relative; z-index:1; padding:150px 24px 0; text-align:center; color:#222831; }
.city-hero__eyebrow { font-size:14px; letter-spacing:.16em; margin:0 0 18px; color:#535e68; }
#page-home .city-hero h1 { font-size:clamp(32px,3.6vw,58px); line-height:1.3; font-weight:600; letter-spacing:-.035em; margin:0 0 18px; }
.city-hero__subtitle { font-size:23px; margin:0; color:#404b58; }
.city-hero__actions { display:flex; gap:18px; justify-content:center; margin:28px 0 0; }
.city-hero__actions button { border:0; border-radius:30px; padding:14px 23px; color:#303a45; background:#ffffffc9; font:inherit; font-size:15px; cursor:pointer; }
.city-hero__actions .city-primary { background:#eb5518; color:white; }
.city-hero__actions button:hover { filter:brightness(.93); }
.city-hero__caption { position:absolute; right:24px; bottom:20px; color:#4e5b69; font-size:11px; }
.revision-section-heading { max-width:1200px; margin:0 auto; padding:78px 32px 32px; }
.revision-section-heading > span,.revision-kicker { display:block; color:#a43c12; font-size:14px; margin-bottom:15px; }
.revision-section-heading h2,.revision-honors h2,.revision-about h2,.revision-culture h2 { font-size:clamp(25px,2.5vw,36px); line-height:1.45; font-weight:500; margin:0 0 16px; }
.revision-section-heading p,.revision-honors p,.revision-culture > p { color:#59616b; font-size:16px; line-height:1.8; }
#page-home .revision-services { max-width:1200px; margin:0 auto; padding:0 32px 72px; gap:28px; }
#page-home .revision-services .reference-service { height:auto; background:#f5f6f7; border-radius:8px; }
#page-home .revision-services .reference-service::after { display:none; }
#page-home .revision-services .reference-service > img { width:100%; height:310px; object-fit:cover; display:block; }
#page-home .revision-services .reference-service__copy { position:static; text-align:left; padding:26px 28px 30px; color:#20262e; }
#page-home .revision-services .reference-service__copy p { color:#535e69; font-size:16px; min-height:52px; }
#page-home .revision-services .reference-service .reference-service__copy h2 { color:#20262e !important; }
#page-home .revision-services .reference-service__copy button { background:transparent; padding:0; color:#a43c12; font-size:15px; }
.revision-image-note { font-size:11px; color:#626d76; display:block; margin-bottom:12px; }
.revision-honors { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:64px; padding:56px max(32px,calc((100vw - 1136px)/2)); background:#f8f5f0; }
.revision-honors h2 { max-width:15em; font-size:30px; }
.revision-honors h3 { font-size:23px; color:#9c571f; font-weight:500; }
.revision-honors .revision-meta { font-size:13px; }
.revision-honors img { width:100%; height:auto; display:block; }
.revision-honors a { color:#a43c12; font-size:15px; }
#page-home .revision-about { max-width:1200px; margin:0 auto; padding:80px 32px; display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; background:#fff; }
.revision-about figure { margin:0; }
.revision-about figure img { width:100%; display:block; border-radius:8px; }
.revision-about figcaption { font-size:11px; color:#65717c; margin-top:8px; }
#page-home .revision-about .reference-about__intro p { color:#59616b; font-size:16px; line-height:1.9; max-width:36em; }
#page-home .revision-about .reference-about__intro > button { color:#a43c12; padding-left:0; background:transparent; font-size:15px; }
.revision-culture { max-width:1200px; margin:auto; padding:40px 32px 90px; }
.revision-culture__values { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; border-top:1px solid #dedbd5; padding-top:28px; }
.revision-culture__values span { font-size:13px; color:#a43c12; }
.revision-culture__values h3 { font-size:23px; font-weight:500; margin:12px 0; }
.revision-culture__values p { color:#59616b; line-height:1.8; }
.app-feature-tab span { white-space:normal; line-height:1.45; }
html body[data-page] .site-footer { background:#f4f3f0 !important; color:#4c5560 !important; min-height:0; }
html body[data-page] .site-footer::before,html body[data-page] .site-footer .footer-watermark { display:none !important; }
html body[data-page] .site-footer .footer-main { padding:52px 0 32px !important; }
html body[data-page] .site-footer .footer-main::before { display:none; }
html body[data-page] .site-footer :is(h3,h4,p,a,button,strong,span) { color:#525c66 !important; }
html body[data-page] .site-footer .footer-bottom { border-color:#ddd !important; }
html body[data-page] .site-footer .footer-brand img { filter:none !important; }
html body[data-page] .site-footer .footer-col :is(h4,a,button),html body[data-page] .site-footer .footer-brand :is(h3,p),html body[data-page] .site-footer .footer-contact :is(h4,p,a),html body[data-page] .site-footer .footer-bottom p { color:#525c66 !important; }
html body[data-page] .site-footer .footer-col,html body[data-page] .site-footer .footer-contact { border-color:#ddd !important; }
.city-hero button:focus-visible,.revision-services button:focus-visible,.revision-honors a:focus-visible { outline:3px solid #263e57; outline-offset:5px; }
html body[data-page] .site-footer .footer-col h3,html body[data-page] .site-footer .footer-contact h3,html body[data-page] .site-footer .footer-bottom strong { color:#39434f !important; }
html body[data-page] .site-footer .footer-col .footer-col-title { color:#39434f !important; }
@media(max-width:900px){
 html body[data-page] .site-header .header-inner { height:76px; min-height:76px; justify-content:space-between; }
 html body[data-page] .site-header .site-nav { position:fixed !important; top:76px !important; right:0 !important; width:min(340px,88vw) !important; height:calc(100dvh - 76px) !important; background:#fff; }
 html body[data-page] .site-header .site-nav:not(.open) { visibility:hidden; pointer-events:none; }
 html body[data-page] .site-header .site-nav.open { visibility:visible; pointer-events:auto; transform:translateX(0) !important; }
}
@media(max-width:680px){
 .city-hero { height:720px; min-height:0; }
 .city-hero__art { object-position:100% bottom; }
 #page-home .city-hero h1 span { display:block; }
 .city-hero__copy { padding:122px 24px 0; }
 #page-home .city-hero h1 { font-size:34px; max-width:9em; margin:0 auto 16px; }
 .city-hero__subtitle { font-size:19px; }
 .city-hero__actions { gap:10px; flex-wrap:wrap; }
 .city-hero__actions button { padding:12px 18px; font-size:14px; }
 .revision-section-heading { padding:48px 24px 24px; }
 #page-home .revision-services { grid-template-columns:1fr; padding:0 24px 48px; gap:24px; }
 #page-home .revision-services .reference-service > img { height:250px; }
 .revision-honors { grid-template-columns:1fr; gap:28px; padding:42px 24px; }
 .revision-honors h2 { font-size:27px; }
 #page-home .revision-about { grid-template-columns:1fr; gap:28px; padding:48px 24px; }
 .revision-culture { padding:30px 24px 55px; }
 .revision-culture__values { grid-template-columns:1fr; gap:20px; }
}
