/* Observatory: homepage, identity and responsive shared styles. */
.observatory-title>span:last-child{font-size:.8em;margin-top:.12em}
.home-observatory .home-section h2,.home-observatory #contact h2{font:700 clamp(30px,3.3vw,42px)/1.35 'Noto Sans TC',sans-serif!important;letter-spacing:.02em}.home-observatory [data-reveal]{transform-origin:center top}.home-observatory .observatory-title>span{transform-origin:left center}
@media(max-width:800px){.home-observatory .home-section h2,.home-observatory #contact h2{font-size:30px!important}}
@media(hover:hover) and (pointer:fine){.home-tool{transition:transform 220ms ease-out}.home-tool:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.home-tool{transition:none!important}.home-tool:hover{transform:none}}
.trend-link{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;background:transparent;border:0;color:#8e9bae;padding:11px 18px;font:500 13px 'Noto Sans TC',sans-serif;letter-spacing:.02em}
.research-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}.research-section-heading>.home-text-link{margin-bottom:24px}
.home-nav{display:flex;flex-wrap:wrap;gap:24px;font:400 13px/1.5 'Noto Sans TC',sans-serif;color:#CBD5E1}.home-nav a{color:inherit;text-decoration:none}
.home-section{padding:64px 0;border-bottom:1px solid #ffffff12}.home-section h2{margin:0 0 32px;font:500 26px/1.5 'Noto Sans TC',sans-serif;color:#F8FAFC;letter-spacing:.03em}.focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;row-gap:0;padding:0;margin:0;list-style:none}.focus-list li{position:relative;padding:20px 0 20px 22px;border-top:1px solid #ffffff12;font:400 19px/1.65 'Noto Sans TC',sans-serif;color:#CBD5E1}.focus-list li:before{content:'';position:absolute;left:0;top:32px;width:5px;height:5px;border-radius:50%;background:var(--accent-surface)}
.latest-study{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px;padding:28px 0 0;border-top:1px solid #ffffff12}.study-meta{display:flex;flex-direction:column;gap:10px;font:400 12px/1.7 'Noto Sans TC',sans-serif;color:#94A3B8}.study-meta time{font-family:'IBM Plex Mono',monospace}.latest-study h3,.home-tool h3{margin:0 0 12px;font:500 24px/1.55 'Noto Sans TC',sans-serif;color:#F8FAFC}.latest-study h3 a{color:inherit;text-decoration:none}.latest-study p,.about-summary p,.home-tool p{margin:0 0 24px;font:400 15px/1.9 'Noto Sans TC',sans-serif;color:#94A3B8}.home-text-link{display:inline-flex;align-items:center;min-height:44px;color:#CBD5E1;text-decoration:none;font:400 13px/1.7 'Noto Sans TC',sans-serif}.home-text-link:hover{color:#fff}
.about-summary{display:grid;grid-template-columns:180px minmax(0,1fr);gap:40px}.about-summary h2{margin-bottom:0}.about-summary p{max-width:680px}.home-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #ffffff12}.home-tool{display:flex;flex-direction:column;padding:32px 40px 0 0}.home-tool+ .home-tool{border-left:1px solid #ffffff12;padding:32px 0 0 40px}.home-tool p{max-width:440px}.home-tool .home-text-link{align-self:flex-start;margin-top:auto}
@media(max-width:800px){.home-observatory header{flex-wrap:wrap;gap:12px}.home-nav{width:100%;column-gap:20px!important;row-gap:0!important}.home-section{padding:48px 0}.home-section h2{font-size:23px;margin-bottom:24px}.focus-list{grid-template-columns:1fr}.focus-list li{font-size:17px;padding-block:16px}.focus-list li:before{top:28px}.latest-study,.about-summary{grid-template-columns:1fr;gap:20px}.study-meta{flex-direction:row;gap:20px}.about-summary h2{margin:0}.home-tools{grid-template-columns:1fr}.home-tool{padding:28px 0}.home-tool+ .home-tool{border-left:0;border-top:1px solid #ffffff12;padding:28px 0 0}.latest-study h3,.home-tool h3{font-size:21px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-wrap:break-word}img{max-width:100%}div,section,span{min-width:0}section[id]{scroll-margin-top:72px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:14px 20px;background:#fff;color:#0B1F3B!important}.skip-link:focus{top:12px}
a:focus-visible{outline:3px solid var(--accent-on-dark);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}a:active{opacity:.8}nav a{display:inline-flex;align-items:center;min-height:44px}
.observatory-title{margin:0;font:700 clamp(40px,7.8vw,96px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.02em;color:#fff;display:flex;flex-direction:column}
.observatory-title>span{display:block;width:fit-content;color:var(--text-heading)}.observatory-title i{display:inline-block;width:.16em;height:.78em;margin-left:.12em;background:var(--accent-on-dark);animation:blink 1s steps(1) infinite}
.hero-beam{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-beam:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(148,163,184,.04) 50%,transparent 70%);animation:sweep 14s linear 1}
.research-row{display:grid;grid-template-columns:130px 140px minmax(0,1fr) 120px;gap:20px;padding:22px 16px;border-bottom:1px solid #ffffff12;align-items:baseline}.research-row:hover{background:#ffffff06;text-decoration:none}.research-row strong{font:500 16px/1.65 'Noto Sans TC',sans-serif;color:#F8FAFC}.row-description{display:block;font:400 14px/1.8 'Noto Sans TC',sans-serif;color:#94A3B8;margin-top:6px}.mono,.category,.row-access{font:400 11px/1.7 'IBM Plex Mono','Noto Sans TC',monospace;color:#94A3B8}.category{padding:3px 8px;background:#0E131C;border-radius:999px;justify-self:start}.row-access{text-align:right;color:#CBD5E1}.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px}.footer-links a{padding-block:12px}
.brand-extra{max-width:1240px;margin:auto;padding:clamp(64px,10vh,112px) clamp(20px,4vw,48px) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.618fr);gap:clamp(32px,5vw,72px)}.brand-extra h2{font-size:28px;margin:16px 0}.brand-extra h3{font-size:17px;margin:24px 0 8px}.brand-extra p{font-size:15px;line-height:1.85;color:#475569;margin:0 0 16px}.kicker{font:500 12px 'IBM Plex Mono',monospace;color:var(--accent-on-light);letter-spacing:.18em}.editorial-rules{border-top:1px solid #E2E8F0}.heritage-swatches{display:grid;grid-template-columns:1fr 1fr;gap:20px}.heritage-swatches span{height:72px;display:block;margin-bottom:12px}.heritage-swatches strong{font-size:14px}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-item{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #E2E8F0;background:#fff;color:#475569;font:400 12px/1.5 'IBM Plex Mono',monospace;overflow-wrap:anywhere}.download-item strong{color:var(--accent-on-light);padding:6px 0;font-family:'Noto Sans TC',sans-serif}.download-preview{height:120px;padding:18px;display:flex;align-items:center;justify-content:center;background:#F1F5F9}.download-preview.dark{background:#070B14}.download-preview img{max-height:100%;object-fit:contain}.brand-observatory nav a{white-space:nowrap}.brand-observatory [id]{scroll-margin-top:76px}
@media(max-width:800px){.home-observatory header{height:auto!important;min-height:100px;padding:20px!important}.home-observatory header nav{gap:12px!important}.home-observatory header nav>span{display:none}.home-observatory main>div>div,.home-observatory [data-screen-label="Hero"]>div:last-child{padding-inline:20px!important}.home-observatory [style*="grid-template-columns:minmax(0,320px)"],.home-observatory [style*="grid-template-columns:minmax(0,180px)"]{grid-template-columns:1fr!important;gap:20px!important}.home-observatory [style*="minmax(280px"],.home-observatory [style*="minmax(260px"]{grid-template-columns:1fr!important}.home-observatory [style*="height:40px"]{height:auto!important;min-height:40px;white-space:normal!important;flex-wrap:wrap;padding:14px!important}.research-table>div>div:first-child{display:none!important}.research-row{grid-template-columns:1fr auto;gap:10px;padding-inline:0}.research-row>span:nth-child(3){grid-column:1/-1}.research-row .row-access{grid-column:1/-1;text-align:left}.brand-observatory section,.brand-extra{grid-template-columns:1fr!important}.brand-observatory section [style*="grid-template-columns:200px"],.brand-observatory section [style*="1fr) 180px"]{grid-template-columns:1fr!important;gap:16px!important}.brand-observatory section [style*="grid-template-columns:120px"]{grid-template-columns:64px minmax(0,1fr)!important}.brand-observatory header nav{height:auto!important;min-height:100px;padding-block:16px}.brand-observatory #type span[style*="clamp(40px"]{font-size:clamp(32px,8vw,60px)!important}.brand-observatory #voice span{overflow-wrap:anywhere}.brand-observatory #components>div:last-child{padding:20px 16px!important}.brand-observatory #components [style*="display:flex;gap:28px"]{flex-wrap:wrap;gap:16px!important}.brand-observatory #grid [style*="height:56px"]{height:auto!important;min-height:56px;flex-wrap:wrap;gap:12px}.brand-observatory #grid [style*="justify-content:space-between"]{flex-wrap:wrap;gap:12px}}
@media(max-width:380px){.download-grid,.heritage-swatches{grid-template-columns:1fr}.home-observatory header>a{gap:7px!important}.observatory-title{font-size:40px}}
.brand-observatory :is([style*="background:#04060A"],[style*="background:#070B12"],[style*="background:#090E16"]) :is([style*="color:#64748B"],[style*="color:#475569"],[style*="color:#717D8D"]){color:var(--text-muted)!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.observatory-title i,.hero-beam:after{animation:none}.observatory-title i,.hero-beam{display:none}[data-hero-bg]{transform:none!important;will-change:auto!important}}

.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.contact-email{font-size:clamp(17px,2vw,24px);color:var(--text-main,#f8fafc);overflow-wrap:anywhere}.contact-socials{display:flex;flex-wrap:wrap;gap:12px}.contact-socials a,.contact-socials button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #334155;border-radius:0;background:transparent;color:#f8fafc;font:500 14px/1.5 'Noto Sans TC',sans-serif;text-decoration:none}.contact-socials a:hover{border-color:var(--accent-on-dark);color:var(--accent-on-dark)}.contact-socials button:disabled{color:#94a3b8;cursor:default}
