/* Public site presentation. Engineering data and calculator engines are unchanged. */
:root { --navy:#1d1d1f; --blue:#0066cc; --cyan:#0071e3; --orange:#0071e3; --ink:#1d1d1f; --muted:#6e6e73; --line:#d2d2d7; --soft:#f5f5f7; --soft-blue:#f5f5f7; --shadow:0 12px 32px rgb(0 0 0 / 4%); }
body { background:#fff; color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; -webkit-font-smoothing:antialiased; }
html { scroll-padding-top:90px; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
:focus-visible { outline:3px solid #0071e3; outline-offset:4px; }
[hidden] { display:none !important; }
.visually-hidden,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link:focus { position:fixed; top:8px; left:8px; z-index:10000; background:#fff; padding:12px; color:#0066cc; }
.site-header { background:rgba(255,255,255,.92); color:var(--ink); border-bottom:1px solid #e8e8ed; box-shadow:none; backdrop-filter:blur(20px); }
.nav-wrap { width:min(1200px,calc(100% - 48px)); min-height:68px; gap:20px; }
.brand { gap:10px; }.brand-logo { width:34px; height:34px; border-radius:8px; }.brand strong { font-size:17px; letter-spacing:-.03em; }.brand small { color:#6e6e73; font-size:11px; }
.nav-links { gap:32px; }.nav-links a { color:#424245; font-size:13px; font-weight:500; }.nav-links a:hover { color:#0066cc; }.nav-links .nav-cta { border-color:#d2d2d7; border-radius:999px; padding:8px 17px; color:#0066cc; }
.section { width:min(1120px,calc(100% - 48px)); padding:68px 0; margin:auto; }
.section-head { align-items:center; margin-bottom:26px; }.section-head h2 { margin:0; color:#1d1d1f; font-size:36px; letter-spacing:-.04em; line-height:1.25; }.section-head p { margin:12px 0 0; max-width:700px; color:#6e6e73; font-size:15px; }
.search-hero { padding:66px 24px 62px; text-align:center; background:#fff; }
.search-hero h1 { font-size:clamp(48px,6vw,78px); line-height:1.15; letter-spacing:-.045em; margin:0 0 24px; font-weight:650; }.search-hero h1 span { color:#86868b; }
.search-hero>p { margin:0 auto 30px; font-size:19px; color:#6e6e73; line-height:1.65; }
.hero-search { width:min(680px,100%); margin:auto; display:flex; align-items:center; padding:7px; border:1px solid #c7c7cc; border-radius:14px; background:#fff; box-shadow:0 4px 16px rgb(0 0 0 / 3%); }
.hero-search:focus-within { outline:3px solid #c6e2ff; border-color:#0071e3; }.hero-search svg { width:24px; height:24px; margin:0 10px; flex-shrink:0; color:#6e6e73; }.hero-search input { min-width:0; flex:1; border:0; outline:0; padding:12px 0; color:#1d1d1f; background:none; font-size:16px; }.hero-search button { min-height:46px; padding:0 27px; border:0; border-radius:10px; background:#0071e3; color:#fff; cursor:pointer; }.hero-search button:hover { background:#0077ed; }
.hero-quick-links { display:flex; justify-content:center; flex-wrap:wrap; gap:0; margin-top:22px; }.hero-quick-links a { padding:3px 20px; font-size:14px; color:#0066cc; text-decoration:none; }.hero-quick-links a+a { border-left:1px solid #d2d2d7; }.hero-quick-links a:hover { text-decoration:underline; }
.start-section { background:#f5f5f7; }.start-section .section { padding:42px 0 52px; }.start-section h2 { font-size:30px; text-align:center; letter-spacing:-.04em; margin:0 0 28px; }.start-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.start-grid button { position:relative; min-width:0; padding:28px 30px 34px; border:1px solid #e6e6eb; border-radius:20px; background:#fff; text-align:left; cursor:pointer; color:#1d1d1f; transition:transform .2s,box-shadow .2s; }.start-grid button:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgb(0 0 0 / 6%); }.start-grid svg { display:block; width:50px; height:50px; color:#0071e3; margin-bottom:18px; }.start-grid strong { display:block; font-size:23px; letter-spacing:-.03em; margin-bottom:10px; }.start-grid span { display:block; max-width:260px; color:#6e6e73; font-size:14px; line-height:1.8; padding-right:12px; }.start-grid i { position:absolute; right:24px; bottom:24px; color:#0066cc; font-size:23px; font-style:normal; }
.catalog-total { color:#6e6e73; white-space:nowrap; font-size:14px; }.catalog-total strong { font-weight:500; }
.tool-search { display:block; margin:0 0 20px; }.tool-search input { width:100%; max-width:none; border:1px solid #d2d2d7; border-radius:12px; min-height:50px; padding:13px 18px; background:#fff; color:#1d1d1f; font-size:16px; }
.tool-filters { gap:8px; margin:0; }.tool-filter { border:1px solid #dedee3; background:#fff; color:#424245; border-radius:8px; font-size:13px; font-weight:500; padding:9px 13px; min-height:40px; }.tool-filter:hover { border-color:#86868b; }.tool-filter.active { border-color:#1d1d1f; background:#1d1d1f; color:#fff; }
.catalog-status { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 0 14px; color:#6e6e73; font-size:13px; }.catalog-status button { padding:5px 0; border:0; color:#0066cc; background:none; cursor:pointer; }
.tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.tool-card { display:flex; flex-direction:column; padding:24px; min-width:0; min-height:190px; border:1px solid #e1e1e6; border-radius:15px; box-shadow:none; background:#fff; text-decoration:none; transition:border-color .2s,box-shadow .2s; }.tool-card:hover { transform:none; border-color:#b8b8bf; box-shadow:0 6px 22px rgb(0 0 0 / 4%); }.tool-card h3 { font-size:17px; line-height:1.6; color:#1d1d1f; margin:0 0 8px; letter-spacing:-.015em; }.tool-card p { font-size:13px; line-height:1.8; color:#6e6e73; margin:0 0 20px; }.tool-meta { display:flex; justify-content:space-between; gap:8px; margin-top:auto; font-size:12px; color:#6e6e73; border:0; padding:0; }.tool-meta span:last-child { color:#0066cc; white-space:nowrap; }.tool-empty { background:#f5f5f7; color:#6e6e73; padding:32px; border:0; }
.catalog-pagination { display:flex; justify-content:center; flex-wrap:wrap; align-items:center; gap:8px; padding-top:26px; }.catalog-pagination button { min-height:40px; min-width:40px; padding:8px 12px; border:1px solid #dedee3; border-radius:8px; background:#fff; color:#424245; cursor:pointer; }.catalog-pagination button[aria-current=page] { background:#0071e3; color:#fff; border-color:#0071e3; }.catalog-pagination button:disabled { opacity:.4; cursor:default; }.catalog-pagination span { padding:4px; color:#6e6e73; }
.resources-band { background:#f5f5f7; }.resource-list { background:#fff; border-radius:16px; padding:4px 24px; }.resource-list a { display:grid; grid-template-columns:110px minmax(180px,.8fr) minmax(0,1.3fr) 20px; gap:20px; align-items:center; padding:23px 0; text-decoration:none; border-bottom:1px solid #ececf0; }.resource-list a:last-child { border:0; }.resource-list strong { font-size:16px; font-weight:600; }.resource-list span { font-size:13px; color:#6e6e73; }.resource-list .resource-type { color:#0066cc; }.resource-list b { font-size:20px; color:#0066cc; font-weight:400; }.resource-list a:hover strong { color:#0066cc; }.resource-note { font-size:12px; line-height:1.8; color:#6e6e73; margin:20px 0 0; }.resource-empty { color:#6e6e73; }
.scene-grid { gap:12px; }.scene-grid button { background:#f5f5f7; border:1px solid transparent; border-radius:14px; color:#1d1d1f; padding:22px 18px; font-size:16px; box-shadow:none; }.scene-grid small { color:#6e6e73; font-weight:400; font-size:12px; }.scene-grid button:hover { border-color:#c7c7cc; background:#fafafa; }
.featured-tool-showcase { background:#f5f5f7; border:0; }.featured-tool-inner { width:min(1120px,calc(100% - 48px)); padding:64px 0; }.featured-tool-copy h2 { color:#1d1d1f; font-size:32px; letter-spacing:-.04em; }.featured-tool-lead,.featured-tool-boundary { color:#6e6e73; }.featured-tool-lead strong { color:#1d1d1f; }.featured-tool-capabilities li { color:#424245; background:#fff; border-color:#e8e8ed; }.featured-tool-media { border:1px solid #dedee3; box-shadow:0 12px 40px rgb(0 0 0 / 6%); background:#fff; }.featured-tool-framebar { background:#fff; color:#1d1d1f; border-bottom:1px solid #eee; }.featured-tool-framebar small { color:#6e6e73; }
.btn { border-radius:999px; font-weight:500; }.btn-primary { background:#0071e3; color:#fff; }.featured-tool-secondary { color:#0066cc; }
.cooperation { background:#fff; color:#1d1d1f; padding:0; border-radius:0; box-shadow:none; gap:48px; }.cooperation h2 { color:#1d1d1f; font-size:32px; letter-spacing:-.04em; }.cooperation p { color:#6e6e73; }.service-item { background:#f5f5f7; border:0; color:#1d1d1f; }.service-item small { color:#6e6e73; }.cooperation-contact { background:#f5f5f7; border:0; padding:22px; border-radius:16px; }.cooperation-contact strong { color:#1d1d1f; }.cooperation-contact small { color:#6e6e73; }.cooperation-contact a { color:#0066cc; }
.lead-panel { background:#f5f5f7; border:1px solid #ececf0; border-radius:20px; box-shadow:none; padding:28px; }.lead-panel-head span { display:none; }.lead-panel-head h3 { color:#1d1d1f; }.lead-panel-head p,.lead-consent { color:#6e6e73; }.lead-form-grid label,.lead-message { color:#424245; font-size:13px; }.lead-form-grid input,.lead-form-grid select,.lead-message textarea { border-color:#d2d2d7; border-radius:10px; background:#fff; font-size:16px; }
.site-footer { background:#f5f5f7; color:#6e6e73; border-top:1px solid #e8e8ed; }.footer-inner { width:min(1120px,calc(100% - 48px)); padding:28px 0; gap:22px; }.footer-inner strong { color:#1d1d1f; }.legal,.footer-links a { color:#6e6e73; font-size:12px; }
.apple-home .hbcc-counter { background:rgba(255,255,255,.96); color:#6e6e73; border-color:#dedee3; box-shadow:0 4px 16px rgb(0 0 0 / 5%); font-family:inherit; }
.apple-home .hbcc-counter::before,.apple-home .hbcc-counter strong { color:#0066cc; }
@media(max-width:760px) { .apple-home .hbcc-counter { bottom:calc(90px + env(safe-area-inset-bottom)); max-width:calc(100vw - 24px); } }
@media (max-width:920px) { .nav-links { gap:18px; }.start-grid button { padding:23px; }.tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.resource-list a { grid-template-columns:90px 1fr 20px; gap:14px; }.resource-list a>span:nth-of-type(2) { grid-column:2; grid-row:2; }.resource-list b { grid-column:3; grid-row:1 / 3; }.resource-list a { row-gap:5px; } }
@media (max-width:760px) { .nav-wrap { width:calc(100% - 32px); min-height:62px; }.brand strong { font-size:15px; }.nav-toggle { border-color:#dedee3; background:#fff; color:#1d1d1f; }.nav-toggle span { background:#1d1d1f; }.nav-links { background:#fff; color:#1d1d1f; border:1px solid #e8e8ed; box-shadow:0 16px 28px rgb(0 0 0 / 7%); }.nav-links a:hover { background:#f5f5f7; }.section { width:calc(100% - 36px); padding:46px 0; }.section-head { display:block; }.section-head h2 { font-size:29px; }.section-head p { font-size:14px; }.catalog-total { margin-top:12px; }.search-hero { padding:48px 18px 40px; }.search-hero h1 { font-size:54px; }.search-hero>p { max-width:330px; font-size:16px; }.hero-search input { font-size:14px; }.hero-search button { padding:0 18px; }.hero-quick-links a { font-size:13px; padding:2px 12px; }.start-grid { grid-template-columns:1fr; gap:12px; }.start-grid button { display:grid; grid-template-columns:50px 1fr; column-gap:22px; padding:24px; }.start-grid svg { grid-row:1 / 3; margin:5px 0 0; width:44px; height:44px; }.start-grid strong { font-size:20px; margin-bottom:6px; }.start-grid span { max-width:none; font-size:13px; }.start-grid i { bottom:16px; right:16px; font-size:18px; }.start-section .section { padding:32px 0; }.start-section h2 { font-size:27px; }.resource-list { padding:0 18px; }.resource-list a { grid-template-columns:1fr 20px; gap:6px; padding:20px 0; }.resource-list .resource-type { grid-column:1; }.resource-list strong { grid-column:1; font-size:16px; }.resource-list a>span:nth-of-type(2) { grid-column:1; grid-row:3; }.resource-list b { grid-column:2; grid-row:1 / 4; }.scene-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.featured-tool-inner { width:calc(100% - 36px); padding:40px 0; grid-template-columns:1fr; }.cooperation { gap:32px; }.lead-panel { padding:22px; }.footer-inner { width:calc(100% - 36px); flex-direction:column; align-items:flex-start; }.mobile-quick-nav { border-color:#e1e1e6; box-shadow:0 4px 24px rgb(0 0 0 / 7%); padding-bottom:max(7px,env(safe-area-inset-bottom)); }.mobile-quick-nav a { color:#424245; font-weight:500; }.mobile-quick-nav a:hover { background:#f5f5f7; } }
@media (max-width:620px) { .tool-grid { grid-template-columns:1fr; }.tool-card { min-height:0; padding:23px; }.tool-card h3 { font-size:17px; }.tool-card p { margin-bottom:18px; }.tool-filter { font-size:12px; padding:8px 10px; }.cooperation { grid-template-columns:1fr; }.hero-search svg { margin:0 6px; width:20px; }.hero-quick-links a { padding:2px 10px; }.lead-form-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
@media print { .site-header,.mobile-quick-nav,.hero-search,.catalog-pagination,.lead-panel { display:none; } body { padding:0; }.section { width:100%; padding:20px 0; } }
.community-page { max-width:980px; padding-block:40px 80px; }
.community-page header { margin:64px 0 42px; }
.community-page h1 { margin:12px 0 18px; font-size:clamp(32px,5vw,56px); line-height:1.18; letter-spacing:-.045em; }
.community-page p { color:#6e6e73; line-height:1.8; }
.community-cards { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.community-cards section { padding:32px; background:#fff; border:1px solid #e5e5e7; border-radius:20px; }
.community-cards h2 { margin-top:0; font-size:24px; }
.community-cards img { display:block; margin:24px auto 8px; }
.community-caption { text-align:center; font-size:12px; }
.community-cards .community-number { color:#0071e3; font-size:36px; font-weight:600; letter-spacing:-1px; margin-block:24px; }
@media(max-width:620px) { .community-cards { grid-template-columns:1fr; }.community-page header { margin-top:48px; }.community-cards section { padding:26px; } }
