/* Generated by scripts/build-page-styles.py; edit the source styles. */
/* Source: styles.css */
:root{--bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #eef2f5;
  --ink: #111a24;
  --ink-soft: #5b6878;
  --line: #d7dee6;
  --accent: #006d77;
  --accent-dark: #0d3b4a;
  --max: 1200px;}
*{box-sizing: border-box;}
html,body{margin: 0;
  padding: 0;
  overflow-x: hidden;}
body{font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;}
img,video{max-width: 100%;}
a{color: inherit;}
.topbar{position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(1rem, 3vw, 2.8rem);
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid rgba(17, 26, 36, 0.08);
  backdrop-filter: blur(10px);}
.brand{display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  text-decoration: none;}
.brand small{display: block;
  margin-top: 0.08rem;
  color: var(--ink-soft);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;}
.desktop-nav{display: inline-flex;
  gap: clamp(0.9rem, 2vw, 1.5rem);}
.desktop-nav a{text-decoration: none;
  color: var(--ink-soft);
  font-size: 0.92rem;
  font-weight: 700;}
.desktop-nav a:hover,.desktop-nav a.active{color: var(--ink);}
.menu-btn{position: relative;
  width: 2.35rem;
  height: 2.35rem;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  border: 1px solid rgba(17, 26, 36, 0.14);
  background: #fff;}
.menu-btn span{position: absolute;
  left: 50%;
  top: 50%;
  width: 1rem;
  height: 2px;
  margin: 0;
  background: var(--ink);
  transition: transform 0.2s ease;}
.menu-btn span:first-child{transform: translate(-50%, calc(-50% - 4px));}
.menu-btn span:last-child{transform: translate(-50%, calc(-50% + 4px));}
.menu-btn.is-open span:first-child{transform: translate(-50%, -50%) rotate(45deg);}
.menu-btn.is-open span:last-child{transform: translate(-50%, -50%) rotate(-45deg);}
.mobile-menu{position: fixed;
  inset: 72px 0 auto;
  z-index: 40;
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 1rem 1rem;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--line);
  transform: translateY(-120%);
  transition: transform 0.25s ease;}
.mobile-menu.is-open{transform: translateY(0);}
.mobile-menu a{text-decoration: none;
  font-weight: 700;
  padding: 0.25rem 0;}
main{padding-top: 72px;}
.section{width: min(var(--max), calc(100% - 2.4rem));
  margin-left: auto;
  margin-right: auto;}
@keyframes legacy-hero-in {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
h1,h2,h3{margin: 0;
  font-family: "Noto Sans SC", sans-serif;
  line-height: 1.18;}
h1{font-size: 3.75rem;
  max-width: 12ch;}
h2{font-size: 2.35rem;}
.section{padding: clamp(3.2rem, 7vw, 5.4rem) 0;
  border-top: 1px solid rgba(17, 26, 36, 0.05);}
.desktop-nav{gap: clamp(0.65rem, 1.2vw, 1.05rem);}
.desktop-nav a{white-space: nowrap;}
@media (max-width: 760px) {
.topbar{height: 64px;}
main{padding-top: 64px;}
.desktop-nav{display: none;}
.menu-btn{display: grid;}
.mobile-menu{inset: 64px 0 auto;}
h1{max-width: none;
    font-size: 2.35rem;}
}
@media (prefers-reduced-motion: reduce) {
*,*::before,*::after{animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;}
}
@media (max-width: 1100px) {
.desktop-nav{display: none;}
.menu-btn{display: grid;}
}
.mobile-contact-bar{position: fixed;
  left: 0.75rem;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 60;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  padding: 0.55rem;
  border: 1px solid rgba(17, 26, 36, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 42px rgba(17, 26, 36, 0.18);
  backdrop-filter: blur(12px);}
.mobile-contact-bar a{display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 800;}
.mobile-contact-bar a:first-child{background: var(--accent-dark);
  color: #fff;}
.mobile-contact-bar a:last-child{color: var(--ink);
  background: var(--surface-soft);}
@media (max-width: 760px) {
body{padding-bottom: 4.75rem;}
.section{width: min(var(--max), calc(100% - 1.25rem));}
.mobile-contact-bar{display: grid;}
}
:root{--bg: #f4f6f8;
  --surface: #ffffff;
  --surface-soft: #edf2f4;
  --ink: #111a24;
  --ink-soft: #566373;
  --line: #d4dce4;
  --accent: #006d77;
  --accent-dark: #064854;
  --status: #c06a22;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --space-page: clamp(1.25rem, 4vw, 3.75rem);
  --font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-latin: "Manrope", "Noto Sans SC", sans-serif;}
body{font-family: var(--font-body);
  background: var(--bg);
  letter-spacing: 0;}
h1,h2,h3{font-family: var(--font-latin);
  letter-spacing: 0;}
:focus-visible{outline: 3px solid rgba(0, 109, 119, 0.38);
  outline-offset: 3px;}
.topbar{height: 68px;
  padding: 0 var(--space-page);
  background: rgba(255, 255, 255, 0.96);
  border-bottom-color: rgba(17, 26, 36, 0.1);
  backdrop-filter: blur(14px);}
main{padding-top: 68px;}
.brand small{letter-spacing: 0;
  text-transform: none;}
.desktop-nav{align-items: center;
  gap: clamp(0.55rem, 1vw, 0.9rem);}
.desktop-nav a{display: inline-flex;
  min-height: 2.25rem;
  align-items: center;
  padding: 0 0.2rem;
  font-size: 0.9rem;
  letter-spacing: 0;}
.menu-btn,.mobile-contact-bar,.mobile-contact-bar a{border-radius: var(--radius-md);}
.section{padding: clamp(3.1rem, 6vw, 5.8rem) 0;
  border-top-color: rgba(17, 26, 36, 0.08);}
.section h2{max-width: 18ch;
  font-size: clamp(2rem, 4.2vw, 4.1rem);
  line-height: 1.06;}
@media (max-width: 1080px) {
.desktop-nav{display: none;}
.menu-btn{display: grid;}
}
@media (max-width: 760px) {
.topbar{height: 64px;
    padding: 0 1rem;}
main{padding-top: 64px;}
.brand small{display: none;}
.mobile-menu{inset: 64px 0 auto;
    padding: 0.9rem 1rem 1.15rem;}
.mobile-menu a{min-height: 2.65rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(17, 26, 36, 0.08);}
.section h2{font-size: clamp(1.9rem, 8vw, 2.55rem);}
}
@media (prefers-reduced-motion: reduce) {
[data-reveal]{opacity: 1 !important;
    transform: none !important;
    animation: none !important;}
}
@media (max-width: 1100px) {
html:not(.legacy-menu-ready) .menu-btn{display: none !important;}
html:not(.legacy-menu-ready) .mobile-menu{position: static;
    inset: auto;
    transform: none;}
}
/* Source: site-v3.css */
:root{--yt-ink:var(--color-ink, #172334); --yt-muted:var(--color-muted, #526273);
 --yt-line:var(--color-rule, #d7dfe8); --yt-paper:var(--color-paper, #fff);
 --yt-ground:var(--color-ground, #f3f6fa); --yt-blue:var(--color-brand, #2053b6);
 --yt-cyan:var(--color-brand, #2053b6); --yt-orange:var(--color-focus, #a34712);
 --yt-max:var(--content-max, 1280px);}
body.site-v3{background: var(--yt-paper);
  color: var(--yt-ink);
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;}
.site-v3 main{padding-top: 0 !important;}
.site-v3 *,.site-v3 *::before,.site-v3 *::after{box-sizing: border-box;}
.site-v3 a{color: inherit; text-decoration: none;}
.site-v3 img{display: block; max-width: 100%;}
.site-v3 button{font: inherit;}
.site-v3 .v3-wrap{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); margin: 0 auto;}
.site-v3 .v3-title{margin: 0; font-size: var(--type-section); line-height: 1.15; letter-spacing: 0;}
.site-v3 .v3-lead{max-width: 620px; margin: 18px 0 0; color: var(--yt-muted); font-size: 17px;}
.site-v3 .v3-section{padding: var(--section-gap) 0;}
.site-v3 .v3-section--gray{background: var(--yt-ground);}
.site-v3 .v3-section-head{display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px;}
.site-v3 .v3-link{display: inline-flex; align-items: center; min-height: 44px; gap: 12px; font-weight: 700; white-space: nowrap;}
.site-v3 .v3-link::after{content: "→"; font-size: 22px; transition: transform .25s ease;}
.site-v3 .v3-link:hover::after{transform: translateX(5px);}
.site-v3 .topbar{position: relative; z-index: 30; height:auto; padding:0; min-height: 78px; border-bottom: 1px solid #e1e6e9; background: #fff;}
.site-v3 .topbar-inner{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); min-height: 78px; margin: 0 auto; display: flex; flex-wrap:wrap; align-items: center; justify-content: space-between; gap: 24px;}
.site-v3 .brand{display: inline-flex; align-items: center; min-width: 190px; min-height: 44px; gap: 12px; font-size: 17px; font-weight: 800; letter-spacing: 0;}
.site-v3 .brand img{width: 37px; height: 37px; object-fit: contain;}
.site-v3 .main-nav{display: flex; flex-wrap:wrap; align-items: center; gap: 29px; font-size: 15px;}
.site-v3 .main-nav a{position: relative; display:inline-flex; align-items:center; justify-content:center; min-width:44px; white-space:nowrap; padding: 29px 0 26px; color: #28343d;}
.site-v3 .main-nav a::after{content: ""; position: absolute; left: 0; right: 0; bottom: 20px; height: 2px; background: var(--yt-orange); transform: scaleX(0); transform-origin: left; transition: transform .22s ease;}
.site-v3 .main-nav a:hover::after,.site-v3 .main-nav a:is([aria-current="page"], [aria-current="true"])::after{transform: scaleX(1);}
.site-v3 .v3-consult{display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 1px solid var(--yt-ink); border-radius: var(--radius-control); background: var(--yt-ink); color: #fff; font-size: 14px; font-weight: 700; transition: background .2s ease, border-color .2s ease;}
.site-v3 .v3-consult:hover{background: var(--yt-orange); border-color: var(--yt-orange);}
.site-v3 .menu-toggle{position: relative; display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--yt-line); border-radius: 4px; background: transparent; color: var(--yt-ink); font-size: 0;}
.site-v3 .menu-toggle::before,.site-v3 .menu-toggle::after{content: ""; position: absolute; left: 50%; top: 50%; width: 17px; height: 2px; background: currentColor; transition: transform .2s ease;}
.site-v3 .menu-toggle::before{transform: translate(-50%, -4px);}
.site-v3 .menu-toggle::after{transform: translate(-50%, 4px);}
.site-v3 .menu-toggle.is-open::before{transform: translate(-50%, 0) rotate(45deg);}
.site-v3 .menu-toggle.is-open::after{transform: translate(-50%, 0) rotate(-45deg);}
.site-v3 .v3-button{display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 23px; border: 1px solid #fff; border-radius: var(--radius-control); color: #fff; font-weight: 700; transition: background .2s ease, border-color .2s ease;}
.site-v3 .v3-button:hover{border-color: #fff; background: #fff; color: var(--yt-ink);}
.site-v3 .v3-split{display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); gap: 70px; align-items: start;}
.site-v3 .source-category-nav{border-bottom: 1px solid var(--yt-line); background: #fff;}
.site-v3 .source-category-nav .v3-wrap{display: flex; overflow-x: auto;}
.site-v3 .source-category-nav a{flex: 0 0 auto; padding: 20px 25px; border-right: 1px solid var(--yt-line); color: var(--yt-muted); font-size: 14px; font-weight: 700;}
.site-v3 .source-category-nav a:first-child{border-left: 1px solid var(--yt-line);}
.site-v3 .source-category-nav a[aria-current="page"]{background: var(--yt-ink); color: #fff;}
.site-v3 .source-project-list{padding: 92px 0 114px;}
.site-v3 .source-project-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 50px 22px;}
.site-v3 .source-project-grid--single{grid-template-columns: minmax(0, 1fr);}
.site-v3 .source-project-card{display: block; padding-top: 12px; border-top: 1px solid var(--yt-line);}
.site-v3 .source-project-card img{width: 100%; aspect-ratio: 1.52; object-fit: cover; background: #1b2933; transition: transform .42s ease;}
.site-v3 .source-project-card:hover img{transform: scale(1.018);}
.site-v3 .source-project-card > span{display: block; margin-top: 18px; color: var(--yt-orange); font-family: Manrope, Arial, sans-serif; font-size: 12px; font-weight: 800;}
.site-v3 .source-project-card h3{margin: 8px 0 0; font-size: var(--type-card); line-height: 1.25;}
.site-v3 .source-project-card p{max-width: 590px; margin: 13px 0 0; color: var(--yt-muted); font-size: 15px;}
.site-v3 .source-project-card--feature{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); column-gap: 45px; align-items: end;}
.site-v3 .source-project-card--feature img{grid-row: span 3;}
.site-v3 .source-project-card--feature > span{margin-top: 0;}
.site-v3 .v3-contact{padding: 78px 0; background: var(--yt-ink); color: #fff;}
.site-v3 .v3-contact-grid{display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; align-items: start;}
.site-v3 .v3-contact-grid > *{min-width: 0;}
.site-v3 .v3-contact h2{max-width: 620px; margin: 0; font-size: var(--type-section); line-height: 1.17;}
.site-v3 .v3-contact p{margin: 17px 0 0; color: #c8d3d8;}
.site-v3 .v3-contact-list{display: grid; gap: 8px;}
.site-v3 .v3-contact-list a{display: inline-flex; align-items: center; min-height: 44px; padding: 8px 0; font-size: 17px; text-decoration: underline; text-underline-offset: 4px;}
.site-v3 .v3-contact-list span{padding: 8px 0; font-size: 14px;}
.site-v3 .v3-contact-list :is(a, span){max-width: 100%; overflow-wrap: anywhere;}
.site-v3 .v3-footer{padding: 29px 0; background: #0a1118; color: #aebbc1; font-size: 13px;}
.site-v3 .footer-privacy{display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 4px;}
.site-v3 .v3-footer-inner{width: min(var(--yt-max), calc(100% - var(--page-gutter, 32px) * 2)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px;}
.site-v3 a:focus-visible,.site-v3 button:focus-visible{outline: 3px solid #ff9c63; outline-offset: 4px;}
@media (max-width: 1080px) {
.site-v3 .main-nav{gap: 18px;}
.site-v3 .brand{min-width: auto; font-size: 15px;}
.site-v3 .v3-section{padding: 76px 0;}
.site-v3 .v3-contact-grid,.site-v3 .v3-split{gap: 42px;}
}
@media (max-width: 1080px) {
.site-v3 .menu-toggle{display: block;}
.site-v3 .main-nav{position: absolute; top: 78px; left: 0; right: 0; display: none; padding: 12px 32px 22px; border-bottom: 1px solid #ced8dc; background: #fff; box-shadow: 0 12px 22px rgba(16,25,35,.1);}
.site-v3 .main-nav.is-open{display: grid;}
.site-v3 .main-nav a{min-height: 46px; padding: 12px 0; color: var(--yt-ink);}
.site-v3 .main-nav a::after{display: none;}
.site-v3 .topbar .v3-consult{display: none;}
}
@media (max-width: 760px) {
.site-v3 .v3-wrap,.site-v3 .topbar-inner,.site-v3 .v3-footer-inner{width: min(100% - 36px, var(--yt-max));}
.site-v3 .topbar,.site-v3 .topbar-inner{min-height: 66px;}
.site-v3 .brand{gap: 8px; font-size: 14px;}
.site-v3 .brand img{width: 31px; height: 31px;}
.site-v3 .menu-toggle{display: block;}
.site-v3 .main-nav{position: absolute; top: 66px; left: 0; right: 0; display: none; padding: 12px 18px 22px; border-bottom: 1px solid #ced8dc; background: #fff; box-shadow: 0 12px 22px rgba(16,25,35,.1);}
.site-v3 .main-nav.is-open{display: grid;}
.site-v3 .main-nav a{padding: 12px 0; color: var(--yt-ink);}
.site-v3 .main-nav a::after{display: none;}
.site-v3 .topbar .v3-consult{display: none;}
.site-v3 .v3-section{padding: 60px 0;}
.site-v3 .v3-section-head{display: block; margin-bottom: 29px;}
.site-v3 .v3-section-head .v3-link{margin-top: 18px;}
.site-v3 .v3-lead{font-size: 16px;}
.site-v3 .v3-contact-grid,.site-v3 .v3-split{grid-template-columns: 1fr;}
.site-v3 .v3-contact-grid{gap: 24px;}
.site-v3 .v3-split{gap: 30px;}
.site-v3 .v3-contact{padding: 58px 0;}
.site-v3 .v3-footer-inner{align-items: flex-start; flex-direction: column;}
.site-v3 .source-category-nav .v3-wrap{width: 100%;}
.site-v3 .source-category-nav a{padding: 17px 18px;}
.site-v3 .source-project-list{padding: 61px 0 70px;}
.site-v3 .source-project-card p{font-size: 16px;}
.site-v3 .source-project-grid,.site-v3 .source-project-card--feature{grid-template-columns: 1fr; gap: 31px;}
.site-v3 .source-project-card--feature img{grid-row: auto;}
.site-v3 .source-project-card--feature > span{margin-top: 18px;}
}
@media (prefers-reduced-motion: reduce) {
.site-v3 *,.site-v3 *::before,.site-v3 *::after{scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important;}
}
@media (max-width: 1080px) {
html:not(.menu-ready) .site-v3 .menu-toggle{display: none !important;}
html:not(.menu-ready) .site-v3 .main-nav{display: grid;}
}
/* Source: vision-case-index.css */
.case-index-page{background: var(--yt-paper, #fff); color: var(--yt-ink, #101923);}
.case-index-group-head h2{margin: 0; font-size: 46px; line-height: 1.18;}
.case-index-group-head > p{margin: 0; color: var(--yt-muted, #647280); line-height: 1.8;}
.case-index-list{padding: 84px 0 100px;}
.case-index-group + .case-index-group{margin-top: 86px;}
.case-index-group-head{display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr); gap: 60px; align-items: end; padding-bottom: 29px; border-bottom: 1px solid var(--yt-line, #d9e0e5);}
.case-index-cards{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-left: 1px solid var(--yt-line, #d9e0e5);}
.case-index-card{display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--yt-line, #d9e0e5); border-bottom: 1px solid var(--yt-line, #d9e0e5); color: inherit; text-decoration: none;}
.case-index-card figure{position: relative; aspect-ratio: 1.35; margin: 0; overflow: hidden; background: #1b2731;}
.case-index-card figure img{width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease;}
.case-index-card:hover figure img{transform: scale(1.02);}
.case-index-card figcaption{position: absolute; right: 14px; bottom: 14px; left: 14px; color: #fff; font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 700; text-shadow: 0 1px 3px #000;}
.case-index-card-copy{display: flex; flex: 1; flex-direction: column; padding: 25px 28px 29px;}
.case-index-card-copy > span{color: var(--yt-orange, #ef6b2e); font-family: Manrope, Arial, sans-serif; font-size: 12px; font-weight: 800;}
.case-index-card h3{margin: 14px 0 0; font-size: 27px; line-height: 1.28;}
.case-index-card-copy > p{margin: 15px 0 0; color: var(--yt-muted, #647280); line-height: 1.7;}
.case-index-card dl{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0 0; border-top: 1px solid var(--yt-line, #d9e0e5); border-bottom: 1px solid var(--yt-line, #d9e0e5);}
.case-index-card dl div{min-width: 0; padding: 14px 12px 14px 0;}
.case-index-card dl div + div{padding-left: 14px; border-left: 1px solid var(--yt-line, #d9e0e5);}
.case-index-card dt{color: var(--yt-muted, #647280); font-size: 12px;}
.case-index-card dd{margin: 6px 0 0; font-size: 13px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere;}
.case-index-card strong{display: inline-flex; gap: 10px; align-items: center; margin-top: auto; padding-top: 25px; font-size: 14px;}
.case-index-card strong b{font-size: 20px; font-weight: 500; transition: transform .2s ease;}
.case-index-card:hover strong b{transform: translateX(5px);}
.case-index-card:focus-visible{outline: 3px solid var(--yt-orange, #ef6b2e); outline-offset: -3px;}
@media (max-width: 1080px) {
.case-index-group-head h2{font-size: 39px;}
.case-index-group-head{gap: 38px;}
}
@media (max-width: 760px) {
.case-index-group-head{grid-template-columns: 1fr; gap: 18px;}
.case-index-group-head h2{font-size: 32px;}
.case-index-list{padding: 60px 0 72px;}
.case-index-group + .case-index-group{margin-top: 60px;}
.case-index-cards{grid-template-columns: 1fr;}
.case-index-card-copy{padding: 22px 20px 24px;}
.case-index-card h3{font-size: 25px;}
.case-index-card-copy > p{font-size: 16px;}
.case-index-card dl{grid-template-columns: 1fr;}
.case-index-card dl div{padding: 12px 0;}
.case-index-card dl div + div{padding-left: 0; border-top: 1px solid var(--yt-line, #d9e0e5); border-left: 0;}
}
@media (prefers-reduced-motion: reduce) {
.case-index-card figure img,.case-index-card strong b{transition: none;}
}
/* Source: product-search-v1.css */
.product-search{margin-top:24px; padding:24px; background:var(--color-ground); border:1px solid var(--color-rule);}
.product-search-label{display:block; margin-bottom:12px; font-size:16px; font-weight:600; color:var(--color-ink);}
.product-search-controls{display:flex; gap:12px; align-items:center;}
.product-search-controls input{width:min(100%,560px); min-width:0; min-height:48px; padding:12px 16px; border:1px solid #aebccc; border-radius:4px; background:#fff; color:var(--color-ink); font:inherit; font-size:16px;}
.product-search-controls input::placeholder{color:var(--color-muted);}
.product-search-clear,.product-search-more{min-height:44px; padding:8px 16px; border:1px solid var(--color-rule); border-radius:4px; background:#fff; color:var(--color-brand); font:inherit; font-size:14px; cursor:pointer;}
.product-search-clear{flex:0 0 auto;}
.product-search-clear:disabled{opacity:.6; cursor:default;}
.product-search-status{margin:16px 0 0; color:var(--color-muted); font-size:14px;}
.product-search-results{list-style:none; padding:0; margin:0;}
.product-search-results li{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 24px; padding:20px 0; border-bottom:1px solid var(--color-rule);}
.product-search-model{display:inline-flex; align-items:center; min-height:44px; color:var(--color-brand) !important; font-family:var(--font-data); font-weight:600; overflow-wrap:anywhere; text-decoration:underline !important; text-underline-offset:4px;}
.product-search-results span,.product-search-results p{margin:0; color:var(--color-muted); font-size:14px; align-self:center;}
.product-search-results p{grid-column:1/-1;}
.product-search-doc{display:inline-flex; align-items:center; min-height:44px; color:var(--color-brand) !important; font-size:14px; text-decoration:underline !important; text-underline-offset:4px;}
.product-search-more{margin-top:16px;}
@media(max-width:760px) {
.product-search{padding:16px;}
.product-search-results li{grid-template-columns:1fr; gap:4px;}
.product-search-controls{flex-wrap:wrap;}
.product-search-controls input{flex:1 1 200px;}
}
@media(max-width:480px) {
.product-search-controls{display:grid; grid-template-columns:minmax(0,1fr); align-items:start;}
.product-search-controls input{width:100%;}
.product-search-clear{justify-self:start;}
}
/* Source: site-content-v1.css */
.compact-page-head{padding:40px 0 28px;background:var(--color-ground);border-bottom:1px solid var(--color-rule)}
.compact-page-head h1{font-size:var(--type-page);line-height:1.2;margin:0;letter-spacing:0}
.page-breadcrumb{margin:0 0 12px;color:var(--color-muted);font-size:14px}
.compact-section{padding:32px 0}
.compact-section + .compact-section{border-top:1px solid var(--color-rule)}
.compact-section h2{margin:0 0 24px;font-size:var(--type-section)}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.directory-item{position:relative;padding:24px 32px 24px 0;border-bottom:1px solid var(--color-rule);display:block;scroll-margin-top:96px}
.directory-item h2{font-size:24px;margin:0 0 10px;color:var(--color-ink)}
.directory-item p{margin:0;color:var(--color-muted)}
.directory-item>span{position:absolute;right:4px;top:24px;color:var(--color-brand)}
.directory-item:hover h2,.directory-links a:hover{color:var(--color-brand)}
.directory-links{display:flex;gap:12px 28px;flex-wrap:wrap}
.directory-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){
.compact-page-head{padding:28px 0 20px}
.directory-grid{grid-template-columns:1fr}
.directory-item h2{font-size:22px}
.compact-section{padding:24px 0}
}
/* Source: site-entry-v1.css */
html.entry-document{overflow-x: visible;}
.site-v3.entry-page{font-family: var(--font-body); color: var(--color-ink); background: var(--color-paper); overflow-x: visible;}
.site-v3.entry-page main{overflow: visible;}
.site-v3.entry-page .topbar{display: block; padding: 0;}
.site-v3.entry-page .main-nav a::after{background: var(--color-brand);}
.site-v3.entry-page .v3-consult{background: var(--color-brand); border-color: var(--color-brand);}
.site-v3.entry-page .entry-mobile-menu{display: none;}
.site-v3.entry-page summary.menu-toggle{cursor: pointer; list-style: none;}
.site-v3.entry-page summary.menu-toggle::-webkit-details-marker{display: none;}
.site-v3.entry-page .entry-mobile-menu[open] .menu-toggle::before{transform: translate(-50%,0) rotate(45deg);}
.site-v3.entry-page .entry-mobile-menu[open] .menu-toggle::after{transform: translate(-50%,0) rotate(-45deg);}
.site-v3.entry-page :is(.v3-wrap,.topbar-inner){width: min(var(--content-max),calc(100% - var(--page-gutter)*2));}
.site-v3.entry-page .v3-section{padding-block: var(--section-gap);}
.site-v3.entry-page .v3-title{font-size: var(--type-section); line-height: 1.4; letter-spacing: 0;}
.site-v3.entry-page .v3-link{max-width: 100%; min-width: 0; white-space: normal; flex-wrap: wrap; color: var(--color-brand);}
.site-v3.entry-page .compact-page-head{background: var(--color-paper); padding-block: 48px 32px;}
.site-v3.entry-page .compact-page-head h1{color: var(--color-brand);}
.site-v3.entry-page .compact-page-head p{max-width: 48em; margin: 20px 0 0; color: var(--color-muted);}
.site-v3.entry-page :is(.v3-section--gray,.business-work-section){background: var(--color-paper);}
.site-v3.entry-page .v3-button{min-height: 44px; padding: 12px 20px; white-space: normal; border-radius: var(--radius-control); color: var(--color-brand); background: var(--color-paper); border: 1px solid var(--color-brand);}
.site-v3.entry-page .entry-task-nav{display: flex; flex-wrap: wrap; gap: 8px 24px; padding-block: 16px; border-block: 1px solid var(--color-rule);}
.site-v3.entry-page .entry-task-nav a{min-height: 44px; display: inline-flex; align-items: center; color: var(--color-brand); text-decoration: underline; text-underline-offset: 4px;}
html:not(.js) .site-v3.entry-page [data-product-search]{display: none;}
html:not(.js) .site-v3.entry-page [data-case-controls]{display: none;}
.site-v3.entry-page .product-search{border: 1px solid var(--color-rule); background: var(--color-ground); padding: 24px;}
.site-v3.entry-page .product-search-results{margin: 0;}
.site-v3.entry-page .product-search-results li{background: var(--color-paper); padding: 20px 0;}
.site-v3.entry-page .product-search-doc{min-height: 44px; display: inline-flex; align-items: center; color: var(--color-brand);}
.site-v3.entry-page .v3-contact{padding-block: var(--section-gap); background: var(--color-ground); color: var(--color-ink);}
.site-v3.entry-page .v3-contact :is(h2,p,a,span){color: inherit;}
.site-v3.entry-page .v3-contact h2{font-size: var(--type-section);}
.site-v3.entry-page .v3-contact a{min-height: 44px;}
.site-v3.entry-page .v3-footer{background: var(--color-paper); color: var(--color-muted); border-top: 1px solid var(--color-rule);}
.site-v3.entry-page [id]{scroll-margin-top: 32px;}
.site-v3.entry-page :is(h1,h2,h3,p,a,li,strong,span){overflow-wrap: anywhere;}
.site-v3.entry-page :focus-visible{outline: 3px solid var(--color-focus); outline-offset: 3px;}
@media(max-width:1080px) {
html.entry-document .site-v3.entry-page .main-nav,.site-v3.entry-page .v3-consult{display: none;}
.site-v3.entry-page .entry-mobile-menu{display: block;}
html.entry-document .site-v3.entry-page summary.menu-toggle{display: block !important;}
.site-v3.entry-page .entry-mobile-nav{position: absolute; top: 100%; left: 0; right: 0; display: grid; padding: 12px var(--page-gutter) 20px; border-bottom: 1px solid var(--color-rule); background: var(--color-paper);}
.site-v3.entry-page .entry-mobile-nav a{display: flex; align-items: center; min-height: 46px; padding: 12px 0; font-size: 15px;}
.site-v3.entry-page .entry-mobile-nav a[aria-current]{color: var(--color-brand); font-weight: 700;}
}
@media(max-width:760px) {
.site-v3.entry-page .compact-page-head{padding-block: 32px 24px;}
.site-v3.entry-page .product-search{padding: 20px;}
}
@media(prefers-reduced-motion:reduce) {
.site-v3.entry-page *,.site-v3.entry-page *::before,.site-v3.entry-page *::after{animation: none !important; transition: none !important; scroll-behavior: auto !important;}
}
.site-v3.entry-page .entry-head-actions{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px;}
.site-v3.entry-page.consultation-entry .v3-footer a{display: inline-flex; align-items: center; min-height: 44px; color: var(--color-brand);}
/* Source: site-collection-v1.css */
.site-v3.collection-page .compact-page-head h1{max-width: none; width: auto;}
.site-v3.collection-page .compact-page-head{padding-block: 48px 32px; border-bottom: 0;}
.site-v3.collection-page .compact-section{padding-block: 40px;}
.site-v3.collection-page .source-category-nav{background: var(--color-paper); border-block: 1px solid var(--color-rule); position: static; overflow: visible;}
.site-v3.collection-page .source-category-nav .v3-wrap{display: flex; flex-wrap: wrap; gap: 8px 24px; padding-block: 8px;}
.site-v3.collection-page .source-category-nav a{display: inline-flex; align-items: center; min-height: 44px; padding: 12px 0; border: 0; background: transparent; color: var(--color-brand); white-space: normal;}
.site-v3.collection-page .source-category-nav a[aria-current]{border-bottom: 2px solid var(--color-brand); font-weight: 700;}
.site-v3.collection-page .collection-task-nav{margin-top: 32px; border: 0; gap: 8px 32px;}
.site-v3.collection-page :is(.case-index-list,.source-project-list){padding-block: var(--section-gap); background: var(--color-paper);}
.site-v3.collection-page .case-index-group{margin: 0 0 56px;}
.site-v3.collection-page .case-index-group:last-child{margin-bottom: 0;}
.site-v3.collection-page .case-index-group-head{display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 24px 48px; margin-bottom: 32px;}
.site-v3.collection-page .case-index-group-head h2{font-size: var(--type-section); color: var(--color-ink);}
.site-v3.collection-page .case-index-group-head p{font-size: 16px; color: var(--color-muted); margin: 0;}
.site-v3.collection-page :is(.case-index-cards,.source-project-grid){display: grid; grid-template-columns: minmax(0,1fr); gap: 32px;}
.site-v3.collection-page :is(.case-index-card,.source-project-card){min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 48px; align-items: center; padding: 32px 0; border: 0; border-top: 1px solid var(--color-rule); background: transparent;}
.site-v3.collection-page :is(.case-index-card,.source-project-card) figure{min-width: 0; width: auto; margin: 0; height: auto; aspect-ratio: auto; overflow: visible; background: var(--color-ground);}
.site-v3.collection-page :is(.case-index-card,.source-project-card) img{display: block; width: 100%; max-width: min(100%,var(--collection-media-max)); height: auto; min-height: 0; aspect-ratio: auto; object-fit: contain; margin-inline: auto; transform: none; transition: none;}
.site-v3.collection-page :is(.case-index-card-copy,.source-project-copy){min-width: 0; padding: 0;}
.site-v3.collection-page :is(.case-index-card-copy,.source-project-copy) > span{color: var(--color-brand); font-size: 14px; margin: 0; display: block;}
.site-v3.collection-page :is(.case-index-card h3,.source-project-card h2){color: var(--color-ink); font-size: var(--type-card); line-height: 1.4; margin: 16px 0;}
.site-v3.collection-page :is(.case-index-card,.source-project-card) p{color: var(--color-muted); font-size: 16px; margin: 0;}
.site-v3.collection-page .case-index-card dl{margin: 24px 0 0;}
.site-v3.collection-page .case-index-card dl > div{min-width: 0; border-top: 1px solid var(--color-rule); padding: 12px 0; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 16px;}
.site-v3.collection-page .case-index-card :is(dt,dd){color: var(--color-muted); margin: 0; font-size: 14px;}
.site-v3.collection-page .case-index-card dd{color: var(--color-ink);}
.site-v3.collection-page :is(.case-index-card,.source-project-card) strong{display: inline-flex; gap: 12px; align-items: center; min-height: 44px; margin-top: 20px; font-size: 14px; color: var(--color-brand);}
.site-v3.collection-page :is(.case-index-card,.source-project-card):hover :is(h2,h3){color: var(--color-brand);}
.site-v3.collection-page .source-project-card--feature{grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);}
.site-v3.collection-page .collection-query{padding-block: 0 40px;}
.site-v3.collection-page .collection-query .product-search{margin-top: 0;}
.site-v3.collection-page .directory-grid{gap: 0 48px;}
.site-v3.collection-page .directory-item h3{font-size: var(--type-card); color: var(--color-ink); margin: 0 0 12px;}
.site-v3.collection-page .directory-item:hover h3{color: var(--color-brand);}
.site-v3.collection-page .directory-links{gap: 16px 32px;}
.site-v3.collection-page .directory-links a{min-height: 44px; display: inline-flex; align-items: center; color: var(--color-brand);}
.site-v3.collection-page .about-intro-title h2{font-size: var(--type-section); margin: 0 0 20px;}
.site-v3.collection-page .about-intro-title p{color: var(--color-muted); margin: 0;}
.site-v3.collection-page .v3-lead{font-size: 18px; line-height: 1.8; color: var(--color-muted); margin: 0;}
.site-v3.collection-page .about-business-row{display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr) minmax(0,1fr); gap: 32px; border-top: 1px solid var(--color-rule); padding-block: 32px; align-items: start;}
.site-v3.collection-page .about-business-row > div{min-width: 0;}
.site-v3.collection-page .about-business-row h3{font-size: var(--type-card); margin: 0; color: var(--color-brand);}
.site-v3.collection-page .about-business-copy p{margin: 0; color: var(--color-muted);}
.site-v3.collection-page .about-business-copy .v3-link{margin-top: 20px; min-height: 44px;}
.site-v3.collection-page .about-project{display: block; min-width: 0;}
.site-v3.collection-page .about-project figure{margin: 0; background: var(--color-ground);}
.site-v3.collection-page .about-project img{display: block; width: 100%; height: auto; object-fit: contain;}
.site-v3.collection-page .about-project figcaption{padding: 12px; font-size: 14px; color: var(--color-brand);}
@media(max-width:1080px) {
.site-v3.collection-page .about-business-row{grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);}
.site-v3.collection-page .about-project{grid-column: 2; max-width: 400px;}
.site-v3.collection-page :is(.case-index-card,.source-project-card){gap: 32px;}
}
@media(max-width:760px) {
.site-v3.collection-page .compact-page-head{padding-block: 32px 24px;}
.site-v3.collection-page .compact-section{padding-block: 32px;}
.site-v3.collection-page .collection-query{padding-block: 0 32px;}
.site-v3.collection-page :is(.case-index-group-head,.case-index-card,.source-project-card,.source-project-card--feature,.about-business-row){grid-template-columns: minmax(0,1fr); gap: 20px;}
.site-v3.collection-page .case-index-group{margin-bottom: 40px;}
.site-v3.collection-page :is(.case-index-card,.source-project-card){padding-block: 24px;}
.site-v3.collection-page .source-category-nav .v3-wrap{gap: 8px 24px;}
.site-v3.collection-page .case-index-group-head{margin-bottom: 24px;}
.site-v3.collection-page .about-project{grid-column: auto; max-width: none;}
.site-v3.collection-page .v3-split{gap: 24px;}
.site-v3.collection-page .about-business-row{padding-block: 24px;}
}
