/* 三恒 / UI 2 — precise hierarchy, deliberate motion, accessible equipment viewing. */
:root { --muted:#53615e; --line:#d9ded8; --ease:cubic-bezier(.2,.7,.2,1); }
body { -webkit-font-smoothing:antialiased; }
button, a, input, textarea { touch-action:manipulation; }
a,button { transition:color .2s,background-color .2s,border-color .2s,transform .25s var(--ease); }
button:disabled { cursor:default; opacity:.65; }
.wrap { width:min(1380px,calc(100% - 96px)); }
.utility { height:auto; min-height:30px; }
.utility .wrap,.utility button { font-size:.75rem; }
.header-inner,.header.is-scrolled .header-inner { min-height:88px; }
.brand,.brand img { width:268px; max-height:78px; }
.header nav>a,.nav-drop>a { font-size:.875rem; }
.header nav [aria-current=page]:after { display:none; }
.header nav>a:hover,.nav-drop:hover>a { background:#fff1; color:var(--ivory); }
.header nav [aria-current=page],.header nav [aria-current=page]:hover { background:var(--amber); color:var(--forest); }
.search-toggle,.mobile-toggle { width:44px; height:44px; }
.button { min-height:48px; font-size:.875rem; font-weight:600; gap:26px; position:relative; }
.button span { transition:transform .25s var(--ease); }
.button:hover span { transform:translate(3px,-3px); }
.button:active { transform:translateY(1px); }
:focus-visible { outline:3px solid #976814; outline-offset:4px; }
.hero :focus-visible,footer :focus-visible { outline-color:var(--amber); }
.eyebrow { font-size:.75rem; letter-spacing:.13em; }
.section { padding:84px 0; }
.section-head { padding-bottom:25px; margin-bottom:32px; align-items:end; }
.section-head h2 { font-size:2rem; font-weight:600; letter-spacing:.015em; }
.text-link { font-size:.875rem; line-height:1.7; padding:8px 0; }
.hero { background:var(--forest); }
.hero-inner { min-height:640px; grid-template-columns:1fr 1.2fr; gap:46px; padding:34px 0 86px; }
.hero-copy { padding:0 0 10px; }
.hero .eyebrow { font-size:.6875rem; color:#c5ceca; letter-spacing:.12em; }
.hero h1 { margin:24px 0 23px; font-size:clamp(2.125rem,3.35vw,3.4rem); font-weight:600; line-height:1.42; letter-spacing:.035em; }
.hero h1 span { font-size:.94em; }
.hero-copy>p { max-width:430px; font-size:.9375rem; line-height:1.95; color:#c8d0cc; }
.hero .actions { margin-top:29px; gap:12px; }
.hero .button { min-height:48px; }
.hero-specs { display:flex; flex-wrap:wrap; gap:22px; border-top:1px solid #a5afa830; padding-top:22px; margin:31px 0 0; }
.hero-specs>div { display:grid; gap:5px; }
.hero-specs dt { color:#b6c0bb; font-size:.75rem; }
.hero-specs dd { font:1.25rem/1.4 Arial,"Microsoft YaHei",sans-serif; margin:0; color:var(--ivory); }
.hero-media { margin:0; background:var(--ivory); box-shadow:none; border:1px solid #ffffff3d; align-self:center; }
.hero-media:before { background:linear-gradient(#1d2a2e07 1px,transparent 1px),linear-gradient(90deg,#1d2a2e07 1px,transparent 1px); background-size:40px 40px; pointer-events:none; }
.hero-media:after { content:""; position:absolute; width:44px; height:4px; background:var(--amber); top:-1px; left:24px; pointer-events:none; }
.hero-media-index { top:20px; left:24px; font-size:.6875rem; color:#53615e; }
.hero .model-stage { padding-top:46px; }
.hero model-viewer { height:305px; }
.hero .model-topline { display:flex; top:19px; justify-content:flex-end; left:auto; }
.hero .model-topline>span:first-child { display:none; }
.model-stage { background:linear-gradient(145deg,#fbfaf6,#f2f3eb); isolation:isolate; }
.model-topline { top:15px; left:16px; right:16px; font-size:.75rem; color:#53615e; }
.model-topline b,.model-state { font-size:.6875rem; color:#53615e; }
.model-state.ready:before { background:#47654d; width:5px; height:5px; vertical-align:1px; }
model-viewer { height:230px; touch-action:pan-y; cursor:grab; }
model-viewer:active { cursor:grabbing; }
model-viewer:focus-visible { outline-offset:-4px; }
.model-progress { height:3px; background:#d9ded8; }
.model-toolbar,.hero .model-toolbar { padding:8px 14px 13px; gap:8px; border:0; flex-wrap:nowrap; min-height:58px; }
.model-hint,.hero .model-hint { font-size:.6875rem; color:#53615e; letter-spacing:0; width:auto; text-align:left; }
.model-toolbar>div { width:auto; gap:5px; }
.model-toolbar button,.hero .model-toolbar button { min-width:38px; width:38px; height:38px; border:1px solid #cbd1c8; background:#ffffffb0; color:var(--forest); font-size:22px; }
.model-toolbar button[data-model-tool=expand] { width:auto; padding:0 10px; gap:6px; font-size:.75rem; }
.hero .model-toolbar button[data-model-tool=expand] { width:auto; min-width:72px; white-space:nowrap; }
.model-toolbar button[data-model-tool=expand] span { font-size:19px; }
.model-toolbar button:hover,.hero .model-toolbar button:hover { background:var(--amber); border-color:var(--amber); }
.model-views { position:relative; display:flex; justify-content:space-between; gap:8px; align-items:center; border-top:1px solid #1d2a2e17; padding:9px 14px; }
.model-views>div { display:flex; }
.model-views button { min-height:38px; padding:6px 12px; font-size:.75rem; color:#4d5b57; border:1px solid transparent; }
.model-views button[aria-pressed=true] { background:var(--forest); color:var(--ivory); }
.model-views button:not([aria-pressed=true]):hover { background:#e4e7df; }
.model-views button[data-model-tool=rotate] { display:flex; align-items:center; gap:7px; border:1px solid #cbd1c8; white-space:nowrap; }
.model-views button[data-model-tool=rotate] span { font:18px/1 Arial; }
.hero-equipment { padding:15px 22px; gap:12px; border-color:#1d2a2e17; font-size:.875rem; }
.hero-equipment small { font-size:.6875rem; color:#53615e; }
.hero-equipment>span:last-child { font-size:.75rem; white-space:nowrap; }
.hero-equipment:hover { background:#e9eadf; }
.hero-bottom { right:0; bottom:17px; padding-top:13px; align-items:center; border-color:#a5afa840; }
.hero-meta { font-size:.75rem; color:#c1cac5; gap:24px; }
.hero-meta span+span { padding-left:24px; }
.slide-controls { gap:11px; font-size:.75rem; }
.slide-arrow { width:44px; height:44px; border:1px solid #a5afa850; }
.slide-dot,.slide-dot.active { width:30px; height:44px; }
.slide-dot:before { top:21px; height:2px; }
.slide-dot:hover:before { background:var(--ivory); }
.catalog-home,.page-layout { grid-template-columns:212px minmax(0,1fr); gap:28px; }
.home-sidebar { background:white; border:0; border-top:3px solid var(--amber); }
.home-sidebar h3 { background:transparent; color:var(--forest); padding:20px 0; font-size:.875rem; font-weight:600; }
.home-sidebar button { min-height:69px; padding:15px 12px; font-size:.9375rem; background:white; border-bottom:1px solid var(--line); position:relative; }
.home-sidebar button.active { background:var(--ivory); box-shadow:inset 3px 0 var(--amber); }
.home-sidebar button:hover { background:var(--ivory); }
.category-no,.category-count { font-size:.6875rem; opacity:1; color:#59675f; }
.home-sidebar button.active .category-no,.home-sidebar button.active .category-count { color:var(--forest); }
.category-footnote { padding:24px 12px 24px 0; font-size:.75rem; color:#53615e; }
.product-grid,.home .product-grid { gap:22px; }
.product-card { border-color:#d9ded8; transition:border-color .22s,box-shadow .3s var(--ease); }
.product-card:focus-within,.product-card:hover { border-color:#9caa9f; box-shadow:0 12px 28px #1d2a2e0c; }
.product-info { padding:19px 18px 16px; min-height:208px; display:flex; flex-direction:column; }
.product-info small { font-size:.6875rem; color:#59675f; }
.product-info h3,.home .product-info h3 { font-size:.9375rem; line-height:1.65; margin:8px 0 10px; }
.product-info p { font-size:.8125rem; line-height:1.85; color:#53615e; margin-bottom:14px; }
.product-link { font-size:.75rem; color:var(--forest); padding-top:12px; margin-top:auto; }
.product-link span { transition:transform .25s var(--ease); }
.product-link:hover span { transform:translate(3px,-3px); }
.product-link:focus-visible { outline-offset:4px; }
.process-section { padding:76px 0; }
.process-section>.wrap { gap:100px; }
.process-section .eyebrow { font-size:.6875rem; color:#c1cac5; }
.process-section h2 { font-size:2rem; font-weight:500; }
.process-steps>div { padding:25px 0; }
.process-steps h3 { font-size:1.125rem; }
.process-steps p { font-size:.875rem; color:#c1cac5; line-height:1.85; }
.process-steps>div>span { font-size:1.25rem; }
.case-image img { transition:transform .6s var(--ease); }
.case-card:hover .case-image img { transform:scale(1.035); }
.case-card h3 { font-size:1rem; line-height:1.75; }
.case-card small,.archive-note { font-size:.75rem; color:#53615e; }
.round-control { width:44px; height:44px; }
.brand-plaque { padding:38px 28px; border-color:#ffffff25; }
.brand-plaque img { max-height:120px; }
.brand-plaque>span { font-size:.75rem; color:#c1cac5; }
.about-teaser p { font-size:.9375rem; color:#53615e; line-height:1.95; }
.news-list a { padding:19px 0; gap:18px; }
.news-list h3 { font-size:.8755rem; color:var(--forest); }
.news-list time { font-size:.75rem; color:#53615e; }
.news-list a>span:last-child { color:#53615e; transition:transform .2s; }
.news-list a:hover>span:last-child { transform:translate(3px,-3px); }
.contact-strip { padding:55px 0; }
.contact-strip h2 { font-size:2rem; font-weight:600; }
.contact-strip p { font-size:.875rem; color:var(--forest); }
.contact-strip .eyebrow { font-size:.6875rem; color:var(--forest); }
.footer-main a,.footer-main p,.footer-main button { font-size:.8125rem; color:#c5ceca; line-height:1.85; }
.footer-main>div>a:not(.brand):not(.footer-phone) { color:#c5ceca; }
.footer-main>div>a:not(.brand):not(.footer-phone):hover { color:var(--amber); }
.footer-main .footer-wechat span { color:#c5ceca; }
.footer-main h3 { font-size:.875rem; }
.footer-brand,.footer-brand img { width:252px; max-height:90px; }
.footer-bottom { font-size:.75rem; color:#bbc5bf; align-items:center; gap:16px; }
[data-motion-toggle] { display:flex; align-items:center; gap:9px; min-height:44px; color:inherit; font-size:.75rem; }
[data-motion-toggle]:before { content:""; display:block; width:25px; height:14px; border:1px solid #bdc8be; border-radius:10px; background:radial-gradient(circle at 6px 6px,#c5ceca 3px,transparent 4px); }
[data-motion-toggle][aria-pressed=true]:before { border-color:var(--amber); background:radial-gradient(circle at 17px 6px,var(--amber) 3px,transparent 4px); }
.floating { right:0; bottom:28px; border:1px solid #cbd1c8; box-shadow:0 5px 15px #1d2a2e0c; }
.floating button { min-height:58px; width:44px; }
.floating button span:not(.phone-symbol) { font-size:.625rem; }
.page-banner { padding:35px 0; }
.page-banner h1 { font-size:2rem; font-weight:600; }
.breadcrumb { font-size:.8125rem; color:#53615e; }
.page-banner .english { color:#d7ded1; font-size:4rem; }
.page-layout { padding-top:40px; padding-bottom:80px; }
.filter-row h2 { font-size:1.5rem; }
.filter-row p,.catalog-subcategories a { font-size:.8125rem; color:#53615e; }
.catalog-subcategories a { min-height:44px; display:inline-flex; align-items:center; }
.side-groups summary { font-size:.875rem; min-height:48px; }
.side-groups a,.all-products-link { font-size:.8125rem; }
.all-products-link { min-height:44px; }
.sidebar-title { font-size:1rem; }
.search-form input,.search-form button { min-height:46px; font-size:.9375rem; }
.detail-stage model-viewer { height:355px; }
.model-disclosure,.source-image-link { font-size:.75rem; color:#53615e; }
.source-image-link { min-height:44px; padding:6px 0; }
.detail-kicker { font-size:.8125rem; color:#53615e; }
.spec-row { font-size:.875rem; padding:10px 0; }
.spec-row span:first-child { color:#53615e; }
.source-note { font-size:.8125rem; color:#53615e; }
.product-detail-head .actions .button { font-size:.8125rem; min-height:46px; }
.details-tabs a { font-size:.875rem; padding:16px 0; }
.contact-page h2 { font-size:1.75rem; }
.contact-intro,.contact-line small,.inquiry-form label,dialog p { font-size:.875rem; color:#53615e; }
.inquiry-form input,.inquiry-form textarea { font-size:1rem; min-height:48px; }
.inquiry-form label { gap:8px; }
.form-note { font-size:.75rem!important; color:#53615e!important; }
.contact-panel { padding:30px; }
dialog { padding:36px; }
dialog .close { width:44px; height:44px; top:10px; right:10px; color:var(--forest); border:1px solid var(--line); background:white; }
dialog::backdrop { background:#1d2a2ebd; }
.model-modal { padding:26px; }
.model-modal h2 { font-size:1.25rem; line-height:1.6; margin-right:50px; }
.expanded-stage model-viewer { height:min(58vh,560px); }
.expanded-stage .model-toolbar { padding:8px 16px; }
.model-fallback button { min-height:44px; padding:8px 12px; }
#toast { max-width:calc(100% - 32px); width:max-content; font-size:.875rem; }
@media(min-width:1600px) { .hero-inner { min-height:706px; gap:70px; } .hero model-viewer { height:385px; } }
@media(max-width:1200px) { .floating { display:none; } }
@media(max-width:1150px) {
  .wrap { width:calc(100% - 64px); }
  .hero-inner { gap:30px; grid-template-columns:.95fr 1.15fr; }
  .hero h1 { font-size:2.35rem; }
  .hero model-viewer { height:310px; }
  .hero-specs { gap:15px; }
  .catalog-home,.page-layout { grid-template-columns:185px minmax(0,1fr); gap:22px; }
  .product-grid,.home .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .header nav>a,.nav-drop>a { padding-left:16px; padding-right:16px; }
  .header .nav-drop>a { padding-right:29px; }
  .detail-stage model-viewer { height:290px; }
  .product-detail-head { grid-template-columns:1fr; }
  .model-topline>span:first-child { font-size:.6875rem; }
  .model-topline b { font-size:.6875rem; }
  .process-section>.wrap { gap:55px; }
  .footer-main { grid-template-columns:1.2fr .7fr .8fr 1.2fr; gap:25px; }
  .footer-brand,.footer-brand img { width:215px; }
}
@media(max-width:800px) {
  .wrap { width:calc(100% - 40px); }
  .header-inner,.header.is-scrolled .header-inner { min-height:80px; }
  .header nav { top:80px; max-height:calc(100dvh - 150px); padding:12px 20px 20px; }
  .brand,.brand img { width:238px; max-height:70px; }
  .header nav>a,.nav-drop>a { color:var(--forest); min-height:48px; }
  .header nav>a:hover,.nav-drop:hover>a { color:var(--forest); background:var(--ivory); }
  .header nav [aria-current=page] { background:var(--amber); }
  .header-actions { gap:10px; }
  .utility .wrap>span { font-size:.6875rem; letter-spacing:0; }
  .utility button { font-size:.6875rem; }
  .hero-inner { grid-template-columns:1fr 1.05fr; padding-top:33px; padding-bottom:95px; gap:25px; min-height:620px; }
  .hero h1 { font-size:2rem; line-height:1.45; }
  .hero .eyebrow { font-size:.625rem; }
  .hero-copy>p { font-size:.875rem; line-height:1.9; }
  .hero .button { font-size:.8125rem; padding:10px 16px; gap:12px; }
  .hero model-viewer { height:278px; }
  .hero-media-index { top:16px; left:15px; font-size:.625rem; }
  .hero .model-topline { top:15px; right:12px; }
  .hero .model-stage { padding-top:37px; }
  .hero-specs { margin-top:24px; padding-top:19px; }
  .hero-specs dd { font-size:1rem; }
  .hero .model-toolbar { padding:7px 12px; }
  .hero .model-toolbar .model-hint { font-size:.625rem; }
  .hero-equipment { font-size:.8125rem; padding:13px 15px; }
  .hero-equipment>span:last-child { display:none; }
  .model-views { padding:8px; gap:4px; flex-wrap:wrap; }
  .model-views button { font-size:.6875rem; padding:7px 10px; }
  .hero .model-views { justify-content:center; }
  .hero .model-views button { min-height:44px; }
  .slide-dot,.slide-dot.active { width:44px; }
  .slide-controls { gap:8px; }
  .hero-meta { display:flex; font-size:.6875rem; }
  .hero-meta span+span { padding:0; }
  .catalog-home,.page-layout { grid-template-columns:1fr; }
  .home-sidebar { border:0; gap:8px; padding-bottom:5px; }
  .home-sidebar button { border:1px solid var(--line); min-height:48px; padding:12px 15px; gap:8px; }
  .home-sidebar button.active { background:var(--amber); box-shadow:none; border-color:var(--amber); }
  .product-grid,.home .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  model-viewer { height:235px; }
  .product-info { min-height:204px; }
  .model-toolbar button,.hero .model-toolbar button { width:44px; height:44px; }
  .model-toolbar { padding:6px 12px 12px; }
  .hint-desktop { display:none; } .model-hint .hint-touch { display:inline; }
  .section { padding:60px 0; }
  .section-head h2 { font-size:1.75rem; }
  .process-section h2 { font-size:1.625rem; }
  .process-section>.wrap { gap:40px; }
  .process-steps p { font-size:.8125rem; }
  .split-section { gap:30px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:32px; }
  .footer-bottom { padding-bottom:82px; }
  .detail-stage model-viewer { height:380px; }
  .model-views button { min-height:44px; }
  .side-groups summary { padding:11px 12px; }
  .side-groups a { min-height:44px; }
  .contact-page { gap:30px; }
  .mobile-bar a,.mobile-bar button { font-size:.8125rem; min-height:56px; }
}
@media(max-width:600px) {
  .wrap { width:calc(100% - 36px); }
  .utility .wrap { justify-content:center; }
  .utility button { display:none; }
  .brand,.brand img { width:218px; max-height:65px; }
  .header-inner,.header.is-scrolled .header-inner { min-height:78px; gap:10px; }
  .header nav { top:78px; padding:12px 18px 20px; }
  .header-actions { gap:5px; }
  .search-toggle,.mobile-toggle { width:44px; height:44px; }
  .hero-inner { grid-template-columns:1fr; padding-top:34px; padding-bottom:88px; gap:0; min-height:0; }
  .hero h1 { font-size:2.125rem; line-height:1.42; margin:20px 0 17px; }
  .hero h1 span { font-size:.94em; }
  .hero .eyebrow { font-size:.625rem; }
  .hero-copy { padding:0; }
  .hero-copy>p { font-size:.875rem; line-height:1.9; max-width:100%; }
  .hero .actions { margin-top:23px; gap:10px; }
  .hero .button { font-size:.875rem; min-height:48px; padding:12px 22px; }
  .hero-specs { margin-top:25px; padding-top:18px; gap:30px; }
  .hero-specs { display:none; }
  .hero-specs dt { font-size:.6875rem; }
  .hero-specs dd { font-size:1.125rem; }
  .hero-media { margin:27px 0 0; }
  .hero .model-stage { padding-top:36px; }
  .hero model-viewer { height:270px; }
  .hero .model-toolbar .model-hint { font-size:.6875rem; }
  .hero .model-views { justify-content:space-between; }
  .hero .model-views button { min-height:44px; }
  .hero .model-toolbar { padding:5px 12px 10px; }
  .hero-equipment { padding:13px 15px; font-size:.8125rem; }
  .hero-equipment>span:last-child { display:block; font-size:.6875rem; }
  .hero-bottom { bottom:18px; padding-top:12px; }
  .hero-meta { display:none; }
  .slide-controls { gap:8px; }
  .slide-dot,.slide-dot.active { width:44px; }
  .section { padding:48px 0; }
  .section-head { gap:15px; padding-bottom:22px; margin-bottom:24px; }
  .section-head h2 { font-size:1.625rem; }
  .section-head .eyebrow { font-size:.6875rem; }
  .section-head .text-link { font-size:.75rem; white-space:nowrap; }
  .home-sidebar button { font-size:.875rem; padding:12px; }
  .category-no,.category-count { font-size:.6875rem; }
  .home .product-grid,.product-grid { grid-template-columns:1fr; gap:22px; }
  model-viewer { height:256px; }
  .model-topline { top:15px; left:16px; right:16px; }
  .model-topline svg { width:17px; }
  .model-topline b,.model-topline>span:first-child,.model-state { font-size:.6875rem; }
  .model-toolbar,.detail-stage .model-toolbar { padding:7px 14px 12px; gap:10px; flex-wrap:nowrap; }
  .model-hint,.detail-stage .model-hint,.expanded-stage .model-hint { font-size:.75rem; width:auto; text-align:left; }
  .model-toolbar>div,.detail-stage .model-toolbar>div { width:auto; gap:6px; }
  .model-toolbar button,.hero .model-toolbar button,.expanded-stage .model-toolbar button { height:44px; }
  .product-info { min-height:0; padding:19px 18px 16px; }
  .product-info small { font-size:.75rem; }
  .product-info h3,.home .product-info h3 { font-size:1rem; margin:8px 0 10px; line-height:1.65; }
  .product-info p { font-size:.875rem; line-height:1.8; }
  .product-link { min-height:44px; padding-top:12px; font-size:.8125rem; }
  .process-section { padding:48px 0; }
  .process-section>.wrap { grid-template-columns:1fr; gap:21px; }
  .process-section h2 { font-size:1.75rem; }
  .process-steps h3 { font-size:1.125rem; }
  .process-steps p { font-size:.875rem; line-height:1.85; }
  .case-header-controls .round-control { display:flex; }
  .case-header-controls { gap:7px; flex-wrap:wrap; justify-content:flex-end; }
  .case-header-controls .text-link { display:none; }
  .case-grid { grid-template-columns:1fr; gap:30px; }
  .split-section { grid-template-columns:1fr; gap:48px; }
  .news-list a { gap:13px; }
  .news-list h3 { font-size:.875rem; line-height:1.75; }
  .news-list time { font-size:.6875rem; }
  .contact-strip { padding:40px 0; }
  .contact-strip h2 { font-size:1.625rem; }
  .contact-strip p { font-size:.875rem; line-height:1.8; }
  .contact-strip>.wrap { display:block; }
  .contact-strip .button { width:100%; margin-top:23px; }
  .footer-main { gap:30px; padding-top:40px; }
  .footer-main>div:first-child,.footer-main>div:last-child { grid-column:1/-1; }
  .footer-brand,.footer-brand img { width:245px; }
  .footer-main a,.footer-main p,.footer-main button { font-size:.8125rem; }
  .footer-bottom { font-size:.6875rem; display:grid; gap:12px; }
  .page-banner { padding:26px 0; }
  .page-banner h1 { font-size:1.625rem; }
  .page-banner .english { font-size:2.25rem; }
  .breadcrumb { font-size:.75rem; }
  .page-layout { padding:25px 0 50px; gap:25px; }
  .filter-row h2 { font-size:1.375rem; }
  .filter-row p,.catalog-subcategories a { font-size:.8125rem; }
  .catalog-subcategories a { padding:8px 12px; }
  .product-detail-head { gap:27px; }
  .product-detail-head .article-title { font-size:1.5rem; }
  .detail-stage model-viewer { height:295px; }
  .spec-row { font-size:.875rem; }
  .details-tabs { gap:20px; }
  .details-tabs a { font-size:.8125rem; min-height:48px; }
  .source-note { font-size:.8125rem; }
  .model-disclosure { font-size:.75rem; }
  .source-image-link { font-size:.8125rem; }
  .model-modal { width:calc(100% - 20px); padding:54px 12px 18px; }
  .model-modal h2 { font-size:1.125rem; margin:0 0 18px; }
  .expanded-stage model-viewer { height:min(44vh,380px); }
  .model-modal .model-views { padding:8px; }
  dialog { padding:55px 22px 25px; }
  .contact-page { grid-template-columns:1fr; }
  .contact-panel { padding:25px 20px; }
  .contact-page h2 { font-size:1.5rem; }
  .contact-quick strong { font-size:.875rem; }
  .inquiry-form input,.inquiry-form textarea { font-size:1rem; }
  #toast.show { bottom:76px; font-size:.8125rem; }
}
@media(max-width:370px) { .brand,.brand img { width:202px; } .wrap { width:calc(100% - 32px); } .hero h1 { font-size:2rem; } .hero .button { padding:12px 18px; } }
.large-text .section-head { flex-wrap:wrap; align-items:start; }
.large-text .section-head .text-link { white-space:normal; }
.large-text .hero-inner,.large-text .catalog-home,.large-text .page-layout,.large-text .process-section>.wrap,.large-text .split-section,.large-text .contact-page { grid-template-columns:1fr; }
.large-text .hero-copy>p { max-width:100%; }
.large-text .hero-media { width:100%; }
.large-text .hero-meta { display:none; }
.large-text .hero .model-toolbar,.large-text .model-toolbar,.large-text .model-views,.large-text .model-views>div { flex-wrap:wrap; }
.large-text .model-views>div { gap:4px; }
.large-text .product-grid,.large-text .home .product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr)); }
.large-text .product-info { min-height:0; }
.large-text .footer-main { grid-template-columns:1fr; }
.large-text .footer-main>div { grid-column:auto; }
.large-text .contact-quick,.large-text .form-row { grid-template-columns:1fr; }
.large-text .side-groups { flex-wrap:wrap; }
.large-text .header nav { height:auto; }
@media(min-width:801px) { .large-text .header nav { display:flex; flex-wrap:wrap; justify-content:flex-start; } .large-text .nav-drop { width:auto; } .large-text .nav-drop>a { padding-right:45px; } }
@media(prefers-reduced-transparency:reduce) { dialog::backdrop { backdrop-filter:none; background:#1d2a2ef5; } .header { background:#fff; } }
.motion-reduced *, .motion-reduced *:before, .motion-reduced *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
.motion-reduced .reveal-pending { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .reveal-pending { opacity:1; transform:none; } }
@media(hover:none) { .product-card:hover { box-shadow:none; } .case-card:hover .case-image img,.button:hover span { transform:none; } }
