/* Frosted charcoal glass. Ryan approved direction, 2026-10-22. */
:root{--radius:18px;--glass-bg:rgba(51,54,60,.76);--glass-line:rgba(255,255,255,.2);--glass-shadow:0 12px 36px rgba(14,17,24,.18),inset 0 1px 0 rgba(255,255,255,.12);--glass-blur:blur(22px) saturate(130%)}
body>header{position:relative;z-index:10;background:var(--glass-bg);border:1px solid var(--glass-line);border-radius:24px;margin:12px 18px;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
body.home-page>header{position:absolute;top:38px;left:0;right:0;margin-top:0}
body>header .header{min-height:82px;padding:8px 28px;gap:20px}
.header nav .nav-contact,.header>.language-switch,.header .nav-toggle:not([hidden]){border-radius:999px;min-height:44px;border:1px solid var(--glass-line);box-shadow:inset 0 1px 0 #ffffff20}
.header>.language-switch{background:#ffffff0c;color:var(--ink)}
.home-hero{border-radius:0}.home-hero:after{border:0}.hero-message{top:29%}.hero-caption{bottom:38px}
.hero-message>p{border:1px solid var(--glass-line);border-radius:999px;background:#30323682;padding:9px 16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-link,.button,.area-filter-button,.guide-clear,#hero-video-toggle,#guide-map-reset{border-radius:999px;min-height:44px}
.hero-link{background:#3b3d428c;color:var(--ink);border:1px solid #ffffff70;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:13px 25px}
.hero-link:hover{background:#53555bbd;color:#fff;border-color:#ffffffb3}
#hero-video-toggle{background:#34363c85;border-color:#ffffff50;padding:10px 18px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.home-page .home-finder{position:relative;margin:-4px 24px 0;border:1px solid var(--glass-line);border-radius:26px;background:linear-gradient(125deg,#ffffff0a,#ffffff02),var(--glass-bg);box-shadow:var(--glass-shadow);padding:28px 5vw;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.home-finder form{border:1px solid #ffffff35;border-radius:18px;padding:0 18px;background:#ffffff05}.home-finder input{background:transparent}
.place-photo,.area-photo,.svc-photo,.directory-panorama,.residence-image,.person-image,.blog-cover,.published-cover,.blog-story-photo{border-radius:24px;overflow:hidden}
.people-hero figure,.person-profile figure,.join-meet figure{border-radius:26px;overflow:hidden}.people-hero figure img,.person-profile figure img,.join-meet figure img{border-radius:20px}
.card,.notice,.empty,.area-boundary,.area-visit,.area-contents,.blog-answer,.imported-toc,.blog-context-cta,.guide-photo-pending{border-radius:22px;border:1px solid var(--glass-line);background:linear-gradient(135deg,#ffffff07,transparent),var(--glass-bg);box-shadow:var(--glass-shadow)}
.area-contents,.imported-toc{padding:22px}.blog-context-cta{padding:28px}.blog-answer{padding:26px}.area-boundary{border-left:1px solid var(--glass-line)!important}
.guide-view-switch{border-radius:999px;background:#ffffff08;border-color:var(--glass-line);box-shadow:inset 0 1px 0 #ffffff12}.guide-view-switch button{border-radius:999px}.guide-map-layout{border-radius:24px;overflow:hidden;border-color:var(--glass-line);box-shadow:var(--glass-shadow)}
.guide-directory .guide-filter input,.guide-directory .guide-filter select,.inquiry-section input,.inquiry-section select,.inquiry-section textarea,input{border-radius:14px;background:#ffffff07;border-color:#ffffff32}
.inquiry-section select option,.guide-directory select option{background:var(--surface);color:var(--ink)}
.blog-heading{background:transparent;border-bottom-color:var(--glass-line)}.imported-table{border-radius:16px;border:1px solid var(--glass-line)}
.local-photo figcaption{border-radius:0 0 20px 20px}.area-photo:not(.local-photo) figcaption,.svc-photo figcaption,.residence-image p{border:1px solid #ffffff25;border-radius:14px;background:#303236b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mobile-conversion{border:1px solid var(--glass-line);border-radius:24px;background:#34363bd9;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mobile-conversion a{border-radius:999px}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #e5d5b9;outline-offset:4px}
@media(min-width:601px) and (max-width:1100px){body.home-page>header{position:relative;top:auto}.hero-message{top:23%}}
@media(max-width:600px){body>header{margin:10px 12px;border-radius:22px}body.home-page>header{top:35px}body>header .header{padding:12px 14px;min-height:72px;gap:8px}.header .brand-logo{width:112px}.header .nav-toggle:not([hidden]){border:1px solid var(--glass-line);padding:0 12px;background:#ffffff0a}.header>.language-switch{padding:0 12px}.header.menu-open{padding-bottom:16px}.header nav .nav-contact{border-radius:14px}.home-hero{min-height:650px;border-radius:0}.hero-message{left:26px;right:26px;top:27%}.hero-message>p{font-size:9px;letter-spacing:.12em;max-width:100%;line-height:1.6}.hero-message h1{font-size:43px}html[lang=zh-CN] .hero-message h1{font-size:35px}.hero-caption{left:26px;right:26px;bottom:27px;gap:12px;flex-wrap:wrap}.home-page .home-finder{margin:14px 12px 0;padding:24px 20px;border-radius:22px;gap:20px}.home-finder form{padding:0 12px;gap:6px}.home-finder button{padding-left:8px;gap:10px}.place-photo,.area-photo,.svc-photo,.blog-cover,.published-cover{border-radius:20px}.mobile-conversion{left:12px;right:12px;bottom:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-radius:24px}.blog-context-cta,.blog-answer,.imported-toc{padding:20px}.guide-view-switch{width:100%}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body>header,.hero-link,.hero-message>p,#hero-video-toggle,.mobile-conversion{background:#3a3c40}}
@media(prefers-reduced-transparency:reduce){body>header,.hero-link,.hero-message>p,#hero-video-toggle,.mobile-conversion,.home-page .home-finder{background:#3a3c40;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.hero-link{transition:none}}
/* Quiet edge light makes the surface read as glass over moving footage. */
body>header{background:linear-gradient(120deg,rgba(255,255,255,.09),rgba(255,255,255,.015) 55%),rgba(48,51,57,.64);border-top-color:rgba(255,255,255,.34)}
.connection-consultation{border:1px solid var(--glass-line);border-radius:24px;background:linear-gradient(125deg,#ffffff09,transparent),var(--glass-bg);box-shadow:var(--glass-shadow);padding:28px}
.blog-topic-nav a{border-radius:999px;background:#ffffff06;border-color:var(--glass-line)}
@media(max-width:600px){.connection-consultation{padding:22px;border-radius:22px}.connection-actions .button{white-space:normal;text-align:center;line-height:1.5}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body>header{background:#3a3c40}}
@media(prefers-reduced-transparency:reduce){body>header{background:#3a3c40}}
.article-connections .button:hover{color:var(--on-dark);background:#e7d8c2}
@media(max-width:600px){body>header:has(.menu-open){background:rgba(48,50,55,.96)}}
/* Consistent independent surfaces, while full-bleed background scenes stay square. */
.area-section-head,.published-library>header{background:transparent;border-bottom:0}
.area-boundary{padding:20px 24px}
.local-photo img{border-radius:20px 20px 0 0}
.guide-gallery-media .local-photo img{border-radius:20px}
.area-contents,.guide-view-switch,.guide-clear,.guide-directory .area-filter-button{background-image:linear-gradient(135deg,#ffffff08,transparent)}
.guide-directory .guide-view-switch button{min-height:44px}
.guide-directory .guide-clear:hover,.guide-directory .area-filter-button:hover{background-color:#ffffff12}
.guide-map-sidebar{background:linear-gradient(135deg,#ffffff07,transparent),var(--surface)}
.guide-map-source{min-height:44px;display:flex;align-items:center}
#guide-map-results button{min-height:44px;border-radius:12px}
.leaflet-control-zoom{border-radius:14px!important;overflow:hidden}
.guide-directory .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
.area-contents nav a,.blog-toc a{border-radius:8px}
.area-contents nav a:hover,.blog-toc a:hover{background:#ffffff08}
input,select,textarea,button,a{touch-action:manipulation}
input,select,textarea{scroll-margin-block:120px}
@media(max-width:600px){
 html[lang=zh-CN] .area-opening h1,html[lang=zh-CN] .join-hero h1,html[lang=zh-CN] .svc-heading h1{font-size:clamp(30px,8.9vw,38px);line-height:1.4;letter-spacing:0;text-wrap:balance}
 .inquiry-section input,.inquiry-section select,.inquiry-section textarea,.guide-directory .guide-filter input,.guide-directory .guide-filter select,.home-finder input{font-size:16px}
 .area-contents{padding:22px}.area-boundary{padding:18px}.guide-map-layout{border-radius:22px}
 .mobile-conversion{max-width:560px;margin-inline:auto}
 .guide-map-note,.guide-map-network{font-size:13px}
 .area-sources{gap:4px 16px}.area-sources a{min-height:44px}
}
@media(forced-colors:active){body>header,.hero-link,.mobile-conversion,.card,.guide-view-switch,.connection-consultation{background:Canvas;color:CanvasText;backdrop-filter:none;border:1px solid CanvasText;box-shadow:none}}
@media(max-width:600px){html[lang=zh-CN] .join-hero h1 br,html[lang=zh-CN] .svc-heading h1 br{display:none}}
/* Accessibility fallbacks cover every frosted surface, including photo captions. */
@media(prefers-reduced-transparency:reduce){
 body>header,.hero-link,.hero-message>p,#hero-video-toggle,.mobile-conversion,.home-page .home-finder,
 .card,.notice,.empty,.area-boundary,.area-visit,.area-contents,.blog-answer,.imported-toc,.blog-context-cta,.guide-photo-pending,.connection-consultation,
 .area-photo:not(.local-photo) figcaption,.svc-photo figcaption,.residence-image p{
  background:#3a3c40;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none
 }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .area-photo:not(.local-photo) figcaption,.svc-photo figcaption,.residence-image p,.home-page .home-finder{background:#3a3c40}
}

.brand-logo.brand-logo-collection{width:230px;height:auto;filter:none}
@media(max-width:900px){.brand-logo.brand-logo-collection{width:174px}}
footer .equal-housing-lockup{display:flex;align-items:center;gap:8px;margin-top:8px}
footer .equal-housing-lockup .equal-housing-mark{width:38px;padding:3px;margin:0;border-radius:2px}
footer .equal-housing-lockup small{font-size:.82rem;color:inherit}
